Orders
Overview
Orders represent ticket registrations for organizing events. Use these endpoints to list orders, create orders on behalf of attendees, and approve or reject pending orders. Subscription: Pro plan required. Upgrade at https://app.animo.co/admin/settings/billing.Order fields vs attached form
orders/create has two layers of attendee data:
| Layer | Fields | Purpose |
|---|---|---|
| Order body | first_name, last_name, email, country, is_business, etc. | Core registration and billing — always required |
Form payload (form) | Answers for fields on the ticket type’s attached form | Additional custom questions only |
first_name, last_name, or email as form fields — those come from the order body. The attached form is for extra questions (job title, dietary requirements, etc.).
Paid orders and checkout
For paid ticket types,orders/create creates the order but does not charge the attendee. OrderResource does not currently include a payment URL field.
Send the attendee to the Mollie checkout page:
| Lifecycle step | API signal |
|---|---|
| Order created | paid_at is null |
| Mollie payment succeeds (async webhook) | paid_at is set |
Endpoints
List orders
- Method:
GET - Path:
/api/v1/{company}/event/{organizingEvent}/orders - Scope:
orders:read(route group also requiresevents:read) - Subscription: Pro plan (
USE_API)
Path parameters
| Name | Type | Description |
|---|---|---|
company | string | Company sqid |
organizingEvent | string | Organizing event slug |
Query parameters
| Name | Type | Description |
|---|---|---|
include_submission | boolean | Embeds submission (with answers) and lead |
page | integer | Page number |
Response 200
Response fields
| Field | Type | Description |
|---|---|---|
id | string | Order sqid |
first_name | string | Attendee first name |
last_name | string | Attendee last name |
email | string | Attendee email |
unit_amount | integer | Total amount in minor units (cents) |
currency | string | Currency code |
vat_percentage | string | Applied VAT rate |
exemption_status | string | VAT exemption status |
created_at | string | Order creation timestamp |
paid_at | string|null | Payment timestamp |
authorized_at | string|null | Authorization timestamp |
approved_at | string|null | Approval timestamp |
rejected_at | string|null | Rejection timestamp |
cancelled_at | string|null | Cancellation timestamp |
submission | object | Present with include_submission |
lead | object | Present with include_submission |
country | object | Buyer country |
Show order
- Method:
GET - Path:
/api/v1/{company}/event/{organizingEvent}/orders/{order} - Scope:
orders:read - Subscription: Pro plan (
USE_API)
Query parameters
| Name | Type | Description |
|---|---|---|
include_submission | boolean | Embeds submission and lead |
Response 200
Single OrderResource in data envelope.
Create order
- Method:
POST - Path:
/api/v1/{company}/event/{organizingEvent}/orders/create/{ticketType} - Scope:
orders:create - Subscription: Pro plan (
USE_API)
Path parameters
| Name | Type | Description |
|---|---|---|
ticketType | string | Ticket type slug |
Request body
See the request body table below for field requirements.| Field | Required | Description |
|---|---|---|
first_name | Yes | Attendee first name |
last_name | Yes | Attendee last name |
email | Yes | Valid email address |
country | Yes | ISO 3166-1 alpha-2 country code |
is_business | Yes | Boolean |
quantity | Yes | Integer within ticket type min/max and availability |
company_name | No | Company name for business orders |
vat_number | No | VAT number |
city | No | City |
address | No | Street address |
post_code | No | Postal code |
form | No | Additional form answers — not fully implemented (see below) |
Form answers (form field)
Not yet fully implemented. The form array is accepted by validation but order creation does not yet persist form submissions server-side. Shape is expected to be field sqid → value:
first_name, last_name, email) here.
Response 200
Returns the created OrderResource. For paid tickets, redirect the attendee to the checkout URL. paid_at remains null until payment completes.
Approve order
- Method:
PATCH - Path:
/api/v1/{company}/event/{organizingEvent}/orders/{order}/approve - Scope:
orders:curate - Subscription: Pro plan (
USE_API)
Response 200
Returns the updated OrderResource with approved_at set.
Reject order
- Method:
PATCH - Path:
/api/v1/{company}/event/{organizingEvent}/orders/{order}/reject - Scope:
orders:curate - Subscription: Pro plan (
USE_API)
Response 200
Returns the updated OrderResource with rejected_at set.
Not implemented
DELETE /api/v1/{company}/event/{organizingEvent}/orders/{order}/cancel— route is commented out