Skip to main content
POST
/
api
/
v1
/
supportTickets
/
Create Support Ticket
curl --request POST \
  --url https://skala-sandbox.ripio.com/api/v1/supportTickets/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form customerId=3c90c3cc-0d44-4b50-8888-8dd25736052a \
  --form 'summary=<string>' \
  --form 'description=<string>' \
  --form 'files=<string>' \
  --form files.items='@example-file'
{
  "ticketId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
  "status": "PENDING",
  "issueKey": null
}
Support tickets are an opt-in feature that must be enabled for your account by the Ripio team. The feature is disabled by default. While it is disabled, every request to this endpoint returns 403 Forbidden with the error code 20061 (SupportTicketsNotEnabledException). Contact the Ripio team to have support tickets enabled for your account before integrating.

How it works

This endpoint lets you raise a support ticket on behalf of one of your customers. Tickets are processed asynchronously:
  1. You submit the ticket as multipart/form-data (optionally with file attachments). The API validates the request and responds immediately with 202 Accepted, returning a ticketId, status: "PENDING" and issueKey: null.
  2. Ripio processes the ticket in the background and registers it with the support team.
  3. Once registered, the ticket moves to status: "CREATED" and the issueKey (the human-readable reference, e.g. SUP-1234) becomes available.
The recommended way to obtain the issueKey is to subscribe to the Support Ticket webhook events — your application is notified automatically as soon as the ticket reaches the CREATED (or FAILED) status. If you need to check the state of a specific ticket on demand, you can also use the Retrieve Support Ticket endpoint with the returned ticketId.

How follow-up with the customer works

Once a ticket is registered with Ripio’s support team, all follow-up with the end user happens over email, directly between Ripio’s support team and the customer — using the email address on file for the customerId you referenced. Ripio’s support team replies, asks for more information and notifies the resolution by email, and the customer answers from their inbox. This conversation is not relayed through the API: there is no endpoint to read or post replies on a ticket. This API (and the webhook events) only cover creating the ticket and reporting its registration outcome (CREATED / FAILED) — not the subsequent messages or resolution. For this reason, make sure the customer’s email address is valid and actively monitored, since it is the only channel Ripio uses to reach them about the ticket.
The customer referenced by customerId must exist and have an email address on file — otherwise the request is rejected with a 400 error. This same email address is the channel Ripio’s support team uses to follow up with the customer (see above).Attachments are limited to 5 files per request, 25 MB per file and 50 MB in total, with the allowed extensions jpg, jpeg, png, webp, mp4, mov, avi, webm, pdf.

Authorizations

Authorization
string
header
required

Access token obtained via /oauth2/token/. Use as Authorization: Bearer <access_token>.

Body

multipart/form-data
customerId
string<uuid>
required

Your customer ID for the end user the ticket is raised on behalf of. The customer must exist and have an email address on file.

summary
string
required

Short, one-line summary of the issue.

Maximum string length: 240
description
string
required

Detailed description of the issue.

Maximum string length: 5000
files
file[]

Optional file attachments (e.g. screenshots). Up to 5 files per request, each up to 25 MB, and up to 50 MB in total. Allowed extensions: jpg, jpeg, png, webp, mp4, mov, avi, webm, pdf.

Response

Ticket accepted and queued for processing. status is PENDING and issueKey is null until processing completes.

ticketId
string<uuid>
required

Ripio's identifier for the support ticket. Use it to correlate the Support Ticket webhook events, or to look up the ticket's status on demand via the Retrieve Support Ticket endpoint.

status
enum<string>
required

Lifecycle status of the ticket. PENDING: accepted and being processed (no reference yet). CREATED: successfully registered in Ripio's support system; issueKey is populated. FAILED: the ticket could not be registered.

Available options:
PENDING,
CREATED,
FAILED
issueKey
string | null
required

Human-readable reference of the ticket in Ripio's support system (e.g. SUP-1234). null until the ticket reaches the CREATED status.