API-referens
Orders
Orders and their money, and the sales pace.
List orders
GET/events/{eventId}/orders
Lists a page of an event's orders, every status, oldest change first, or the newest few with sort=-created. Buyers' names and addresses need people:read.
- Behörigheter
- orders:read
Parametrar
sökväg
eventIdstring (uuid)obligatoriskThe event's id.
frågesträng
updatedSincestring (date-time)Only what changed at or after this moment, in UTC unless it says otherwise. Pass the newest updatedUtc your last sync saw.
cursorstringWhere the page starts: nextCursor from the page before, exactly as it was returned. Leave out for the first page.
pageinteger (int32)Which page, from 1. Kept from before cursors: prefer cursor, which never skips or repeats.
Standard:
1pageSizeinteger (int32)How many on a page, up to 500. The same as limit.
Standard:
100statusstringOnly orders with this status, when the list is newest first.
Något av:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedsortstringThe order of the list: changed for the oldest change first (the default, for a sync), or -created for the newest first.
Något av:
changed,-createdStandard:
"changed"limitinteger (int32)How many on a page, up to 500.
Standard:
100
Svar
- 200 A page of orders. OrderPage
Fält
dataOrder[]The orders.
Visa fälten
orderIdstring (uuid)The order's id.
eventIdstring (uuid)The event's id.
referencestringThe six-character reference.
statusstringIts status.
Något av:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedbuyerNamestring eller nullWho it is for. Null without people:read, or when erased.
buyerEmailstring (email) eller nullTheir email address. Null without people:read, or when erased.
buyerCompanystring eller nullTheir company. Null without people:read, or when erased.
languagestringThe language it was placed in.
totalnumberThe total, VAT included, with the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.
vatnumberThe VAT in the total, with the currency's own decimals.
currencystringThe currency, as ISO 4217.
paymentProviderstring eller nullWho took the payment.
paidUtcstring (date-time) eller nullWhen it was paid, in UTC.
sourcestringWhere it was placed: registration, workspace or door.
attendeesintegerHow many tickets it holds.
createdUtcstring (date-time)When it was placed, in UTC.
updatedUtcstring (date-time)When it last changed, in UTC.
erasedbooleanWhether the person deleted their data from the event app; then nothing personal is returned, whatever the key may read.
personalDatastringWhether the personal fields are here: included, withheld (the key lacks people:read) or erased (the person deleted their data).
Något av:
included,withheld,erased
pageintegerThis page's number, from 1.
pageSizeintegerHow many a page holds.
hasMorebooleanWhether there is another page.
nextCursorstring eller nullThe cursor for the next page, or null on the last. Pass it as cursor; it pages without counting, unlike page.
- 400 invalidCursor, invalidUpdatedSince, invalidSort.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound.
- 429 rateLimited.
Avvisningar
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidCursor invalidUpdatedSince invalidSort
Anrop
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders?limit=2", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders?limit=2");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders", params={"limit": 2},
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders?limit=2" -Headers $headers200 Exempelsvar
{
"data": [
{
"orderId": "b3ac0007-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"reference": "DEMOAA",
"status": "paid",
"buyerName": "Emma Bakker",
"buyerEmail": "emma.bakker0@example.com",
"buyerCompany": "Contoso",
"language": "nl",
"total": 320,
"vat": 55.54,
"currency": "EUR",
"paymentProvider": null,
"paidUtc": "2026-10-13T21:44:47.963Z",
"source": "registration",
"attendees": 1,
"createdUtc": "2026-10-13T21:40:47.963Z",
"updatedUtc": "2026-10-14T21:40:48.226Z",
"erased": false,
"personalData": "included"
},
{
"orderId": "b3ac0007-0000-4000-8000-000000000001",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"reference": "DEMOAB",
"status": "paid",
"buyerName": "Liam Visser",
"buyerEmail": "liam.visser1@example.com",
"buyerCompany": "Contoso University",
"language": "en",
"total": 95,
"vat": 16.49,
"currency": "EUR",
"paymentProvider": null,
"paidUtc": "2026-10-12T21:44:47.963Z",
"source": "registration",
"attendees": 1,
"createdUtc": "2026-10-12T21:40:47.963Z",
"updatedUtc": "2026-10-14T21:40:48.282Z",
"erased": false,
"personalData": "included"
}
],
"page": 1,
"pageSize": 2,
"hasMore": true,
"nextCursor": "YzE6MDYzOTI3NjEwODQ4MjgyMDAwMHxiM2FjMDAwNzAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMQ"
}400 invalidCursor, invalidUpdatedSince, invalidSort.
{
"type": "https://attendbeacon.com/developers/errors#invalidCursor",
"title": "The cursor is not valid",
"status": 400,
"detail": "Pass nextCursor exactly as a list returned it, with the same filters.",
"instance": "/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders",
"code": "invalidCursor",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "Pass nextCursor exactly as a list returned it, with the same filters."
}Get an order
GET/events/{eventId}/orders/{orderId}
Gets one order: its status, total and VAT in the event's currency, how it was paid and how many tickets it holds.
- Behörigheter
- orders:read
- Svarar med en ETag; skicka If-None-Match för att slippa en onödig nedladdning.
Parametrar
sökväg
eventIdstring (uuid)obligatoriskThe event's id.
orderIdstring (uuid)obligatoriskThe order's id.
huvud
If-None-MatchstringThe ETag you have: when it is still current the answer is 304 with no body.
Svar
- 200 The order. Order
Fält
orderIdstring (uuid)The order's id.
eventIdstring (uuid)The event's id.
referencestringThe six-character reference.
statusstringIts status.
Något av:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedbuyerNamestring eller nullWho it is for. Null without people:read, or when erased.
buyerEmailstring (email) eller nullTheir email address. Null without people:read, or when erased.
buyerCompanystring eller nullTheir company. Null without people:read, or when erased.
languagestringThe language it was placed in.
totalnumberThe total, VAT included, with the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.
vatnumberThe VAT in the total, with the currency's own decimals.
currencystringThe currency, as ISO 4217.
paymentProviderstring eller nullWho took the payment.
paidUtcstring (date-time) eller nullWhen it was paid, in UTC.
sourcestringWhere it was placed: registration, workspace or door.
attendeesintegerHow many tickets it holds.
createdUtcstring (date-time)When it was placed, in UTC.
updatedUtcstring (date-time)When it last changed, in UTC.
erasedbooleanWhether the person deleted their data from the event app; then nothing personal is returned, whatever the key may read.
personalDatastringWhether the personal fields are here: included, withheld (the key lacks people:read) or erased (the person deleted their data).
Något av:
included,withheld,erased
- 304 Not modified: If-None-Match named the representation as it is.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound, notFound.
- 429 rateLimited.
Avvisningar
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound notFound
Anrop
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders/b3ac0007-0000-4000-8000-000000000000" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders/b3ac0007-0000-4000-8000-000000000000", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders/b3ac0007-0000-4000-8000-000000000000");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders/b3ac0007-0000-4000-8000-000000000000",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders/b3ac0007-0000-4000-8000-000000000000" -Headers $headers200 Exempelsvar
{
"orderId": "b3ac0007-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"reference": "DEMOAA",
"status": "paid",
"buyerName": "Emma Bakker",
"buyerEmail": "emma.bakker0@example.com",
"buyerCompany": "Contoso",
"language": "nl",
"total": 320,
"vat": 55.54,
"currency": "EUR",
"paymentProvider": null,
"paidUtc": "2026-10-13T21:44:47.963Z",
"source": "registration",
"attendees": 1,
"createdUtc": "2026-10-13T21:40:47.963Z",
"updatedUtc": "2026-10-14T21:40:48.226Z",
"erased": false,
"personalData": "included"
}401 invalidKey, keyExpired, keyRevoked.
{
"type": "https://attendbeacon.com/developers/errors#invalidKey",
"title": "No working API key",
"status": 401,
"detail": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key.",
"instance": "/api/v1/events/b3ac0000-0000-4000-8000-000000000001/orders/{orderId}",
"code": "invalidKey",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key."
}Get the sales pace
GET/events/{eventId}/sales
Gets tickets and revenue per day in the venue's days, this week against the week before, tickets a day, and where the event ends up at this pace.
- Behörigheter
- orders:read
Parametrar
sökväg
eventIdstring (uuid)obligatoriskThe event's id.
frågesträng
daysinteger (int32)How many days back, 7 to 90.
Standard:
30
Svar
- 200 The pace. SalesPace
Fält
eventIdstring (uuid)The event's id.
currencystringISO 4217.
timeZonestringThe venue's time zone, in which the days are.
daysobject[]Each day, oldest first.
Visa fälten
datestring (date)The day.
ticketsinteger (int32)Valid tickets made that day, crew left out.
ordersinteger (int32)Orders paid that day.
revenuenumberWhat they came to. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.
lastSevenDaysobjectThe last seven days.
Visa fälten
ticketsinteger (int32)Tickets.
revenuenumberRevenue. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.
previousSevenDaysobject eller nullThe seven days before them, when days is 14 or more.
Visa fälten
ticketsinteger (int32)Tickets.
revenuenumberRevenue. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.
changenumber eller nullTickets this week against last week, as a percentage change.
ticketsPerDaynumberTickets a day over the last seven days.
registeredinteger (int32)Valid tickets now.
capacityinteger (int32) eller nullPlaces in all ticket types, or null without a limit.
daysToGointeger (int32)Days until the first day.
projectedinteger (int32)Registered by the first day at this pace.
soldOutIninteger (int32) eller nullDays until sold out at this pace, or null.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound.
- 429 rateLimited.
Avvisningar
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound
Anrop
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sales" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sales", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sales");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sales",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sales" -Headers $headers200 Exempelsvar
{
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"currency": "EUR",
"timeZone": "Europe/Amsterdam",
"days": [
{
"date": "2026-10-08",
"tickets": 3,
"orders": 4,
"revenue": 665
},
{
"date": "2026-10-09",
"tickets": 8,
"orders": 2,
"revenue": 110
}
],
"lastSevenDays": {
"tickets": 16,
"revenue": 2420
},
"previousSevenDays": null,
"change": null,
"ticketsPerDay": 2.3,
"registered": 74,
"capacity": null,
"daysToGo": 29,
"projected": 140,
"soldOutIn": null
}401 invalidKey, keyExpired, keyRevoked.
{
"type": "https://attendbeacon.com/developers/errors#invalidKey",
"title": "No working API key",
"status": 401,
"detail": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key.",
"instance": "/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sales",
"code": "invalidKey",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key."
}Guiderna och den här webbplatsen finns på ditt språk. API-referensens egna beskrivningar är på engelska, precis som API:t självt.