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

# List usage events

> List the usage events your store has ingested, oldest first in ingestion order, as a forward cursor page. Filters compose: by meter (resolved to the meter's event name), by customer, and by `reference` (the `event_id` you supplied). Events are returned raw — a meter's filter clauses are not applied. Usage events are append-only, so pagination is forward-only and there is no `ending_before`.



## OpenAPI

````yaml get /v1/events
openapi: 3.0.0
info:
  title: Creem API
  description: >-
    Creem is an all-in-one platform for managing subscriptions and recurring
    revenue, tailored specifically for today's SaaS companies. It enables you to
    boost revenue, enhance customer retention, and scale your operations
    seamlessly.
  version: v1
  contact:
    name: Creem Support
    url: https://creem.io
    email: support@creem.io
  license:
    name: Commercial
    url: https://creem.io/terms
  termsOfService: https://creem.io/terms
servers:
  - url: https://api.creem.io
    description: Production — live API for processing real transactions and data.
    x-speakeasy-server-id: prod
  - url: https://test-api.creem.io
    description: Test — sandbox API for development and testing with no real charges.
    x-speakeasy-server-id: test
security: []
tags: []
externalDocs:
  description: Creem Documentation
  url: https://docs.creem.io
paths:
  /v1/events:
    get:
      tags:
        - Events
      summary: List usage events
      description: >-
        List the usage events your store has ingested, oldest first in ingestion
        order, as a forward cursor page. Filters compose: by meter (resolved to
        the meter's event name), by customer, and by `reference` (the `event_id`
        you supplied). Events are returned raw — a meter's filter clauses are
        not applied. Usage events are append-only, so pagination is forward-only
        and there is no `ending_before`.
      operationId: listUsageEvents
      parameters:
        - name: meter_id
          required: false
          in: query
          description: >-
            Only return events consumed by this meter (resolved to the meter’s
            event name)
          schema:
            example: mtr_abc123
            type: string
        - name: customer_id
          required: false
          in: query
          description: Only return events for this customer
          schema:
            example: cust_abc123
            type: string
        - name: reference
          required: false
          in: query
          description: Only return the event carrying this `event_id`
          schema:
            example: order-1234
            type: string
        - name: limit
          required: false
          in: query
          description: Maximum number of events to return
          schema:
            minimum: 1
            maximum: 100
            default: 10
            type: number
        - name: starting_after
          required: false
          in: query
          description: >-
            Cursor for forward pagination — event ID to start after. Usage
            events are append-only and paginate forward only, so there is
            deliberately no `ending_before`.
          schema:
            example: uev_abc123
            type: string
      responses:
        '200':
          description: Paginated list of usage events
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageEventListApiResponseDto'
        '400':
          description: Bad Request - Invalid input parameters
        '401':
          description: Unauthorized - Invalid or missing API key
        '404':
          description: Not Found - Resource does not exist
      security:
        - ApiKey: []
components:
  schemas:
    UsageEventListApiResponseDto:
      type: object
      properties:
        object:
          type: string
          description: Object type
          example: list
        data:
          description: Array of usage events
          type: array
          items:
            $ref: '#/components/schemas/UsageEventApiResponseDto'
        has_more:
          type: boolean
          description: Whether more items exist beyond this page
      required:
        - object
        - data
        - has_more
    UsageEventApiResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Usage event ID
          example: uev_abc123
        customer_id:
          type: string
          description: Customer ID
          example: cust_abc123
        event_id:
          type: string
          description: Your idempotency key for this event
          example: order-1234
        name:
          type: string
          description: Event name
          example: image.generated
        properties:
          type: object
          description: Top-level structured fields carried by the event
        metadata:
          type: object
          description: Free-form metadata; keys are addressable by meter filters
        timestamp:
          type: string
          description: When the usage occurred, on your clock (ISO 8601)
        created_at:
          type: string
          description: When the event was ingested (ISO 8601)
        matched_meters:
          description: >-
            Ids of the ACTIVE meters that consume this event name, computed at
            read time (an archived or later-created meter changes this answer —
            it is not stored with the event). An empty array means the event is
            not feeding any aggregation right now.
          example:
            - mtr_abc123
          type: array
          items:
            type: string
      required:
        - id
        - customer_id
        - event_id
        - name
        - properties
        - metadata
        - timestamp
        - created_at
        - matched_meters
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. You can find your API key in the Creem
        dashboard under Settings > API Keys.

````