Create a handoff ticket
const url = 'https://example.com/api/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/tickets';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"title":"example","description":"example","request_type":"bug","roles":["frontend"],"priority":"low","blocking":false,"evidence":{},"suggested_resolution":"example","implementation_notes":"example","actor_role":"example","actor_id":"example","source":"example","idempotency_key":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/tickets \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "title": "example", "description": "example", "request_type": "bug", "roles": [ "frontend" ], "priority": "low", "blocking": false, "evidence": {}, "suggested_resolution": "example", "implementation_notes": "example", "actor_role": "example", "actor_id": "example", "source": "example", "idempotency_key": "example" }'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Project UUID
Request Body required
Section titled “Request Body required ”object
Explicit role assignments (required for MCP bot ticket creation).
object
Implementation guidance for the assignee
Optional actor role; defaults to user in portal.
Optional actor id; defaults to current user in portal.
Optional source; defaults to portal in portal API.
Client-supplied idempotency key. If a ticket was already created with this key in this project, the prior response is replayed and _idempotent_replay is true.
Responses
Section titled “ Responses ”Created ticket
object
object
Open tickets in this project whose embeddings are >=0.65 cosine similar to the new ticket. Hint only — the new ticket was still created.
object
Present and true when the idempotency_key matched a prior response.
Invalid request
object
Human-readable error message
Stable machine-readable error code for client branching
First validation message per field path
object
Structured validation issues (Zod)
object
Seconds until rate limit resets (429 responses)
Not authenticated
object
Human-readable error message
Stable machine-readable error code for client branching
First validation message per field path
object
Structured validation issues (Zod)
object
Seconds until rate limit resets (429 responses)
True if re-linking GitHub may fix the issue
Forbidden
object
Human-readable error message
Stable machine-readable error code for client branching
First validation message per field path
object
Structured validation issues (Zod)
object
Seconds until rate limit resets (429 responses)