AttendBeacon
Open the workspace

Get started

Quickstart

Make a key, make your first call and list the attendees of Beacon Summit, the demonstration event, in five minutes.

1. Make a key

In the workspace, open Integrations › API & MCP and choose New key. Give it a name you will recognise in six months ("Attendee sync for the CRM"), pick Dashboard to start from, tick Attendees: Read and Personal data, and keep the expiry at 90 days.

The key is shown once. Copy it now: AttendBeacon keeps only a hash of it, so a lost key is revoked and replaced, never looked up. Keep it where your code keeps secrets, never in the code itself.

export ATTENDBEACON_KEY="abk_k7m2qx9vtw4p_..."

2. Check the key

GET /me answers with the key's workspace, its scopes, when it expires and its limit. Any working key may call it, so it is the first thing a connector or a script asks.

curl https://attendbeacon.com/api/v1/me \
  -H "Authorization: Bearer $ATTENDBEACON_KEY"
JSON
{
  "workspaceId": "3d9a5c1e-7b2f-4e8a-a6d4-0c1b9e7f5a23",
  "workspaceName": "Beacon Events",
  "keyName": "Attendee sync for the CRM",
  "keyPrefix": "abk_k7m2qx9vtw4p",
  "scopes": ["events:read", "tickets:read", "orders:read", "attendees:read", "checkins:read", "program:read", "people:read"],
  "expiresUtc": "2027-01-12T09:00:00.000Z",
  "rateLimit": { "perMinute": 120, "windowSeconds": 60 }
}

A 401 with "code": "invalidKey" means the key did not arrive or was mistyped; keyExpired and keyRevoked say what they say. Errors lists every code.

3. Find the event

GET /events lists the workspace's events, each with its id. Beacon Summit is b3ac0000-0000-4000-8000-000000000001.

curl "https://attendbeacon.com/api/v1/events?status=published" \
  -H "Authorization: Bearer $ATTENDBEACON_KEY"

4. List the attendees

GET /events/{eventId}/attendees answers a page of attendees, the oldest change first, and nextCursor for the next page. With Personal data on the key you see names, addresses and answers; without it, every attendee is an id with a ticket and a status.

curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees?limit=2" \
  -H "Authorization: Bearer $ATTENDBEACON_KEY"
JSON
{
  "data": [
    {
      "attendeeId": "b3ac0008-0000-4000-8000-000000000000",
      "orderReference": "DEMOAA",
      "ticketTypeName": "Conference pass",
      "firstName": "Emma",
      "lastName": "Bakker",
      "email": "emma.bakker0@example.com",
      "company": "Contoso",
      "answers": { "dietary": "none", "terms": true, "photos": true },
      "status": "active",
      "orderStatus": "paid",
      "valid": true,
      "checkedInUtc": null,
      "updatedUtc": "2026-10-14T21:40:48.226Z",
      "personalData": "included"
    }
  ],
  "hasMore": true,
  "nextCursor": "YzE6MDYzOTI3NjEwODQ4MjgyMDAwMHxiM2Fj..."
}

Pass nextCursor back as cursor until it is null, and you have read every attendee once. Pagination and sync shows the loop, and how to fetch only what changed since your last run.

What next

The guides and this site are in your language. The API reference's own descriptions are in English, as the API itself speaks.