AttendBeacon
Open the workspace

Get started

Authentication and scopes

Every call carries an API key. A key reaches one workspace, does what its scopes allow, and can expire.

Sending the key

Send the key as a Bearer token. Tools that can only fill a named header may use X-Api-Key instead; the two are the same key.

HTTP
GET /api/v1/events HTTP/1.1
Host: attendbeacon.com
Authorization: Bearer abk_k7m2qx9vtw4p_...

A key looks like abk_, twelve characters, an underscore and a secret of 43. The twelve characters are its prefix: the workspace shows them so you can tell keys apart, and the activity of keys names keys by them. Secret scanners recognise the abk_ marker, so a key pushed to a repository by mistake is easy to find.

Only HTTPS is answered. There are no cookies and no sessions: every request stands alone.

What a key reaches

A key belongs to one workspace and reaches nothing else. An event, an attendee or a webhook of another workspace answers 404, exactly as if it did not exist, so a key can never learn what another organiser has.

The demonstration workspace has no keys of its own. Make a workspace of your own to try writes; reads of Beacon Summit in these docs are the demonstration's real data.

Scopes

A scope is an area and an access: events:read, attendees:write. Give a key the scopes its software needs and nothing more, so a key that leaks gives away no more than that.

  • Write holds read in the same area: a key with program:write can read sessions too.
  • people:read is its own scope. Without it, people are ids: an attendee has a ticket, a status and a check-in time, but no name, address, company or answers, and personalData says withheld. Counts, sales and the programme need no person.
  • A call that needs a scope the key lacks answers 403 with "code": "missingScope" and "scope" naming what is missing. Scopes are chosen when a key is made; for different scopes, make a new key.
ScopeAllows
events:readEvents: the list, details, statistics, registration questions and doors.
events:writeCreate draft events, change their basics and publish or unpublish them.
tickets:readTicket types, add-ons and discount codes, with what is sold.
tickets:writeChange a ticket type's capacity and sales window, and create discount codes.
orders:readOrders and their money, and the sales pace.
attendees:readRegistrations and attendees: ticket, status and check-in; names and answers need people:read too.
attendees:writeRegister people with a free ticket and cancel tickets, as the workspace does.
checkins:readDoor scans and check-in counts.
checkins:writeCheck attendees in at a door, by the scanner's rules.
program:readSessions, rooms, tracks and speakers.
program:writeAdd and change sessions on the agenda.
sponsors:readSponsors, exhibitors, their levels and consented leads.
cfp:readCall-for-speakers submissions and their status.
crew:readCrew, volunteers, roles and shifts.
surveys:readSurveys, session ratings and their results, never who answered.
finance:readInvoices, credit notes and the budget summary.
sharekit:readThe share kit's leaderboard of speakers, sponsors and attendees who spread the word.
communities:readCommunities and their members.
webhooks:readWebhook endpoints, their deliveries, the event types and subscriptions for automation platforms.
webhooks:writeAdd, change, test and remove webhook endpoints.
people:readPersonal data in any of the above: names, email addresses, companies and answers. Without it, people are ids only.

The workspace offers four starting points: Dashboard (events, tickets, orders, check-ins and the programme, read only), Power Automate or Zapier (what the connector and the Zapier app use), AI assistant (everything to read, people included) and Everything.

Keys made before October 2026

Keys from before scopes per area had read and write. They were rewritten to what those meant, and keep working exactly as before: read became every read there was (people included), write became attendees:write and checkins:write. Nothing gained a new power.

Expiry and revoking

A key may expire after 30, 90, 180 or 365 days, or never. An expired key answers 401 with "code": "keyExpired"; make the new key before the old one's day and swap it in, and nothing stops.

Revoking a key in the workspace stops it at once (keyRevoked). The Power Automate flows and Zaps it subscribed are unsubscribed with it, because they could no longer unsubscribe themselves.

The activity of keys

Integrations › API & MCP › Activity of keys lists every call a key made through the API or the MCP server in the last 90 days: when, which operation (the route, such as GET /events/{eventId}/attendees, or the MCP tool), how it was answered, how long it took and from which address. Never a query string, a body or an answer: an attendee's address in a search must not sit in a log. Refused calls are there too, with their code, so missingScope or rateLimited is the first place to look when a flow stops.

Changes made with a key also appear in the workspace's activity log, named after the key: "API key abk_k7m2qx9vtw4p (Attendee sync for the CRM)".

Keeping keys safe

  • One key per piece of software, named after it, so you can revoke one without stopping the others.
  • Keep keys in a secret store (Key Vault, your CI's secrets, a password manager), never in code or a repository.
  • Never send a key to a browser. The Try it button in these docs is the exception you make yourself: the key stays in that page's memory and goes only to attendbeacon.com.
  • Give keys an expiry, and revoke the ones the activity list shows nobody uses.

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