API Reference
Boards Access Kanban board lists and cards.
Returns all lists (columns) for a board project, ordered by position.
GET /api/v1/boards/lists?project_id=:project_id
Parameter Type Required Description project_idstringYes Board project ID
{
"data" : [
{
"id" : "list-001" ,
"project_id" : "proj-002" ,
"name" : "To Do" ,
"position" : 0 ,
"created_at" : "2025-06-10T08:00:00Z"
},
{
"id" : "list-002" ,
"project_id" : "proj-002" ,
"name" : "In Progress" ,
"position" : 1 ,
"created_at" : "2025-06-10T08:00:00Z"
},
{
"id" : "list-003" ,
"project_id" : "proj-002" ,
"name" : "Done" ,
"position" : 2 ,
"created_at" : "2025-06-10T08:00:00Z"
}
],
"meta" : { "total" : 3 , "limit" : 100 , "offset" : 0 }
}
Status Error 400project_id query parameter is required 404Project not found
Returns cards with optional filters and pagination.
Parameter Type Default Description project_idstring— Filter by project list_idstring— Filter by list (column) limitnumber50Results per page (max 100) offsetnumber0Items to skip
{
"data" : [
{
"id" : "card-001" ,
"list_id" : "list-001" ,
"project_id" : "proj-002" ,
"title" : "Implement dark mode" ,
"description" : "Add theme toggle to settings page" ,
"labels" : [
{ "color" : "#8B5CF6" , "text" : "feature" }
],
"due_date" : "2025-07-01" ,
"checklist" : [
{ "id" : "check-1" , "text" : "Add ThemeProvider" , "checked" : true },
{ "id" : "check-2" , "text" : "Update CSS variables" , "checked" : false }
],
"attachments" : [],
"author_name" : null ,
"position" : 0 ,
"created_at" : "2025-06-12T09:00:00Z"
}
],
"meta" : { "total" : 1 , "limit" : 50 , "offset" : 0 }
}
Field Type Description idstringCard ID list_idstringParent list ID project_idstringBoard project ID titlestringCard title descriptionstring | nullCard description (markdown) labelsarrayArray of { color, text } label objects due_datestring | nullDue date (ISO format) checklistarrayArray of { id, text, checked } items attachmentsarrayArray of { name, url, mimeType, bytes } author_namestring | nullOriginal author (from imports) positionnumberSort position within list created_atstringISO 8601 timestamp
Create a new card on a board project. The card is appended to the end of the specified list.
POST /api/v1/boards/cards
Field Type Required Description project_idstringYes Board project ID list_idstringYes Target list/column ID titlestringYes Card title descriptionstringNo Card description (markdown) labelsarrayNo Array of { color, text } label objects author_namestringNo Author name to display on the card
curl -X POST \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{
"project_id": "proj-002",
"list_id": "list-001",
"title": "Add dark mode toggle",
"description": "Implement a theme toggle in the settings page",
"labels": [{"color": "#8B5CF6", "text": "feature"}]
}' \
https://loop.solve-studio.co/api/v1/boards/cards
{
"data" : {
"id" : "card-042" ,
"list_id" : "list-001" ,
"project_id" : "proj-002" ,
"title" : "Add dark mode toggle" ,
"description" : "Implement a theme toggle in the settings page" ,
"labels" : [{ "color" : "#8B5CF6" , "text" : "feature" }],
"due_date" : null ,
"checklist" : null ,
"attachments" : null ,
"author_name" : null ,
"position" : 3 ,
"created_at" : "2025-06-15T10:30:00Z"
}
}
Status Error 400project_id, list_id, and title are required 404Project not found in this organization 404List not found in this project
Retrieve a single board card with all fields.
GET /api/v1/boards/cards/:id
Parameter Type Description idstringCard ID
Status Error 404Card not found
Update a board card's fields.
PATCH /api/v1/boards/cards/:id
Parameter Type Description idstringCard ID
Field Type Description titlestringUpdated title descriptionstringUpdated description labelsarrayUpdated labels array due_datestring | nullUpdated due date checklistarrayUpdated checklist items list_idstringMove to a different list positionnumberNew position within list
All fields are optional. At least one must be provided.
# Move a card to the "Done" list
curl -X PATCH \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{"list_id": "list-003"}' \
https://loop.solve-studio.co/api/v1/boards/cards/card-001
Status Error 400No valid fields to update 404Card not found
Returns all comments on a board card, ordered by creation date (oldest first).
GET /api/v1/boards/cards/:id/comments
Parameter Type Description idstringCard ID
{
"data" : [
{
"id" : "comment-001" ,
"card_id" : "card-001" ,
"project_id" : "proj-002" ,
"user_id" : "user-001" ,
"author_name" : "Alex Johnson" ,
"content" : "Investigating now" ,
"created_at" : "2025-06-20T15:00:00Z"
}
],
"meta" : { "total" : 1 , "limit" : 100 , "offset" : 0 }
}
Status Error 404Card not found
Add a comment to a board card. If author_name is provided, the comment is attributed to that name (useful for integrations); otherwise it is attributed to the token owner.
POST /api/v1/boards/cards/:id/comments
Parameter Type Description idstringCard ID
Field Type Required Description contentstringYes Comment text author_namestringNo Display name to attribute the comment to
curl -X POST \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{"content": "Fixed in latest deploy", "author_name": "Slack: alex"}' \
https://loop.solve-studio.co/api/v1/boards/cards/card-001/comments
Status Error 400content is required 404Card not found