Skip to content
GET/{organizationId}/work/todo/topics

List todo topics

Lists todo topics and their available workflows

Path Parameters

organizationIdstringrequired

Query Parameters

limitintegeroptional

Default: 20

minimum: 0

maximum: 20

offsetintegeroptional

Default: 0

minimum: 0

maximum: 9007199254740991

returnCountbooleanoptional

Default: false

includeArchivedbooleanoptional

Default: false

archivedbooleanoptional
searchTermstringoptional

minLength: 1

maxLength: 100

maxItems: 50

Authentication: X-API-Key

Request

GET/{organizationId}/work/todo/topics
curl --request GET 'https://cloud.campai.com/api/{organizationId}/work/todo/topics' \
  --header 'X-API-Key: YOUR_API_KEY'

Responses

This endpoint returns different response codes based on the request outcome.

200Successful response

Content-Type: application/json

countintegerrequired

minimum: 0

maximum: 9007199254740991

Response

200
{
  "topics": [
    {
      "_id": "000000000000000000000001",
      "organization": "000000000000000000000001",
      "name": "string",
      "identifier": "string",
      "lastSequenceNumber": 0,
      "color": "slate",
      "description": "string",
      "revision": 0,
      "openCount": 0,
      "closedCount": 0,
      "archivedAt": "2026-06-15T22:30:00Z",
      "archivedBy": {
        "name": "string",
        "type": "user",
        "userId": "string",
        "image": {
          "resource": "string"
        }
      },
      "customFields": {
        "groups": [
          {
            "id": "string",
            "label": "string",
            "fields": [
              {
                "id": "string",
                "type": "placeholder",
                "name": "string"
              }
            ]
          }
        ]
      },
      "statuses": [
        {
          "_id": "000000000000000000000001",
          "label": "string",
          "color": "slate",
          "role": "regular",
          "order": 0,
          "archivedAt": "2026-06-15T22:30:00Z"
        }
      ],
      "types": [
        {
          "_id": "000000000000000000000001",
          "name": "string",
          "emoji": "string",
          "order": 0,
          "archivedAt": "2026-06-15T22:30:00Z",
          "statuses": [
            "000000000000000000000001"
          ],
          "statusTransitions": [
            {
              "fromStatus": "000000000000000000000001",
              "toStatuses": [
                "000000000000000000000001"
              ]
            }
          ]
        }
      ]
    }
  ],
  "count": 0
}

400Invalid input data

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

400
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}

401Authorization not provided

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

401
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}

403Insufficient access

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

403
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}

404Not found

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

404
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}

500Internal server error

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

500
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}