SupportTicket

A request or response body; the type column links to the schemas it refers to.

SupportTicket

FieldTypeRequiredDescription
idstring (uuid)yes—
numberintegeryes

The short handle people quote, as #42.

minimum 1

categorystringyes

one of "bug" | "content_issue" | "permissions_error" | "account" | "suggestion" | "other"

statusstringyes

`open` (waiting on support), `in_progress` or `resolved`.

one of "open" | "in_progress" | "resolved"

descriptionstringyes

What went wrong, in plain text, as the reporter typed it.

page_pathstring | nullyes

The app path (and query) the report was made from.

page_titlestring | nullyes—
reporter_user_idstring (uuid) | nullyes

The account that reported it; null once that account has been deleted.

reporter_namestring | nullyes

The reporter's display name or email; null when unknown or deleted.

reporter_emailstring | nullyes—
reply_countintegeryes

Replies in its conversation, from either side; bare status changes not counted.

minimum 0

last_reply_from_supportboolean | nullyes

Who wrote the latest reply: support (true) or the reporter (false); null before any reply.

created_atstring (date-time)yes—
last_activity_atstring (date-time)yes

The report or its latest message, whichever is newer.

resolved_atstring (date-time) | nullyes

When it was resolved; null while it is not.

user_agentstring | nullyes

The browser the report came from.

attachmentsarray of SupportTicketAttachmentyes

The report's own screenshots; replies carry theirs on each message.

messagesarray of SupportTicketMessageyes

The conversation — replies and status changes — oldest first.

viewerSupportTicketVieweryes—
jsonExample
{
  "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "number": 42,
  "category": "bug",
  "status": "open",
  "description": "string",
  "page_path": "/records/approvals",
  "page_title": "Approvals | Botree LRS",
  "reporter_user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "reporter_name": "string",
  "reporter_email": "string",
  "reply_count": 0,
  "last_reply_from_support": true,
  "created_at": "2026-01-01T00:00:00.000Z",
  "last_activity_at": "2026-01-01T00:00:00.000Z",
  "resolved_at": "2026-01-01T00:00:00.000Z",
  "user_agent": "string",
  "attachments": [
    {
      "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "message_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "source": "page_capture",
      "file_name": "screenshot.png",
      "content_type": "image/png",
      "size_bytes": 0,
      "created_at": "2026-01-01T00:00:00.000Z",
      "url": "string",
      "download_url": "string"
    }
  ],
  "messages": [
    {
      "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "ticket_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "author_user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "author_name": "Sam Rivera",
      "from_support": true,
      "body": "string",
      "status_change": "open",
      "created_at": "2026-01-01T00:00:00.000Z",
      "attachments": [
        {
          "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
          "message_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
          "source": "page_capture",
          "file_name": "screenshot.png",
          "content_type": "image/png",
          "size_bytes": 0,
          "created_at": "2026-01-01T00:00:00.000Z",
          "url": "string",
          "download_url": "string"
        }
      ]
    }
  ],
  "viewer": {
    "reply": true,
    "manage": true
  }
}