REST API¶
Stackify provides a versioned REST API for programmatic access to cards, fields, and records.
Base URL¶
Authentication¶
All API requests must include an API key in the Authorization header:
See API keys for how to create and manage keys.
Core resources¶
Cards¶
| Method | Path | Description |
|---|---|---|
GET | /workspaces/{wid}/cards | List all cards in the workspace |
GET | /workspaces/{wid}/cards/{cid} | Get a single card |
POST | /workspaces/{wid}/cards | Create a card |
PATCH | /workspaces/{wid}/cards/{cid} | Update card name or description |
DELETE | /workspaces/{wid}/cards/{cid} | Delete a card |
Fields¶
| Method | Path | Description |
|---|---|---|
GET | /workspaces/{wid}/cards/{cid}/fields | List fields (with types and options) |
POST | /workspaces/{wid}/cards/{cid}/fields | Add a field |
PATCH | /workspaces/{wid}/cards/{cid}/fields/{fid} | Update a field |
DELETE | /workspaces/{wid}/cards/{cid}/fields/{fid} | Delete a field |
Records¶
| Method | Path | Description |
|---|---|---|
GET | /workspaces/{wid}/cards/{cid}/records | List records (paginated) |
POST | /workspaces/{wid}/cards/{cid}/records | Create a record |
PATCH | /workspaces/{wid}/cards/{cid}/records/{rid} | Update a record |
DELETE | /workspaces/{wid}/cards/{cid}/records/{rid} | Delete a record |
Pagination¶
Records are returned with cursor-based pagination. Pass the next_cursor value from one response as the cursor query parameter in the next request:
Example: list records¶
curl https://app.stackify.se/api/v1/workspaces/YOUR_WORKSPACE_ID/cards/YOUR_CARD_ID/records \
-H "Authorization: Bearer tvk_live_YOUR_KEY"
Response:
{
"records": [
{
"id": "01HZ...",
"data": {
"FIELD_ID_1": "Project Alpha",
"FIELD_ID_2": 42,
"FIELD_ID_3": "2025-06-01"
},
"created_at": "2025-05-30T10:00:00Z"
}
],
"next_cursor": "01HZ..."
}
Example: create a record¶
curl -X POST https://app.stackify.se/api/v1/workspaces/YOUR_WORKSPACE_ID/cards/YOUR_CARD_ID/records \
-H "Authorization: Bearer tvk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"FIELD_ID_1": "New project",
"FIELD_ID_2": 10
}
}'
Field IDs¶
Record data is keyed by field ID, not field name. Use GET /fields to retrieve the mapping of field names to IDs:
curl https://app.stackify.se/api/v1/workspaces/{wid}/cards/{cid}/fields \
-H "Authorization: Bearer tvk_live_..."
Error format¶
Errors follow RFC 7807 (Problem Details):
{
"type": "https://stackify.se/errors/record-not-found",
"title": "Record not found",
"status": 404,
"detail": "Record 01HZ... does not exist in card 01HY..."
}
OpenAPI specification¶
The full OpenAPI 3.0 specification is available at:
Use the spec to generate client libraries or to connect Stackify to platforms like UiPath Connector Builder.
Rate limits¶
Rate limits apply per API key based on your subscription tier. The response includes standard rate-limit headers: