All developer pages

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.

Scope
conversations:read
Operation id
listConversations

Parameters

Parameters of GET /api/v1/conversations
NameInTypeRequiredConstraints
limitqueryintegerNo1 to 200
cursorquerystringNoat most 400 characters
statusquerystringNoone of "open", "pending", "snoozed", "resolved", "closed"
contactIdquerystring (uuid)No

Response

200 JSON with these fields.

Response fields of GET /api/v1/conversations
FieldTypeRequiredConstraints
dataarray of objectYes
data[].idstring (uuid)Yes
data[].contactIdstring (uuid)Yes
data[].statusstringYes
data[].prioritystringYesone of "urgent", "high", "normal", "low", "lowest"
data[].subjectstring or nullYes
data[].queueIdstring (uuid) or nullYes
data[].assigneeIdstring (uuid) or nullYes
data[].caseNumberinteger or nullYes
data[].tagsarray of stringYes
data[].channelsarray of stringYes
data[].openedAtstring (date-time)Yes
data[].lastActivityAtstring (date-time)Yes
data[].closedAtstring (date-time) or nullYes
nextCursorstring or nullYes

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.

Scope
conversations:read
Operation id
getConversation

Parameters

Parameters of GET /api/v1/conversations/{id}
NameInTypeRequiredConstraints
idpathstring (uuid)Yes

Response

200 JSON with these fields.

Response fields of GET /api/v1/conversations/{id}
FieldTypeRequiredConstraints
idstring (uuid)Yes
contactIdstring (uuid)Yes
statusstringYes
prioritystringYesone of "urgent", "high", "normal", "low", "lowest"
subjectstring or nullYes
queueIdstring (uuid) or nullYes
assigneeIdstring (uuid) or nullYes
caseNumberinteger or nullYes
tagsarray of stringYes
channelsarray of stringYes
openedAtstring (date-time)Yes
lastActivityAtstring (date-time)Yes
closedAtstring (date-time) or nullYes

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).

Scope
conversations:write
Operation id
updateConversation
Idempotent
Send Idempotency-Key to make a retry safe

Parameters

Parameters of PATCH /api/v1/conversations/{id}
NameInTypeRequiredConstraints
idpathstring (uuid)Yes
Idempotency-KeyheaderstringNomatches ^[A-Za-z0-9_.:-]{8,100}$

Request body

JSON (Content-Type: application/json).

Request body of PATCH /api/v1/conversations/{id}
FieldTypeRequiredConstraints
subjectstringNo1-500 characters
prioritystringNoone of "urgent", "high", "normal", "low", "lowest"
tagsarray of stringNoat most 50 items
statusstringNoone of "resolved"
dispositionstringNo1-100 characters

Response

200 JSON with these fields.

Response fields of PATCH /api/v1/conversations/{id}
FieldTypeRequiredConstraints
idstring (uuid)Yes
contactIdstring (uuid)Yes
statusstringYes
prioritystringYesone of "urgent", "high", "normal", "low", "lowest"
subjectstring or nullYes
queueIdstring (uuid) or nullYes
assigneeIdstring (uuid) or nullYes
caseNumberinteger or nullYes
tagsarray of stringYes
channelsarray of stringYes
openedAtstring (date-time)Yes
lastActivityAtstring (date-time)Yes
closedAtstring (date-time) or nullYes

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"
}'