API v1

Support Ticket API

Support endpoints let API clients create tickets, upload screenshots through supported request formats, and add user replies while preserving workspace scoping and authenticated attachment access.

Step 1

Create tickets with clear title, category, priority, and initial description.

Step 2

List and inspect tickets for the token workspace.

Step 3

Add follow-up messages with idempotency so retries do not duplicate replies.

Endpoints

GET/api/v1/support/tickets?limit=10

List support tickets visible to the token workspace.

Required scope: support:read

curl https://www.finkmesh.com/api/v1/support/tickets?limit=10 \
  -H "Authorization: Bearer $FINKMESH_TOKEN"
{
  "data": [
    {
      "id": "tkt_123",
      "title": "API question",
      "status": "open",
      "priority": "normal"
    }
  ],
  "pagination": { "limit": 10, "hasMore": false, "nextCursor": null },
  "requestId": "req_...",
  "apiVersion": "2026-07-01"
}
POST/api/v1/support/ticketsIdempotency-Key

Create a support ticket with optional screenshot attachments.

Required scope: support:write

curl -X POST https://www.finkmesh.com/api/v1/support/tickets \
  -H "Authorization: Bearer $FINKMESH_TOKEN" \
  -H "Idempotency-Key: ticket-$(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"title":"API question","description":"Need help with readiness.","priority":"normal"}'
{
  "data": {
    "id": "tkt_123",
    "title": "API question",
    "status": "open",
    "priority": "normal"
  },
  "requestId": "req_...",
  "apiVersion": "2026-07-01"
}
GET/api/v1/support/tickets/{ticketId}

Fetch one ticket with messages and attachment metadata scoped to the token workspace.

Required scope: support:read

curl https://www.finkmesh.com/api/v1/support/tickets/{ticketId} \
  -H "Authorization: Bearer $FINKMESH_TOKEN"
{
  "data": {
    "id": "tkt_123",
    "title": "API question",
    "status": "open",
    "messages": [
      { "id": "msg_123", "authorRole": "user" }
    ],
    "attachments": []
  },
  "requestId": "req_...",
  "apiVersion": "2026-07-01"
}
POST/api/v1/support/tickets/{ticketId}/messagesIdempotency-Key

Add a user reply to an existing support ticket.

Required scope: support:write

curl -X POST https://www.finkmesh.com/api/v1/support/tickets/{ticketId}/messages \
  -H "Authorization: Bearer $FINKMESH_TOKEN" \
  -H "Idempotency-Key: message-$(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"body":"Here is the run id: run_123."}'
{
  "data": {
    "id": "msg_123",
    "ticketId": "tkt_123",
    "authorRole": "user"
  },
  "requestId": "req_...",
  "apiVersion": "2026-07-01"
}

Attachments

Screenshots must be PNG, JPEG, WebP, or GIF; uploads are capped at three files, 5 MB each, and 10 MB total.

Threading

API-created ticket messages are authenticated workspace messages. Email inbound threading remains separate from this API surface.

Multipart Screenshot Upload

Use multipart/form-data when creating a ticket with screenshots. JSON ticket creation is still supported when no files are attached.

curl -X POST https://www.finkmesh.com/api/v1/support/tickets \
  -H "Authorization: Bearer $FINKMESH_TOKEN" \
  -H "Idempotency-Key: ticket-$(uuidgen)" \
  -F "title=API question" \
  -F "description=Screenshot attached." \
  -F "priority=normal" \
  -F "attachments=@./screenshot.jpg;type=image/jpeg"

Related Docs