Intermediate

API Endpoints

Reference documentation for all Tapioca API endpoints.

This page provides an overview of available API endpoints. For the complete specification, see the OpenAPI documentation.

Tasks

Manage tasks, subtasks, and task metadata.

List Tasks

GET /api/v1/organizations/{orgId}/tasks

Query Parameters:

ParameterTypeDescription
projectIduuidFilter by project
statusstringFilter by status: todo, in_progress, done
prioritystringFilter by priority: low, medium, high, urgent
assigneeIduuidFilter by assignee
sprintIduuidFilter by sprint
offsetintegerPagination offset
limitintegerItems per page (max 100)

Example:

curl https://api.tapioca.dev/api/v1/organizations/{orgId}/tasks?status=in_progress 
  -H "Authorization: Bearer tap_xxx"

Create Task

POST /api/v1/organizations/{orgId}/tasks

Body:

{
  "title": "Implement user authentication",
  "description": "Add OAuth2 support",
  "projectId": "550e8400-e29b-41d4-a716-446655440000",
  "priority": "high",
  "assigneeId": "550e8400-e29b-41d4-a716-446655440001",
  "dueDate": "2024-02-15",
  "labels": ["backend", "security"]
}

Get Task

GET /api/v1/organizations/{orgId}/tasks/{taskId}

Update Task

PATCH /api/v1/organizations/{orgId}/tasks/{taskId}

Delete Task

DELETE /api/v1/organizations/{orgId}/tasks/{taskId}

Projects

Manage projects and project settings.

List Projects

GET /api/v1/organizations/{orgId}/projects

Create Project

POST /api/v1/organizations/{orgId}/projects

Body:

{
  "name": "Website Redesign",
  "description": "Complete overhaul of company website",
  "color": "#3B82F6",
  "budget": 50000,
  "currency": "EUR"
}

Get Project

GET /api/v1/organizations/{orgId}/projects/{projectId}

Update Project

PATCH /api/v1/organizations/{orgId}/projects/{projectId}

Delete Project

DELETE /api/v1/organizations/{orgId}/projects/{projectId}

Time Tracking

Log and manage time entries.

List Time Entries

GET /api/v1/organizations/{orgId}/time-entries

Query Parameters:

ParameterTypeDescription
userIduuidFilter by user
projectIduuidFilter by project
taskIduuidFilter by task
startDatedateEntries from this date
endDatedateEntries until this date
billablebooleanFilter billable entries

Create Time Entry

POST /api/v1/organizations/{orgId}/time-entries

Body:

{
  "taskId": "550e8400-e29b-41d4-a716-446655440000",
  "startTime": "2024-01-15T09:00:00Z",
  "endTime": "2024-01-15T11:30:00Z",
  "description": "Implemented login flow",
  "billable": true
}

Start Timer

POST /api/v1/organizations/{orgId}/time-entries/start

Body:

{
  "taskId": "550e8400-e29b-41d4-a716-446655440000",
  "description": "Working on feature X"
}

Stop Timer

POST /api/v1/organizations/{orgId}/time-entries/stop

Get Time Entry

GET /api/v1/organizations/{orgId}/time-entries/{entryId}

Update Time Entry

PATCH /api/v1/organizations/{orgId}/time-entries/{entryId}

Delete Time Entry

DELETE /api/v1/organizations/{orgId}/time-entries/{entryId}

Sprints

Manage sprints and sprint planning.

List Sprints

GET /api/v1/organizations/{orgId}/sprints

Create Sprint

POST /api/v1/organizations/{orgId}/sprints

Body:

{
  "name": "Sprint 14",
  "projectId": "550e8400-e29b-41d4-a716-446655440000",
  "startDate": "2024-01-15",
  "endDate": "2024-01-29",
  "goal": "Complete user authentication module"
}

Start Sprint

POST /api/v1/organizations/{orgId}/sprints/{sprintId}/start

Complete Sprint

POST /api/v1/organizations/{orgId}/sprints/{sprintId}/complete

Users & Teams

Manage organization members and teams.

List Members

GET /api/v1/organizations/{orgId}/members

Get Current User

GET /api/v1/me

Update Profile

PATCH /api/v1/me

Webhooks

Configure webhooks for real-time notifications.

List Webhooks

GET /api/v1/organizations/{orgId}/webhooks

Create Webhook

POST /api/v1/organizations/{orgId}/webhooks

Body:

{
  "url": "https://your-server.com/webhook",
  "events": ["task.created", "task.updated", "time_entry.created"],
  "secret": "your_webhook_secret"
}

Webhook Events

EventDescription
task.createdA task was created
task.updatedA task was updated
task.deletedA task was deleted
task.completedA task was marked complete
time_entry.createdTime was logged
time_entry.updatedTime entry was modified
sprint.startedSprint was started
sprint.completedSprint was completed
comment.createdComment was added

Webhook Payload

{
  "event": "task.created",
  "timestamp": "2024-01-15T10:30:00Z",
  "organization": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Acme Corp"
  },
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440001",
    "title": "New task",
    ...
  }
}

Webhook Security

Webhooks include an `X-Tapioca-Signature` header containing an HMAC-SHA256 signature. Always verify this signature before processing webhook payloads.

Reports & Analytics

Access reporting and analytics data.

Time Report

GET /api/v1/organizations/{orgId}/reports/time

Query Parameters:

ParameterTypeDescription
startDatedateReport start date
endDatedateReport end date
groupBystringuser, project, task, day, week
projectIduuidFilter by project

Project Summary

GET /api/v1/organizations/{orgId}/reports/projects/{projectId}/summary

Returns:

  • Total hours logged
  • Budget utilization
  • Task completion rate
  • Team velocity

Health & Status

API Health Check

GET /api/v1/health

Returns API status and version information. No authentication required.

{
  "status": "healthy",
  "version": "1.5.0",
  "timestamp": "2024-01-15T10:30:00Z"
}

Full OpenAPI Specification

For complete endpoint documentation including all request/response schemas, download the OpenAPI specification:

You can import this into tools like:

Was this page helpful?

Let us know how we can improve