Prism API
POST /prism/parse
Parse a product specification into a dependency-ordered list of tasks.
curl -X POST https://api.get-nimbus.com/prism/parse \
-H "X-API-Key: $NIMBUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"spec": "Build a complete authentication system with email/password signup, login, JWT access tokens, refresh token rotation, and password reset via email."
}'
Response — an array of task objects sorted by dependency order:
[
{
"id": 1,
"description": "Create User model with email, hashed_password, is_active, created_at fields and a migration",
"skill": null,
"depends_on": [],
"priority": 1
},
{
"id": 2,
"description": "Implement password hashing utility using bcrypt with verify function",
"skill": null,
"depends_on": [1],
"priority": 1
},
{
"id": 3,
"description": "Add POST /auth/register endpoint with email validation and duplicate detection",
"skill": "add-tests",
"depends_on": [1, 2],
"priority": 1
}
]
Fields:
| Field | Type | Description |
|---|---|---|
id | integer | Task number |
description | string | Precise, implementation-ready task description |
skill | string or null | Skill to apply, if any |
depends_on | integer[] | IDs of tasks that must complete first |
priority | integer | Suggested execution priority (1 = highest) |
POST /prism/queue
Queue a list of parsed tasks to Nimbus. Tasks execute in dependency order.
curl -X POST https://api.get-nimbus.com/prism/queue \
-H "X-API-Key: $NIMBUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tasks": [
{"id": 1, "description": "...", "depends_on": [], "skill": null, "priority": 1},
{"id": 2, "description": "...", "depends_on": [1], "skill": null, "priority": 1}
],
"repo_id": "repo-xyz789",
"workspace_id": "ws-abc123",
"auto_approve": false
}'
Response — array of created task IDs:
{
"queued": ["task-1abc", "task-2def", "task-3ghi"],
"execution_order": [[1], [2, 3], [4, 5, 6], [7], [8]]
}
The execution_order shows which tasks run in parallel (same array level) and which must run sequentially (different levels).