Loading documentation…
{{ error }}
Attendee management
Update registration data while preserving event and order relationships.
Read before editing
Read /{event_id}/order_lines/edit_data/{attendee_id}.json for the current attendee, answers, question definitions and order/product context. A purchased attendee has an archived question snapshot; changing a live product definition does not automatically rewrite it. Order payment state determines whether editing is allowed.
Save contact fields and answers
PUT /{event_id}/order_lines/save/{attendee_id}.json with OrderLine. Writable contact fields are title, firstname, lastname, email and phone. Answers use allowed current/historical question UUIDs as keys inside that same object.
{"OrderLine":{"firstname":"Alex","lastname":"Example","email":"alex@example.com","77777777-7777-4777-8777-777777777777":"Vegetarian"}}Replace the example question UUID with a question supplied by attendee detail. File answers are skipped by this edit path. A submitted id must match the route. Success is {"ok":true,"data":{"id":"..."}}; validation uses 400, missing/inaccessible attendees 404, and non-editable orders 409.
Attendee write fields
Question types and answers documents selected-label arrays, Other objects, workshop option keys and date/time strings. Existing paid-question snapshots are preserved by the save action. It deliberately bypasses extra-question validation; validate values against the attendee's returned current/historical definition. Omitted answers keep their stored values.
| Writable field inside OrderLine | Rule |
|---|---|
id |
Optional; must match the route attendee UUID when supplied. |
title, firstname, lastname, phone |
Contact strings; send the fields you intend to change. Organizer contact validation still applies. |
email |
Email string; invalid values return HTTP 400 validation errors. |
| Question UUID | Scalar, choice array or Other object according to its definition. Only permitted current/historical IDs are extracted; files and paid snapshots are protected. |
product_id, order_id, associations |
Not writable here. Use the separate eligible-product/change-product action to change tickets. |
Change the ticket product
Read GET /{event_id}/order_lines/eligible_products.json, then POST /{event_id}/order_lines/edit_product/{attendee_id}.json with {"OrderLine":{"product_id":"..."}} and optional event_date. The new product must be eligible in the same event. Date, archived question and order-state checks apply; inspect ok and refresh attendee detail afterwards.
Manage archived questions
POST these actions with the attendee and question UUIDs in the path. They update the attendee's archived registration snapshot and enforce event ownership and editable order state.
/{event_id}/order_lines/add_question/{attendee_id}/{question_id}.jsonadds an applicable question./{event_id}/order_lines/update_question/{attendee_id}/{question_id}.jsonrefreshes it from the current definition./{event_id}/order_lines/delete_question/{attendee_id}/{question_id}.jsonremoves it from that attendee.
Deliver the ticket
POST /{event_id}/order_lines/resend_one_ticket/{attendee_id}.json to queue an individual ticket email. Delivery depends on the current ticket/order state. Require ok:true; don't replay an uncertain request automatically. Organizer detail can report mail-delivery problems, but queue acceptance is not final delivery confirmation.
Use check-in to record attendance and exports to download attendee records.