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
Parameterid (path) Typestring Requiredyes DescriptionTicket UUID. Get it from the ticket list or the create response

Examples

curl — personal key

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://vibecode.bitrix24.com/v1/feedback/a1b2c3d4-1111-2222-3333-444455556666"

curl — OAuth application

Terminal
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

javascript
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

javascript
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
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata.id Typestring DescriptionTicket UUID
Fielddata.category Typestring DescriptionCategory
Fielddata.title Typestring DescriptionTitle
Fielddata.body Typestring DescriptionDescription
Fielddata.status Typestring DescriptionCurrent status
Fielddata.source Typestring Descriptionapi or ui
Fielddata.resolution Typestring · null DescriptionThe verdict recorded at the last closure. Empty on a ticket that was never closed. Reopening the ticket keeps the verdict, so the field can be non-empty on an active ticket — for the team's latest answer, read the comment thread
Fielddata.context Typeobject · null DescriptionThe original JSON passed at creation
Fielddata.attachments Typearray DescriptionTicket attachments
Fielddata.attachments[].id Typestring DescriptionAttachment UUID
Fielddata.attachments[].kind Typestring DescriptionAttachment class: IMAGE or DOCUMENT
Fielddata.attachments[].mime Typestring DescriptionFile type. For an image — image/webp or image/gif. For a document — the type by extension, for example text/plain or application/zip
Fielddata.attachments[].sizeBytes Typenumber DescriptionSize in bytes
Fielddata.attachments[].width Typenumber DescriptionWidth in pixels. 0 for a document
Fielddata.attachments[].height Typenumber DescriptionHeight in pixels. 0 for a document
Fielddata.attachments[].originalName Typestring · null DescriptionOriginal file name. null if the image was uploaded without a file name. A document without a name gets attachment.<extension>
Fielddata.attachments[].createdAt Typestring DescriptionDate the file was uploaded (ISO 8601). Attaching the file to a ticket or a comment does not change this date, so it can be earlier than the ticket's or the comment's creation date
Fielddata.comments Typearray DescriptionTicket comments
Fielddata.comments[].id Typestring DescriptionComment UUID
Fielddata.comments[].authorType Typestring DescriptionUSER or PLATFORM
Fielddata.comments[].authorName Typestring · null DescriptionName of the comment author. Filled in for a key with the vibe:feedback scope and for a management key; others receive null
Fielddata.comments[].body Typestring DescriptionComment text
Fielddata.comments[].createdAt Typestring DescriptionCreation date (ISO 8601)
Fielddata.comments[].attachments Typearray DescriptionComment attachments, same structure as data.attachments[]
Fielddata.createdAt Typestring DescriptionCreation date (ISO 8601)
Fielddata.resolvedAt Typestring · null DescriptionClosing date, if any
Fielddata.portalId Typestring DescriptionUUID of the Bitrix24 account the ticket was sent from
Fielddata.portalDomain Typestring DescriptionDomain of that Bitrix24 account
Fielddata.userId Typestring DescriptionUUID of the user who sent the ticket. Absent for a ticket without an author, for example when the author was deleted
Fielddata.userName Typestring DescriptionName of that user. Comes together with userId
Fielddata.securityFlags Typeobject · null DescriptionInternal moderation marks. null when there are none
Fielddata.gitlabIssueIid Typenumber · null DescriptionIssue number in the team's tracker if the ticket was handed over to developers. Otherwise null
Fielddata.exportedAt Typestring · null DescriptionWhen the ticket was handed over to developers (ISO 8601). Otherwise null

The fields from portalId to exportedAt are returned only to a key with the vibe:feedback scope and to a management key.

Response example

JSON
{
  "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:

JSON
{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Feedback not found"
  }
}

Errors

HTTP Code Description
HTTP404 CodeNOT_FOUND DescriptionThe ticket does not exist or is not accessible to the key
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header was not passed

For the full list of common API errors, see Errors.

Known specifics

Which tickets a key sees. A key without the vibe:feedback scope receives only the tickets it sent itself. A key with the scope sees every ticket of its Bitrix24 account, and a management key sees all tickets.

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 does not distinguish "does not exist" from "exists but belongs to someone else" — this protects against probing other people's tickets.

Attachments and comments come as arrays. Unlike the list, get returns attachments and comments inside the ticket object. For a new ticket both arrays are empty.

See also