API reference
Conversations
3 operations. Base URL: https://api.ringura.com/api/v1. Authenticate with a bearer token that carries the scope named on each operation.
GET /api/v1/conversations
List conversations, oldest first.
Parameters
| Name | In | Type | Required | Constraints |
|---|---|---|---|---|
limit | query | integer | No | 1 to 200 |
cursor | query | string | No | at most 400 characters |
status | query | string | No | one of "open", "pending", "snoozed", "resolved", "closed" |
contactId | query | string (uuid) | No |
Response
200 JSON with these fields.
| Field | Type | Required | Constraints |
|---|---|---|---|
data | array of object | Yes | |
data[].id | string (uuid) | Yes | |
data[].contactId | string (uuid) | Yes | |
data[].status | string | Yes | |
data[].priority | string | Yes | one of "urgent", "high", "normal", "low", "lowest" |
data[].subject | string or null | Yes | |
data[].queueId | string (uuid) or null | Yes | |
data[].assigneeId | string (uuid) or null | Yes | |
data[].caseNumber | integer or null | Yes | |
data[].tags | array of string | Yes | |
data[].channels | array of string | Yes | |
data[].openedAt | string (date-time) | Yes | |
data[].lastActivityAt | string (date-time) | Yes | |
data[].closedAt | string (date-time) or null | Yes | |
nextCursor | string or null | Yes |
Errors
400, 401, 403, 404, 409, 429. What each status means
Example request
curl -X GET 'https://api.ringura.com/api/v1/conversations' \
-H "Authorization: Bearer $CC_TOKEN"
GET /api/v1/conversations/{id}
One conversation.
Parameters
| Name | In | Type | Required | Constraints |
|---|---|---|---|---|
id | path | string (uuid) | Yes |
Response
200 JSON with these fields.
| Field | Type | Required | Constraints |
|---|---|---|---|
id | string (uuid) | Yes | |
contactId | string (uuid) | Yes | |
status | string | Yes | |
priority | string | Yes | one of "urgent", "high", "normal", "low", "lowest" |
subject | string or null | Yes | |
queueId | string (uuid) or null | Yes | |
assigneeId | string (uuid) or null | Yes | |
caseNumber | integer or null | Yes | |
tags | array of string | Yes | |
channels | array of string | Yes | |
openedAt | string (date-time) | Yes | |
lastActivityAt | string (date-time) | Yes | |
closedAt | string (date-time) or null | Yes |
Errors
400, 401, 403, 404, 409, 429. What each status means
Example request
curl -X GET 'https://api.ringura.com/api/v1/conversations/0192f5a0-7c1e-7d3a-9b2e-3f4a5b6c7d8e' \
-H "Authorization: Bearer $CC_TOKEN"
PATCH /api/v1/conversations/{id}
Change a conversation's subject, priority or tags, or resolve it (which sends the survey and writes back to CRMs).
Parameters
| Name | In | Type | Required | Constraints |
|---|---|---|---|---|
id | path | string (uuid) | Yes | |
Idempotency-Key | header | string | No | matches ^[A-Za-z0-9_.:-]{8,100}$ |
Request body
JSON (Content-Type: application/json).
| Field | Type | Required | Constraints |
|---|---|---|---|
subject | string | No | 1-500 characters |
priority | string | No | one of "urgent", "high", "normal", "low", "lowest" |
tags | array of string | No | at most 50 items |
status | string | No | one of "resolved" |
disposition | string | No | 1-100 characters |
Response
200 JSON with these fields.
| Field | Type | Required | Constraints |
|---|---|---|---|
id | string (uuid) | Yes | |
contactId | string (uuid) | Yes | |
status | string | Yes | |
priority | string | Yes | one of "urgent", "high", "normal", "low", "lowest" |
subject | string or null | Yes | |
queueId | string (uuid) or null | Yes | |
assigneeId | string (uuid) or null | Yes | |
caseNumber | integer or null | Yes | |
tags | array of string | Yes | |
channels | array of string | Yes | |
openedAt | string (date-time) | Yes | |
lastActivityAt | string (date-time) | Yes | |
closedAt | string (date-time) or null | Yes |
Errors
400, 401, 403, 404, 409, 422, 429. What each status means
Example request
curl -X PATCH 'https://api.ringura.com/api/v1/conversations/0192f5a0-7c1e-7d3a-9b2e-3f4a5b6c7d8e' \
-H "Authorization: Bearer $CC_TOKEN" \
-H 'Idempotency-Key: order-2027-0001' \
-H 'Content-Type: application/json' \
-d '{
"subject": "Order question"
}'