Submit survey response

POST /api/public/v2/surveys/{survey_uuid}/responses/

Submit a survey response with a rating score and optional text feedback. Creates a new response for the current session, or updates it if the same session_uuid already responded to this survey.

Returns 409 when the session_uuid is already in use for a different survey: a session_uuid belongs to a single survey and must not be reused across surveys — create a session for each survey separately to obtain its own.

Path parameters

Comparison table
ParameterTypeRequiredDescription
survey_uuidstring (uuid)YesUUID of the survey.

Request body

Comparison table
FieldTypeRequiredDescription
session_uuidstring (uuid) | nullNoOptional. Session to attach the response to (from the session response). Omit or send null to start a fresh session.
scoreinteger | nullNoRating score. The valid range depends on the survey type: CSAT-2: 0-1, CSAT-5: 1-5, CES-7: 1-7, NPS: 0-10. An out-of-range score returns 400.
textstring | nullNoOptional free-text feedback.
metadataobjectNoArbitrary JSON object stored alongside the response.

Code example

curl -X POST https://feedback.tools/api/public/v2/surveys/<survey_uuid>/responses \
  -H "Authorization: Bearer pk_..." \
  -H "Content-Type: application/json"

Responses

200 Success

Comparison table
FieldTypeRequired
survey_uuidstring (uuid)Yes
session_uuidstring (uuid)Yes
user_submitted_textbooleanYes

400 / 403 / 409 Error

Comparison table
FieldTypeRequired
detailstringYes
survey_uuidstring (uuid) | nullNo
session_uuidstring (uuid) | nullNo