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

Get todo topic

Gets one todo topic and its available workflows

Path Parameters

organizationIdstringrequired
topicIdstringrequired

Authentication: X-API-Key

Request

GET/{organizationId}/work/todo/topics/{topicId}
curl --request GET 'https://cloud.campai.com/api/{organizationId}/work/todo/topics/{topicId}' \
  --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

ObjectId as string

createdAtdate-time | nulloptional
updatedAtdate-time | nulloptional
removedAtdate-time | nulloptional
__ignoreTriggersstring | nulloptional

ObjectId as string

namestringrequired

minLength: 1

maxLength: 80

identifierstringrequired

minLength: 1

maxLength: 4

lastSequenceNumberintegerrequired

minimum: 0

maximum: 9007199254740991

colorstringrequired

Options:

slategrayzincneutralstoneredorangeamberyellowlimegreenemeraldtealcyanskyblueindigovioletpurplefuchsiapinkrose
descriptionstringrequired

maxLength: 10000

revisionintegerrequired

minimum: 0

maximum: 9007199254740991

openCountintegerrequired

minimum: 0

maximum: 9007199254740991

closedCountintegerrequired

minimum: 0

maximum: 9007199254740991

archivedAtdate-time | nullrequired

Additional properties are not allowed.

minItems: 2

maxItems: 100

minItems: 1

maxItems: 50

Response

200
{
  "_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"
          ]
        }
      ]
    }
  ]
}

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": []
}