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

# List catalog offers

> Paginated offer listing. Each item carries its current (ACTIVE) version with its priced items, or null when no version is active.



## OpenAPI

````yaml GET /offers
openapi: 3.1.0
info:
  title: Wave Lines API
  version: 1.0.0
servers: []
security:
  - client_id: []
    secret_key: []
tags:
  - name: lines
    description: Line lifecycle operations
  - name: payments
    description: Payment listing and lookup
  - name: tax-receipts
    description: Tax receipt listing, lookup and document download
  - name: subscriptions
    description: Subscription lookup, product management and invoices
  - name: holders
    description: Holder (customer) listing, lookup and creation
  - name: usage
    description: 'Usage: per-product line balance and consumption'
  - name: Portability
    description: >-
      Number portability: port-in request creation, listing, modification and
      cancellation, plus the consolidated portability status
  - name: Inventory
    description: >-
      Inventory resource pools: pool listing, the resources held in a pool and
      resource reservations
  - name: Catalog
    description: Catalog offers exposed by the Wave Catalog API
paths:
  /offers:
    get:
      tags:
        - Catalog
      summary: List catalog offers
      description: >-
        Paginated offer listing. Each item carries its current (ACTIVE) version
        with its priced items, or null when no version is active.
      parameters:
        - schema:
            type: boolean
          in: query
          name: discontinued
          required: false
        - schema:
            type: string
            enum:
              - MONTHLY
              - QUARTERLY
              - ANNUAL
              - CUSTOM
          in: query
          name: recurrence
          required: false
        - schema:
            type: boolean
          in: query
          name: isAddon
          required: false
        - schema:
            type: string
            minLength: 1
          in: query
          name: name
          required: false
        - schema:
            type: string
            format: uuid
          in: query
          name: broker
          required: false
          description: >-
            Filter by broker (partner). The x-broker-id header takes precedence
            over this filter.
        - schema:
            type: string
            format: date-time
          in: query
          name: createdAtFrom
          required: false
        - schema:
            type: string
            format: date-time
          in: query
          name: createdAtTo
          required: false
        - schema:
            type: string
            format: date-time
          in: query
          name: updatedAtFrom
          required: false
        - schema:
            type: string
            format: date-time
          in: query
          name: updatedAtTo
          required: false
        - schema:
            type: string
            enum:
              - createdAt
              - name
              - updatedAt
            default: createdAt
          in: query
          name: orderBy
          required: false
        - schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
          in: query
          name: order
          required: false
        - schema:
            type: number
            exclusiveMinimum: 0
            default: 1
          in: query
          name: page
          required: false
        - schema:
            type: number
            exclusiveMinimum: 0
            maximum: 100
            default: 10
          in: query
          name: pageSize
          required: false
        - schema:
            anyOf:
              - type: string
                enum:
                  - ACTIVE
                  - DRAFT
                  - PAUSED
                  - DISCONTINUED
              - type: string
              - type: array
                items:
                  type: string
                  enum:
                    - ACTIVE
                    - DRAFT
                    - PAUSED
                    - DISCONTINUED
          in: query
          name: status
          required: false
          description: >-
            Filter by one or more offer statuses. Repeat the parameter or pass a
            comma-separated list.
        - schema:
            anyOf:
              - type: string
                enum:
                  - PREPAID
                  - POSTPAID
              - type: string
              - type: array
                items:
                  type: string
                  enum:
                    - PREPAID
                    - POSTPAID
          in: query
          name: chargeType
          required: false
          description: >-
            Filter by one or more charge types. Repeat the parameter or pass a
            comma-separated list.
        - schema:
            anyOf:
              - type: string
                minLength: 1
              - type: string
              - type: array
                items:
                  type: string
                  minLength: 1
          in: query
          name: tags
          required: false
          description: >-
            Filter by one or more tags. Repeat the parameter or pass a
            comma-separated list.
        - schema:
            type: string
            format: uuid
          in: header
          name: x-broker-id
          required: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        description:
                          type:
                            - 'null'
                            - string
                        externalCode:
                          type:
                            - 'null'
                            - string
                        status:
                          type: string
                          enum:
                            - ACTIVE
                            - DRAFT
                            - PAUSED
                            - DISCONTINUED
                        chargeType:
                          type: string
                          enum:
                            - PREPAID
                            - POSTPAID
                        recurrence:
                          anyOf:
                            - type: object
                              properties:
                                frequency:
                                  type: string
                                  enum:
                                    - MONTHLY
                                    - QUARTERLY
                                    - ANNUAL
                                    - CUSTOM
                                customPeriodDays:
                                  type: integer
                              required:
                                - frequency
                              additionalProperties: false
                            - type: 'null'
                        isAddon:
                          type: boolean
                        tags:
                          type: array
                          items:
                            type: string
                        discontinued:
                          type: boolean
                        broker:
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                              required:
                                - id
                                - name
                              additionalProperties: false
                            - type: 'null'
                        metadata:
                          anyOf:
                            - type: object
                              additionalProperties:
                                type:
                                  - string
                                  - number
                                  - boolean
                                  - 'null'
                            - type: 'null'
                        createdAt:
                          type: string
                        updatedAt:
                          type:
                            - 'null'
                            - string
                        currentVersion:
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                versionNumber:
                                  type: integer
                                status:
                                  type: string
                                  enum:
                                    - DRAFT
                                    - APPROVING
                                    - ACTIVE
                                    - DEPRECATED
                                validityStart:
                                  type:
                                    - string
                                    - 'null'
                                validityEnd:
                                  type:
                                    - string
                                    - 'null'
                                totalPrice:
                                  type: string
                                hasUsageBasedItems:
                                  type: boolean
                                items:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                      component:
                                        type: object
                                        properties:
                                          id:
                                            type: string
                                          name:
                                            type: string
                                          icon:
                                            type:
                                              - string
                                              - 'null'
                                        required:
                                          - id
                                          - name
                                          - icon
                                        additionalProperties: false
                                      quantity:
                                        type: number
                                      price:
                                        anyOf:
                                          - type: object
                                            properties:
                                              model:
                                                type: string
                                                enum:
                                                  - STANDARD
                                              properties:
                                                type: object
                                                properties:
                                                  price:
                                                    type: string
                                                  payInAdvance:
                                                    type: boolean
                                                required:
                                                  - price
                                                additionalProperties: false
                                            required:
                                              - model
                                              - properties
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              model:
                                                type: string
                                                enum:
                                                  - PERCENTAGE
                                              properties:
                                                type: object
                                                properties:
                                                  billableMetricId:
                                                    type: string
                                                  rate:
                                                    type: string
                                                required:
                                                  - billableMetricId
                                                  - rate
                                                additionalProperties: false
                                            required:
                                              - model
                                              - properties
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              model:
                                                type: string
                                                enum:
                                                  - FLAT
                                              properties:
                                                type: object
                                                properties:
                                                  billableMetricId:
                                                    type: string
                                                  unitPrice:
                                                    type: string
                                                required:
                                                  - billableMetricId
                                                  - unitPrice
                                                additionalProperties: false
                                            required:
                                              - model
                                              - properties
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              model:
                                                type: string
                                                enum:
                                                  - GRADUATED
                                              properties:
                                                type: object
                                                properties:
                                                  billableMetricId:
                                                    type: string
                                                  ranges:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        fromValue:
                                                          type: number
                                                        toValue:
                                                          type: number
                                                        perUnitPrice:
                                                          type: string
                                                        flatPrice:
                                                          type: string
                                                      required:
                                                        - fromValue
                                                      additionalProperties: false
                                                required:
                                                  - billableMetricId
                                                  - ranges
                                                additionalProperties: false
                                            required:
                                              - model
                                              - properties
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              model:
                                                type: string
                                                enum:
                                                  - PACKAGE
                                              properties:
                                                type: object
                                                properties:
                                                  billableMetricId:
                                                    type: string
                                                  packageSize:
                                                    type: number
                                                  price:
                                                    type: string
                                                  freeUnits:
                                                    type: number
                                                required:
                                                  - billableMetricId
                                                  - packageSize
                                                  - price
                                                additionalProperties: false
                                            required:
                                              - model
                                              - properties
                                            additionalProperties: false
                                      currency:
                                        type: string
                                      billable:
                                        type: boolean
                                      billableFromCycle:
                                        anyOf:
                                          - type: integer
                                          - type: 'null'
                                      validity:
                                        anyOf:
                                          - type: object
                                            properties:
                                              duration:
                                                type: integer
                                              unit:
                                                type: string
                                                enum:
                                                  - CYCLES
                                                  - DAYS
                                                  - MONTHS
                                            required:
                                              - duration
                                              - unit
                                            additionalProperties: false
                                          - type: 'null'
                                      usageBased:
                                        type: boolean
                                    required:
                                      - id
                                      - component
                                      - quantity
                                      - price
                                      - currency
                                      - billable
                                      - billableFromCycle
                                      - validity
                                      - usageBased
                                    additionalProperties: false
                              required:
                                - id
                                - versionNumber
                                - status
                                - validityStart
                                - validityEnd
                                - totalPrice
                                - hasUsageBasedItems
                                - items
                              additionalProperties: false
                            - type: 'null'
                      required:
                        - id
                        - name
                        - description
                        - externalCode
                        - status
                        - chargeType
                        - recurrence
                        - isAddon
                        - tags
                        - discontinued
                        - broker
                        - metadata
                        - createdAt
                        - updatedAt
                        - currentVersion
                      additionalProperties: false
                  meta:
                    type: object
                    properties:
                      total:
                        type: integer
                        minimum: 0
                      page:
                        type: integer
                        exclusiveMinimum: 0
                      pageSize:
                        type: integer
                        exclusiveMinimum: 0
                      totalPages:
                        type: integer
                        minimum: 0
                    required:
                      - total
                      - page
                      - pageSize
                      - totalPages
                    additionalProperties: false
                required:
                  - items
                  - meta
                additionalProperties: false
components:
  securitySchemes:
    client_id:
      type: apiKey
      in: header
      name: client_id
    secret_key:
      type: apiKey
      in: header
      name: secret_key

````