Skip to main content
POST
Xquik support ticket API | reply to request
Free - does not consume credits
Support tickets are free for all authenticated users.
Use JSON for text-only replies. Use multipart/form-data when attaching media.

Send a durable support reply

Read the ticket before composing a response. Confirm its public ID, status, latest sender, and most recent message. This prevents a reply from repeating an answer already added by another operator. Choose the request format from the actual content. Send JSON for text only. Use multipart form fields when screenshots or videos are required. Write a specific message body. Reference the observed problem, completed check, or requested next step. Avoid pasting secrets, API keys, or private browser session details. Review every attachment before upload. Use only the documented image and video formats. Keep each file and the combined request within the documented size limits. Generate one idempotency key after the text and attachments are final. Reuse it only when the identical request loses its response. Changed text or files require a new key. Interpret reply outcomes precisely:
  • 201 means the new message was created.
  • 200 with Idempotency-Replayed returns the earlier message.
  • 409 means the key already represents different content.
  • 404 means the ticket is missing or belongs elsewhere.
  • 429 requires waiting for Retry-After.
Store the ticket ID, idempotency key, reply time, and attachment receipts. Do not store attachment bytes in shared logs. Fetch the ticket again after creation. Confirm the message appears once and the sender is correct. Inspect each attachment status before telling the user that a screenshot or video is available.

Path parameters

string
required
The ticket public ID (e.g. tkt_a1b2c3d4e5f6a1b2c3d4e5f6). Returned when you create a ticket or list tickets.

Headers

string
required
Your API key. Session cookie authentication is also supported. Generate a key from the dashboard.
string
required
Use application/json for text only. Use multipart/form-data for media.
string
Generate one random value for this reply. Reuse it only when retrying identical text and attachments. A replay returns the original message with Idempotency-Replayed: true.

Body

string
required
Message content. 1-10,000 characters.
file[]
Up to 4 JPEG, PNG, GIF, WebP, MP4, MOV, or WebM files. The same per-file and 30 MB combined limits apply.
For a media-only reply, omit body and include at least 1 attachment.
cURL With Media

Response

201 Created

string
Ticket public ID the message was added to.
object[]
Created media receipts.
string
Private attachment public ID.
string
Upload status: ready or failed.

200 Replayed

Returns the original response after a safe retry. The Idempotency-Replayed response header is true.

400 Invalid input

Missing or invalid body field.

401 Unauthenticated

Missing or invalid API key.

404 Not found

No ticket exists with this ID, or it belongs to a different account.

409 Conflict

The Idempotency-Key already belongs to different text or attachments. Generate a new key for the changed reply.

429 Rate limited

Wait for the Retry-After value before adding another reply.
Related. Support Media explains private downloads and upload limits.