Skip to content

Tasks

GET /api/v1/tasks

Scope: tasks:read

ParameterTypeDefaultDescription
pageinteger1Page number
limitinteger50Results per page (1-100)
statusstringFilter: open, in_progress, completed, cancelled
assigned_toUUIDFilter by assigned user
contact_idUUIDFilter by contact/lead
due_beforeISO 8601Tasks due before this date
sort_bystringcreated_atSort: due_date, created_at, or priority
sort_dirstringdescDirection: asc or desc
Terminal window
curl "https://api.brightlyai.app/api/v1/tasks?status=open&sort_by=due_date&sort_dir=asc" \
-H "Authorization: Bearer brk_your_key"
{
"data": [
{
"id": "c3d4e5f6-...",
"organization_id": "org-uuid-...",
"contact_id": "a1b2c3d4-...",
"title": "Follow up on estimate",
"description": "Send updated pricing after site visit",
"priority": "high",
"status": "open",
"due_date": "2026-05-12T17:00:00Z",
"assigned_to_user_id": "user-uuid-...",
"created_by_user_id": "user-uuid-...",
"created_by_ai": false,
"created_at": "2026-05-10T14:30:00Z",
"updated_at": "2026-05-10T14:30:00Z"
}
],
"meta": {
"page": 1,
"limit": 50,
"total": 12,
"total_pages": 1
}
}

GET /api/v1/tasks/:id

Scope: tasks:read


POST /api/v1/tasks

Scope: tasks:write

FieldTypeRequiredDescription
titlestringYesTask title (1-500 chars)
descriptionstringNoTask description (max 5000 chars)
prioritystringNoDefault: medium. Options: low, medium, high, urgent
statusstringNoDefault: open. Options: open, in_progress, completed, cancelled
due_dateISO 8601NoDue date
contact_idUUIDNoLink to a contact/lead
assigned_to_user_idUUIDNoAssign to a team member
Terminal window
curl -X POST "https://api.brightlyai.app/api/v1/tasks" \
-H "Authorization: Bearer brk_your_key" \
-H "Content-Type: application/json" \
-d '{
"title": "Follow up on estimate",
"priority": "high",
"due_date": "2026-05-12T17:00:00Z",
"contact_id": "a1b2c3d4-..."
}'

PUT /api/v1/tasks/:id

Scope: tasks:write

All create fields accepted, all optional.


DELETE /api/v1/tasks/:id

Scope: tasks:write