Initialize survey session

POST /api/v1/public/surveys/init/

Initialize survey session and retrieve survey configuration. Creates an initialization event and returns survey details along with user's previous interaction state.

Request body

Comparison table
FieldTypeRequiredDescription
survey_uuidstring (uuid)YesUUID of the survey to initialize.
session_uuidstring (uuid)NoExisting session to resume. Omit on the first call — the response returns a server-generated session_uuid to reuse in respond/event.

Code example

curl -X POST https://feedback.tools/api/v1/public/surveys/init \
  -H "Authorization: Bearer pk_..." \
  -H "Content-Type: application/json" \
  -d '{"survey_uuid":"<survey_uuid>"}'

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