Stracker Public API
Build integrations with projects, tasks, and users in Stracker.
Base URL
https://app.strackerapp.com/api/v1
Use this base URL for all public API requests.
Authentication
Include your API key in the request header:
Authorization: Bearer YOUR_API_KEY
Endpoint Reference
Each endpoint below includes what to send and what comes back.
Pages
GET /pages— Send optional query params:parent_id,status,visibility. Response200: array of page objects.GET /pages/tree— No body. Response200: nested page tree by parent/child.POST /pages— JSON body:{ "title": "...", "content": "...", "parent_id": 0 }. Response201: created page object (includes newid).GET /pages/{id}— Path param:id. Response200: single page object.PUT /pages/{id}— Path param:id. JSON body: any oftitle,content,status,visibility,parent_id,append,separator. Response200: updated page object.DELETE /pages/{id}— Path param:id. No body. Response200/204with delete confirmation.GET /pages/{id}/versions— Path param:id. Response200: version history array.GET /search?q=term— Query param:qrequired. Response200: matched pages array.
Projects
GET /projects— Optional filters may be supported by org setup. Response200: project list.POST /projects— JSON body:{ "name": "Project name", "description": "..." }. Response201: created project.GET /projects/{id}— Path param:id. Response200: project plus statuses/columns.
Users
GET /users— No body. Response200: organization users array.
Tasks
GET /tasks— Optional query params:project_id,status_id,assigned_to,limit,offset. Response200: task list.POST /tasks— JSON body:{ "title": "Task", "project_id": 1, "status_id": 2, "assigned_to": 3 }. Response201: created task.GET /tasks/{id}— Path param:id. Response200: single task object.PUT /tasks/{id}— Path param:id. JSON body: task fields to change (title,description,due_date,assigned_to, etc). Response200: updated task.DELETE /tasks/{id}— Path param:id. No body. Response200/204with delete confirmation.PUT /tasks/{id}/status— Path param:id. JSON body:{ "status_id": 3 }. Response200: updated task status.
Example Request
curl -X POST "https://app.strackerapp.com/api/v1/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Follow up with lead",
"project_id": 12,
"status_id": 3,
"assigned_to": 7
}'
Example Response
{
"success": true,
"data": {
"id": 441,
"title": "Follow up with lead",
"project_id": 12,
"status_id": 3,
"assigned_to": 7,
"created_at": "2026-03-08T01:20:00Z"
}
}
Machine-readable Spec
OpenAPI spec: /docs/openapi.json