Skip to main content

Add Question

Add one of the shop's own questions to an experience. A question added here is asked on this experience only; to ask it on others too, change where it is shown in Settings > Custom fields.

To ask each person their size of an item, set ask_size on the experience's gear row instead. See Asking each person their size.

Endpointโ€‹

POST /v1/experiences/{id}/questions

Authenticationโ€‹

Requires an API key with the experiences:write scope.

Path Parametersโ€‹

ParameterTypeDescription
idintegerThe experience ID

Request Bodyโ€‹

FieldTypeRequiredDescription
labelstringYesThe question as the customer reads it (max 255 characters)
answer_typestringNotext (default), select, multi_select, number, yes_no or date
choicesstring[]For select and multi_selectThe answers to choose from (up to 100, each up to 255 characters). Ignored for the other kinds
requiredbooleanNoThe customer must answer it at checkout. Default false
checked_at_checkinbooleanNoThe crew checks it at check-in and a missing answer is flagged. Default false
{
"label": "Certificate level",
"answer_type": "select",
"choices": ["None", "Level 1", "Level 2"],
"required": true,
"checked_at_checkin": true
}

Responseโ€‹

Success (201 Created)โ€‹

question is the one just added. The rest is the experience's full list, as List Questions returns it.

{
"data": {
"question": {
"field_id": 89,
"label": "Certificate level",
"answer_type": "select",
"is_size": false,
"product_id": null,
"choices": ["None", "Level 1", "Level 2"],
"required": true,
"checked_at_checkin": true
},
"experience_id": 12,
"asks_each_person": true,
"questions": [
{ "field_id": 87, "label": "Wetsuit size", "answer_type": "select", "is_size": true, "product_id": 41, "choices": ["S", "M", "L"], "required": true, "checked_at_checkin": false },
{ "field_id": 89, "label": "Certificate level", "answer_type": "select", "is_size": false, "product_id": null, "choices": ["None", "Level 1", "Level 2"], "required": true, "checked_at_checkin": true }
]
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-10-06T09:00:00+00:00"
}
}

Errorsโ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
401invalid_api_keyInvalid API key
403insufficient_scopeAPI key lacks experiences:write scope
403forbiddenThe experience belongs to another account
404resource_not_foundExperience does not exist
422validation_errorA field is missing or wrong. A select or multi_select question with no choices returns "Add at least one choice." under label

Example Requestโ€‹

curl -X POST "https://app.equipdash.com/api/v1/experiences/12/questions" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{"label": "Can you swim 50m?", "answer_type": "yes_no", "required": true, "checked_at_checkin": true}'