Skip to main content
The CollabKit REST API lets you manage rooms, users, files, webhooks, and workflows. All real-time features (presence, stores, comments, broadcasts) use the WebSocket protocol instead.

Base URL

https://api.collab-kit.com
Replace with your deployed CollabKit server URL.

Authentication

Most endpoints require authentication via a Bearer token. See the Authentication guide for full details.

Bearer Token

Construct the token by Base64-encoding accountId:apiKey:
TOKEN=$(echo -n "${ACCOUNT_ID}:${API_KEY}" | base64)
Include it in the Authorization header:
curl -H "Authorization: Bearer ${TOKEN}" \
  https://api.collab-kit.com/v1/accounts/${ACCOUNT_ID}/rooms

Response Format

All API responses use a standard envelope:
{
  "type": "response",
  "success": true,
  "description": "Request completed successfully",
  "data": { /* payload */ },
  "error": null,
  "requestId": "req_abc123"
}
FieldTypeDescription
typestringAlways "response"
successbooleanWhether the request succeeded
descriptionstringHuman-readable description
dataobjectResponse payload (empty {} on error)
errorobject | nullError details, or null on success
requestIdstringOptional request identifier

Error Format

When success is false, the error field contains:
{
  "error": {
    "module": "Rooms",
    "code": "NOT_FOUND",
    "message": "Room not found"
  }
}
FieldTypeDescription
modulestringWhich server module generated the error
codestringMachine-readable error code
messagestringHuman-readable error message

Error Codes

CodeHTTP StatusDescription
UNAUTHORIZED401Missing or invalid authentication
FORBIDDEN403Insufficient permissions
NOT_FOUND404Resource not found
BAD_REQUEST400Invalid request body or parameters
CONFLICT409Resource already exists
INTERNAL_ERROR500Server-side error
VALIDATION_ERROR400Request body failed validation
RATE_LIMITED429Too many requests

Pagination

List endpoints support pagination with limit and offset query parameters:
ParameterTypeDefaultMaxDescription
limitnumber50100Number of results per page
offsetnumber0Number of results to skip
Paginated responses include total count:
{
  "data": {
    "rooms": [ /* ... */ ],
    "total": 150,
    "limit": 50,
    "offset": 0
  }
}

Search & Filtering

Many list endpoints support a search query parameter for case-insensitive partial matching, and from/to date range filters:
ParameterTypeDescription
searchstringCase-insensitive partial match on the primary field (name, URL, etc.)
fromstringISO date string. Filters created_at >= from
tostringISO date string. Filters created_at <= to