For the complete documentation index, see llms.txt. This page is also available as Markdown.

Classes

List, create, rename, and delete the classes of a workspace, and read a single class.

Classes are a workspace's tracking dimensions, shared by every entity in it, so all five endpoints are nested under the workspace uuid.

A class created without a parentClassId is the root of its own dimension; passing an existing class nests the new one beneath it. Labels have to be unique among siblings, and a duplicate is rejected with 409. Listing walks every dimension, roots first within each tree.

Deleting a class deletes its whole subtree and removes the class assignments those transactions carried.

List classes

get

Returns the workspace's classes across every dimension, roots first within each tree. Results are paged with limit/offset.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
workspaceIdstring · uuidRequired
Query parameters
limitinteger · min: 1 · max: 100OptionalDefault: 100
offsetinteger · nullableOptionalDefault: 0
Responses
200

200

application/json
get/platform/v1/workspaces/{workspaceId}/classes
GET /api/platform/v1/workspaces/{workspaceId}/classes HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    {
      "createdAt": "2026-01-01T00:00:00.000Z",
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "label": "text",
      "parentClassId": "123e4567-e89b-12d3-a456-426614174000",
      "rootClassId": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 1,
    "total": 1
  }
}

Create a class

post

Creates a class in the workspace. Omit parentClassId to start a new dimension, or pass an existing class to nest under it. Labels must be unique among siblings.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
workspaceIdstring · uuidRequired
Header parameters
Idempotency-Keystring · min: 1 · max: 255Optional

A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with Idempotent-Replayed: true) instead of executing again.

Body
labelstring · min: 1Required
parentClassIdstring · uuid · nullableOptional

Parent to nest the new class under. Omit or pass null to create a root class (a new dimension).

Responses
201

201

application/json
post/platform/v1/workspaces/{workspaceId}/classes
POST /api/platform/v1/workspaces/{workspaceId}/classes HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 71

{
  "label": "text",
  "parentClassId": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "class": {
    "createdAt": "2026-01-01T00:00:00.000Z",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "label": "text",
    "parentClassId": "123e4567-e89b-12d3-a456-426614174000",
    "rootClassId": "123e4567-e89b-12d3-a456-426614174000"
  }
}

Retrieve a class

get

Returns a single class of the workspace. A class outside the organization's book of business reads as not found.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
workspaceIdstring · uuidRequired
classIdstring · uuidRequired
Responses
200

200

application/json
get/platform/v1/workspaces/{workspaceId}/classes/{classId}
GET /api/platform/v1/workspaces/{workspaceId}/classes/{classId} HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "class": {
    "createdAt": "2026-01-01T00:00:00.000Z",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "label": "text",
    "parentClassId": "123e4567-e89b-12d3-a456-426614174000",
    "rootClassId": "123e4567-e89b-12d3-a456-426614174000"
  }
}

Update a class

patch

Renames a class. Labels must stay unique among siblings.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
workspaceIdstring · uuidRequired
classIdstring · uuidRequired
Header parameters
Idempotency-Keystring · min: 1 · max: 255Optional

A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with Idempotent-Replayed: true) instead of executing again.

Body
labelstring · min: 1Required
Responses
200

200

application/json
patch/platform/v1/workspaces/{workspaceId}/classes/{classId}
PATCH /api/platform/v1/workspaces/{workspaceId}/classes/{classId} HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "label": "text"
}
{
  "class": {
    "createdAt": "2026-01-01T00:00:00.000Z",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "label": "text",
    "parentClassId": "123e4567-e89b-12d3-a456-426614174000",
    "rootClassId": "123e4567-e89b-12d3-a456-426614174000"
  }
}

Delete a class

delete

Deletes a class together with its whole subtree. Assignments to transactions are removed as well.

Authorizations
AuthorizationstringRequired

Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....

Path parameters
workspaceIdstring · uuidRequired
classIdstring · uuidRequired
Header parameters
Idempotency-Keystring · min: 1 · max: 255Optional

A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with Idempotent-Replayed: true) instead of executing again.

Responses
200

200

No content

delete/platform/v1/workspaces/{workspaceId}/classes/{classId}
DELETE /api/platform/v1/workspaces/{workspaceId}/classes/{classId} HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Last updated

Was this helpful?