API

Tasks

List action-plan tasks per property

Tasks are the actionable work items on a property: steps from action plans and ad-hoc tasks. The API returns accepted tasks only; steps declined during plan review never appear.

List tasks

GET /v1/tasks

Returns tasks for paid properties in the API key's scope. Ordered by creation date, newest first.

Headers

HeaderValueRequired
AuthorizationBearer hdg_sk_live_...Yes

Query parameters

ParameterTypeDescription
propertyIdstringReturn tasks for one property only.
statusstringFilter by status: backlog, todo, in_progress, done, canceled.
limitintegerMaximum results per page. Default: 100, max: 1000.
offsetintegerRows to skip. Default: 0.

Example

curl "https://api.useheading.com/v1/tasks?status=todo" \
  -H "Authorization: Bearer hdg_sk_live_abc123..."

Response: 200 OK

{
  "data": [
    {
      "id": "e5f6a7b8-c9d0-1234-def0-234567890123",
      "title": "Publish an enterprise SEO comparison page",
      "description": "Target the comparison prompts where BrightEdge is cited and Acme Corp is absent.",
      "status": "todo",
      "priority": "high",
      "labels": [
        {
          "id": "f6a7b8c9-d0e1-2345-ef01-345678901234",
          "name": "Content",
          "color": "#0EA5E9"
        }
      ],
      "dueDate": "2026-08-01",
      "assignee": {
        "id": "a7b8c9d0-e1f2-3456-f012-456789012345",
        "name": "Jordan Lee"
      },
      "propertyId": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
      "planId": "b8c9d0e1-f2a3-4567-0123-567890123456",
      "createdAt": "2026-07-18T00:00:00.000Z",
      "updatedAt": "2026-07-20T00:00:00.000Z"
    }
  ],
  "total": 1
}

Response fields

FieldTypeDescription
idstringTask UUID
titlestringTask title
descriptionstringTask description. Empty string when title-only.
statusstringbacklog, todo, in_progress, done, or canceled
prioritystring or nullurgent, high, medium, or low. Null = no priority.
labelsobject[]Team-scoped labels on this task
labels[].idstringLabel UUID
labels[].namestringLabel name
labels[].colorstring or nullLabel colour (hex)
dueDatestring or nullDue date, UTC day (yyyy-MM-dd)
assigneeobject or nullAssigned team member. Null = unassigned.
assignee.idstringUser UUID
assignee.namestringUser display name
propertyIdstringProperty UUID
planIdstring or nullOwning action plan UUID. Null = ad-hoc task.
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last-update timestamp

Error responses

StatusCodeWhen
400INVALID_PARAMInvalid query parameter
401MISSING_AUTHNo Authorization header
401INVALID_AUTHHeader is not Bearer {key}
401INVALID_KEYInvalid or revoked API key
429RATE_LIMIT_EXCEEDEDRate limit exceeded (100 req/min)
500INTERNAL_ERRORServer error