Skip to content

Get a single handoff ticket

GET
/projects/{id}/tickets/{ticketId}
curl --request GET \
--url https://example.com/api/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/tickets/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>'
id
required
string format: uuid

Project UUID

ticketId
required
string format: uuid

Ticket UUID

Ticket detail

Media type application/json
object
ticket
required
object
id
required
string format: uuid
project_id
required
string format: uuid
billing_account_id
string format: uuid
milestone_id
string | null format: uuid
source
string
number
required
integer
title
required
string
description

Full ticket body; omitted from list rows when slim=1

string
request_type
required
string
Allowed values: bug clarification_needed decision_needed feature_request
status
required
string
Allowed values: open closed
stage
required
string
Allowed values: backlog up_next in_progress validation live
priority
required
string
Allowed values: low medium high
blocking
required
boolean
created_at
required
string format: date-time
updated_at
string | null format: date-time
merge_sha
string | null
deployed_at
string | null format: date-time
deploy_failed_at
string | null format: date-time
resolution_type
string | null
reported_by_user_id
string | null format: uuid
suggested_resolution
string | null
implementation_notes

Requester-provided implementation guidance for the assignee

string | null
resolution_note
string | null
resolved_at
string | null format: date-time
evidence
object | null
category

Alias of request_type

string
severity

Alias of priority

string
suggested_backend_change

Alias of suggested_resolution

string | null
roles

Assigned ticket roles

Array<object>

Row from handoff_request_roles embedded on ticket list/detail responses.

object
id
required
string format: uuid
handoff_request_id
required
string format: uuid
role
required
string
Allowed values: frontend backend test design devops qa other
status
required
string
Allowed values: pending in_progress done skipped
assignee_user_id
string | null format: uuid
assignee_note
string | null
blocking_reason
string | null
work_started_note
string | null
agent_origin
string | null
started_at
string | null format: date-time
completed_at
string | null format: date-time
created_at
required
string format: date-time
updated_at
required
string format: date-time
summary

Present on list responses

string
ticket_ref

Present on list responses (HO-{number}-{project-slug})

string
roles
Array<object>

Row from handoff_request_roles embedded on ticket list/detail responses.

object
id
required
string format: uuid
handoff_request_id
required
string format: uuid
role
required
string
Allowed values: frontend backend test design devops qa other
status
required
string
Allowed values: pending in_progress done skipped
assignee_user_id
string | null format: uuid
assignee_note
string | null
blocking_reason
string | null
work_started_note
string | null
agent_origin
string | null
started_at
string | null format: date-time
completed_at
string | null format: date-time
created_at
required
string format: date-time
updated_at
required
string format: date-time
tasks
Array<object>
object
id
string format: uuid
handoff_request_id
string format: uuid
project_id
string format: uuid
sequence
integer
title
string
body
string | null
summary
string | null
role
string
Allowed values: frontend backend design qa devops other
status
string
Allowed values: pending in_progress blocked done skipped
assignee_user_id
string | null format: uuid
assignee_session_id
string | null
depends_on_task_ids
Array<string>
acceptance_criteria
Array<object>
object
estimated_minutes
integer | null
actual_minutes
integer | null
blocking_reason
string | null
started_at
string | null format: date-time
completed_at
string | null format: date-time
created_at
string format: date-time
updated_at
string format: date-time
summary
string
can_triage
boolean
_meta
object
schema_version
string
generated_at
string format: date-time

Invalid request

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number

Not authenticated

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number
reconnect

True if re-linking GitHub may fix the issue

boolean

Forbidden

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number

Not found

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number