Velgentelgent
Docs

Summarise ticket

Condense a support ticket — subject, body, and the comment thread — into a short summary plus structured intent. Tuned to preserve the caller's request, the agent's last action, and what's blocking resolution.

Use this instead of Summarise text when you have ticket-shaped input — it understands the difference between the original request and subsequent comments, and weights them appropriately.

POSThttps://aiengine.velgent.com/api/v1/summarise/ticket

Headers

Same as Summarise textAuthorization, Content-Type, optional Idempotency-Key.

Request body

FieldTypeRequiredDefaultDescription
subjectstringYesTicket subject line. 1–500 characters.
bodystringYesThe original ticket body. 1–32,000 characters.
commentsarray of objectsNo[]Comment thread, oldest first. Each item: { author_role: "customer" | "agent", text: string, created_at?: ISO 8601 }. Up to 100 comments.
status"open" | "pending" | "resolved" | "closed"NoCurrent ticket status. Helps the model interpret the thread.
format"paragraph" | "bullets"No"bullets"Shape of the summary.
metadataobjectNoFree-form key/value pairs echoed on the response.

Response

FieldTypeRequiredDefaultDescription
idstringYesUnique identifier for this summarisation.
summarystringYesThe summary, in the requested format.
last_actionstringYesA one-line description of the most recent meaningful action on the ticket.
blocking_on"customer" | "agent" | "neither"YesWho the ticket is currently waiting on.
intentobjectYesSame shape as Summarise text.
usageobjectYesToken counts.
created_atstring (ISO 8601)YesUTC timestamp.

Examples

Example response

{
  "id":           "sumt_01HZQ7K8YV9X3R2M5N6P7QABCD",
  "summary":      "- Customer (org acme-1042) cannot export Q1 invoices to CSV; the Export button hangs on a spinner.\n- Reproduces in both Chrome and Safari.\n- Agent has captured the org id; investigation has not started yet.",
  "last_action":  "Customer provided org id (acme-1042).",
  "blocking_on":  "agent",
  "intent": {
    "action_needed":  true,
    "due_date":       null,
    "urgency_score":  55,
    "sensitivity":    "low"
  },
  "usage":      { "input_tokens": 112, "output_tokens": 81, "total_tokens": 193 },
  "created_at": "2026-05-10T17:42:11Z"
}

Errors

See Errors. The most common ticket-specific failures:

| Status | Code | When | | --- | --- | --- | | 400 | invalid_request | subject or body missing/empty. | | 400 | invalid_request | A comment has an invalid author_role. | | 413 | payload_too_large | Combined size of body + comments exceeds 64,000 characters. |