> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.sessionboard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the registration summary

> The event's registration numbers in one call — the same figures as the Registration
Overview page: registrations by status, per day (event time zone), per ticket type
(sold, capacity, revenue), per attendee type and per form, the member mix, revenue
collected and refunded, orders per status, invoices still owed and shared capacity
pools. Amounts are integers in cents.

`totals.registrations` counts every live registration (`incomplete`, `pending_approval`,
`waitlisted`, `confirmed`, `checked_in`).

Requires `read:registrations` (legacy tokens with no scopes pass).




## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/event/{eventId}/registration/summary
openapi: 3.1.0
info:
  title: Sessionboard Public API
  version: '1.0'
  description: >-
    REST API for managing sessions, speakers, contacts, sponsors, exhibitors,
    and event data on the Sessionboard platform.
  contact:
    name: Sessionboard Support
    email: support@sessionboard.com
  termsOfService: https://www.sessionboard.com/legal/terms-of-service
servers:
  - url: https://public-api.sessionboard.com
    description: US Region
  - url: https://public-api-eu.sessionboard.com
    description: EU Region
security:
  - ApiKey: []
  - BearerToken: []
tags:
  - name: Events
    description: Manage events on the platform.
  - name: Sessions
    description: Search and retrieve sessions within an event.
  - name: Session Writes
    description: >-
      Create, update, delete, and restore sessions. Requires the
      `write:sessions` scope.
  - name: Contact Writes
    description: >-
      Create, update, delete, and restore contacts. Requires the
      `write:contacts` scope.
  - name: Exhibitor Writes
    description: >-
      Create, update, delete, and restore exhibitors. Requires the
      `write:exhibitors` scope.
  - name: Sponsor Writes
    description: >-
      Create, update, delete, and restore sponsors. Requires the
      `write:sponsors` scope.
  - name: Field Writes
    description: >-
      Create, update, and delete custom fields. Requires the `write:fields`
      scope.
  - name: Speakers
    description: Search and retrieve speakers within an event.
  - name: Participants
    description: |
      Search and retrieve every contact holding a session role on an event —
      speakers, chairpersons, moderators and custom roles — with the roles
      each one holds, and list the event's participant roles.
  - name: Contacts
    description: Search and retrieve contacts at the organization or event level.
  - name: Sponsors
    description: Search and retrieve sponsors within an event.
  - name: Exhibitors
    description: Search and retrieve exhibitors within an event.
  - name: Event Settings
    description: >-
      Retrieve event configuration such as fields, tags, tracks, rooms, formats,
      levels, languages, and session statuses.
  - name: GDPR
    description: Manage GDPR data access and erasure requests.
  - name: Insights
    description: >-
      Query event data using SbQL, generate queries with AI, and manage
      dashboards.
  - name: Ask
    description: >-
      Ask a natural-language question about one event and get a cited answer.
      Requires the `read:ask` scope, granted explicitly.
  - name: Metadata Writes
    description: >-
      Create, update, and delete session metadata (rooms, tracks, tags, formats,
      levels, languages, statuses). Requires the `write:metadata` scope.
  - name: Agenda Planning
    description: >-
      Manage agenda drafts, draft sessions, scheduling rules, and evaluation
      personas. Requires the `write:events` scope.
  - name: Dashboards & Widgets
    description: >-
      Create, read, update, and delete dashboards and widgets at the event or
      organization level. Requires `write:events` scope for writes.
  - name: Reports & Queries
    description: >-
      Create, read, update, delete, and run saved SbQL queries/reports at the
      event or organization level. Requires `write:events` scope for writes.
  - name: Transcriptions
    description: >-
      Transcript text on sessions — fragments, summaries, insights, and
      translations. Requires `read:transcriptions` / `write:transcriptions`
      scopes.
  - name: Session Recordings
    description: >-
      Session audio files for recording archives (live capture or imported
      audio). Requires `read:transcriptions` / `write:transcriptions` scopes.
  - name: Media
    description: >-
      Upload video or audio files for automatic transcription. Requires
      `read:media` / `write:media` scopes.
  - name: Session Files
    description: >
      Documents attached to sessions (PDFs, PowerPoint, Word, images, and
      similar).

      Simple upload: `POST .../files/upload` (multipart, max 50 MB).

      Direct-to-storage: create → PUT → complete (max 500 MB).

      Requires `read:sessions` / `write:sessions` scopes.

      See the [Uploading session files](/guides/uploading-session-files) guide.
  - name: OAuth
    description: >-
      OAuth 2.1 endpoints for AI client authorization (Claude, ChatGPT). Mounted
      at `/oauth/` (not `/v1/`).
  - name: Log Export
    description: >
      Pull your organization's API request, security and audit logs into a SIEM

      such as Splunk, Microsoft Sentinel or Elastic. Requires a dedicated API
      token

      with the `read:audit_logs` scope, which can call nothing else.

      See the [Exporting logs to a SIEM](/guides/exporting-logs-to-a-siem)
      guide.
  - name: Awards
    description: >-
      Read and manage Awards programs and their categories, rounds, promo codes,
      submissions and reviews. Organization-level: paths start at
      `/v1/organization/{orgId}/awards`. Requires `read:awards` / `write:awards`
      scopes.
  - name: Registration
    description: >
      Registration inside Sessionboard: registration forms, ticket types,
      registrations,

      orders, attendees and check-ins for one event. Requires the preview scopes

      `read:registrations` / `write:registrations`, which a token or OAuth
      client gets only

      when they are named explicitly (not by default, and not listed in
      `scopes_supported`).

      The event must have Registration turned on (Early Access); otherwise every
      endpoint

      answers `403 FORBIDDEN`.

      See the [Registration and Expo](/guides/registration-and-expo) guide.
  - name: Expo
    description: >
      Expo floor-map booths and sponsorship inventory for one event. Requires
      the preview

      scopes `read:expo` / `write:expo`, which a token or OAuth client gets only
      when they are

      named explicitly (not by default, and not listed in `scopes_supported`).
      The event must

      have Expo turned on (Early Access); otherwise every endpoint answers `403
      FORBIDDEN`.

      See the [Registration and Expo](/guides/registration-and-expo) guide.
paths:
  /v1/event/{eventId}/registration/summary:
    get:
      tags:
        - Registration
      summary: Get the registration summary
      description: >
        The event's registration numbers in one call — the same figures as the
        Registration

        Overview page: registrations by status, per day (event time zone), per
        ticket type

        (sold, capacity, revenue), per attendee type and per form, the member
        mix, revenue

        collected and refunded, orders per status, invoices still owed and
        shared capacity

        pools. Amounts are integers in cents.


        `totals.registrations` counts every live registration (`incomplete`,
        `pending_approval`,

        `waitlisted`, `confirmed`, `checked_in`).


        Requires `read:registrations` (legacy tokens with no scopes pass).
      operationId: get-registration-summary
      parameters:
        - $ref: '#/components/parameters/EventId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/RegistrationSummary'
              example:
                data:
                  totals:
                    registrations: 318
                    confirmed: 290
                    pending_approval: 12
                    waitlisted: 6
                    checked_in: 0
                    canceled: 9
                  revenue:
                    currency: USD
                    gross_cents: 25841000
                    refunded_cents: 89500
                    outstanding_invoices_cents: 1790000
                  by_day:
                    - date: '2026-10-01'
                      registrations: 41
                    - date: '2026-10-02'
                      registrations: 17
                  by_ticket_type:
                    - id: 0b9d6a3c-2e1f-4a5b-9c8d-7e6f5a4b3c2d
                      name: Full conference
                      type: ticket
                      sold: 280
                      capacity: 400
                      revenue_cents: 25060000
                  by_registrant_type:
                    - id: 3a2b1c0d-9e8f-4a7b-6c5d-4e3f2a1b0c9d
                      name: Member
                      count: 201
                  by_form:
                    - id: 6c1f2d9e-3b4a-4f5e-8a7b-1c2d3e4f5a6b
                      name: Attendee
                      count: 318
                  membership:
                    member: 201
                    lapsed: 14
                    non_member: 103
                    joined: 9
                  signals:
                    emitted: 702
                    registered: 318
                    interests_declared: 120
                    session_picks: 260
                    checked_in: 0
                    badges_printed: 4
                  orders:
                    by_status:
                      - status: paid
                        count: 288
                        total_cents: 25751500
                        paid_cents: 25751500
                      - status: awaiting_invoice
                        count: 9
                        total_cents: 1790000
                        paid_cents: 0
                  outstanding_invoices:
                    count: 9
                    overdue: 2
                    balance_cents: 1790000
                  capacity_pools: []
        '401':
          $ref: '#/components/responses/RegistrationUnauthorized'
        '403':
          $ref: '#/components/responses/RegistrationForbidden'
        '429':
          $ref: '#/components/responses/RegistrationTooManyRequests'
components:
  parameters:
    EventId:
      name: eventId
      in: path
      required: true
      schema:
        type: integer
      description: Event ID
  schemas:
    RegistrationSummary:
      type: object
      description: >-
        The event's registration numbers (the Registration Overview page).
        Amounts in cents.
      properties:
        totals:
          type: object
          properties:
            registrations:
              type: integer
              description: >-
                Live registrations: incomplete, pending approval, waitlisted,
                confirmed, checked in.
            confirmed:
              type: integer
            pending_approval:
              type: integer
            waitlisted:
              type: integer
            checked_in:
              type: integer
            canceled:
              type: integer
        revenue:
          type: object
          properties:
            currency:
              type: string
              description: The event's registration currency.
            gross_cents:
              type: integer
              description: Succeeded charges.
            refunded_cents:
              type: integer
            outstanding_invoices_cents:
              type: integer
        by_day:
          type: array
          description: >-
            Registrations per day in the event time zone (canceled and
            transferred excluded).
          items:
            type: object
            properties:
              date:
                type: string
                format: date
              registrations:
                type: integer
        by_ticket_type:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              type:
                type: string
              sold:
                type: integer
              capacity:
                type:
                  - integer
                  - 'null'
              revenue_cents:
                type: integer
        by_registrant_type:
          type: array
          items:
            type: object
            properties:
              id:
                type:
                  - string
                  - 'null'
                format: uuid
              name:
                type: string
              count:
                type: integer
        by_form:
          type: array
          items:
            type: object
            properties:
              id:
                type:
                  - string
                  - 'null'
                format: uuid
              name:
                type: string
              count:
                type: integer
        membership:
          type: object
          properties:
            member:
              type: integer
            lapsed:
              type: integer
            non_member:
              type: integer
            joined:
              type: integer
              description: People who joined through the form.
        signals:
          type: object
          additionalProperties:
            type: integer
        orders:
          type: object
          properties:
            by_status:
              type: array
              items:
                type: object
                properties:
                  status:
                    type: string
                  count:
                    type: integer
                  total_cents:
                    type: integer
                  paid_cents:
                    type: integer
        outstanding_invoices:
          type: object
          properties:
            count:
              type: integer
              description: Open or partly paid invoices.
            overdue:
              type: integer
              description: Of those
              past their due date.: null
            balance_cents:
              type: integer
        capacity_pools:
          type: array
          items:
            $ref: '#/components/schemas/CapacityPool'
    CapacityPool:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        capacity:
          type: integer
        sold:
          type: integer
        left:
          type: integer
        percent:
          type: integer
          description: Percent full (0–100).
        tickets:
          type: array
          items:
            type: object
            properties:
              ticket_type_id:
                type: string
                format: uuid
              name:
                type:
                  - string
                  - 'null'
              status:
                type: string
                description: '`missing` when the ticket type was deleted.'
              own_capacity:
                type:
                  - integer
                  - 'null'
              sold:
                type: integer
    RegistrationApiError:
      type: object
      description: Error body of the Registration and Expo endpoints.
      required:
        - error
        - message
      properties:
        error:
          type: string
          enum:
            - VALIDATION_ERROR
            - NOT_FOUND
            - FORBIDDEN
            - CONFLICT
            - SCOPE_REQUIRED
            - EVENT_NOT_ALLOWED
            - EVENT_ARCHIVED
            - INTERNAL_ERROR
        message:
          type: string
        details:
          type: object
          description: Present when there is a machine-readable reason.
          properties:
            reason:
              type: string
              description: >
                Why the request was refused, for example `duplicate`,
                `sold_out`, `too_many`,

                `ticket_unavailable`, `not_on_sale`,
                `registrant_type_unavailable`,

                `answers_invalid`, `discount_invalid`, `wrong_status`,
                `account_required` or

                `booth_not_found`.
            status:
              type: string
              description: >-
                For `wrong_status` on Check someone in, the registration's
                current status.
            errors:
              type: object
              additionalProperties: true
              description: >-
                More detail for some reasons — the email for `duplicate`, the
                `ticket_type_id` for `sold_out`, the problems per answer for
                `answers_invalid`.
  responses:
    RegistrationUnauthorized:
      description: >-
        Missing, invalid or expired token, or the event does not belong to your
        organization.
    RegistrationForbidden:
      description: >
        - `SCOPE_REQUIRED` — the token lacks the scope (`read:registrations` for
        reads, `write:registrations` for writes). A write scope does not grant
        reads, and legacy tokens with no scopes cannot write.

        - `EVENT_NOT_ALLOWED` — the event is outside the token's event
        allow-list.

        - `EVENT_ARCHIVED` — the event is archived.

        - `FORBIDDEN` — Registration is not turned on for this event.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistrationApiError'
          examples:
            feature_off:
              summary: Registration is off for the event
              value:
                error: FORBIDDEN
                message: Registration is not enabled for this event
            scope_required:
              summary: Token lacks the write scope
              value:
                error: SCOPE_REQUIRED
                message: This operation requires the 'write:registrations' scope.
    RegistrationTooManyRequests:
      description: |
        The token's request limit (100 requests per 15 minutes per bucket — see
        [Rate Limiting](/rate-limiting)). Wait `Retry-After` seconds.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-access-token
      description: >-
        Organization API token. Generate from Organization Settings → API
        Tokens.
    BearerToken:
      type: http
      scheme: bearer
      description: >-
        OAuth 2.1 access token. Obtained via the OAuth PKCE flow at
        `/oauth/token`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.