Questions¶
Resource description¶
Questions define additional fields that need to be filled out by customers during checkout. The question resource contains the following public fields:
Field |
Type |
Description |
|---|---|---|
id |
integer |
Internal ID of the question |
question |
multi-lingual string |
The field label shown to the customer |
help_text |
multi-lingual string |
The help text shown to the customer |
type |
string |
The expected type of answer. Valid options:
|
required |
boolean |
If |
position |
integer |
An integer, used for sorting |
items |
list of integers |
List of item IDs this question is assigned to. |
identifier |
string |
An arbitrary string that can be used for matching with other sources. |
ask_during_checkin |
boolean |
If |
show_during_checkin |
boolean |
If |
hidden |
boolean |
If |
print_on_invoice |
boolean |
If |
options |
list of objects |
In case of question type |
├ id |
integer |
Internal ID of the option |
├ position |
integer |
An integer, used for sorting |
├ identifier |
string |
An arbitrary string that can be used for matching with other sources. |
└ answer |
multi-lingual string |
The displayed value of this option |
valid_number_min |
string |
Minimum value for number questions (optional) |
valid_number_max |
string |
Maximum value for number questions (optional) |
valid_date_min |
date |
Minimum value for date questions (optional) |
valid_date_max |
date |
Maximum value for date questions (optional) |
valid_datetime_min |
datetime |
Minimum value for date and time questions (optional) |
valid_datetime_max |
datetime |
Maximum value for date and time questions (optional) |
valid_file_portrait |
boolean |
Turn on file validation for portrait photos |
valid_string_length_max |
integer |
Maximum length for string questions (optional) |
dependency_question |
integer |
Internal ID of a different question. The current
question will only be shown if the question given in
this attribute is set to the value given in
|
dependency_values |
list of strings |
If |
dependency_value |
string |
An old version of |
Changed in version 2023.8: The show_during_checkin attribute has been added.
Endpoints¶
- GET /api/v1/organizers/(organizer)/events/(event)/questions/¶
Returns a list of all questions within a given event.
Example request:
GET /api/v1/organizers/bigevents/events/sampleconf/questions/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "count": 1, "next": null, "previous": null, "results": [ { "id": 1, "question": {"en": "T-Shirt size"}, "help_text": {"en": "Choose your preferred t-shirt-size"}, "type": "C", "required": false, "items": [1, 2], "position": 1, "identifier": "WY3TP9SL", "ask_during_checkin": false, "show_during_checkin": false, "hidden": false, "print_on_invoice": false, "valid_number_min": null, "valid_number_max": null, "valid_date_min": null, "valid_date_max": null, "valid_datetime_min": null, "valid_datetime_max": null, "valid_string_length_max": null, "valid_file_portrait": false, "dependency_question": null, "dependency_value": null, "dependency_values": [], "options": [ { "id": 1, "identifier": "LVETRWVU", "position": 0, "answer": {"en": "S"} }, { "id": 2, "identifier": "DFEMJWMJ", "position": 1, "answer": {"en": "M"} }, { "id": 3, "identifier": "W9AH7RDE", "position": 2, "answer": {"en": "L"} } ] } ] }
- Query Parameters:
page (integer) – The page number in case of a multi-page result set, default is 1
ordering (string) – Manually set the ordering of results. Valid fields to be used are
idandposition. Default:positionidentifier (string) – Only return questions with the given identifier string
ask_during_checkin (boolean) – Only return questions that are or are not to be asked during check-in
required (boolean) – Only return questions that are or are not required to fill in
- Parameters:
organizer – The
slugfield of the organizer to fetchevent – The
slugfield of the event to fetch
- Status Codes:
200 OK – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/event does not exist or you have no permission to view this resource.
- GET /api/v1/organizers/(organizer)/events/(event)/questions/(id)/¶
Returns information on one question, identified by its ID.
Example request:
GET /api/v1/organizers/bigevents/events/sampleconf/questions/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": 1, "question": {"en": "T-Shirt size"}, "help_text": {"en": "Choose your preferred t-shirt-size"}, "type": "C", "required": false, "items": [1, 2], "position": 1, "identifier": "WY3TP9SL", "ask_during_checkin": false, "show_during_checkin": false, "hidden": false, "print_on_invoice": false, "valid_number_min": null, "valid_number_max": null, "valid_date_min": null, "valid_date_max": null, "valid_datetime_min": null, "valid_datetime_max": null, "valid_file_portrait": false, "valid_string_length_max": null, "dependency_question": null, "dependency_value": null, "dependency_values": [], "options": [ { "id": 1, "identifier": "LVETRWVU", "position": 1, "answer": {"en": "S"} }, { "id": 2, "identifier": "DFEMJWMJ", "position": 2, "answer": {"en": "M"} }, { "id": 3, "identifier": "W9AH7RDE", "position": 3, "answer": {"en": "L"} } ] }
- Parameters:
organizer – The
slugfield of the organizer to fetchevent – The
slugfield of the event to fetchid – The
idfield of the question to fetch
- Status Codes:
200 OK – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/event does not exist or you have no permission to view this resource.
- POST /api/v1/organizers/(organizer)/events/(event)/questions/¶
Creates a new question
Example request:
POST /api/v1/organizers/bigevents/events/sampleconf/questions/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript Content-Type: application/json { "question": {"en": "T-Shirt size"}, "help_text": {"en": "Choose your preferred t-shirt-size"}, "type": "C", "required": false, "items": [1, 2], "position": 1, "ask_during_checkin": false, "show_during_checkin": false, "hidden": false, "print_on_invoice": false, "dependency_question": null, "dependency_values": [], "options": [ { "answer": {"en": "S"} }, { "answer": {"en": "M"} }, { "answer": {"en": "L"} } ] }
Example response:
HTTP/1.1 201 Created Vary: Accept Content-Type: application/json { "id": 1, "question": {"en": "T-Shirt size"}, "help_text": {"en": "Choose your preferred t-shirt-size"}, "type": "C", "required": false, "items": [1, 2], "position": 1, "identifier": "WY3TP9SL", "ask_during_checkin": false, "show_during_checkin": false, "hidden": false, "print_on_invoice": false, "dependency_question": null, "dependency_value": null, "dependency_values": [], "valid_number_min": null, "valid_number_max": null, "valid_date_min": null, "valid_date_max": null, "valid_datetime_min": null, "valid_datetime_max": null, "valid_file_portrait": false, "valid_string_length_max": null, "options": [ { "id": 1, "identifier": "LVETRWVU", "position": 1, "answer": {"en": "S"} }, { "id": 2, "identifier": "DFEMJWMJ", "position": 2, "answer": {"en": "M"} }, { "id": 3, "identifier": "W9AH7RDE", "position": 3, "answer": {"en": "L"} } ] }
- Parameters:
organizer – The
slugfield of the organizer of the event to create an item forevent – The
slugfield of the event to create an item for
- Status Codes:
201 Created – no error
400 Bad Request – The item could not be created due to invalid submitted data.
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/event does not exist or you have no permission to create this resource.
- PATCH /api/v1/organizers/(organizer)/events/(event)/questions/(id)/¶
Update a question. You can also use
PUTinstead ofPATCH. WithPUT, you have to provide all fields of the resource, other fields will be reset to default. WithPATCH, you only need to provide the fields that you want to change.You can change all fields of the resource except the
optionsfield. If you need to update/delete options please use the nested dedicated endpoints.Example request:
PATCH /api/v1/organizers/bigevents/events/sampleconf/questions/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript Content-Type: application/json Content-Length: 94 { "position": 2 }
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": 1, "question": {"en": "T-Shirt size"}, "help_text": {"en": "Choose your preferred t-shirt-size"}, "type": "C", "required": false, "items": [1, 2], "position": 2, "identifier": "WY3TP9SL", "ask_during_checkin": false, "show_during_checkin": false, "hidden": false, "print_on_invoice": false, "dependency_question": null, "dependency_value": null, "dependency_values": [], "valid_number_min": null, "valid_number_max": null, "valid_date_min": null, "valid_date_max": null, "valid_datetime_min": null, "valid_datetime_max": null, "valid_file_portrait": false, "valid_string_length_max": null, "options": [ { "id": 1, "identifier": "LVETRWVU", "position": 1, "answer": {"en": "S"} }, { "id": 2, "identifier": "DFEMJWMJ", "position": 2, "answer": {"en": "M"} }, { "id": 3, "identifier": "W9AH7RDE", "position": 3, "answer": {"en": "L"} } ] }
- Parameters:
organizer – The
slugfield of the organizer to modifyevent – The
slugfield of the event to modifyid – The
idfield of the question to modify
- Status Codes:
200 OK – no error
400 Bad Request – The question could not be modified due to invalid submitted data
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/event does not exist or you have no permission to change this resource.
- DELETE /api/v1/organizers/(organizer)/events/(event)/questions/(id)/¶
Delete a question.
Example request:
DELETE /api/v1/organizers/bigevents/events/sampleconf/questions/1/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript
Example response:
HTTP/1.1 204 No Content Vary: Accept
- Parameters:
organizer – The
slugfield of the organizer to modifyevent – The
slugfield of the event to modifyid – The
idfield of the question to delete
- Status Codes:
204 No Content – no error
401 Unauthorized – Authentication failure
403 Forbidden – The requested organizer/event does not exist or you have no permission to delete this resource.