Skip to content

REST API

import { Aside } from ‘@astrojs/starlight/components’;

All API endpoints are available at http://localhost:3000/api.

All requests require a JWT token in the Authorization header and an organization ID in x-org-id:

Authorization: Bearer <token>
x-org-id: <org-uuid>
Terminal window
curl -X POST http://localhost:3000/api/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"admin@acme.dev","password":"Admin1234!"}'

Response:

{
"accessToken": "eyJ...",
"orgs": [{ "id": "uuid", "name": "Acme" }]
}
GET /api/projects
POST /api/projects
Content-Type: application/json
{
"name": "My Project",
"key": "MYP",
"workflowId": "uuid"
}
GET /api/projects/:projectId/tasks
POST /api/projects/:projectId/tasks
Content-Type: application/json
{
"title": "Add hello world endpoint",
"typeId": "uuid",
"statusId": "uuid"
}
POST /api/tasks/:taskId/transition
Content-Type: application/json
{
"statusId": "target-status-uuid"
}
POST /api/tasks/:taskId/ai-jobs
Content-Type: application/json
{
"templateId": "uuid"
}
GET /api/ai-jobs/:jobId
GET /api/ai-jobs/:jobId/stream
Accept: text/event-stream