All developer pages

API reference

Surveys

2 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/surveys

CSAT and NPS surveys, newest first.

Scope
surveys:read
Operation id
listSurveys

Parameters

Parameters of GET /api/v1/surveys
NameInTypeRequiredConstraints
limitqueryintegerNo1 to 200
cursorquerystringNoat most 400 characters
statusquerystringNoone of "sent", "answered", "expired", "failed"

Response

200 JSON with these fields.

Response fields of GET /api/v1/surveys
FieldTypeRequiredConstraints
dataarray of objectYes
data[].idstring (uuid)Yes
data[].conversationIdstring (uuid)Yes
data[].contactIdstring (uuid)Yes
data[].agentIdstring (uuid) or nullYes
data[].queueIdstring (uuid) or nullYes
data[].channelstringYes
data[].kindstringYesone of "csat", "nps"
data[].scaleobjectYes
data[].scale.minintegerYes
data[].scale.maxintegerYes
data[].statusstringYes
data[].failurestring or nullYes
data[].sentAtstring (date-time)Yes
data[].expiresAtstring (date-time)Yes
data[].respondedAtstring (date-time) or nullYes
data[].scoreinteger or nullYes
data[].commentstring or nullYes
data[].viastring or nullYes
data[].followUpConversationIdstring (uuid) 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/surveys' \
  -H "Authorization: Bearer $CC_TOKEN"

POST /api/v1/surveys/{id}/responses

Record an answer collected elsewhere: the post-call IVR's digit, or your own form.

Scope
surveys:write
Operation id
answerSurvey
Idempotent
Send Idempotency-Key to make a retry safe

Parameters

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

Request body

JSON (Content-Type: application/json).

Request body of POST /api/v1/surveys/{id}/responses
FieldTypeRequiredConstraints
scoreintegerYes0 to 10
commentstringNoat most 2000 characters
viastringYesone of "ivr", "api"

Response

201 JSON with these fields.

Response fields of POST /api/v1/surveys/{id}/responses
FieldTypeRequiredConstraints
idstring (uuid)Yes
conversationIdstring (uuid)Yes
contactIdstring (uuid)Yes
agentIdstring (uuid) or nullYes
queueIdstring (uuid) or nullYes
channelstringYes
kindstringYesone of "csat", "nps"
scaleobjectYes
scale.minintegerYes
scale.maxintegerYes
statusstringYes
failurestring or nullYes
sentAtstring (date-time)Yes
expiresAtstring (date-time)Yes
respondedAtstring (date-time) or nullYes
scoreinteger or nullYes
commentstring or nullYes
viastring or nullYes
followUpConversationIdstring (uuid) or nullYes

Errors

400, 401, 403, 404, 409, 422, 429. What each status means

Example request

curl -X POST 'https://api.ringura.com/api/v1/surveys/0192f5a0-7c1e-7d3a-9b2e-3f4a5b6c7d8e/responses' \
  -H "Authorization: Bearer $CC_TOKEN" \
  -H 'Idempotency-Key: order-2027-0001' \
  -H 'Content-Type: application/json' \
  -d '{
  "score": 0,
  "via": "ivr"
}'