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

# Get a list of usage events with multiple query options

> This API let’s you to fetch a list of events with multiple query parameters



## OpenAPI

````yaml get /events
openapi: 3.0.3
info:
  version: '1.0'
  title: Togai Apis
  contact:
    email: engg@togai.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  description: APIs for Togai App
servers:
  - description: Api endpoint
    url: https://api.togai.com/
  - description: Sandbox api endpoint
    url: https://sandbox-api.togai.com/
security:
  - bearerAuth: []
tags:
  - name: Customers
    description: Customer level calls
  - name: Accounts
    description: Account level calls
  - name: Event Schemas
    description: Event Schema level calls
  - name: Usage Meters
    description: Usage Meter level calls
  - name: Price Plans
    description: (DEPRECATED) Price Plan level calls
  - name: PricePlanV2
    description: Price Plan V2 level calls
  - name: Schedules
    description: Account Schedule level calls
  - name: Pricing Rules
    description: Pricing Rules level calls
  - name: Settings
    description: Settings
  - name: Price Experimentation
    description: Price Experimentation apis
  - name: InvoiceGroups
    description: Invoice Group level calls
  - name: Organization
    description: Organization level calls
  - name: FileStorage
    description: File Storage level calls
  - name: Aliases
    description: Alias level calls
  - name: Reports
    description: Report level calls
  - name: ReportTemplates
    description: Report Template level calls
  - name: Customer Portal
    description: Portal level calls
  - name: Alerts
    description: Alert level calls
  - name: Event Management
    description: APIs for getting events ingested in Togai
    externalDocs:
      description: docs
      url: https://togai.com/docs/billing/events
  - name: Metrics
    description: APIs for getting Togai metrics
    externalDocs:
      description: docs
      url: https://togai.com/docs/metrics
  - name: Licenses
    description: APIs for getting or updating license records in Togai
  - name: Entitlements
    description: APIs related to entitlements
  - name: Invoices
    description: Invoices API
  - name: Credits
    description: Credits API
  - name: Wallet
    description: Wallet API
  - name: InvoiceTemplates
    description: InvoiceTemplates API
  - name: InvoiceSequence
    description: InvoiceSequence API
  - name: Payments
    description: Payments API
  - name: Authentication
    description: Authentication API
externalDocs:
  description: Find out more about Togai
  url: https://docs.togai.com/docs
paths:
  /events:
    get:
      tags:
        - Event Management
      summary: Get a list of usage events with multiple query options
      description: >-
        This API let’s you to fetch a list of events with multiple query
        parameters
      operationId: getEvents
      parameters:
        - $ref: '#/components/parameters/filter_next_page_token'
        - $ref: '#/components/parameters/filter_status'
        - $ref: '#/components/parameters/filter_account_id'
        - $ref: '#/components/parameters/filter_schema_name'
        - $ref: '#/components/parameters/filter_page_size'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventsResponse'
              examples:
                GetEventsResponse:
                  $ref: '#/components/examples/GetEventsResponse'
        '400':
          description: Bad request. Please check the response message for failure details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: >-
            Credential is not valid. Please check the response message for
            failure details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Credential does not have access to list events.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: >-
            Unable to process the query parameters provided. Please check our
            docs for the api limits - https://togai.io/docs/limits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: >-
            Request throttled. Please check the response message on the failure
            details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  parameters:
    filter_next_page_token:
      in: query
      description: Pagination token used as a marker to get records from next page.
      name: nextToken
      required: false
      schema:
        type: string
        example: >-
          eyJsYXN0SXRlbUlkIjogInN0cmluZyIsICJwYWdlU2l6ZSI6IDEyMywgInNvcnRPcmRlciI6ICJhc2MifQ==
    filter_status:
      in: query
      description: Filter option to filter by status.
      name: status
      required: false
      schema:
        type: string
      examples:
        processed:
          value: PROCESSED
        in_progress:
          value: IN_PROGRESS
    filter_account_id:
      in: query
      description: Filter option to filter based on account id.
      name: account_id
      required: false
      schema:
        type: string
        example: '1234'
    filter_schema_name:
      in: query
      description: Filter option to filter the events based on schema name.
      name: schema_name
      required: false
      schema:
        type: string
        example: Rides
    filter_page_size:
      in: query
      description: |-
        Maximum page size expected by client to return the record list. 

         NOTE: Max page size cannot be more than 50. Also 50 is the default page size if no value is provided.
      name: pageSize
      required: false
      schema:
        type: integer
        example: 10
  schemas:
    GetEventsResponse:
      description: Get batch events response
      type: object
      additionalProperties: false
      required:
        - events
      properties:
        events:
          type: array
          minItems: 1
          maxItems: 50
          items:
            $ref: '#/components/schemas/EventWithStatus'
        nextToken:
          type: string
          maxLength: 500
          example: >-
            eyJsYXN0SXRlbUlkIjogInN0cmluZyIsICJwYWdlU2l6ZSI6IDEyMywgInNvcnRPcmRlciI6ICJhc2MifQ==
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - message
      properties:
        message:
          type: string
          description: error description
          maxLength: 500
    EventWithStatus:
      description: >-
        Raw usage event ingested by the business team and the status of the
        event ingestion.
      type: object
      additionalProperties: false
      required:
        - referenceId
        - eventPayload
        - ingestionStatus
        - createdAt
      properties:
        referenceId:
          type: string
          description: Unique id generated by Togai to identify an event uniquely
        eventPayload:
          $ref: '#/components/schemas/Event'
        ingestionStatus:
          $ref: '#/components/schemas/IngestionStatus'
        customerId:
          description: The associated account belongs to this customer
          type: string
          maxLength: 50
          example: '1'
        source:
          $ref: '#/components/schemas/EventSource'
        createdAt:
          description: >-
            Created time stamp of the event. This timestamp must be in ISO 8601
            format.
          type: string
          format: date-time
          example: '2022-06-15T07:30:35.123'
    Event:
      description: Contents of the event
      type: object
      additionalProperties: false
      required:
        - schemaName
        - timestamp
        - accountId
        - attributes
        - dimensions
      properties:
        schemaName:
          description: >
            Name of the Event Schema. 

            Know more about [event
            schema](https://docs.togai.com/docs/event-schemas)
          type: string
          minLength: 1
          maxLength: 50
        id:
          description: >-
            Togai restricts users to ingest events with same id within a period
            of *45 days*. This restriction is common for [/entitled
            API](/api-reference/entitlements/ingest-event-if-a-user-is-entitled-to-a-feature),
            [/ingest API](/api-reference/event-ingestion/ingest-events-to-togai)
            and [/ingestBatch
            API](/api-reference/event-ingestion/ingest-events-to-togai-in-batch).
            i.e, an id used on /ingest API will not be allowed on /ingestBatch
            or /entitled APIs
          type: string
          maxLength: 512
          example: c0b1306d-f506-43a6-856b-69221efaee6b
        timestamp:
          description: >-
            Source time stamp of the event. This timestamp must be in ISO 8601
            format.
          type: string
          format: date-time
          example: '2022-06-15T07:30:35.123'
        accountId:
          description: The event will be associated with the provided account
          type: string
          maxLength: 512
          example: 1
        attributes:
          description: >-
            Attributes are numeric values. It can be usage metric which you push
            to Togai
          type: array
          minItems: 0
          maxItems: 10
          items:
            $ref: '#/components/schemas/Attribute'
        dimensions:
          $ref: '#/components/schemas/Dimensions'
    IngestionStatus:
      description: Status about the event ingestion.
      type: object
      additionalProperties: false
      required:
        - status
      properties:
        status:
          type: string
          description: Ingestion status
          enum:
            - INGESTION_IN_PROGRESS
            - INGESTION_FAILED
            - INGESTION_FAILED_SCHEMA_NOT_DEFINED
            - INGESTION_FAILED_ENRICHMENT_FAILED
            - INGESTION_FAILED_UNITS_INVALID
            - INGESTION_COMPLETED_NO_MATCHING_METERS
            - INGESTION_COMPLETED_EVENT_METERED
            - INGESTION_COMPLETED_EVENT_NOT_METERED
            - INGESTION_FAILED_PAST_GRACE_PERIOD
            - INGESTION_FAILED_ACCOUNT_NOT_FOUND
            - INGESTION_FAILED_DUPLICATE_EVENT
            - INGESTION_FAILED_NO_EVENT_ID
            - INGESTION_FAILED_INVALID_NAMED_LICENSE_EVENT
            - INGESTION_FAILED_INSUFFICIENT_CREDITS
            - REVERTED
            - UNKNOWN
          example: INGESTION_COMPLETED
        statusDescription:
          type: string
          maxLength: 250
          example: Ingestion Completed successfully
    EventSource:
      description: Source of ingestion of event
      type: object
      additionalProperties: false
      required:
        - id
        - type
      properties:
        id:
          type: string
          description: Unique identifier representing the source
          maxLength: 100
        type:
          type: string
          description: Type of source
          maxLength: 100
    Attribute:
      description: Metric to be recorded
      type: object
      additionalProperties: false
      required:
        - name
        - value
      properties:
        name:
          description: Name of the event attribute
          type: string
          minLength: 1
          maxLength: 50
          example: message
        value:
          description: Value of the event attribute
          type: string
          pattern: ^-?\d{1,512}(\.\d+)?$
          example: 100
        unit:
          description: >-
            Unit with which the attribute value was measured. Natively supported
            units - "Meters, Miles, Kilometers, Grams, Kilograms, ounces,
            Pounds, Minutes, Hours, Seconds, Milliseconds, Microseconds, None".
            Clients are free to add any other custom units.
          type: string
          minLength: 1
          maxLength: 50
          example: characters
    Dimensions:
      description: Dimensions are tags/labels associated with the events.
      type: object
      additionalProperties:
        type: string
        minLength: 1
        maxLength: 200
        example:
          Country: India
  examples:
    GetEventsResponse:
      summary: example get batch event response
      value:
        events:
          - eventPayload:
              timestamp: '2023-02-23T14:25:10Z'
              schemaName: travelCompletedEvent
              id: c0b1306d-f506-43a6-856b-69221efaee6b
              referenceId: event.dsvhk32.234n3
              accountId: '1'
              attributes:
                - name: distanceTravelled
                  value: '50'
                  unit: Miles
                - name: timeSpent
                  value: '60'
                  unit: Minutes
              dimensions:
                location: Seattle
                costCenterCode: '1234'
                travelType: Business
            ingestionStatus:
              status: INGESTION_COMPLETED_EVENT_NOT_METERED
              statusDescription: >-
                Event ingestion completed successfully but the event is not
                associated with any bill plan.
            createdAt: '2021-03-04T14:25:10Z'
          - eventPayload:
              timestamp: '2023-02-23T14:25:10Z'
              schemaName: sendMessageEvent
              referenceId: event.dsvhk32.234n4
              id: c0b1306d-f506-43a6-856b-69221efaee6c
              accountId: '1'
              attributes:
                - name: messageSentCount
                  value: '50'
                  unit: None
                - name: sizeOfMessage
                  value: '60'
                  unit: KiloBytes
              dimensions:
                location: Seattle
                costCenterCode: '1234'
                messageProviderName: Twilio
            ingestionStatus:
              status: INGESTION_COMPLETED_EVENT_METERED
              statusDescription: Ingestion completed successfully
            createdAt: '2021-03-04T14:25:10Z'
  responses:
    ErrorResponse:
      description: Error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            ErrorResponse:
              summary: Error message
              value:
                message: <Reason message>
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Bearer <credential>

````