Skip to content

List tasks

Endpoint

GET /bot/forms/{form_id}/tasks

Fetches task summaries from one form through the bot API.

This endpoint checks only that the bot user has access to the form.

Auth

http
Authorization: Bearer <token>

Path params

  • form_id - target form ID

Query params

  • limit integer, optional, default 50, min 1, max 50
  • cursor string, optional, value from the previous response pagination.next_cursor
  • created_at_from ISO datetime, optional
  • created_at_to ISO datetime, optional
  • primary_date_from ISO datetime, optional
  • primary_date_to ISO datetime, optional
  • author_id integer, optional
  • responsible_id integer, optional
  • status string, optional

Returned fields

The response returns task summaries, not full task items.

Each task summary contains:

  • task_id
  • form_id
  • title
  • author_id
  • responsible_id
  • responsible_ids
  • created_at
  • last_activity
  • is_finished
  • status
  • due_date_at
  • primary_date_value
  • step_id

To read all items for a specific task, use GET /bot/tasks/{task_id}.

Example: first page

http
GET /bot/forms/45/tasks?limit=50
Authorization: Bearer <token>

Example: next page

Use pagination.next_cursor from the previous response.

http
GET /bot/forms/45/tasks?limit=50&cursor={next_cursor}
Authorization: Bearer <token>

Example: filter by created date and status

http
GET /bot/forms/45/tasks?created_at_from=2026-05-01T00:00:00Z&status=new
Authorization: Bearer <token>

Example: filter by primary date and responsible user

http
GET /bot/forms/45/tasks?primary_date_from=2026-05-01T00:00:00Z&primary_date_to=2026-05-31T23:59:59Z&responsible_id=11
Authorization: Bearer <token>

Response body

json
{
  "success": true,
  "data": {
    "tasks": [
      {
        "task_id": 123,
        "form_id": 45,
        "title": "Task title",
        "author_id": 10,
        "responsible_id": 11,
        "responsible_ids": [11],
        "created_at": "2026-05-04T10:00:00Z",
        "last_activity": "2026-05-04T10:30:00Z",
        "is_finished": false,
        "status": "new",
        "due_date_at": null,
        "primary_date_value": "2026-05-10T00:00:00Z",
        "step_id": 7
      }
    ],
    "pagination": {
      "limit": 50,
      "returned_count": 1,
      "has_more": false,
      "next_cursor": null
    }
  }
}

Rate limit

60 requests per 60 seconds per bot user and IP.

Common errors

  • 403 Form access not found
  • 400 Invalid cursor
  • 429 Rate limit exceeded. Retry after {seconds} seconds