# Attend > Help articles and the API reference for Attend, Hack Club's event platform. ## Docs - [Attend Help](https://hack-club-pin-docs-urls.mintlify.site/index.md): Everything you need to get from "you're invited!" to walking through the doors of a Hack Club event. - [Welcome to Attend](https://hack-club-pin-docs-urls.mintlify.site/participants/01-welcome-to-attend.md) - [Logging in to Attend](https://hack-club-pin-docs-urls.mintlify.site/participants/02-logging-in.md) - [Completing your onboarding](https://hack-club-pin-docs-urls.mintlify.site/participants/03-completing-onboarding.md) - [Adding your travel details](https://hack-club-pin-docs-urls.mintlify.site/participants/04-travel-details.md) - [Flying as an unaccompanied minor](https://hack-club-pin-docs-urls.mintlify.site/participants/05-unaccompanied-minors.md) - [Signing your documents](https://hack-club-pin-docs-urls.mintlify.site/participants/06-signing-documents.md) - [Physical (paper) documents](https://hack-club-pin-docs-urls.mintlify.site/participants/07-physical-documents.md) - [Your parent or guardian's part](https://hack-club-pin-docs-urls.mintlify.site/participants/08-guardian-consent.md) - [Your dashboard & registration status](https://hack-club-pin-docs-urls.mintlify.site/participants/09-dashboard-and-status.md) - [Your ticket & wallet passes](https://hack-club-pin-docs-urls.mintlify.site/participants/10-tickets-and-wallet-passes.md) - [Event day: checking in](https://hack-club-pin-docs-urls.mintlify.site/participants/11-event-day-check-in.md) - [Messages from organizers](https://hack-club-pin-docs-urls.mintlify.site/participants/12-messages-from-organizers.md) - [Connecting Slack](https://hack-club-pin-docs-urls.mintlify.site/participants/13-connecting-slack.md) - [Your public profile](https://hack-club-pin-docs-urls.mintlify.site/participants/14-public-profile.md) - [Updating your info & appearance](https://hack-club-pin-docs-urls.mintlify.site/participants/15-updating-your-info.md) - [Reporting an incident](https://hack-club-pin-docs-urls.mintlify.site/participants/16-reporting-an-incident.md) - [Troubleshooting & FAQ](https://hack-club-pin-docs-urls.mintlify.site/participants/17-troubleshooting.md) - [API overview](https://hack-club-pin-docs-urls.mintlify.site/api-introduction.md): REST API for Attend, Hack Club's event management platform. - [Create a mobile token](https://hack-club-pin-docs-urls.mintlify.site/api-reference/authentication/create-a-mobile-token.md): Exchange a Hack Club OAuth authorization code, or a signed session token, for a mobile bearer token. Public — no bearer token required. - [Revoke the current token (log out)](https://hack-club-pin-docs-urls.mintlify.site/api-reference/authentication/revoke-the-current-token-log-out.md) - [Rotate the current token](https://hack-club-pin-docs-urls.mintlify.site/api-reference/authentication/rotate-the-current-token.md): Revoke the current mobile token and issue a fresh one. - [Current user profile](https://hack-club-pin-docs-urls.mintlify.site/api-reference/account/current-user-profile.md) - [List accessible events](https://hack-club-pin-docs-urls.mintlify.site/api-reference/account/list-accessible-events.md): All events for a global admin, otherwise the events the user is assigned to, ordered by start date. - [Register a push token](https://hack-club-pin-docs-urls.mintlify.site/api-reference/push-tokens/register-a-push-token.md): Upsert a push-notification token for the current user. Platform is auto-detected (`expo` for Expo tokens, otherwise `unknown`). - [Delete a push token](https://hack-club-pin-docs-urls.mintlify.site/api-reference/push-tokens/delete-a-push-token.md) - [Add emails to the ban list](https://hack-club-pin-docs-urls.mintlify.site/api-reference/bans/add-emails-to-the-ban-list.md): Ban one person from every event. A ban holds one or more emails, so send all of a person's addresses in a single call rather than creating a ban per address. Omitting `expires_at` makes the ban indefinite. - [List series](https://hack-club-pin-docs-urls.mintlify.site/api-reference/series/list-series.md): With a **series API key**, returns exactly one series — the one the key belongs to. This is how a client discovers its own series when all it has been given is a key. - [Get one series](https://hack-club-pin-docs-urls.mintlify.site/api-reference/series/get-one-series.md): The series plus a compact list of its events. Pass `current` as the id to mean "whichever series this key belongs to". - [List the events in a series](https://hack-club-pin-docs-urls.mintlify.site/api-reference/series/list-the-events-in-a-series.md): Summary records for every event in the series, earliest start first (events with no start date last). - [Create an event in the series](https://hack-club-pin-docs-urls.mintlify.site/api-reference/series/create-an-event-in-the-series.md): **Requires a series API key.** A mobile token, a global API token and an event API key are all refused with `403` — an event has to land in a series, and only a series key names one unambiguously. - [Get one event in the series](https://hack-club-pin-docs-urls.mintlify.site/api-reference/series/get-one-event-in-the-series.md): An event outside the series returns `404`, not `403` — from this key's point of view it does not exist. - [Update an event in the series](https://hack-club-pin-docs-urls.mintlify.site/api-reference/series/update-an-event-in-the-series.md): One series key updates any event in its series — that is the point of a series key. Accepts the same fields as the web's event settings form and setup wizard (basics, schedule, location, module toggles); send only the fields you want to change. - [List participants](https://hack-club-pin-docs-urls.mintlify.site/api-reference/participants/list-participants.md): Full per-participant records for an event. Sensitive medical, dietary, safeguarding, and contact fields are only included for global admins and safeguarding leads. Not available to event API keys. - [Invite a participant](https://hack-club-pin-docs-urls.mintlify.site/api-reference/participants/invite-a-participant.md): Send an event invitation email. Does not create a participant record directly — it enqueues an invitation. - [Search participants](https://hack-club-pin-docs-urls.mintlify.site/api-reference/participants/search-participants.md): Case-insensitive search by name, email, or id. Returns up to 20 matches. Not available to event API keys. - [Look up a registration by email](https://hack-club-pin-docs-urls.mintlify.site/api-reference/participants/look-up-a-registration-by-email.md): Read-only check of whether an email is registered for the event. Safe to call on every sign-in; never mutates. Available to event API keys. - [Minimal roster](https://hack-club-pin-docs-urls.mintlify.site/api-reference/participants/minimal-roster.md): Identity-only roster (no sensitive PII), excluding withdrawn and rejected registrations. Available to event API keys. - [Get a participant](https://hack-club-pin-docs-urls.mintlify.site/api-reference/participants/get-a-participant.md): Full detailed record for one registration, including personal, accommodation, consent, and guardian sections (and sensitive medical / accessibility / safeguarding detail for permitted callers). Not available to event API keys. - [List notes](https://hack-club-pin-docs-urls.mintlify.site/api-reference/notes/list-notes.md): Notes on a participant's registration, newest first. User tokens only. - [Create a note](https://hack-club-pin-docs-urls.mintlify.site/api-reference/notes/create-a-note.md): Add a note authored by the current user. User tokens only. - [List scans](https://hack-club-pin-docs-urls.mintlify.site/api-reference/scans/list-scans.md): Recent scans for the event. Pass `since` for incremental sync (oldest-first, up to 500); otherwise the latest 100 are returned. - [Record a scan](https://hack-club-pin-docs-urls.mintlify.site/api-reference/scans/record-a-scan.md): Record a QR / NFC / manual scan for a participant. Pass `client_scan_id` for idempotency — a repeat returns the existing scan with `deduplicated: true`. `badge_token` accepts either an assigned NFC badge belonging to the selected event or an active Hack Club passport. Passport scans work regardless… - [Undo scans for a participant](https://hack-club-pin-docs-urls.mintlify.site/api-reference/scans/undo-scans-for-a-participant.md): Delete a participant's scans (all, or just one context) and clear their check-in if no check-in scans remain. Despite the name, `id` is a participant_event id (matched first) or participant id — not a scan id. - [List scan contexts](https://hack-club-pin-docs-urls.mintlify.site/api-reference/scan-contexts/list-scan-contexts.md) - [Show the travel calendar](https://hack-club-pin-docs-urls.mintlify.site/api-reference/travel-calendar/show-the-travel-calendar.md): Day-grouped inbound and outbound travel for participants with completed registrations, across all transport modes. Includes pickup-state summaries and accepts an event API key. - [Show the travel calendar (legacy path)](https://hack-club-pin-docs-urls.mintlify.site/api-reference/travel-calendar/show-the-travel-calendar-legacy-path.md): Deprecated alias for `/events/{event_id}/travel`. - [List Slack blasts](https://hack-club-pin-docs-urls.mintlify.site/api-reference/slack-blasts/list-slack-blasts.md) - [Send a Slack blast](https://hack-club-pin-docs-urls.mintlify.site/api-reference/slack-blasts/send-a-slack-blast.md): Broadcast a message to every completed participant with a linked Slack account, and enqueue delivery. - [Get a Slack blast](https://hack-club-pin-docs-urls.mintlify.site/api-reference/slack-blasts/get-a-slack-blast.md) - [Ensure an NFC badge token](https://hack-club-pin-docs-urls.mintlify.site/api-reference/nfc-badges/ensure-an-nfc-badge-token.md): Create an event-scoped badge token for the participant if one does not exist. - [Confirm an NFC badge assignment](https://hack-club-pin-docs-urls.mintlify.site/api-reference/nfc-badges/confirm-an-nfc-badge-assignment.md) - [Reset an NFC badge token](https://hack-club-pin-docs-urls.mintlify.site/api-reference/nfc-badges/reset-an-nfc-badge-token.md) - [Search airports](https://hack-club-pin-docs-urls.mintlify.site/api-reference/travel/search-airports.md): Search airports by keyword. **Authenticated with the web session cookie, not a bearer token.** Returns an empty list for terms shorter than 2 characters. - [Validate a flight](https://hack-club-pin-docs-urls.mintlify.site/api-reference/travel/validate-a-flight.md): Validate a flight code + date and return matching legs and airline info. **Authenticated with the web session cookie, not a bearer token.** Always responds `200`; check the `valid` field. ## OpenAPI Specs - [openapi](https://hack-club-pin-docs-urls.mintlify.site/openapi.yml)