tickets
24 operations
GET/v1/tickets
Inbox and unified queue: filters, search, cursor pagination.
/v1/ticketsAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
cursorquery | string | |
limitquery | integer | |
statequery | array of enum | |
originquery | array of enum | |
categoryquery | array of enum | |
priorityquery | array of enum | |
workspace_idquery | string | |
qquery | string | |
assigneequery | "me" | "unassigned" | string | |
sortquery | enum | Values newest | oldest | updated | sla |
Response 200
| Name | Type | Description |
|---|---|---|
itemsrequired | array of object | |
items[].idrequired | string | |
items[].org_idrequired | string | |
items[].workspace_idrequired | string | |
items[].workspace_namerequired | string | |
items[].client_namerequired | string | |
items[].channel_idrequired | string | |
items[].originrequired | enum | Values email | widget | github | proactive |
items[].external_idrequired | string | |
items[].customer_emailrequired | string | |
items[].customer_namerequired | string | |
items[].subjectrequired | string | |
items[].staterequired | enum | Values received | triage | needs_info | draft_ready | answered | fixing | awaiting_approval | releasing | customer_notified | closed | escalated |
items[].public_staterequired | enum | Values in_analysis | needs_reply | answered | fix_in_progress | releasing | resolved | team_review |
items[].categoryrequired | enum | Values usage | config | docs | bug | feature_request | unknown |
items[].priorityrequired | enum | Values low | normal | high | urgent |
items[].assignee_user_idrequired | string | |
items[].github_item_kindrequired | enum | Values issue | pull_request |
items[].github_numberrequired | integer | |
items[].labelsrequired | array of string | |
items[].languagerequired | string | |
items[].is_demorequired | boolean | |
items[].demorequired | boolean | |
items[].error_group_idrequired | string | |
items[].duplicate_of_ticket_idrequired | string | |
items[].resolved_versionrequired | string | |
items[].latest_confidencerequired | number | |
items[].needs_team_actionrequired | boolean | |
items[].message_countrequired | integer | |
items[].last_message_atrequired | string (date-time) | |
items[].first_response_atrequired | string (date-time) | |
items[].released_atrequired | string (date-time) | |
items[].closed_atrequired | string (date-time) | |
items[].last_customer_message_atrequired | string (date-time) | |
items[].sla_due_atrequired | string (date-time) | |
items[].reopened_countrequired | integer | |
items[].created_atrequired | string (date-time) | |
items[].updated_atrequired | string (date-time) | |
next_cursorrequired | string |
GET/v1/tickets/{id}
The ticket page: conversation, diagnosis, drafts, fixes with diff, release, audit, jobs.
/v1/tickets/{id}Authentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
idrequired | string | |
org_idrequired | string | |
workspace_idrequired | string | |
workspace_namerequired | string | |
client_namerequired | string | |
channel_idrequired | string | |
originrequired | enum | Values email | widget | github | proactive |
external_idrequired | string | |
customer_emailrequired | string | |
customer_namerequired | string | |
subjectrequired | string | |
staterequired | enum | Values received | triage | needs_info | draft_ready | answered | fixing | awaiting_approval | releasing | customer_notified | closed | escalated |
public_staterequired | enum | Values in_analysis | needs_reply | answered | fix_in_progress | releasing | resolved | team_review |
categoryrequired | enum | Values usage | config | docs | bug | feature_request | unknown |
priorityrequired | enum | Values low | normal | high | urgent |
assignee_user_idrequired | string | |
github_item_kindrequired | enum | Values issue | pull_request |
github_numberrequired | integer | |
labelsrequired | array of string | |
languagerequired | string | |
is_demorequired | boolean | |
demorequired | boolean | |
error_group_idrequired | string | |
duplicate_of_ticket_idrequired | string | |
resolved_versionrequired | string | |
latest_confidencerequired | number | |
needs_team_actionrequired | boolean | |
message_countrequired | integer | |
last_message_atrequired | string (date-time) | |
first_response_atrequired | string (date-time) | |
released_atrequired | string (date-time) | |
closed_atrequired | string (date-time) | |
last_customer_message_atrequired | string (date-time) | |
sla_due_atrequired | string (date-time) | |
reopened_countrequired | integer | |
created_atrequired | string (date-time) | |
updated_atrequired | string (date-time) | |
public_summaryrequired | string | |
public_summary_approved_atrequired | string (date-time) | |
public_status_urlrequired | string (uri) | |
public_token_revoked_atrequired | string (date-time) | |
messagesrequired | array of object | |
messages[].idrequired | string | |
messages[].org_idrequired | string | |
messages[].workspace_idrequired | string | |
messages[].ticket_idrequired | string | |
messages[].directionrequired | enum | Values in | out |
messages[].fromrequired | string | |
messages[].to_addressesrequired | array of string | |
messages[].cc_addressesrequired | array of string | |
messages[].subjectrequired | string | |
messages[].body_textrequired | string | |
messages[].body_htmlrequired | string | |
messages[].email_message_idrequired | string | |
messages[].in_reply_torequired | string | |
messages[].referencesrequired | string | |
messages[].attachmentsrequired | array of object | |
messages[].attachments[].idrequired | string | |
messages[].attachments[].filenamerequired | string | |
messages[].attachments[].content_typerequired | string | |
messages[].attachments[].sizerequired | integer | |
messages[].attachments[].urlrequired | string (uri) | |
messages[].attachments[].content_id | string | |
messages[].attachments[].inline | boolean | |
messages[].widget_contextrequired | object | |
messages[].widget_context.consolerequired | array of object | |
messages[].widget_context.console[].levelrequired | enum | Values error | warn | unhandled_exception | unhandled_rejection |
messages[].widget_context.console[].messagerequired | string | |
messages[].widget_context.console[].stack | string | |
messages[].widget_context.console[].timestamprequired | string (date-time) | |
messages[].widget_context.networkrequired | array of object | |
messages[].widget_context.network[].methodrequired | string | |
messages[].widget_context.network[].urlrequired | string | |
messages[].widget_context.network[].statusrequired | integer | |
messages[].widget_context.network[].duration_msrequired | number | |
messages[].widget_context.network[].timestamprequired | string (date-time) | |
messages[].widget_context.network[].error | string | |
messages[].widget_context.browser | object | |
messages[].widget_context.browser.user_agentrequired | string | |
messages[].widget_context.browser.name | string |
POST/v1/tickets/{id}/approve
Approva e rilascia: approves the fix at the exact SHA; merge, tag and release follow.
/v1/tickets/{id}/approveAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
fix_attempt_idrequired | string | |
approved_sharequired | string | |
comment | string | |
version | string | |
public_summary | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/assign
Assigns the ticket to a team member who can open its workspace (null unassigns).
/v1/tickets/{id}/assignAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
assignee_user_idrequired | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/back-to-approval
Riporta in approvazione: an escalated ticket whose verified fix was never merged (its release stopped before the merge) goes back to awaiting approval, with its open PR (approver roles).
/v1/tickets/{id}/back-to-approvalAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
fix_attempt_idrequired | string | |
comment | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/close
Closes the ticket (a duplicate subscribes its customer to the original).
/v1/tickets/{id}/closeAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
reasonrequired | enum | Values resolved | answered | duplicate | spam | wont_fix | other |
duplicate_of_ticket_id | string | |
comment | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/drafts
Writes a reply or an information request of the team (an escalated ticket, a discarded draft): a draft, sent by its own click.
/v1/tickets/{id}/draftsAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
kindrequired | enum | Values reply | needs_info |
body_mdrequired | string | |
public_summary | string |
Response 201
| Name | Type | Description |
|---|---|---|
idrequired | string | |
org_idrequired | string | |
ticket_idrequired | string | |
diagnosis_idrequired | string | |
kindrequired | enum | Values reply | needs_info | interim | release_notice | proactive_notice |
body_mdrequired | string | |
statusrequired | enum | Values draft | approved | sent | discarded |
languagerequired | string | |
sent_message_idrequired | string | |
edited_by_user_idrequired | string | |
approved_by_user_idrequired | string | |
approved_atrequired | string (date-time) | |
sent_atrequired | string (date-time) | |
created_atrequired | string (date-time) | |
updated_atrequired | string (date-time) |
PATCH/v1/tickets/{id}/drafts/{draftId}
Saves edits to a draft and to the proposed public summary.
/v1/tickets/{id}/drafts/{draftId}Authentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string | |
draftIdpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
body_md | string | |
public_summary | string | |
kind | enum | Values reply | needs_info |
Response 200
The same fields as POST /v1/tickets/{id}/drafts.
POST/v1/tickets/{id}/drafts/{draftId}/discard
Discards a draft.
/v1/tickets/{id}/drafts/{draftId}/discardAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string | |
draftIdpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
reason | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/drafts/{draftId}/send
Sends a draft to the customer after the click (white-label guard for agencies).
/v1/tickets/{id}/drafts/{draftId}/sendAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string | |
draftIdpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
body_md | string | |
public_summary | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/escalate
Hands the ticket to a person, with the reason (the team is notified).
/v1/tickets/{id}/escalateAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
reasonrequired | string | |
assignee_user_id | string |
Response 200
The same fields as GET /v1/tickets/{id}.
GET/v1/tickets/{id}/fix-attempts/{fixAttemptId}/diff
Unified diff of a fix attempt (its pull request on GitHub).
/v1/tickets/{id}/fix-attempts/{fixAttemptId}/diffAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string | |
fixAttemptIdpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
textrequired | string | |
truncatedrequired | boolean | |
unavailablerequired | enum | Values no_pull_request | no_repository | github_unavailable | github_not_configured | not_loaded |
sourcerequired | enum | Values pull_request | compare |
POST/v1/tickets/{id}/fix-in-managed
Fix in Managed with a credit: an escalated bug of a BYO workspace is fixed in the Managed sandbox, paid with one fix credit (approver roles). A fix still queued for the workspace runner or agent is replaced; one at work refuses it (409 fix_job_active).
/v1/tickets/{id}/fix-in-managedAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
No fields.
Response 200
The same fields as GET /v1/tickets/{id}.
GET/v1/tickets/{id}/jobs/{jobId}/events
Log of one job of the ticket, oldest first.
/v1/tickets/{id}/jobs/{jobId}/eventsAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string | |
jobIdpathrequired | string | |
cursorquery | string | |
limitquery | integer | |
afterquery | string |
Response 200
| Name | Type | Description |
|---|---|---|
itemsrequired | array of object | |
items[].idrequired | string | |
items[].org_idrequired | string | |
items[].job_idrequired | string | |
items[].levelrequired | enum | Values info | warn | error |
items[].typerequired | string | |
items[].messagerequired | string | |
items[].datarequired | object | |
items[].created_atrequired | string (date-time) | |
next_cursorrequired | string |
POST/v1/tickets/{id}/notes
Adds an internal note to the conversation (never sent to the customer).
/v1/tickets/{id}/notesAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
body_mdrequired | string |
Response 201
| Name | Type | Description |
|---|---|---|
idrequired | string | |
org_idrequired | string | |
workspace_idrequired | string | |
ticket_idrequired | string | |
directionrequired | enum | Values in | out |
fromrequired | string | |
to_addressesrequired | array of string | |
cc_addressesrequired | array of string | |
subjectrequired | string | |
body_textrequired | string | |
body_htmlrequired | string | |
email_message_idrequired | string | |
in_reply_torequired | string | |
referencesrequired | string | |
attachmentsrequired | array of object | |
attachments[].idrequired | string | |
attachments[].filenamerequired | string | |
attachments[].content_typerequired | string | |
attachments[].sizerequired | integer | |
attachments[].urlrequired | string (uri) | |
attachments[].content_id | string | |
attachments[].inline | boolean | |
widget_contextrequired | object | |
widget_context.consolerequired | array of object | |
widget_context.console[].levelrequired | enum | Values error | warn | unhandled_exception | unhandled_rejection |
widget_context.console[].messagerequired | string | |
widget_context.console[].stack | string | |
widget_context.console[].timestamprequired | string (date-time) | |
widget_context.networkrequired | array of object | |
widget_context.network[].methodrequired | string | |
widget_context.network[].urlrequired | string | |
widget_context.network[].statusrequired | integer | |
widget_context.network[].duration_msrequired | number | |
widget_context.network[].timestamprequired | string (date-time) | |
widget_context.network[].error | string | |
widget_context.browser | object | |
widget_context.browser.user_agentrequired | string | |
widget_context.browser.name | string | |
widget_context.browser.version | string | |
widget_context.browser.os | string | |
widget_context.browser.language | string | |
widget_context.browser.viewport | object | |
widget_context.browser.viewport.widthrequired | integer | |
widget_context.browser.viewport.heightrequired | integer | |
widget_context.browser.screen | object | |
widget_context.browser.screen.widthrequired | integer | |
widget_context.browser.screen.heightrequired | integer | |
widget_context.url | string | |
widget_context.release | string | |
widget_context.screenshot_url | string (uri) | |
widget_context.symbolicated | boolean | |
delivery_statusrequired | enum | Values queued | sent | delivered | bounced | complained | failed |
sent_by_user_idrequired | string | |
is_internal_noterequired | boolean | |
created_atrequired | string (date-time) |
POST/v1/tickets/{id}/open-pr
Copilot: opens the pull request of the verified fix branch.
/v1/tickets/{id}/open-prAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
fix_attempt_idrequired | string | |
draft | boolean |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/reject
Rejects the fix: its PR is closed and the ticket goes to the team.
/v1/tickets/{id}/rejectAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
fix_attempt_idrequired | string | |
comment | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/release/retry
Resumes the release of a merged fix that stopped: tag, GitHub Release, CI and the notice, with the same approvals and SHA.
/v1/tickets/{id}/release/retryAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
version | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/reopen
Reopens the ticket into triage.
/v1/tickets/{id}/reopenAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
reason | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/request-changes
Asks for a new fix attempt with the reviewer’s notes (the old PR is closed).
/v1/tickets/{id}/request-changesAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
fix_attempt_idrequired | string | |
commentrequired | string |
Response 200
The same fields as GET /v1/tickets/{id}.
POST/v1/tickets/{id}/status-link
Revokes or rotates the public status link of the ticket.
/v1/tickets/{id}/status-linkAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
actionrequired | enum | Values revoke | rotate |
Response 200
| Name | Type | Description |
|---|---|---|
public_status_urlrequired | string (uri) | |
public_token_revoked_atrequired | string (date-time) |
GET/v1/tickets/{id}/subscribers
End users told when the fix ships (emails masked).
/v1/tickets/{id}/subscribersAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
itemsrequired | array of object | |
items[].idrequired | string | |
items[].org_idrequired | string | |
items[].ticket_idrequired | string | |
items[].thread_ticket_idrequired | string | |
items[].email_maskedrequired | string | |
items[].user_hashrequired | string | |
items[].sourcerequired | enum | Values duplicate | proactive | status_page | issue |
items[].notified_atrequired | string (date-time) | |
items[].unsubscribed_atrequired | string (date-time) | |
items[].created_atrequired | string (date-time) |
POST/v1/tickets/{id}/subscribers
Adds an email address to the release notice of the ticket.
/v1/tickets/{id}/subscribersAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string |
Request body
| Name | Type | Description |
|---|---|---|
emailrequired | string (email) |
Response 201
| Name | Type | Description |
|---|---|---|
idrequired | string | |
org_idrequired | string | |
ticket_idrequired | string | |
thread_ticket_idrequired | string | |
email_maskedrequired | string | |
user_hashrequired | string | |
sourcerequired | enum | Values duplicate | proactive | status_page | issue |
notified_atrequired | string (date-time) | |
unsubscribed_atrequired | string (date-time) | |
created_atrequired | string (date-time) |
DELETE/v1/tickets/{id}/subscribers/{subscriberId}
Removes a subscriber of the ticket.
/v1/tickets/{id}/subscribers/{subscriberId}Authentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
idpathrequired | string | |
subscriberIdpathrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
okrequired | true |