For AI agents: markdown of this page — /docs-content-en/feedback/get.md documentation index — /llms.txt
Get a ticket
GET /v1/feedback/:id
Returns a single ticket by ID with all the list fields plus context, attachments, and comments.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id (path) |
string | yes | Ticket UUID. Get it from the ticket list or the create response |
Examples
curl — personal key
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://vibecode.bitrix24.com/v1/feedback/a1b2c3d4-1111-2222-3333-444455556666"
curl — OAuth application
curl -H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
"https://vibecode.bitrix24.com/v1/feedback/a1b2c3d4-1111-2222-3333-444455556666"
JavaScript — personal key
const res = await fetch(
'https://vibecode.bitrix24.com/v1/feedback/a1b2c3d4-1111-2222-3333-444455556666',
{ headers: { 'X-Api-Key': 'YOUR_API_KEY' } },
)
const { data } = await res.json()
JavaScript — OAuth application
const res = await fetch(
'https://vibecode.bitrix24.com/v1/feedback/a1b2c3d4-1111-2222-3333-444455556666',
{ headers: { 'X-Api-Key': 'YOUR_APP_KEY', 'Authorization': 'Bearer USER_SESSION_TOKEN' } },
)
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data.id |
string | Ticket UUID |
data.category |
string | Category |
data.title |
string | Title |
data.body |
string | Description |
data.status |
string | Current status |
data.source |
string | api or ui |
data.resolution |
string · null | Resolution text, if the ticket is closed |
data.context |
object · null | The original JSON passed at creation |
data.attachments |
array | Ticket attachments |
data.attachments[].id |
string | Attachment UUID |
data.attachments[].mime |
string | File type: image/webp or image/gif |
data.attachments[].sizeBytes |
number | Size in bytes |
data.attachments[].width |
number | Width in pixels |
data.attachments[].height |
number | Height in pixels |
data.attachments[].originalName |
string | Original file name |
data.attachments[].createdAt |
string | Link date (ISO 8601) |
data.comments |
array | Ticket comments |
data.comments[].id |
string | Comment UUID |
data.comments[].authorType |
string | USER or PLATFORM |
data.comments[].body |
string | Comment text |
data.comments[].createdAt |
string | Creation date (ISO 8601) |
data.comments[].attachments |
array | Comment attachments, same structure as data.attachments[] |
data.createdAt |
string | Creation date (ISO 8601) |
data.resolvedAt |
string · null | Closing date, if any |
A key with the vibe:feedback scope additionally receives portalDomain, userName, userId.
Response example
{
"success": true,
"data": {
"id": "a1b2c3d4-1111-2222-3333-444455556666",
"category": "BUG",
"title": "POST /v1/deals/search returns 500 on empty filter",
"body": "Calling POST /v1/deals/search with body {\"filter\":{}} gives a 500.",
"status": "NEW",
"source": "api",
"resolution": null,
"context": { "endpoint": "/v1/deals/search", "httpStatus": 500 },
"attachments": [],
"comments": [],
"createdAt": "2026-04-19T10:30:00.000Z",
"resolvedAt": null
}
}
Error response example
404 — ticket not found or not accessible to the key:
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Feedback not found"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 404 | NOT_FOUND |
The ticket does not exist or is not accessible to the key |
| 401 | MISSING_API_KEY |
The X-Api-Key header was not passed |
For the full list of common API errors, see Errors.
Known specifics
A single response for "missing" and "someone else's". A non-existent ticket and a ticket not accessible to the key return the same 404 NOT_FOUND. The response code cannot tell "does not exist" from "exists but belongs to another" — this protects against probing other people's tickets.
Attachments and comments come as arrays. Unlike the list, get returns attachments and comments in the ticket body. For a new ticket both arrays are empty.