Skip to content
Hoursmith Docs
APIReferenceTasks

List tasks

GET
/tasks

Authorization

BearerAuth
AuthorizationBearer <token>

Personal Access Token. Mint at Settings → API. Token shape: hsk_<env>_<prefix12>_<secret32>.

In: header

Query Parameters

cursor?string

Opaque pagination cursor — nextCursor from a previous response.

limit?integer

Page size (1–200, default 50).

sort?string

Sort field, optionally prefixed with - for descending (Stripe-style). Defaults to -createdAt (newest first). The allowed fields differ per resource — see each list* operation. Common examples: ?sort=-paidAt (latest paid invoice), ?sort=dueDate (earliest due first), ?sort=name (alphabetical). Cursors are sort-aware: keep the same sort= when paginating. Allowed sort fields for tasks: createdAt, dueDate, endDate, id, name, priority, startDate, status, updatedAt.

search?string

Case-insensitive partial match across: name, description. Max 200 chars.

projectId?string

Owning project UUID.

assigneeId?string

Filter to tasks assigned to this user UUID.

status?string

One of: TODO, IN_PROGRESS, DONE.

priority?string

One of: LOW, MEDIUM, HIGH.

billable?string

Boolean — true/false/1/0/yes/no.

startDateFrom?string

Inclusive lower bound on startDate. Accepts YYYY-MM-DD (treated as UTC midnight) or full ISO timestamp.

startDateTo?string

Inclusive upper bound on startDate. YYYY-MM-DD is treated as end-of-day so the date is fully included.

dueDateFrom?string

Inclusive lower bound on dueDate. Accepts YYYY-MM-DD (treated as UTC midnight) or full ISO timestamp.

dueDateTo?string

Inclusive upper bound on dueDate. YYYY-MM-DD is treated as end-of-day so the date is fully included.

endDateFrom?string

Inclusive lower bound on endDate. Accepts YYYY-MM-DD (treated as UTC midnight) or full ISO timestamp.

endDateTo?string

Inclusive upper bound on endDate. YYYY-MM-DD is treated as end-of-day so the date is fully included.

createdAtFrom?string

Inclusive lower bound on createdAt. Accepts YYYY-MM-DD (treated as UTC midnight) or full ISO timestamp.

createdAtTo?string

Inclusive upper bound on createdAt. YYYY-MM-DD is treated as end-of-day so the date is fully included.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/tasks"
{  "data": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "orgId": "25b2c2d5-a7fc-47d0-89e4-8709a1560bfa",      "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",      "name": "string",      "description": "string",      "status": "TODO",      "priority": "LOW",      "billable": true,      "estimatedHours": "string",      "assigneeIds": [        "80f8de4f-e685-4a1d-91fc-c0bb26d5cfc0"      ],      "tags": [        "string"      ],      "startDate": "2019-08-24",      "dueDate": "2019-08-24",      "endDate": "2019-08-24",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "deletedAt": "2019-08-24T14:15:22Z"    }  ],  "pagination": {    "limit": 1,    "nextCursor": "string"  }}
{  "error": {    "code": "unauthenticated",    "message": "string",    "fields": {      "property1": "string",      "property2": "string"    },    "requiredPlan": "studio",    "feature": "string"  }}
{  "error": {    "code": "unauthenticated",    "message": "string",    "fields": {      "property1": "string",      "property2": "string"    },    "requiredPlan": "studio",    "feature": "string"  }}
{  "error": {    "code": "unauthenticated",    "message": "string",    "fields": {      "property1": "string",      "property2": "string"    },    "requiredPlan": "studio",    "feature": "string"  }}
{  "error": {    "code": "unauthenticated",    "message": "string",    "fields": {      "property1": "string",      "property2": "string"    },    "requiredPlan": "studio",    "feature": "string"  }}
{  "error": {    "code": "unauthenticated",    "message": "string",    "fields": {      "property1": "string",      "property2": "string"    },    "requiredPlan": "studio",    "feature": "string"  }}
{  "error": {    "code": "unauthenticated",    "message": "string",    "fields": {      "property1": "string",      "property2": "string"    },    "requiredPlan": "studio",    "feature": "string"  }}
Was this page helpful?