Referência da API
Attendees
Registrations and attendees, with their answers to the registration questions.
List attendees
GET/events/{eventId}/attendees
Lists a page of an event's attendees, cancelled ones included, oldest change first. Pass sort=-created and limit for the newest few, or email to find somebody by address. Names, addresses and answers need people:read.
- Âmbitos
- attendees:read
Parâmetros
caminho
eventIdstring (uuid)obrigatórioThe event's id.
query
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.
Predefinição:
1pageSizeinteger (int32)How many on a page, up to 500. The same as limit.
Predefinição:
100emailstring (email)Only the attendees with this email address, newest first. Needs people:read.
statusstringOnly active or only cancelled tickets, when the list is newest first or filtered by email.
Um de:
active,cancelledsortstringThe order of the list: changed for the oldest change first (the default, for a sync), or -created for the newest first.
Um de:
changed,-createdPredefinição:
"changed"limitinteger (int32)How many on a page, up to 500.
Predefinição:
100
Respostas
- 200 A page of attendees. AttendeePage
Campos
dataAttendee[]The attendees.
Mostrar os campos
attendeeIdstring (uuid)The attendee's id.
eventIdstring (uuid)The event's id.
orderIdstring (uuid)The order's id.
orderReferencestringThe order's six-character reference.
ticketTypeIdstring (uuid)The ticket type's id.
ticketTypeNamestringThe ticket type's name.
firstNamestring ou nullFirst name. Null without people:read, or when erased.
lastNamestring ou nullLast name. Null without people:read, or when erased.
emailstring (email) ou nullEmail address. Null without people:read, or when erased.
companystring ou nullCompany. Null without people:read, or when erased.
jobTitlestring ou nullJob title. Null without people:read, or when erased.
languagestringThe language they registered in.
answersobject ou nullAnswers to the event's registration questions, by question id. Null without people:read, or when erased.
statusstringActive, or cancelled.
Um de:
active,cancelledorderStatusstringThe order's status.
Um de:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedvalidbooleanWhether the ticket lets them in: not cancelled, and the order paid or free.
checkedInUtcstring (date-time) ou nullWhen they were first checked in, in UTC.
createdUtcstring (date-time)When they registered, in UTC.
changedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed. Pass the latest you have as updatedSince.
updatedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed, in UTC: the same as changedUtc.
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).
Um de:
included,withheld,erased
pageintegerThis page's number, from 1.
pageSizeintegerHow many a page holds.
hasMorebooleanWhether there is another page.
nextCursorstring ou 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, peopleScope.
- 404 eventNotFound.
- 429 rateLimited.
Recusas
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidCursor invalidUpdatedSince invalidSort peopleScope
Pedido
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees?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/attendees?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/attendees", 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/attendees?limit=2" -Headers $headers200 Exemplo de resposta
{
"data": [
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"orderId": "b3ac0007-0000-4000-8000-000000000000",
"orderReference": "DEMOAA",
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"ticketTypeName": "Conference pass",
"firstName": "Emma",
"lastName": "Bakker",
"email": "emma.bakker0@example.com",
"company": "Contoso",
"jobTitle": "Engineer",
"language": "nl",
"answers": {
"dietary": "none",
"terms": true,
"photos": true
},
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"createdUtc": "2026-10-13T21:40:47.963Z",
"changedUtc": "2026-10-14T21:40:48.226Z",
"updatedUtc": "2026-10-14T21:40:48.226Z",
"erased": false,
"personalData": "included"
},
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000001",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"orderId": "b3ac0007-0000-4000-8000-000000000001",
"orderReference": "DEMOAB",
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000002",
"ticketTypeName": "Student pass",
"firstName": "Liam",
"lastName": "Visser",
"email": "liam.visser1@example.com",
"company": "Contoso University",
"jobTitle": "Student",
"language": "en",
"answers": {
"dietary": "none",
"terms": true,
"photos": false,
"sponsorConsent": true,
"studentCard": {
"upload": "b3ac00f6-0000-4000-8000-000000000000",
"name": "student-card.pdf",
"size": 919,
"contentType": "application/pdf"
}
},
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"createdUtc": "2026-10-12T21:40:47.963Z",
"changedUtc": "2026-10-14T21:40:48.282Z",
"updatedUtc": "2026-10-14T21:40:48.282Z",
"erased": false,
"personalData": "included"
}
],
"page": 1,
"pageSize": 2,
"hasMore": true,
"nextCursor": "YzE6MDYzOTI3NjEwODQ4MjgyMDAwMHxiM2FjMDAwODAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMQ"
}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/attendees",
"code": "invalidCursor",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "Pass nextCursor exactly as a list returned it, with the same filters."
}Issue free tickets Altera dados
POST/events/{eventId}/attendees
Issues free tickets to one or more people in one order, as the organiser does in the workspace: registration questions are not required, hidden and code-only ticket types may be used, capacity is respected, and each attendee gets their ticket by email.
- Âmbitos
- attendees:write
- Envie um Idempotency-Key para tornar as novas tentativas seguras. →
Parâmetros
caminho
eventIdstring (uuid)obrigatórioThe event's id.
cabeçalho
Idempotency-KeystringA key of your own, such as a UUID, so a retry after a lost connection is answered with the first answer instead of doing it twice. Kept 24 hours.
Corpo NewAttendees
The people to issue tickets to, and who the order is for.
languagestringThe language of the emails: one of the event's languages, its first when absent.
buyerNamestringWho the order is for. The first attendee when absent.
buyerEmailstring (email)The address of whom the order is for. The first attendee's when absent.
buyerCompanystringThe company the order is for.
attendeesAttendeeInput[]obrigatórioThe people, at most 50.
Mostrar os campos
ticketTypeIdstring (uuid)obrigatórioThe ticket type's id.
firstNamestringobrigatórioFirst name.
lastNamestringobrigatórioLast name.
emailstring (email)obrigatórioEmail address, where the ticket goes.
companystringCompany.
jobTitlestringJob title.
Respostas
- 201 The order and its attendees. AddedAttendees
Campos
orderIdstring (uuid)The order's id.
referencestringThe order's six-character reference.
attendeesAttendee[]Its attendees.
Mostrar os campos
attendeeIdstring (uuid)The attendee's id.
eventIdstring (uuid)The event's id.
orderIdstring (uuid)The order's id.
orderReferencestringThe order's six-character reference.
ticketTypeIdstring (uuid)The ticket type's id.
ticketTypeNamestringThe ticket type's name.
firstNamestring ou nullFirst name. Null without people:read, or when erased.
lastNamestring ou nullLast name. Null without people:read, or when erased.
emailstring (email) ou nullEmail address. Null without people:read, or when erased.
companystring ou nullCompany. Null without people:read, or when erased.
jobTitlestring ou nullJob title. Null without people:read, or when erased.
languagestringThe language they registered in.
answersobject ou nullAnswers to the event's registration questions, by question id. Null without people:read, or when erased.
statusstringActive, or cancelled.
Um de:
active,cancelledorderStatusstringThe order's status.
Um de:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedvalidbooleanWhether the ticket lets them in: not cancelled, and the order paid or free.
checkedInUtcstring (date-time) ou nullWhen they were first checked in, in UTC.
createdUtcstring (date-time)When they registered, in UTC.
changedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed. Pass the latest you have as updatedSince.
updatedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed, in UTC: the same as changedUtc.
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).
Um de:
included,withheld,erased
- 400 invalidBody, invalidRequest, invalidIdempotencyKey, invalid, soldOut, unknownTicket, empty, tooMany, registrationRefused.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope, demoWorkspace.
- 404 eventNotFound.
- 409 idempotencyKeyInUse.
- 422 idempotencyKeyReused.
- 429 rateLimited.
Recusas
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidBody invalidRequest demoWorkspace idempotencyKeyInUse idempotencyKeyReused invalidIdempotencyKey invalid soldOut unknownTicket empty tooMany registrationRefused
Pedido
curl -X POST "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees" \
-H "Authorization: Bearer $ATTENDBEACON_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{}'const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`,
"Idempotency-Key": crypto.randomUUID(),
"Content-Type": "application/json"
},
body: JSON.stringify({})
});
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.Post, "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees");
request.Headers.Add("Idempotency-Key", Guid.NewGuid().ToString());
request.Content = new StringContent("""
{}
""", Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os, uuid
import requests
response = requests.post(
"https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}",
"Idempotency-Key": str(uuid.uuid4())
},
json={}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
"Idempotency-Key" = [guid]::NewGuid().ToString()
}
$body = @'
{}
'@
$data = Invoke-RestMethod -Method Post -Uri "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees" -Headers $headers -ContentType "application/json" -Body $body400 invalidBody, invalidRequest, invalidIdempotencyKey, invalid, soldOut, unknownTicket, empty, tooMany, registrationRefused.
{
"type": "https://attendbeacon.com/developers/errors#invalidBody",
"title": "The body is not readable",
"status": 400,
"detail": "The body is not JSON, or a field has the wrong type.",
"instance": "/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees",
"code": "invalidBody",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "The body is not JSON, or a field has the wrong type."
}Search attendees
GET/events/{eventId}/attendees/search
Finds attendees by part of their name, email address or company, or by order reference, newest first. People who deleted their data are never found.
- Âmbitos
- attendees:read people:read
Parâmetros
caminho
eventIdstring (uuid)obrigatórioThe event's id.
query
qstringobrigatórioAt least two characters of a name, an address, a company, or an order reference.
statusstringOnly active or only cancelled tickets.
Um de:
active,cancelledlimitinteger (int32)How many to return, up to 50.
Predefinição:
20
Respostas
- 200 The attendees found. AttendeeSearch
Campos
dataAttendee[]The attendees found.
Mostrar os campos
attendeeIdstring (uuid)The attendee's id.
eventIdstring (uuid)The event's id.
orderIdstring (uuid)The order's id.
orderReferencestringThe order's six-character reference.
ticketTypeIdstring (uuid)The ticket type's id.
ticketTypeNamestringThe ticket type's name.
firstNamestring ou nullFirst name. Null without people:read, or when erased.
lastNamestring ou nullLast name. Null without people:read, or when erased.
emailstring (email) ou nullEmail address. Null without people:read, or when erased.
companystring ou nullCompany. Null without people:read, or when erased.
jobTitlestring ou nullJob title. Null without people:read, or when erased.
languagestringThe language they registered in.
answersobject ou nullAnswers to the event's registration questions, by question id. Null without people:read, or when erased.
statusstringActive, or cancelled.
Um de:
active,cancelledorderStatusstringThe order's status.
Um de:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedvalidbooleanWhether the ticket lets them in: not cancelled, and the order paid or free.
checkedInUtcstring (date-time) ou nullWhen they were first checked in, in UTC.
createdUtcstring (date-time)When they registered, in UTC.
changedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed. Pass the latest you have as updatedSince.
updatedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed, in UTC: the same as changedUtc.
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).
Um de:
included,withheld,erased
hasMorebooleanWhether more matched than were returned.
- 400 invalidRequest.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope, peopleScope.
- 404 eventNotFound.
- 429 rateLimited.
Recusas
invalidKey keyExpired keyRevoked rateLimited missingScope peopleScope eventNotFound invalidRequest
Pedido
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/search?q=bakker&limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/search?q=bakker&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/attendees/search?q=bakker&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/attendees/search", params={"q": "bakker", "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/attendees/search?q=bakker&limit=2" -Headers $headers200 Exemplo de resposta
{
"data": [
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"orderId": "b3ac0007-0000-4000-8000-000000000000",
"orderReference": "DEMOAA",
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"ticketTypeName": "Conference pass",
"firstName": "Emma",
"lastName": "Bakker",
"email": "emma.bakker0@example.com",
"company": "Contoso",
"jobTitle": "Engineer",
"language": "nl",
"answers": {
"dietary": "none",
"terms": true,
"photos": true
},
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"createdUtc": "2026-10-13T21:40:47.963Z",
"changedUtc": "2026-10-14T21:40:48.226Z",
"updatedUtc": "2026-10-14T21:40:48.226Z",
"erased": false,
"personalData": "included"
},
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000005",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"orderId": "b3ac0007-0000-4000-8000-000000000005",
"orderReference": "DEMOAF",
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000002",
"ticketTypeName": "Student pass",
"firstName": "Milan",
"lastName": "Bakker",
"email": "milan.bakker5@example.com",
"company": "Contoso University",
"jobTitle": "Student",
"language": "en",
"answers": {
"dietary": "none",
"terms": true,
"photos": false,
"studentCard": {
"upload": "b3ac00f6-0000-4000-8000-000000000001",
"name": "student-card.pdf",
"size": 919,
"contentType": "application/pdf"
}
},
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"createdUtc": "2026-10-08T21:40:47.963Z",
"changedUtc": "2026-10-14T21:40:48.304Z",
"updatedUtc": "2026-10-14T21:40:48.304Z",
"erased": false,
"personalData": "included"
}
],
"hasMore": true
}400 invalidRequest.
{
"type": "https://attendbeacon.com/developers/errors#invalidRequest",
"title": "The request is not valid",
"status": 400,
"detail": "A field or parameter is missing or wrong; errors names each, with what is wrong.",
"instance": "/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/search",
"code": "invalidRequest",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"errors": [
{
"field": "startDate",
"message": "startDate is a date such as 2026-11-12."
}
],
"error": "A field or parameter is missing or wrong; errors names each, with what is wrong."
}Get an attendee
GET/events/{eventId}/attendees/{attendeeId}
Gets one attendee of an event, with their answers to the registration questions when the key holds people:read.
- Âmbitos
- attendees:read
- Responde com um ETag; envie If-None-Match para poupar uma transferência.
Parâmetros
caminho
eventIdstring (uuid)obrigatórioThe event's id.
attendeeIdstring (uuid)obrigatórioThe attendee's id.
cabeçalho
If-None-MatchstringThe ETag you have: when it is still current the answer is 304 with no body.
Respostas
- 200 The attendee. Attendee
Campos
attendeeIdstring (uuid)The attendee's id.
eventIdstring (uuid)The event's id.
orderIdstring (uuid)The order's id.
orderReferencestringThe order's six-character reference.
ticketTypeIdstring (uuid)The ticket type's id.
ticketTypeNamestringThe ticket type's name.
firstNamestring ou nullFirst name. Null without people:read, or when erased.
lastNamestring ou nullLast name. Null without people:read, or when erased.
emailstring (email) ou nullEmail address. Null without people:read, or when erased.
companystring ou nullCompany. Null without people:read, or when erased.
jobTitlestring ou nullJob title. Null without people:read, or when erased.
languagestringThe language they registered in.
answersobject ou nullAnswers to the event's registration questions, by question id. Null without people:read, or when erased.
statusstringActive, or cancelled.
Um de:
active,cancelledorderStatusstringThe order's status.
Um de:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedvalidbooleanWhether the ticket lets them in: not cancelled, and the order paid or free.
checkedInUtcstring (date-time) ou nullWhen they were first checked in, in UTC.
createdUtcstring (date-time)When they registered, in UTC.
changedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed. Pass the latest you have as updatedSince.
updatedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed, in UTC: the same as changedUtc.
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).
Um de:
included,withheld,erased
- 304 Not modified: If-None-Match named the representation as it is.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound, attendeeNotFound.
- 429 rateLimited.
Recusas
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound attendeeNotFound
Pedido
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/b3ac0008-0000-4000-8000-000000000000" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/b3ac0008-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/attendees/b3ac0008-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/attendees/b3ac0008-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/attendees/b3ac0008-0000-4000-8000-000000000000" -Headers $headers200 Exemplo de resposta
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"orderId": "b3ac0007-0000-4000-8000-000000000000",
"orderReference": "DEMOAA",
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"ticketTypeName": "Conference pass",
"firstName": "Emma",
"lastName": "Bakker",
"email": "emma.bakker0@example.com",
"company": "Contoso",
"jobTitle": "Engineer",
"language": "nl",
"answers": {
"dietary": "none",
"terms": true,
"photos": true
},
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"createdUtc": "2026-10-13T21:40:47.963Z",
"changedUtc": "2026-10-14T21:40:48.226Z",
"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/attendees/{attendeeId}",
"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."
}Register an attendee Altera dados
POST/events/{eventId}/registrations
Issues one free ticket to one person, as the organiser does in the workspace, and emails it to them. Capacity is respected, hidden and code-only ticket types may be used, and answers to the event's questions may be given.
- Âmbitos
- attendees:write
- Envie um Idempotency-Key para tornar as novas tentativas seguras. →
Parâmetros
caminho
eventIdstring (uuid)obrigatórioThe event's id.
cabeçalho
Idempotency-KeystringA key of your own, such as a UUID, so a retry after a lost connection is answered with the first answer instead of doing it twice. Kept 24 hours.
Corpo NewRegistration
The person and the ticket type.
ticketTypeIdstring (uuid)obrigatórioThe ticket type to issue.
firstNamestringobrigatórioThe person's first name.
lastNamestringobrigatórioThe person's last name.
emailstring (email)obrigatórioThe email address the ticket is sent to.
companystringThe company, when the event asks for one.
jobTitlestringThe job title, when the event asks for one.
languagestringThe language of the ticket email: one of the event's languages, such as en or nl.
answersobjectAnswers to the event's registration questions, by question id.
Respostas
- 201 The attendee, with their new ticket. Attendee
Campos
attendeeIdstring (uuid)The attendee's id.
eventIdstring (uuid)The event's id.
orderIdstring (uuid)The order's id.
orderReferencestringThe order's six-character reference.
ticketTypeIdstring (uuid)The ticket type's id.
ticketTypeNamestringThe ticket type's name.
firstNamestring ou nullFirst name. Null without people:read, or when erased.
lastNamestring ou nullLast name. Null without people:read, or when erased.
emailstring (email) ou nullEmail address. Null without people:read, or when erased.
companystring ou nullCompany. Null without people:read, or when erased.
jobTitlestring ou nullJob title. Null without people:read, or when erased.
languagestringThe language they registered in.
answersobject ou nullAnswers to the event's registration questions, by question id. Null without people:read, or when erased.
statusstringActive, or cancelled.
Um de:
active,cancelledorderStatusstringThe order's status.
Um de:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedvalidbooleanWhether the ticket lets them in: not cancelled, and the order paid or free.
checkedInUtcstring (date-time) ou nullWhen they were first checked in, in UTC.
createdUtcstring (date-time)When they registered, in UTC.
changedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed. Pass the latest you have as updatedSince.
updatedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed, in UTC: the same as changedUtc.
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).
Um de:
included,withheld,erased
- 400 invalidBody, invalidRequest, invalidIdempotencyKey, invalid, soldOut, unknownTicket, registrationRefused.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope, demoWorkspace.
- 404 eventNotFound.
- 409 idempotencyKeyInUse.
- 422 idempotencyKeyReused.
- 429 rateLimited.
Recusas
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound invalidBody invalidRequest demoWorkspace idempotencyKeyInUse idempotencyKeyReused invalidIdempotencyKey invalid soldOut unknownTicket registrationRefused
Pedido
curl -X POST "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/registrations" \
-H "Authorization: Bearer $ATTENDBEACON_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"firstName": "Anna",
"lastName": "de Vries",
"email": "anna.devries@example.com",
"company": "Contoso",
"jobTitle": "Cloud architect",
"language": "nl",
"answers": {
"dietary": "vegetarian"
}
}'const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/registrations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`,
"Idempotency-Key": crypto.randomUUID(),
"Content-Type": "application/json"
},
body: JSON.stringify({
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"firstName": "Anna",
"lastName": "de Vries",
"email": "anna.devries@example.com",
"company": "Contoso",
"jobTitle": "Cloud architect",
"language": "nl",
"answers": {
"dietary": "vegetarian"
}
})
});
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.Post, "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/registrations");
request.Headers.Add("Idempotency-Key", Guid.NewGuid().ToString());
request.Content = new StringContent("""
{
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"firstName": "Anna",
"lastName": "de Vries",
"email": "anna.devries@example.com",
"company": "Contoso",
"jobTitle": "Cloud architect",
"language": "nl",
"answers": {
"dietary": "vegetarian"
}
}
""", Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os, uuid
import requests
response = requests.post(
"https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/registrations",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}",
"Idempotency-Key": str(uuid.uuid4())
},
json={
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"firstName": "Anna",
"lastName": "de Vries",
"email": "anna.devries@example.com",
"company": "Contoso",
"jobTitle": "Cloud architect",
"language": "nl",
"answers": {
"dietary": "vegetarian"
}
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
"Idempotency-Key" = [guid]::NewGuid().ToString()
}
$body = @'
{
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"firstName": "Anna",
"lastName": "de Vries",
"email": "anna.devries@example.com",
"company": "Contoso",
"jobTitle": "Cloud architect",
"language": "nl",
"answers": {
"dietary": "vegetarian"
}
}
'@
$data = Invoke-RestMethod -Method Post -Uri "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/registrations" -Headers $headers -ContentType "application/json" -Body $body201 Exemplo de resposta
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"orderId": "b3ac0007-0000-4000-8000-000000000000",
"orderReference": "DEMOAA",
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"ticketTypeName": "Conference pass",
"firstName": "Emma",
"lastName": "Bakker",
"email": "emma.bakker0@example.com",
"company": "Contoso",
"jobTitle": "Engineer",
"language": "nl",
"answers": {
"dietary": "none",
"terms": true,
"photos": true
},
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"createdUtc": "2026-10-13T21:40:47.963Z",
"changedUtc": "2026-10-14T21:40:48.226Z",
"updatedUtc": "2026-10-14T21:40:48.226Z",
"erased": false,
"personalData": "included"
}400 invalidBody, invalidRequest, invalidIdempotencyKey, invalid, soldOut, unknownTicket, registrationRefused.
{
"type": "https://attendbeacon.com/developers/errors#invalidBody",
"title": "The body is not readable",
"status": 400,
"detail": "The body is not JSON, or a field has the wrong type.",
"instance": "/api/v1/events/b3ac0000-0000-4000-8000-000000000001/registrations",
"code": "invalidBody",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "The body is not JSON, or a field has the wrong type."
}Cancel a ticket Altera dados
POST/events/{eventId}/attendees/{attendeeId}/cancel
Cancels an attendee's ticket, as the organiser does in the workspace. The holder is told by email and the webhooks hear of it. Money is not refunded by this call.
- Âmbitos
- attendees:write
- Envie um Idempotency-Key para tornar as novas tentativas seguras. →
Parâmetros
caminho
eventIdstring (uuid)obrigatórioThe event's id.
attendeeIdstring (uuid)obrigatórioThe attendee's id.
cabeçalho
Idempotency-KeystringA key of your own, such as a UUID, so a retry after a lost connection is answered with the first answer instead of doing it twice. Kept 24 hours.
Respostas
- 200 The attendee, now cancelled. Attendee
Campos
attendeeIdstring (uuid)The attendee's id.
eventIdstring (uuid)The event's id.
orderIdstring (uuid)The order's id.
orderReferencestringThe order's six-character reference.
ticketTypeIdstring (uuid)The ticket type's id.
ticketTypeNamestringThe ticket type's name.
firstNamestring ou nullFirst name. Null without people:read, or when erased.
lastNamestring ou nullLast name. Null without people:read, or when erased.
emailstring (email) ou nullEmail address. Null without people:read, or when erased.
companystring ou nullCompany. Null without people:read, or when erased.
jobTitlestring ou nullJob title. Null without people:read, or when erased.
languagestringThe language they registered in.
answersobject ou nullAnswers to the event's registration questions, by question id. Null without people:read, or when erased.
statusstringActive, or cancelled.
Um de:
active,cancelledorderStatusstringThe order's status.
Um de:
pending,paid,free,onAccount,transfer,requested,declined,cancelled,expired,refundedvalidbooleanWhether the ticket lets them in: not cancelled, and the order paid or free.
checkedInUtcstring (date-time) ou nullWhen they were first checked in, in UTC.
createdUtcstring (date-time)When they registered, in UTC.
changedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed. Pass the latest you have as updatedSince.
updatedUtcstring (date-time) ou nullWhen anything about the attendee or their order last changed, in UTC: the same as changedUtc.
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).
Um de:
included,withheld,erased
- 400 invalidIdempotencyKey.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope, demoWorkspace.
- 404 eventNotFound, attendeeNotFound.
- 409 alreadyCancelled, idempotencyKeyInUse.
- 422 idempotencyKeyReused.
- 429 rateLimited.
Recusas
invalidKey keyExpired keyRevoked rateLimited missingScope eventNotFound attendeeNotFound demoWorkspace alreadyCancelled idempotencyKeyInUse idempotencyKeyReused invalidIdempotencyKey
Pedido
curl -X POST "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/b3ac0008-0000-4000-8000-000000000000/cancel" \
-H "Authorization: Bearer $ATTENDBEACON_KEY" \
-H "Idempotency-Key: $(uuidgen)"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/b3ac0008-0000-4000-8000-000000000000/cancel", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`,
"Idempotency-Key": crypto.randomUUID()
}
});
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.Post, "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/b3ac0008-0000-4000-8000-000000000000/cancel");
request.Headers.Add("Idempotency-Key", Guid.NewGuid().ToString());
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os, uuid
import requests
response = requests.post(
"https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/b3ac0008-0000-4000-8000-000000000000/cancel",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}",
"Idempotency-Key": str(uuid.uuid4())
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
"Idempotency-Key" = [guid]::NewGuid().ToString()
}
$data = Invoke-RestMethod -Method Post -Uri "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/b3ac0008-0000-4000-8000-000000000000/cancel" -Headers $headers200 Exemplo de resposta
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"orderId": "b3ac0007-0000-4000-8000-000000000000",
"orderReference": "DEMOAA",
"ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
"ticketTypeName": "Conference pass",
"firstName": "Emma",
"lastName": "Bakker",
"email": "emma.bakker0@example.com",
"company": "Contoso",
"jobTitle": "Engineer",
"language": "nl",
"answers": {
"dietary": "none",
"terms": true,
"photos": true
},
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"createdUtc": "2026-10-13T21:40:47.963Z",
"changedUtc": "2026-10-14T21:40:48.226Z",
"updatedUtc": "2026-10-14T21:40:48.226Z",
"erased": false,
"personalData": "included"
}400 invalidIdempotencyKey.
{
"type": "https://attendbeacon.com/developers/errors#invalidIdempotencyKey",
"title": "Idempotency-Key is not valid",
"status": 400,
"detail": "An Idempotency-Key is 1 to 255 visible ASCII characters; a UUID is a good one.",
"instance": "/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees/{attendeeId}/cancel",
"code": "invalidIdempotencyKey",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "An Idempotency-Key is 1 to 255 visible ASCII characters; a UUID is a good one."
}Os guias e este site estão no seu idioma. As descrições da própria referência da API estão em inglês, tal como a própria API.