Authentication
All requests require a bearer token. Generate one in Settings → API keys. Keys are scoped per workspace.
curl https://api.pixicode.com/v1/workflows \ -H "Authorization: Bearer pxk_live_..."
POST /v1/runs
Trigger a workflow run.
POST /v1/runs
{
"workflow": "brand-migration",
"input": {
"figma_file": "abc123",
"target_tokens": "@northwind/tokens@2.0.0"
},
"idempotency_key": "mig-2026-q2"
}
→ 201 Created
{
"id": "run_01HXY...",
"status": "queued",
"trace_url": "https://app.pixicode.com/trace/run_01HXY..."
}
GET /v1/workflows
List every workflow registered in the workspace.
GET /v1/workflows?limit=50
→ 200 OK
{
"data": [
{ "name": "brand-migration", "version": 4, "owner": "platform-eng" },
{ "name": "a11y-remediation", "version": 12, "owner": "design-systems" }
]
}
GET /v1/tokens
Resolve the current canonical token set for a workspace.
GET /v1/tokens?source=figma
→ 200 OK
{
"version": "2.4.1",
"color": { "fg.primary": "#0E0E0C", "bg.canvas": "#F4F2EC" },
"space": { "s-4": 16, "s-6": 24 }
}
POST /v1/evals
Run a regression eval on a workflow version.
POST /v1/evals
{
"workflow": "brand-migration",
"version": "5-rc1",
"dataset": "ds_01HXY..."
}
Webhooks
Subscribe to run.completed, verifier.abstained, pr.merged and 14 other events. All payloads are HMAC-signed with the workspace secret.
// header
X-Pixicode-Signature: t=1716835200, v1=4f2c...
// payload
{
"type": "run.completed",
"data": { "id": "run_01HXY...", "status": "success", "tasks": 412 }
}