AttendBeacon
Ouvrir l’espace de travail

Référence de l’API

Passes

Season passes and bundles across events: what they include and who holds them.

List passes

GET/passes

Lists the workspace's season passes and bundles, with the events each admits to, how many were sold and the seats each event holds for their holders, the latest change first.

Autorisations
tickets:read

    Paramètres

    requête

    • cursorstring

      Where the page starts: nextCursor from the page before, exactly as it was returned. Leave out for the first page.

    • limitinteger (int32)

      How many on a page, up to 500.

      Par défaut : 100

    • 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.

    • communityIdstring (uuid)

      Only this community's season passes.

    • eventIdstring (uuid)

      Only the passes this event sells or admits to.

    Réponses

    • 200 A page of passes. PassList
      Champs
      • dataPass[]

        The items of this page.

        Afficher les champs
        • passIdstring (uuid)

          The pass's id.

        • kindstring

          A community's season pass, or a bundle sold on an event's page.

          Valeurs possibles : season, bundle

        • communityIdstring (uuid) ou null

          A season pass's community.

        • salesEventIdstring (uuid)

          The event whose orders, payments and invoices carry the pass's money.

        • namestring

          Its name, as the invoice line shows it.

        • descriptionstring ou null

          What it includes.

        • pricenumber

          Its price, VAT included, with the currency's own decimals.

        • vatRatenumber

          The VAT rate in the price, in percent.

        • currencystring

          The ISO 4217 code: the sales event's, and every included event's.

        • capacityinteger (int32)

          How many are sold, and the seats each event holds for holders.

        • soldinteger (int32)

          Holders whose order is paid or free.

        • waitinginteger (int32)

          Holders whose payment is under way.

        • leftinteger (int32)

          How many are left to sell.

        • scopestring

          The community's meetups between two days (range), or the events named (list).

          Valeurs possibles : range, list

        • seriesIdstring (uuid) ou null

          A range pass's one series, when it names one.

        • fromDatestring (date) ou null

          A range's first day at the venue.

        • toDatestring (date) ou null

          A range's last day at the venue.

        • salesStartUtcstring (date-time) ou null

          On sale from, in UTC.

        • salesEndUtcstring (date-time) ou null

          On sale until, in UTC.

        • refundRulestring

          What the page promises about refunds; the organiser decides every refund, never pro rata.

          Valeurs possibles : beforeFirst, organiser, none

        • statusstring

          Being set up, on sale, or no longer sold.

          Valeurs possibles : draft, onSale, closed

        • eventsPassEvent[]

          The events it admits to, the first first.

          Afficher les champs
          • eventIdstring (uuid)

            The event's id.

          • namestring

            The event's name.

          • startsUtcstring (date-time)

            When it begins, in UTC.

          • holdersinteger (int32)

            Holders whose ticket there lets them in.

          • optedOutinteger (int32)

            Holders who said they cannot come; their seats went back to the event.

          • heldSeatsinteger (int32)

            The seats every pass holds at the event for its holders, which its other limited ticket types do not sell.

          • sourcestring

            Whether the organiser named it (list) or it is a meetup in a season pass's range (range).

            Valeurs possibles : list, range

        • createdUtcstring (date-time)

          When it was made, in UTC.

        • updatedUtcstring (date-time)

          When it last changed, in UTC.

      • nextCursorstring ou null

        The cursor for the next page; null on the last page. Pass it as cursor, with the same filters.

      • hasMoreboolean

        Whether there is another page.

    • 400 invalidCursor, invalidUpdatedSince, invalidRequest.
    • 401 invalidKey, keyExpired, keyRevoked.
    • 403 missingScope.
    • 429 rateLimited.

    Refus

    invalidKey keyExpired keyRevoked rateLimited missingScope invalidCursor invalidUpdatedSince invalidRequest

    Requête

    curl "https://attendbeacon.com/api/v1/passes?limit=2" \
      -H "Authorization: Bearer $ATTENDBEACON_KEY"

    200 Exemple de réponse

    JSON
    {
      "data": [
        {
          "passId": "b3ac8000-0000-4000-8000-000000000001",
          "kind": "season",
          "communityId": "b3ac6200-0000-4000-8000-000000000001",
          "salesEventId": "b3ac6201-0000-4000-8000-000000000000",
          "name": "Season pass 2026–27",
          "description": "Every Beacon Community meetup from November to June, with a seat kept for you.",
          "price": 120,
          "vatRate": 21,
          "currency": "EUR",
          "capacity": 20,
          "sold": 5,
          "waiting": 0,
          "left": 15,
          "scope": "range",
          "seriesId": "b3ac6202-0000-4000-8000-000000000001",
          "fromDate": "2026-11-01",
          "toDate": "2027-06-30",
          "salesStartUtc": null,
          "salesEndUtc": null,
          "refundRule": "beforeFirst",
          "status": "onSale",
          "events": [
            {
              "eventId": "b3ac6210-0000-4000-8000-000000000005",
              "name": "Beacon Community #25: November 2026",
              "startsUtc": "2026-11-05T17:30:00.000Z",
              "holders": 5,
              "optedOut": 0,
              "heldSeats": 20,
              "source": "range"
            },
            {
              "eventId": "b3ac6210-0000-4000-8000-000000000006",
              "name": "Beacon Community #26: December 2026",
              "startsUtc": "2026-12-03T17:30:00.000Z",
              "holders": 4,
              "optedOut": 1,
              "heldSeats": 19,
              "source": "range"
            }
          ],
          "createdUtc": "2026-10-01T09:00:00.000Z",
          "updatedUtc": "2026-10-01T09:00:00.000Z"
        }
      ],
      "nextCursor": null,
      "hasMore": false
    }
    400 invalidCursor, invalidUpdatedSince, invalidRequest.
    JSON
    {
      "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/passes",
      "code": "invalidCursor",
      "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
      "error": "Pass nextCursor exactly as a list returned it, with the same filters."
    }

    Get a pass

    GET/passes/{passId}

    Gets one season pass or bundle with its events.

    Autorisations
    tickets:read
    • Répond avec un ETag ; envoyez If-None-Match pour éviter un téléchargement inutile.

    Paramètres

    chemin

    • passIdstring (uuid)obligatoire

      The pass's id.

    en-tête

    • If-None-Matchstring

      The ETag you have: when it is still current the answer is 304 with no body.

    Réponses

    • 200 The pass. Pass
      Champs
      • passIdstring (uuid)

        The pass's id.

      • kindstring

        A community's season pass, or a bundle sold on an event's page.

        Valeurs possibles : season, bundle

      • communityIdstring (uuid) ou null

        A season pass's community.

      • salesEventIdstring (uuid)

        The event whose orders, payments and invoices carry the pass's money.

      • namestring

        Its name, as the invoice line shows it.

      • descriptionstring ou null

        What it includes.

      • pricenumber

        Its price, VAT included, with the currency's own decimals.

      • vatRatenumber

        The VAT rate in the price, in percent.

      • currencystring

        The ISO 4217 code: the sales event's, and every included event's.

      • capacityinteger (int32)

        How many are sold, and the seats each event holds for holders.

      • soldinteger (int32)

        Holders whose order is paid or free.

      • waitinginteger (int32)

        Holders whose payment is under way.

      • leftinteger (int32)

        How many are left to sell.

      • scopestring

        The community's meetups between two days (range), or the events named (list).

        Valeurs possibles : range, list

      • seriesIdstring (uuid) ou null

        A range pass's one series, when it names one.

      • fromDatestring (date) ou null

        A range's first day at the venue.

      • toDatestring (date) ou null

        A range's last day at the venue.

      • salesStartUtcstring (date-time) ou null

        On sale from, in UTC.

      • salesEndUtcstring (date-time) ou null

        On sale until, in UTC.

      • refundRulestring

        What the page promises about refunds; the organiser decides every refund, never pro rata.

        Valeurs possibles : beforeFirst, organiser, none

      • statusstring

        Being set up, on sale, or no longer sold.

        Valeurs possibles : draft, onSale, closed

      • eventsPassEvent[]

        The events it admits to, the first first.

        Afficher les champs
        • eventIdstring (uuid)

          The event's id.

        • namestring

          The event's name.

        • startsUtcstring (date-time)

          When it begins, in UTC.

        • holdersinteger (int32)

          Holders whose ticket there lets them in.

        • optedOutinteger (int32)

          Holders who said they cannot come; their seats went back to the event.

        • heldSeatsinteger (int32)

          The seats every pass holds at the event for its holders, which its other limited ticket types do not sell.

        • sourcestring

          Whether the organiser named it (list) or it is a meetup in a season pass's range (range).

          Valeurs possibles : list, range

      • createdUtcstring (date-time)

        When it was made, in UTC.

      • updatedUtcstring (date-time)

        When it last changed, in UTC.

    • 304 Not modified: If-None-Match named the representation as it is.
    • 401 invalidKey, keyExpired, keyRevoked.
    • 403 missingScope.
    • 404 notFound.
    • 429 rateLimited.

    Refus

    invalidKey keyExpired keyRevoked rateLimited missingScope notFound

    Requête

    curl "https://attendbeacon.com/api/v1/passes/{passId}" \
      -H "Authorization: Bearer $ATTENDBEACON_KEY"

    200 Exemple de réponse

    JSON
    {
      "passId": "b3ac8000-0000-4000-8000-000000000001",
      "kind": "season",
      "communityId": "b3ac6200-0000-4000-8000-000000000001",
      "salesEventId": "b3ac6201-0000-4000-8000-000000000000",
      "name": "Season pass 2026–27",
      "description": "Every Beacon Community meetup from November to June, with a seat kept for you.",
      "price": 120,
      "vatRate": 21,
      "currency": "EUR",
      "capacity": 20,
      "sold": 5,
      "waiting": 0,
      "left": 15,
      "scope": "range",
      "seriesId": "b3ac6202-0000-4000-8000-000000000001",
      "fromDate": "2026-11-01",
      "toDate": "2027-06-30",
      "salesStartUtc": null,
      "salesEndUtc": null,
      "refundRule": "beforeFirst",
      "status": "onSale",
      "events": [
        {
          "eventId": "b3ac6210-0000-4000-8000-000000000005",
          "name": "Beacon Community #25: November 2026",
          "startsUtc": "2026-11-05T17:30:00.000Z",
          "holders": 5,
          "optedOut": 0,
          "heldSeats": 20,
          "source": "range"
        },
        {
          "eventId": "b3ac6210-0000-4000-8000-000000000006",
          "name": "Beacon Community #26: December 2026",
          "startsUtc": "2026-12-03T17:30:00.000Z",
          "holders": 4,
          "optedOut": 1,
          "heldSeats": 19,
          "source": "range"
        }
      ],
      "createdUtc": "2026-10-01T09:00:00.000Z",
      "updatedUtc": "2026-10-01T09:00:00.000Z"
    }
    401 invalidKey, keyExpired, keyRevoked.
    JSON
    {
      "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/passes/{passId}",
      "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."
    }

    List pass holders

    GET/passes/{passId}/holders

    Lists who holds a pass, the newest first, with their ticket at each event it admits to. Names and addresses need people:read.

    Autorisations
    attendees:read

      Paramètres

      chemin

      • passIdstring (uuid)obligatoire

        The pass's id.

      requête

      • cursorstring

        Where the page starts: nextCursor from the page before, exactly as it was returned. Leave out for the first page.

      • limitinteger (int32)

        How many on a page, up to 500.

        Par défaut : 100

      • statusstring

        Only holders with this status.

        Valeurs possibles : active, ended

      Réponses

      • 200 A page of holders. PassHolderList
        Champs
        • dataPassHolder[]

          The items of this page.

          Afficher les champs
          • holderIdstring (uuid)

            The holder's id.

          • passIdstring (uuid)

            The pass's id.

          • statusstring

            Active, or ended by a refund or because its order was let go.

            Valeurs possibles : active, ended

          • endedReasonstring ou null

            Why it ended: refunded, cancelled or orderGone.

          • endedUtcstring (date-time) ou null

            When it ended, in UTC.

          • orderIdstring (uuid)

            The order on the sales event that pays for it.

          • orderStatusstring

            The order's status: paid, free, pending, refunded and the others.

          • firstNamestring ou null

            Their first name. Null without people:read.

          • lastNamestring ou null

            Their last name. Null without people:read.

          • emailstring ou null

            Their address. Null without people:read.

          • handedOverboolean

            Whether the pass was handed to its holder by somebody who had it before.

          • createdUtcstring (date-time)

            When it was bought, in UTC.

          • eventsPassHolderEvent[]

            Their ticket at each event of the pass.

            Afficher les champs
            • eventIdstring (uuid)

              The event's id.

            • attendeeIdstring (uuid) ou null

              The holder's attendee at the event, as the attendees list names them; null while it is being written.

            • statestring

              A ticket that lets them in, given back, the event begun, being written, or cancelled.

              Valeurs possibles : ticket, optedOut, held, waiting, cancelled

            • checkedInboolean

              Whether it came through the door.

        • nextCursorstring ou null

          The cursor for the next page; null on the last page. Pass it as cursor, with the same filters.

        • hasMoreboolean

          Whether there is another page.

      • 400 invalidCursor, invalidRequest.
      • 401 invalidKey, keyExpired, keyRevoked.
      • 403 missingScope.
      • 404 notFound.
      • 429 rateLimited.

      Refus

      invalidKey keyExpired keyRevoked rateLimited missingScope notFound invalidCursor invalidRequest

      Requête

      curl "https://attendbeacon.com/api/v1/passes/{passId}/holders?limit=2" \
        -H "Authorization: Bearer $ATTENDBEACON_KEY"

      200 Exemple de réponse

      JSON
      {
        "data": [
          {
            "holderId": "b3ac8001-0000-4000-8000-000000000001",
            "passId": "b3ac8000-0000-4000-8000-000000000001",
            "status": "active",
            "endedReason": null,
            "endedUtc": null,
            "orderId": "b3ac8002-0000-4000-8000-000000000001",
            "orderStatus": "paid",
            "firstName": "Mila",
            "lastName": "Jansen",
            "email": "mila.jansen@example.com",
            "handedOver": false,
            "createdUtc": "2026-10-02T19:12:00.000Z",
            "events": [
              {
                "eventId": "b3ac6210-0000-4000-8000-000000000005",
                "attendeeId": "b3ac8003-0000-4000-8000-000000000001",
                "state": "ticket",
                "checkedIn": false
              },
              {
                "eventId": "b3ac6210-0000-4000-8000-000000000006",
                "attendeeId": "b3ac8003-0000-4000-8000-000000000002",
                "state": "optedOut",
                "checkedIn": false
              }
            ]
          }
        ],
        "nextCursor": null,
        "hasMore": false
      }
      400 invalidCursor, invalidRequest.
      JSON
      {
        "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/passes/{passId}/holders",
        "code": "invalidCursor",
        "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
        "error": "Pass nextCursor exactly as a list returned it, with the same filters."
      }

      Les guides et ce site sont dans votre langue. Les descriptions propres à la référence de l’API restent en anglais, la langue de l’API elle-même.