AttendBeacon
Open the workspace

API reference

Finance

Invoices, credit notes and the budget summary.

List invoices

GET/events/{eventId}/invoices

Lists an event's invoices and credit notes in their series' order. The buyer as printed needs people:read.

Scopes
finance:read
Module
payments Refused with moduleOff while the event's organiser has it switched off.

    Parameters

    path

    • eventIdstring (uuid)required

      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.

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

    • kindstring

      Only invoices or only credit notes.

      One of: invoice, creditNote

    Answers

    • 200 A page of invoices. InvoiceList
      Fields
      • dataInvoice[]

        The items of this page.

        Show the fields
        • invoiceIdstring (uuid)

          The document's id.

        • eventIdstring (uuid)

          The event's id.

        • orderIdstring (uuid)

          The order it is for.

        • kindstring

          Invoice or creditNote.

          One of: invoice, creditNote

        • numberstring

          Its number in the event's series.

        • correctsIdstring (uuid) or null

          A credit note: the invoice it corrects.

        • issuedUtcstring (date-time)

          When it was issued, in UTC.

        • totalnumber

          The total, VAT included. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • vatnumber

          The VAT in it. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • currencystring

          ISO 4217.

        • vatCurrencystring or null

          The currency the VAT is also stated in, when the law asks for it.

        • vatConvertednumber or null

          The VAT in that currency.

        • buyerobject or null

          The buyer as printed on it. Null without people:read.

          Show the fields
          • namestring

            Name.

          • emailstring

            Address.

          • companystring or null

            Company.

          • addressstring or null

            Postal address.

          • vatNumberstring or null

            VAT number.

          • referencestring or null

            Their reference.

        • sellerobject or null

          The seller as printed on it: the organiser.

        • linesobject[] or null

          Its lines: on one document only.

          Show the fields
          • ticketTypeIdstring (uuid)

            The ticket type.

          • addOnIdstring (uuid) or null

            The add-on, for an add-on line.

          • namestring

            What it is.

          • quantityinteger (int32)

            How many.

          • unitPricenumber

            Each, VAT included. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • vatRatenumber

            The VAT rate.

          • totalnumber

            The line. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • vatnumber

            Its VAT. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • personalDatastring

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

          One of: included, withheld, erased

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

    Refusals

    invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor invalidUpdatedSince invalidRequest

    Request

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

    200 Example answer

    JSON
    {
      "data": [
        {
          "invoiceId": "b3ac0019-0000-4000-8000-000000000001",
          "eventId": "b3ac0000-0000-4000-8000-000000000001",
          "orderId": "b3ac0007-0000-4000-8000-00000000002d",
          "kind": "invoice",
          "number": "BS26-0001",
          "correctsId": null,
          "issuedUtc": "2026-08-29T21:45:47.963Z",
          "total": 395,
          "vat": 68.55,
          "currency": "EUR",
          "vatCurrency": null,
          "vatConverted": null,
          "buyer": {
            "name": "Jesse Meijer",
            "email": "jesse.meijer45@example.com",
            "company": "Proseware",
            "address": null,
            "vatNumber": null,
            "reference": null
          },
          "seller": {
            "enabled": true,
            "sellerName": "Beacon Events B.V.",
            "sellerAddress": "Voorbeeldstraat 12\n1011 AB Amsterdam\nThe Netherlands",
            "sellerVatNumber": "NL000000000B01",
            "sellerRegistration": "KvK 00000000",
            "prefix": "BS26-",
            "footer": "Questions about this invoice? billing@beaconsummit.example"
          },
          "lines": null,
          "personalData": "included"
        },
        {
          "invoiceId": "b3ac0019-0000-4000-8000-000000000002",
          "eventId": "b3ac0000-0000-4000-8000-000000000001",
          "orderId": "b3ac0007-0000-4000-8000-00000000002a",
          "kind": "invoice",
          "number": "BS26-0002",
          "correctsId": null,
          "issuedUtc": "2026-09-01T21:45:47.963Z",
          "total": 316,
          "vat": 54.84,
          "currency": "EUR",
          "vatCurrency": null,
          "vatConverted": null,
          "buyer": {
            "name": "Lotte de Vries",
            "email": "lotte.devries42@example.com",
            "company": "Northwind Cloud",
            "address": null,
            "vatNumber": null,
            "reference": null
          },
          "seller": {
            "enabled": true,
            "sellerName": "Beacon Events B.V.",
            "sellerAddress": "Voorbeeldstraat 12\n1011 AB Amsterdam\nThe Netherlands",
            "sellerVatNumber": "NL000000000B01",
            "sellerRegistration": "KvK 00000000",
            "prefix": "BS26-",
            "footer": "Questions about this invoice? billing@beaconsummit.example"
          },
          "lines": null,
          "personalData": "included"
        }
      ],
      "nextCursor": "YzE6MDAwMDAwMTAwMDAwMDAwMDAwMnxiM2FjMDAxOTAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMg",
      "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/invoices",
      "code": "invalidCursor",
      "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
      "error": "Pass nextCursor exactly as a list returned it, with the same filters."
    }

    Get an invoice

    GET/events/{eventId}/invoices/{invoiceId}

    Gets one invoice or credit note with its lines.

    Scopes
    finance:read
    Module
    payments Refused with moduleOff while the event's organiser has it switched off.
    • Answers with an ETag; send If-None-Match to save a download.

    Parameters

    path

    • eventIdstring (uuid)required

      The event's id.

    • invoiceIdstring (uuid)required

      The invoice's or credit note's id.

    header

    • If-None-Matchstring

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

    Answers

    • 200 The document. Invoice
      Fields
      • invoiceIdstring (uuid)

        The document's id.

      • eventIdstring (uuid)

        The event's id.

      • orderIdstring (uuid)

        The order it is for.

      • kindstring

        Invoice or creditNote.

        One of: invoice, creditNote

      • numberstring

        Its number in the event's series.

      • correctsIdstring (uuid) or null

        A credit note: the invoice it corrects.

      • issuedUtcstring (date-time)

        When it was issued, in UTC.

      • totalnumber

        The total, VAT included. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

      • vatnumber

        The VAT in it. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

      • currencystring

        ISO 4217.

      • vatCurrencystring or null

        The currency the VAT is also stated in, when the law asks for it.

      • vatConvertednumber or null

        The VAT in that currency.

      • buyerobject or null

        The buyer as printed on it. Null without people:read.

        Show the fields
        • namestring

          Name.

        • emailstring

          Address.

        • companystring or null

          Company.

        • addressstring or null

          Postal address.

        • vatNumberstring or null

          VAT number.

        • referencestring or null

          Their reference.

      • sellerobject or null

        The seller as printed on it: the organiser.

      • linesobject[] or null

        Its lines: on one document only.

        Show the fields
        • ticketTypeIdstring (uuid)

          The ticket type.

        • addOnIdstring (uuid) or null

          The add-on, for an add-on line.

        • namestring

          What it is.

        • quantityinteger (int32)

          How many.

        • unitPricenumber

          Each, VAT included. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • vatRatenumber

          The VAT rate.

        • totalnumber

          The line. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • vatnumber

          Its VAT. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

      • personalDatastring

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

        One of: included, withheld, erased

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

    Refusals

    invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound notFound

    Request

    curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/invoices/b3ac0019-0000-4000-8000-000000000001" \
      -H "Authorization: Bearer $ATTENDBEACON_KEY"

    200 Example answer

    JSON
    {
      "invoiceId": "b3ac0019-0000-4000-8000-000000000001",
      "eventId": "b3ac0000-0000-4000-8000-000000000001",
      "orderId": "b3ac0007-0000-4000-8000-00000000002d",
      "kind": "invoice",
      "number": "BS26-0001",
      "correctsId": null,
      "issuedUtc": "2026-08-29T21:45:47.963Z",
      "total": 395,
      "vat": 68.55,
      "currency": "EUR",
      "vatCurrency": null,
      "vatConverted": null,
      "buyer": {
        "name": "Jesse Meijer",
        "email": "jesse.meijer45@example.com",
        "company": "Proseware",
        "address": null,
        "vatNumber": null,
        "reference": null
      },
      "seller": {
        "enabled": true,
        "sellerName": "Beacon Events B.V.",
        "sellerAddress": "Voorbeeldstraat 12\n1011 AB Amsterdam\nThe Netherlands",
        "sellerVatNumber": "NL000000000B01",
        "sellerRegistration": "KvK 00000000",
        "prefix": "BS26-",
        "footer": "Questions about this invoice? billing@beaconsummit.example"
      },
      "lines": [
        {
          "ticketTypeId": "b3ac0006-0000-4000-8000-000000000001",
          "addOnId": null,
          "name": "Conference pass",
          "quantity": 1,
          "unitPrice": 395,
          "vatRate": 21,
          "total": 395,
          "vat": 68.55
        }
      ],
      "personalData": "included"
    }
    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/events/b3ac0000-0000-4000-8000-000000000001/invoices/{invoiceId}",
      "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."
    }

    Get the budget summary

    GET/events/{eventId}/budget

    Gets the event budget's summary, net of VAT: income, costs and result as budgeted, committed, actual and forecast, per category, with the break-even point.

    Scopes
    finance:read
    Module
    budget Refused with moduleOff while the event's organiser has it switched off.

      Parameters

      path

      • eventIdstring (uuid)required

        The event's id.

      Answers

      • 200 The summary. BudgetSummary
        Fields
        • eventIdstring (uuid)

          The event's id.

        • currencystring

          ISO 4217.

        • basisstring

          Always net: excluding VAT.

        • attendeesinteger (int32)

          The attendees the forecast is for.

        • incomeBudgetAmounts

          Amounts net of VAT.

          Show the fields
          • budgetnumber

            Budgeted. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • committednumber

            Committed: quotes accepted and invoices received. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • actualnumber

            Invoiced, paid, and what AttendBeacon's own data says. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • forecastnumber

            What it will come to. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • paidnumber

            What moved through the bank. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • costsBudgetAmounts

          Amounts net of VAT.

          Show the fields
          • budgetnumber

            Budgeted. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • committednumber

            Committed: quotes accepted and invoices received. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • actualnumber

            Invoiced, paid, and what AttendBeacon's own data says. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • forecastnumber

            What it will come to. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • paidnumber

            What moved through the bank. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • resultBudgetAmounts

          Amounts net of VAT.

          Show the fields
          • budgetnumber

            Budgeted. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • committednumber

            Committed: quotes accepted and invoices received. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • actualnumber

            Invoiced, paid, and what AttendBeacon's own data says. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • forecastnumber

            What it will come to. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • paidnumber

            What moved through the bank. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • costPerAttendeenumber or null

          Forecast costs per forecast attendee. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • breakEvenobject

          The break-even point.

          Show the fields
          • ticketsinteger (int32) or null

            Paid tickets needed at the average price.

          • paidTicketsinteger (int32)

            Paid tickets sold.

          • averagePaidTicketnumber

            The average paid ticket, net of VAT. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • categoriesobject[]

          Each category.

          Show the fields
          • categoryIdstring (uuid)

            The category's id.

          • kindstring

            Income or cost.

          • keystring or null

            A default category's key: tickets, venue, catering and others.

          • namestring or null

            Its name.

          • budgetnumber

            Budgeted. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • committednumber

            Committed. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • actualnumber

            Actual. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • forecastnumber

            Forecast. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

          • paidnumber

            Paid. With the currency's own decimals: 147.00 in EUR, 147 in JPY, 147.000 in KWD.

        • warningsstring[]

          What the planner noticed, as codes.

      • 401 invalidKey, keyExpired, keyRevoked.
      • 403 missingScope.
      • 404 eventNotFound.
      • 409 moduleOff.
      • 429 rateLimited.

      Refusals

      invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound

      Request

      curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/budget" \
        -H "Authorization: Bearer $ATTENDBEACON_KEY"

      200 Example answer

      JSON
      {
        "eventId": "b3ac0000-0000-4000-8000-000000000001",
        "currency": "EUR",
        "basis": "net",
        "attendees": 450,
        "income": {
          "budget": 125900,
          "committed": 69346.37,
          "actual": 62546.37,
          "forecast": 140835.02,
          "paid": 12664.14
        },
        "costs": {
          "budget": 130850,
          "committed": 84797.5,
          "actual": 20347.5,
          "forecast": 134741.15,
          "paid": 17277.79
        },
        "result": {
          "budget": -4950,
          "committed": -15451.13,
          "actual": 42198.87,
          "forecast": 6093.87,
          "paid": -4613.65
        },
        "costPerAttendee": 299.42,
        "breakEven": {
          "tickets": 241,
          "paidTickets": 46,
          "averagePaidTicket": 284.07
        },
        "categories": [
          {
            "categoryId": "b3ac6801-0000-4000-8000-000000000000",
            "kind": "income",
            "key": "tickets",
            "name": "Tickets",
            "budget": 62000,
            "committed": 13067.2,
            "actual": 13067.2,
            "forecast": 74433.42,
            "paid": 11434.97
          },
          {
            "categoryId": "b3ac6801-0000-4000-8000-000000000001",
            "kind": "income",
            "key": "addons",
            "name": "Add-ons",
            "budget": 4500,
            "committed": 1229.17,
            "actual": 1229.17,
            "forecast": 7001.6,
            "paid": 1229.17
          }
        ],
        "warnings": []
      }
      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/events/b3ac0000-0000-4000-8000-000000000001/budget",
        "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."
      }

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