Create survey session

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

Start a survey-taking session and retrieve the survey configuration, along with the user's previous interaction state for this session.

Path parameters

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

Request body

Comparison table
FieldTypeRequiredDescription
session_uuidstring (uuid) | nullNoOptional. Existing session to resume. Omit or send null on the first call — the response returns a server-generated session_uuid to reuse in responses/events.

Code example

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

Responses

200 Success

Comparison table
FieldTypeRequired
survey_uuidstring (uuid)Yes
session_uuidstring (uuid)Yes
surveyobjectYes
user_closed_surveybooleanYes
user_submitted_scorebooleanYes
user_submitted_textbooleanYes

survey object:

Comparison table
FieldTypeRequired
survey_typecsat_2 | csat_5 | ces_7 | nps_10Yes
scale_styleemoji | numbers | stars | thumbsYes
show_on_pagesobject | nullYes
triggerobject | nullYes
do_not_show_if_closedbooleanYes
manual_trackingbooleanYes
feedback_buttonbooleanYes
questionstringYes
min_labelstringYes
max_labelstringYes
text_questionstring | nullYes
text_button_labelstring | nullYes
thank_you_messagestring | nullYes
response_typenone | text | choicesYes
choice_optionsobject | nullYes

400 / 403 / 404 Error

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