Skip to main content
POST
Xquik support ticket API to reply to a request
Free. This endpoint does not consume credits.
Use JSON for text-only replies. Use multipart/form-data when attaching media.

Send a support reply once

Read the ticket before composing a response. Confirm its public ID, status, latest sender, and most recent message. Another operator may have answered already. Choose the request format by 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. Read each reply status:
  • 201 means Xquik created the new message.
  • 200 with Idempotency-Replayed returns the earlier message.
  • 409 means the key already represents different content.
  • 404 means the ticket is missing or belongs to another account.
  • 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 (for example 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
Public ID of the ticket that received the message.
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.