Banzai Reports API

Participation and attendance reporting.

OpenAPI Specification

banzai-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Public Demio Reports API
  version: v1
  description: 'Public REST API for Demio, the webinar and virtual-event platform operated by Banzai International. The API exposes the Event, Event Session (Date), registration and participant-reporting surface: list and read Events, read a specific Event Session, register a person for an Event and receive their unique join link, and pull the participant/attendance report for a Session. Every request is authorized with an account API Key and API Secret, supplied either as `Api-Key` / `Api-Secret` request headers or as `api_key` / `api_secret` query string parameters. Keys are managed in the Demio Settings > API area.


    Provenance: this document is a faithful format conversion of the API Blueprint that Demio publishes at https://publicdemioapi.docs.apiary.io (blueprint source https://jsapi.apiary.io/apis/publicdemioapi.apib, Apiary owner "Demio"). No operation, parameter, response or field has been added that is not documented in that blueprint. Descriptions, rate limits and error semantics are drawn from the Demio Help Center. Live behaviour of `GET /ping` was verified on 2026-08-06 (HTTP 401 `{"pong":false,"messages":["Authorization failed"]}` without credentials).'
  contact:
    name: Demio Support
    email: support@demio.com
    url: https://help.demio.com/en/
  termsOfService: https://www.demio.com/terms-and-conditions
  x-source-format: API Blueprint 1A
  x-source-url: https://jsapi.apiary.io/apis/publicdemioapi.apib
  x-source-last-updated: '2022-04-19'
  x-provenance: Derived by API Evangelist from the provider-published API Blueprint. Not an official Demio OpenAPI document.
servers:
- url: https://my.demio.com/api/v1
  description: Production
security:
- ApiKeyHeader: []
  ApiSecretHeader: []
tags:
- name: Reports
  description: Participation and attendance reporting.
paths:
  /report/{date_id}/participants:
    get:
      tags:
      - Reports
      operationId: listSessionParticipants
      summary: Event Date participants
      description: Returns the participant list for an Event Session (Date). Use the `status` query parameter to filter results by participation status.
      parameters:
      - name: date_id
        in: path
        required: true
        description: Event Date ID
        schema:
          type: integer
      - name: status
        in: query
        required: false
        description: Filter results by participation status
        schema:
          type: string
          enum:
          - attended
          - did not attend
          - completed
          - left early
          - banned
      responses:
        '200':
          description: Participants for the Session
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantList'
              example:
                participants:
                - email: john.doe@gmail.com
                  name: John
                  custom_fields:
                  - id: last_name
                    name: Last Name
                    value: Doe
                  - id: website
                    name: Website
                    value: https://demio.com
                  attended: true
                  status: completed
                - email: jane.doe@gmail.com
                  name: Jane Doe
                  custom_fields: []
                  attended: false
                  status: did not attend
components:
  schemas:
    ParticipantList:
      type: object
      properties:
        participants:
          type: array
          items:
            $ref: '#/components/schemas/Participant'
    ParticipantCustomField:
      type: object
      properties:
        id:
          type: string
          description: Field identifier
        name:
          type: string
          description: Field name
        value:
          type: string
          description: Field value
    Participant:
      type: object
      properties:
        email:
          type: string
          description: Email
        name:
          type: string
          description: Name
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/ParticipantCustomField'
        attended:
          type: boolean
          description: Participant attended the webinar
        status:
          type: string
          description: Participation status
          enum:
          - completed
          - did not attend
          - left early
          - banned
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: Api-Key
      description: Account API Key, from Demio Settings > API.
    ApiSecretHeader:
      type: apiKey
      in: header
      name: Api-Secret
      description: Account API Secret, from Demio Settings > API.
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: Account API Key supplied on the query string.
    ApiSecretQuery:
      type: apiKey
      in: query
      name: api_secret
      description: Account API Secret supplied on the query string.
externalDocs:
  description: Public Demio API documentation (Apiary)
  url: https://publicdemioapi.docs.apiary.io