### Install Node.js (Debian/Ubuntu) Source: https://docs.pretix.eu/dev/_sources/development/setup.rst.txt Install Node.js version 17.x using the NodeSource setup script and apt. Ensure Node.js is on your PATH by reopening the terminal. ```bash curl -sL https://deb.nodesource.com/setup_17.x | sudo -E bash - sudo apt install nodejs ``` -------------------------------- ### Initial pretix Setup and Activation Source: https://docs.pretix.eu/self-hosting/installation/manual_smallscale Activate the virtual environment and install pretix and gunicorn. Then, apply database migrations, rebuild static assets, and restart the pretix web and worker services. ```bash sudo -u pretix -s $ source /var/pretix/venv/bin/activate (venv)$ pip3 install -U --upgrade-strategy eager pretix gunicorn (venv)$ python -m pretix migrate (venv)$ python -m pretix rebuild (venv)$ python -m pretix updateassets # systemctl restart pretix-web pretix-worker ``` -------------------------------- ### Install Documentation Requirements Source: https://docs.pretix.eu/dev/_sources/development/setup.rst.txt Install the necessary Python packages for building the documentation. Ensure your virtual environment is activated. ```bash cd doc/ pip3 install -r requirements.txt ``` -------------------------------- ### Initiate Certificate Download Source: https://docs.pretix.eu/dev/_sources/api/resources/certificates.rst.txt Use this GET request to start the certificate generation process. You will receive a 303 response with a Location header pointing to the certificate's URL. ```http GET /api/v1/organizers/bigevents/events/sampleconf/orderpositions/23442/certificate/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ``` -------------------------------- ### Configure pretix.cfg for Docker Source: https://docs.pretix.eu/self-hosting/installation/docker_smallscale This is an example of the pretix configuration file. Adjust database, mail, and redis settings according to your environment, especially the host addresses for Docker setups. ```ini [pretix] instance_name=My pretix installation url=https://pretix.mydomain.com currency=EUR ; DO NOT change the following value, it has to be set to the location of the ; directory *inside* the docker container datadir=/data trust_x_forwarded_for=on trust_x_forwarded_proto=on [database] backend=postgresql name=pretix user=pretix ; Replace with the password you chose above password=********* ; In most docker setups, 172.17.0.1 is the address of the docker host. Adjust ; this to wherever your database is running, e.g. the name of a linked container. host=172.17.0.1 [mail] ; See config file documentation for more options from=tickets@yourdomain.com ; This is the default IP address of your docker host in docker's virtual ; network. Make sure postfix listens on this address. host=172.17.0.1 [redis] location=unix:///var/run/redis/redis.sock?db=0 ; Remove the following line if you are unsure about your redis' security ; to reduce impact if redis gets compromised. sessions=true [celery] backend=redis+socket:///var/run/redis/redis.sock?virtual_host=1 broker=redis+socket:///var/run/redis/redis.sock?virtual_host=2 ``` -------------------------------- ### Install JavaScript Dependencies Source: https://docs.pretix.eu/dev/_sources/development/setup.rst.txt Install the necessary JavaScript dependencies for the project using make. ```bash make npminstall ``` -------------------------------- ### Plugin Metadata Example Source: https://docs.pretix.eu/dev/_sources/development/api/plugins.rst.txt A basic example of a plugin's configuration class including the required PretixPluginMeta attributes. ```python try: from pretix.base.plugins import PluginConfig, PLUGIN_LEVEL_EVENT except ImportError: # This is only for the documentation to not fail PluginConfig = object PLUGIN_LEVEL_EVENT = None class MyPlugin(PluginConfig): verbose_name = _("My awesome plugin") name = "myplugin" author = _("Your Name") version = "1.0.0" description = _("A plugin that does awesome things.") category = "FEATURE" picture = "img/logo.png" featured = False visible = True restricted = False experimental = False compatibility = ">=2.0.0" level = PLUGIN_LEVEL_EVENT # Example of settings_links settings_links = [ (("Settings",), "myplugin.settings", {}) ] # Example of navigation_links navigation_links = [ (("My Plugin",), "myplugin.index", {}) ] ``` -------------------------------- ### Enable and start pretix systemd service Source: https://docs.pretix.eu/self-hosting/installation/docker_smallscale Commands to reload the systemd daemon, enable the pretix service to start on boot, and start the service immediately. ```bash # systemctl daemon-reload # systemctl enable pretix # systemctl start pretix ``` -------------------------------- ### Install Plugin with Custom Dockerfile Source: https://docs.pretix.eu/self-hosting/installation/docker_smallscale Create a custom Docker image to install plugins. This Dockerfile uses the official `pretix/standalone:stable` image, installs a plugin using pip, and then rebuilds the production environment. ```dockerfile FROM pretix/standalone:stable USER root RUN pip3 install pretix-passbook USER pretixuser RUN cd /pretix/src && make production ``` -------------------------------- ### Widget Development Server URL Example Source: https://docs.pretix.eu/dev/development/setup.html Example URL for accessing the widget development server with specific organization and event parameters. ```http http://localhost:5180/?org=testorg&event=testevent ``` -------------------------------- ### Install PostgreSQL (Debian/Ubuntu) Source: https://docs.pretix.eu/self-hosting/mysql2postgres Installs the PostgreSQL server package on Debian or Ubuntu systems. ```bash # apt install postgresql ``` -------------------------------- ### Example Organizer Orders Response Source: https://docs.pretix.eu/dev/api/resources/orders.html An example of a successful response when listing organizer orders, showing pagination and order details. ```json HTTP/1.1 200 OK Vary: Accept Content-Type: application/json X-Page-Generated: 2017-12-01T10:00:00Z { "count": 1, "next": null, "previous": null, "results": [ { "code": "ABC12", "event": "sampleconf", ... } ] } ``` -------------------------------- ### Install Cookiecutter for Plugin Creation Source: https://docs.pretix.eu/dev/_sources/development/api/plugins.rst.txt Use cookiecutter to quickly generate a new plugin project. Ensure cookiecutter is installed first. ```bash pip install cookiecutter cookiecutter https://github.com/pretix/pretix-plugin-cookiecutter ``` -------------------------------- ### Get Revoked Ticket Secrets - HTTP GET Response Source: https://docs.pretix.eu/dev/_sources/api/resources/orders.rst.txt Example response for retrieving revoked ticket secrets, including count and a list of revoked secrets with their creation timestamps. ```http HTTP/1.1 200 OK Vary: Accept Content-Type: application/json X-Page-Generated: 2017-12-01T10:00:00Z { "count": 1, "next": null, "previous": null, "results": [ { "id": 1234, "secret": "k24fiuwvu8kxz3y1", "created": "2017-12-01T10:00:00Z", } ] } ``` -------------------------------- ### Build Documentation Source: https://docs.pretix.eu/dev/_sources/development/setup.rst.txt Run this command from the doc/ directory to build the HTML version of the documentation. ```bash make html ``` -------------------------------- ### Install a pretix Plugin Source: https://docs.pretix.eu/self-hosting/installation/manual_smallscale Activate the virtual environment, install a plugin using pip, and then apply database migrations, rebuild static assets, and restart pretix services. ```bash $ source /var/pretix/venv/bin/activate (venv)$ pip3 install pretix-passbook (venv)$ python -m pretix migrate (venv)$ python -m pretix rebuild # systemctl restart pretix-web pretix-worker ``` -------------------------------- ### GET Request for Check-ins Source: https://docs.pretix.eu/dev/api/resources/checkin.html This example shows how to make a GET request to retrieve all check-in events for a specific organizer and event. Ensure the Host header is correctly set to pretix.eu. ```http GET /api/v1/organizers/bigevents/events/sampleconf/checkins/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ``` -------------------------------- ### Create Order Example Source: https://docs.pretix.eu/dev/api/resources/orders.html This example demonstrates the structure of a request to create a new order. It includes attendee information, answers to questions, and addon selections. ```json { "email": "test@example.com", "data": { "attendee_name": "John Doe", "company": "Acme Corp", "job_title": "Developer", "email": "john.doe@example.com" }, "options": [ 1, 3 ], "payment_fee_for": "total", "total_price": "100.00", "items": [ { "order_item_id": 1, "price": "50.00", "attendee_email": null, "addon_to": null, "answers": [ { "question": 1, "answer": "23", "options": [] } ], "subevent": null } ] } ``` -------------------------------- ### List Reusable Media - HTTP GET Request Source: https://docs.pretix.eu/dev/_sources/api/resources/reusablemedia.rst.txt Example of an HTTP GET request to retrieve a list of reusable media issued by a specific organizer. Includes host and accept headers. ```http GET /api/v1/organizers/bigevents/reusablemedia/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ``` -------------------------------- ### GET Request for Event Categories Source: https://docs.pretix.eu/dev/_sources/api/resources/categories.rst.txt This example shows how to make a GET request to retrieve a list of all categories within a specific event. Ensure the Host and Accept headers are correctly set. ```http GET /api/v1/organizers/bigevents/events/sampleconf/categories/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ``` -------------------------------- ### Get Organizer Response Source: https://docs.pretix.eu/dev/_sources/api/resources/organizers.rst.txt Example successful response for retrieving a single organizer's details. ```json { "name": "Big Events LLC", "slug": "Big Events", "public_url": "https://pretix.eu/bigevents/", "plugins": [ "pretix_datev" ] } ``` -------------------------------- ### Create Python Virtual Environment and Install Dependencies Source: https://docs.pretix.eu/self-hosting/installation/manual_smallscale Sets up a Python virtual environment and installs pretix, gunicorn, and essential packages. Ensure you are using Python 3.11 or newer. ```bash sudo -u pretix -s python3 -m venv /var/pretix/venv source /var/pretix/venv/bin/activate pip3 install -U pip setuptools wheel pip3 install pretix gunicorn ``` -------------------------------- ### Development Setup Source: https://docs.pretix.eu/dev/api/resources/index.html Instructions for setting up a development environment for pretix, including obtaining source code, dependencies, and working with the codebase. ```APIDOC ## Development Setup This guide provides instructions for setting up your local development environment. It covers obtaining the source code, managing external dependencies, configuring your Python environment, and working with the codebase, including running development servers and tests. ``` -------------------------------- ### Get Blocked Ticket Secrets - HTTP GET Response Source: https://docs.pretix.eu/dev/_sources/api/resources/orders.rst.txt Example response for blocked ticket secrets, showing the count, pagination details, and a list of secrets with their blocked status and last updated time. ```http HTTP/1.1 200 OK Vary: Accept Content-Type: application/json X-Page-Generated: 2017-12-01T10:00:00Z { "count": 1, "next": null, "previous": null, "results": [ { "id": 1234, "secret": "k24fiuwvu8kxz3y1", "blocked": true, "updated": "2017-12-01T10:00:00Z", } ] } ``` -------------------------------- ### List Gift Cards for Organizer (HTTP) Source: https://docs.pretix.eu/dev/_sources/api/resources/giftcards.rst.txt This example shows how to make an HTTP GET request to retrieve a list of gift cards issued by a specific organizer. It includes example request and response headers and bodies. ```http GET /api/v1/organizers/bigevents/giftcards/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ``` ```http HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "count": 1, "next": null, "previous": null, "results": [ { "id": 1, "secret": "HLBYVELFRC77NCQY", "currency": "EUR", "testmode": false, "expires": null, "conditions": null, "owner_ticket": null, "issuer": "bigevents", "value": "13.37" } ] } ``` -------------------------------- ### Create Discount (Example Request Body) Source: https://docs.pretix.eu/dev/_sources/api/resources/discounts.rst.txt Example JSON payload for creating a new discount. This configuration sets up a '3 for 2' offer on all products, applying to addons, and discounting the cheapest items. ```json { "internal_name": "3 for 2", "position": 1, "all_sales_channels": false, "limit_sales_channels": ["web"], "sales_channels": ["web"], "available_from": null, "available_until": null, "subevent_mode": "mixed", "subevent_date_from": null, "subevent_date_until": null, "condition_all_products": true, "condition_limit_products": [], "condition_apply_to_addons": true, "condition_ignore_voucher_discounted": false, "condition_min_count": 3, "condition_min_value": "0.00", "benefit_same_products": true, "benefit_limit_products": [], "benefit_apply_to_addons": true, "benefit_ignore_voucher_discounted": false, "benefit_discount_matching_percent": "100.00", "benefit_only_apply_to_cheapest_n_matches": 1 } ``` -------------------------------- ### HTTP Response for GET Reusable Media Source: https://docs.pretix.eu/dev/_sources/api/resources/reusablemedia.rst.txt Example successful HTTP response when retrieving reusable media information. ```http HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": 1, "organizer": "bigevents", "identifier": "ABCDEFGH", "created": "2021-04-06T13:44:22.809377Z", "updated": "2021-04-06T13:44:22.809377Z", "type": "barcode", "active": True, "expires": None, "customer": None, "linked_orderposition": None, "linked_giftcard": None, "notes": None, "info": {} } ``` -------------------------------- ### Example pretix configuration file Source: https://docs.pretix.eu/self-hosting/installation/manual_smallscale Provides a sample configuration file for pretix, covering instance details, database connection, email settings, Redis configuration, and Celery backend/broker settings. Adjust values to match your environment. ```ini [pretix] instance_name=My pretix installation url=https://pretix.mydomain.com currency=EUR datadir=/var/pretix/data trust_x_forwarded_for=on trust_x_forwarded_proto=on [database] backend=postgresql name=pretix user=pretix ; For PostgreSQL on the same host, we don't need a password because we can use ; peer authentication if our PostgreSQL user matches our unix user. password= ; For local postgres authentication, you can leave it empty host= [mail] ; See config file documentation for more options from=tickets@yourdomain.com host=127.0.0.1 [redis] location=redis://127.0.0.1/0 sessions=true [celery] backend=redis://127.0.0.1/1 broker=redis://127.0.0.1/2 ``` -------------------------------- ### Create Order Request Example Source: https://docs.pretix.eu/dev/api/resources/orders.html This example demonstrates how to construct a POST request to create a new order. It includes details for email, locale, sales channel, fees, payment provider, invoice address, and order positions. Note that some fields like `variation` and `price` within `positions` are simplified in this example. ```http POST /api/v1/organizers/bigevents/events/sampleconf/orders/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript Content-Type: application/json { "email": "dummy@example.org", "locale": "en", "sales_channel": "web", "fees": [ { "fee_type": "payment", "value": "0.25", "description": "", "internal_type": "", "tax_rule": 2 } ], "payment_provider": "banktransfer", "invoice_address": { "is_business": false, "company": "Sample company", "name_parts": {"full_name": "John Doe"}, "street": "Sesam Street 12", "zipcode": "12345", "city": "Sample City", "country": "GB", "state": "", "internal_reference": "", "vat_id": "" }, "positions": [ { "positionid": 1, "item": 1, "variation": null, "price": "23.00", "attendee_name_parts": { "full_name": "Peter" ``` -------------------------------- ### Retrieve a Question (HTTP) Source: https://docs.pretix.eu/dev/_sources/api/resources/questions.rst.txt Example of an HTTP GET request response for a specific question. This shows the structure of a question object. ```http 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"} } ] } ``` -------------------------------- ### Event-Level Export Response Source: https://docs.pretix.eu/dev/_sources/api/resources/exporters.rst.txt This is an example of a successful response when starting an event-level export. The 'download' field contains the URL to retrieve the exported file. ```http HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "download": "https://pretix.eu/api/v1/organizers/bigevents/events/sampleconf/exporters/orderlist/download/29891ede-196f-4942-9e26-d055a36e98b8/3f279f13-c198-4137-b49b-9b360ce9fcce/" } ``` -------------------------------- ### Configure pretix Instance Settings Source: https://docs.pretix.eu/self-hosting/config Set up core pretix instance parameters including name, URL, currency, data directories, and default plugins. ```ini [pretix] instance_name=pretix.de url=http://localhost currency=EUR datadir=/data plugins_default=pretix.plugins.sendmail,pretix.plugins.statistics,pretix.plugins.checkinlists ``` -------------------------------- ### Install and Run Sphinx Autobuild for Live Documentation Source: https://docs.pretix.eu/dev/_sources/development/setup.rst.txt Install sphinx-autobuild and run it to automatically rebuild and serve the documentation when source files change. Access it at http://localhost:8081. ```bash pip3 install sphinx-autobuild sphinx-autobuild . _build/html -p 8081 ``` -------------------------------- ### GET Exhibitor Profile Request Source: https://docs.pretix.eu/dev/api/resources/exhibitors.html Example HTTP request to fetch the exhibitor's profile. Ensure the Authorization header is correctly set. ```http GET /exhibitors/api/v1/profile HTTP/1.1 Authorization: Exhibitor ABCDE123 Accept: application/json, text/javascript ``` -------------------------------- ### Run Pretix Development Server Source: https://docs.pretix.eu/dev/_sources/development/setup.rst.txt Start the local development webserver. Access the admin view at http://localhost:8000/control/. ```bash python manage.py runserver ``` -------------------------------- ### Event-Level Export Task Response Source: https://docs.pretix.eu/dev/api/resources/exporters.html Example response when an export task is successfully started. The 'download' field contains the URL to retrieve the export results. ```http HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "download": "https://pretix.eu/api/v1/organizers/bigevents/events/sampleconf/exporters/orderlist/download/29891ede-196f-4942-9e26-d055a36e98b8/3f279f13-c198-4137-b49b-9b360ce9fcce/" } ``` -------------------------------- ### List Bundles for an Item (HTTP GET) Source: https://docs.pretix.eu/dev/_sources/api/resources/item_bundles.rst.txt Retrieves a list of all bundle configurations associated with a specific item. This is useful for viewing existing bundle setups. ```http GET /api/v1/organizers/bigevents/events/sampleconf/items/11/bundles/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ``` -------------------------------- ### Create PostgreSQL Database and User (Local) Source: https://docs.pretix.eu/self-hosting/mysql2postgres Creates a dedicated database and user for pretix in a local PostgreSQL setup. ```bash # sudo -u postgres createuser pretix # sudo -u postgres createdb -O pretix pretix ``` -------------------------------- ### Shredder Export Task Status Response Source: https://docs.pretix.eu/dev/_sources/api/resources/shredders.rst.txt Example response when starting a shredder export task. The body contains a status URL to monitor the task's progress. ```json { "status": "https://pretix.eu/api/v1/organizers/bigevents/events/sampleconf/shredders/status/29891ede-196f-4942-9e26-d055a36e98b8/3f279f13-c198-4137-b49b-9b360ce9fcce/" } ``` -------------------------------- ### Register Plugin using setuptools entry_points Source: https://docs.pretix.eu/dev/_sources/development/api/plugins.rst.txt Register your plugin with pretix by specifying an entry point in your setup.py file. This makes the plugin discoverable by pretix upon installation. ```python setup( args..., entry_points=""" [pretix.plugin] pretix_paypal=pretix_paypal:PretixPluginMeta """ ) ``` -------------------------------- ### List Event Quotas - HTTP Request Source: https://docs.pretix.eu/dev/_sources/api/resources/quotas.rst.txt Example HTTP GET request to retrieve a list of all quotas for a specific event. Includes common headers for API interaction. ```http GET /api/v1/organizers/bigevents/events/sampleconf/quotas/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ``` -------------------------------- ### Item Creation and Response Example Source: https://docs.pretix.eu/dev/_sources/api/resources/items.rst.txt This snippet shows an example HTTP response for a created item, detailing its properties, variations, and sales channel settings. ```APIDOC ## POST /organizers/{organizer}/events/{event}/items/ ### Description Creates a new item for a given event. ### Method POST ### Endpoint /organizers/{organizer}/events/{event}/items/ ### Parameters #### Path Parameters - **organizer** (string) - The slug field of the organizer of the event. - **event** (string) - The ID of the event to create an item for. ### Request Body (Details of request body not provided in source) ### Response #### Success Response (201 Created) - **id** (integer) - The unique identifier for the item. - **name** (object) - The name of the item, potentially localized. - **internal_name** (string) - An internal name for the item. - **all_sales_channels** (boolean) - Whether the item is available on all sales channels. - **limit_sales_channels** (array) - A list of sales channels the item is limited to. - **sales_channels** (array) - The sales channels the item is currently active on. - **default_price** (string) - The default price of the item. - **original_price** (string) - The original price of the item, if different from the default. - **category** (object) - The category the item belongs to. - **active** (boolean) - Whether the item is currently active. - **description** (object) - A description of the item, potentially localized. - **free_price** (boolean) - Whether the item can be sold at a free price. - **free_price_suggestion** (string) - A suggested free price for the item. - **tax_rate** (string) - The tax rate applied to the item. - **tax_rule** (integer) - The ID of the tax rule applied. - **admission** (boolean) - Whether the item grants admission. - **personalized** (boolean) - Whether the item needs to be personalized. - **issue_giftcard** (boolean) - Whether the item issues a gift card. - **media_policy** (string) - The media policy for the item. - **media_type** (string) - The type of media associated with the item. - **meta_data** (object) - Additional metadata for the item. - **position** (integer) - The display position of the item. - **picture** (string) - URL to the item's picture. - **available_from** (string) - The date and time from which the item is available. - **available_from_mode** (string) - The mode for availability from. - **available_until** (string) - The date and time until which the item is available. - **available_until_mode** (string) - The mode for availability until. - **hidden_if_available** (string) - Visibility setting. - **hidden_if_item_available** (string) - Visibility setting. - **hidden_if_item_available_mode** (string) - Visibility mode. - **require_voucher** (boolean) - Whether a voucher is required to purchase the item. - **hide_without_voucher** (boolean) - Whether to hide the item if no voucher is present. - **allow_cancel** (boolean) - Whether cancellations are allowed for this item. - **min_per_order** (integer) - Minimum quantity per order. - **max_per_order** (integer) - Maximum quantity per order. - **generate_tickets** (boolean) - Whether tickets are generated for this item. - **allow_waitinglist** (boolean) - Whether waiting lists are allowed for this item. - **show_quota_left** (boolean) - Whether to show remaining quota. - **checkin_attention** (boolean) - Whether to show attention on check-in. - **checkin_text** (string) - Text to display on check-in. - **has_variations** (boolean) - Whether the item has variations. - **require_approval** (boolean) - Whether approval is required for this item. - **require_bundling** (boolean) - Whether bundling is required for this item. - **require_membership** (boolean) - Whether membership is required for this item. - **require_membership_types** (array) - List of membership types required. - **grant_membership_type** (string) - Membership type granted by this item. - **grant_membership_duration_like_event** (boolean) - Whether membership duration matches the event. - **grant_membership_duration_days** (integer) - Membership duration in days. - **grant_membership_duration_months** (integer) - Membership duration in months. - **validity_fixed_from** (string) - Fixed start date for validity. - **validity_fixed_until** (string) - Fixed end date for validity. - **validity_dynamic_duration_minutes** (integer) - Dynamic duration in minutes. - **validity_dynamic_duration_hours** (integer) - Dynamic duration in hours. - **validity_dynamic_duration_days** (integer) - Dynamic duration in days. - **validity_dynamic_duration_months** (integer) - Dynamic duration in months. - **validity_dynamic_start_choice** (boolean) - Whether dynamic start choice is enabled. - **validity_dynamic_start_choice_day_limit** (integer) - Day limit for dynamic start choice. - **variations** (array) - List of item variations. - **addons** (array) - List of add-ons for the item. - **bundles** (array) - List of bundles for the item. - **program_times** (array) - List of program times associated with the item. #### Response Example ```json { "id": 1, "name": {"en": "Standard ticket"}, "internal_name": "", "all_sales_channels": false, "limit_sales_channels": ["web"], "sales_channels": ["web"], "default_price": "23.00", "original_price": null, "category": null, "active": true, "description": null, "free_price": false, "free_price_suggestion": null, "tax_rate": "0.00", "tax_rule": 1, "admission": false, "personalized": false, "issue_giftcard": false, "media_policy": null, "media_type": null, "meta_data": {}, "position": 0, "picture": null, "available_from": null, "available_from_mode": "hide", "available_until": null, "available_until_mode": "hide", "hidden_if_available": null, "hidden_if_item_available": null, "hidden_if_item_available_mode": "hide", "require_voucher": false, "hide_without_voucher": false, "allow_cancel": true, "min_per_order": null, "max_per_order": null, "generate_tickets": null, "allow_waitinglist": true, "show_quota_left": null, "checkin_attention": false, "checkin_text": null, "has_variations": true, "require_approval": false, "require_bundling": false, "require_membership": false, "require_membership_types": [], "grant_membership_type": null, "grant_membership_duration_like_event": true, "grant_membership_duration_days": 0, "grant_membership_duration_months": 0, "validity_fixed_from": null, "validity_fixed_until": null, "validity_dynamic_duration_minutes": null, "validity_dynamic_duration_hours": null, "validity_dynamic_duration_days": null, "validity_dynamic_duration_months": null, "validity_dynamic_start_choice": false, "validity_dynamic_start_choice_day_limit": null, "variations": [ { "value": {"en": "Student"}, "default_price": "10.00", "price": "10.00", "original_price": null, "free_price_suggestion": null, "active": true, "checkin_attention": false, "checkin_text": null, "require_approval": false, "require_membership": false, "require_membership_types": [], "all_sales_channels": false, "limit_sales_channels": ["web"], "sales_channels": ["web"], "available_from": null, "available_from_mode": "hide", "available_until": null, "available_until_mode": "hide", "hide_without_voucher": false, "description": null, "meta_data": {}, "position": 0 }, { "value": {"en": "Regular"}, "default_price": null, "price": "23.00", "original_price": null, "free_price_suggestion": null, "active": true, "checkin_attention": false, "checkin_text": null, "require_approval": false, "require_membership": false, "require_membership_types": [], "all_sales_channels": false, "limit_sales_channels": ["web"], "sales_channels": ["web"], "available_from": null, "available_from_mode": "hide", "available_until": null, "available_until_mode": "hide", "hide_without_voucher": false, "description": null, "meta_data": {}, "position": 1 } ], "addons": [], "bundles": [], "program_times": [ { "start": "2025-08-14T22:00:00Z", "end": "2025-08-15T00:00:00Z" } ] } ``` ``` -------------------------------- ### GET Event Seats Response Source: https://docs.pretix.eu/dev/_sources/api/resources/seats.rst.txt Example response for fetching event seats. It details seat properties such as ID, zone, row, seat number, and associated product or reservation information. ```json HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "count": 500, "next": "https://pretix.eu/api/v1/organizers/bigevents/events/sampleconf/seats/?page=2", "previous": null, "results": [ { "id": 1633, "subevent": null, "zone_name": "Ground floor", "row_name": "1", "row_label": null, "seat_number": "1", "seat_label": null, "seat_guid": "b9746230-6f31-4f41-bbc9-d6b60bdb3342", "product": 104, "blocked": false, "orderposition": null, "cartposition": null, "voucher": 51 }, { "id": 1634, "subevent": null, "zone_name": "Ground floor", "row_name": "1", "row_label": null, "seat_number": "2", "seat_label": null, "seat_guid": "1d29fe20-8e1e-4984-b0ee-2773b0d07e07", "product": 104, "blocked": true, "orderposition": 4321, "cartposition": null, "voucher": null }, // ... ] } ``` -------------------------------- ### Initiate Certificate Download Request Source: https://docs.pretix.eu/dev/api/resources/certificates.html Send a GET request to this endpoint to start the certificate PDF generation process. You will receive a 303 See Other response with a Location header pointing to the certificate's URL. ```http GET /api/v1/organizers/bigevents/events/sampleconf/orderpositions/23442/certificate/ HTTP/1.1 Host: pretix.eu Accept: application/json, text/javascript ```