AttendBeacon
Arbeitsbereich öffnen

API-Referenz

Crew

Crew, volunteers and shifts.

List crew

GET/events/{eventId}/crew

Lists the event's crew and volunteers with their roles and shifts. Names, addresses and phone numbers need people:read.

Scopes
crew:read
Modul
crew Wird mit moduleOff abgelehnt, solange der Veranstalter das Modul für die Veranstaltung ausgeschaltet hat.

    Parameter

    Pfad

    • eventIdstring (uuid)erforderlich

      The event's id.

    Query

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

      Standard: 100

    Antworten

    • 200 A page of crew. CrewMemberList
      Felder
      • dataCrewMember[]

        The items of this page.

        Felder anzeigen
        • crewMemberIdstring (uuid)

          Their id.

        • eventIdstring (uuid)

          The event's id.

        • namestring oder null

          Their name. Null without people:read.

        • emailstring oder null

          Their address. Null without people:read.

        • phonestring oder null

          A number to reach them on the day. Null without people:read.

        • rolesstring[]

          The roles they may do: door, infoDesk, room and others.

        • attendeeIdstring (uuid) oder null

          Their crew ticket.

        • hasTicketboolean

          Whether their crew ticket works.

        • shiftIdsstring (uuid)[]

          The shifts they are on.

        • invitedUtcstring (date-time)

          When they were invited, in UTC.

        • lastSeenUtcstring (date-time) oder null

          When they last opened the crew app, in UTC.

        • erasedboolean

          Whether the person deleted their data from the event app; then nothing personal is returned, whatever the key may read.

        • personalDatastring

          Whether the personal fields are here: included, withheld (the key lacks people:read) or erased (the person deleted their data).

          Einer von: included, withheld, erased

      • nextCursorstring oder 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.
    • 401 invalidKey, keyExpired, keyRevoked.
    • 403 missingScope.
    • 404 eventNotFound.
    • 409 moduleOff.
    • 429 rateLimited.

    Ablehnungen

    invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor

    Anfrage

    curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/crew?limit=2" \
      -H "Authorization: Bearer $ATTENDBEACON_KEY"

    200 Beispielantwort

    JSON
    {
      "data": [
        {
          "crewMemberId": "b3ac0020-0000-4000-8000-000000000000",
          "eventId": "b3ac0000-0000-4000-8000-000000000001",
          "name": "Femke de Wit",
          "email": "femke.dewit@example.com",
          "phone": "+31 6 1234 5601",
          "roles": [
            "greeter",
            "infoDesk"
          ],
          "attendeeId": "b3ac001f-0000-4000-8000-000000000000",
          "hasTicket": true,
          "shiftIds": [
            "b3ac0021-0000-4000-8000-000000000002",
            "b3ac0021-0000-4000-8000-00000000000a"
          ],
          "invitedUtc": "2026-09-24T21:40:47.963Z",
          "lastSeenUtc": "2026-10-13T21:40:47.963Z",
          "erased": false,
          "personalData": "included"
        },
        {
          "crewMemberId": "b3ac0020-0000-4000-8000-000000000001",
          "eventId": "b3ac0000-0000-4000-8000-000000000001",
          "name": "Joris van Dam",
          "email": "joris.vandam@example.com",
          "phone": "+31 6 1234 5602",
          "roles": [
            "door",
            "swag"
          ],
          "attendeeId": "b3ac001f-0000-4000-8000-000000000001",
          "hasTicket": true,
          "shiftIds": [
            "b3ac0021-0000-4000-8000-000000000000",
            "b3ac0021-0000-4000-8000-000000000001"
          ],
          "invitedUtc": "2026-09-25T21:40:47.963Z",
          "lastSeenUtc": "2026-10-12T20:40:47.963Z",
          "erased": false,
          "personalData": "included"
        }
      ],
      "nextCursor": "YzE6MDYzOTI1OTY5MjQ3OTYzMDAwMHxiM2FjMDAyMDAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMQ",
      "hasMore": true
    }
    400 invalidCursor.
    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/events/b3ac0000-0000-4000-8000-000000000001/crew",
      "code": "invalidCursor",
      "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
      "error": "Pass nextCursor exactly as a list returned it, with the same filters."
    }

    List shifts

    GET/events/{eventId}/shifts

    Lists crew and volunteer shifts in time order: where, when, how many are needed and how many are on it.

    Scopes
    crew:read
    Modul
    crew Wird mit moduleOff abgelehnt, solange der Veranstalter das Modul für die Veranstaltung ausgeschaltet hat.

      Parameter

      Pfad

      • eventIdstring (uuid)erforderlich

        The event's id.

      Query

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

        Standard: 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.

      Antworten

      • 200 A page of shifts. ShiftList
        Felder
        • dataShift[]

          The items of this page.

          Felder anzeigen
          • shiftIdstring (uuid)

            The shift's id.

          • eventIdstring (uuid)

            The event's id.

          • rolestring

            What it is: door, infoDesk, room and others.

          • placeobject

            Where.

            Felder anzeigen
            • kindstring

              Door, room, area or other.

            • idstring (uuid) oder null

              The door or room.

            • namestring oder null

              Its name.

          • startsUtcstring (date-time)

            When it starts, in UTC.

          • endsUtcstring (date-time)

            When it ends, in UTC.

          • startsLocalstring

            When it starts, in the venue's time.

          • endsLocalstring

            When it ends, in the venue's time.

          • timeZonestring

            The venue's time zone.

          • neededinteger (int32)

            How many it needs.

          • assignedinteger (int32)

            How many are on it.

          • openinteger (int32)

            Places still open.

          • crewMemberIdsstring (uuid)[]

            Who is on it.

          • updatedUtcstring (date-time) oder null

            When it last changed, in UTC.

        • nextCursorstring oder 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.
      • 404 eventNotFound.
      • 409 moduleOff.
      • 429 rateLimited.

      Ablehnungen

      invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor invalidUpdatedSince invalidRequest

      Anfrage

      curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/shifts?limit=2" \
        -H "Authorization: Bearer $ATTENDBEACON_KEY"

      200 Beispielantwort

      JSON
      {
        "data": [
          {
            "shiftId": "b3ac6705-0000-4000-8000-000000000000",
            "eventId": "b3ac0000-0000-4000-8000-000000000001",
            "role": "infoDesk",
            "place": {
              "kind": "area",
              "id": null,
              "name": "Registration desk"
            },
            "startsUtc": "2026-11-12T06:30:00.000Z",
            "endsUtc": "2026-11-12T09:00:00.000Z",
            "startsLocal": "2026-11-12T07:30",
            "endsLocal": "2026-11-12T10:00",
            "timeZone": "Europe/Amsterdam",
            "needed": 3,
            "assigned": 2,
            "open": 1,
            "crewMemberIds": [
              "b3ac6703-0000-4000-8000-000000000000",
              "b3ac6703-0000-4000-8000-000000000001"
            ],
            "updatedUtc": "2026-10-06T21:40:47.963Z"
          },
          {
            "shiftId": "b3ac0021-0000-4000-8000-000000000000",
            "eventId": "b3ac0000-0000-4000-8000-000000000001",
            "role": "door",
            "place": {
              "kind": "door",
              "id": "b3ac0010-0000-4000-8000-000000000000",
              "name": null
            },
            "startsUtc": "2026-11-12T07:00:00.000Z",
            "endsUtc": "2026-11-12T10:00:00.000Z",
            "startsLocal": "2026-11-12T08:00",
            "endsLocal": "2026-11-12T11:00",
            "timeZone": "Europe/Amsterdam",
            "needed": 2,
            "assigned": 2,
            "open": 0,
            "crewMemberIds": [
              "b3ac0020-0000-4000-8000-000000000001",
              "b3ac0020-0000-4000-8000-000000000005"
            ],
            "updatedUtc": "2026-10-14T21:40:49.222Z"
          }
        ],
        "nextCursor": "YzE6MDYzOTMwMDYzNjAwMDAwMDAwMHxiM2FjMDAyMTAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMA",
        "hasMore": true
      }
      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/events/b3ac0000-0000-4000-8000-000000000001/shifts",
        "code": "invalidCursor",
        "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
        "error": "Pass nextCursor exactly as a list returned it, with the same filters."
      }

      Die Anleitungen und diese Website sind in Ihrer Sprache. Die Beschreibungen in der API-Referenz selbst sind auf Englisch, so wie die API selbst spricht.