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

# Get offers

> Get a list of offers



## OpenAPI

````yaml /openapi/current/dvm/reseller-to-dvm/offer/openapi.yaml get /catalogs/offers
openapi: 3.1.0
info:
  title: Offer Catalog
  version: 1.0.0
  description: >
    # Overview

    Use this API to view your offer catalog.


    Offers are currently created for you by Bango, but you can use the API below
    to view the detailed information associated to them.


    # Change log

    **2025-06-12** | v.1.0.0

    - Overview added

    - Version incremented to match correct major.minor.fix versioning


    **2025-04-05** | v.0.0.2

    - An offer now has a plan, enabling lifecycle management when a consumer
    that subscribes to an offer


    **2024-10-17** | v.0.0.1

    - Initial release
servers:
  - url: https://api.sandbox.bango.com
    description: Integration test environment
  - url: https://api.bango.com
    description: Production environment
security:
  - basic: []
tags:
  - name: Offer management
    description: >-
      Offers are currently created for you, but you can use this API to view the
      detailed information associated to them.
paths:
  /catalogs/offers:
    get:
      tags:
        - Offer management
      summary: Get offers
      description: Get a list of offers
      parameters:
        - name: locale
          in: query
          description: >
            Use this parameter to return `localizedData` translations for the
            locale provided. 

            - If there are no translations for this locale, an empty
            `localizedData` resource is included in the response.

            - If locale is not included in the request, the `localizedData`
            resource is omitted from the response.
          required: false
          example: en-US
          schema:
            type: string
        - name: productId
          in: query
          description: >
            Use this parameter to filter the offers returned to only those that
            are related to the `productId` specified.

            - If there are no offers associated to that `productId` the array
            returned will be empty.
          required: false
          example: 5f721731-2946-45f9-9f0e-03df00cf11ed
          schema:
            type: string
      responses:
        '200':
          description: Offers retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Offers'
              examples:
                Request without locale:
                  value:
                    - offerId: f58ecec5-27cc-40c8-8723-4d01678fed6f
                      name: Bango Music Premium - 1 month free
                      availableFromTs: '2024-06-22T17:35:38.922Z'
                      availableToTs: '2025-06-22T17:35:38.922Z'
                      products:
                        - productId: 5f721731-2946-45f9-9f0e-03df00cf11ed
                          name: Music
                          productTier:
                            productTierId: 4020dd8a-99fd-441e-b14b-575166c9b43b
                            name: Premium
                            productTierKey: PREMIUM_1_MONTH_FREE
                          contentProvider:
                            contentProviderId: fc5c87fb-469c-4623-8277-cfa9c13d63bc
                            name: Bango
                            merchantAccountKey: BANGO
                      plan:
                        planId: 1eb68c4e-52a1-423a-8742-0396e97c0fb7
                        lifecycleStartTrigger:
                          triggerSource: CONSUMER_OFFER
                          triggerEvent: CONSUMER_OFFER_FULLY_CREATED
                        type: SUBSCRIPTION
                        currency: USD
                        currencyAssetScale: 2
                        phases:
                          - sequence: 0
                            priceType: FREE
                            renewalFrequency: P1M
                            duration: P1M
                            amount: 0
                            displayAmount: '0.00'
                            billingDescription: Bango Music Premium Free
                          - sequence: 1
                            priceType: FULL_PRICE
                            renewalFrequency: P1M
                            amount: 1099
                            displayAmount: '10.99'
                            billingDescription: Bango Music Premium
                Request with locale:
                  value:
                    - offerId: f58ecec5-27cc-40c8-8723-4d01678fed6f
                      name: Bango Music Premium - 1 month free
                      availableFromTs: '2024-06-22T17:35:38.922Z'
                      availableToTs: '2025-06-22T17:35:38.922Z'
                      localizedData:
                        en-US:
                          description: 'Bango Music Premium: 1 month free then $5.99/m'
                          promotionTitle: 1 month free
                          promotionBody: Listen to add free music 24/7
                          termsAndConditionsUrl: https://link.to.T&Cs
                      products:
                        - productId: 5f721731-2946-45f9-9f0e-03df00cf11ed
                          name: Music
                          localizedData:
                            en-US:
                              description: Music
                          productTier:
                            productTierId: 4020dd8a-99fd-441e-b14b-575166c9b43b
                            name: Premium
                            productTierKey: PREMIUM_1_MONTH_FREE
                            localizedData:
                              en-US:
                                description: Premium
                          contentProvider:
                            contentProviderId: fc5c87fb-469c-4623-8277-cfa9c13d63bc
                            name: Bango
                            merchantAccountKey: BANGO
                            localizedData:
                              en-US:
                                description: Bango
                      plan:
                        planId: 1eb68c4e-52a1-423a-8742-0396e97c0fb7
                        lifecycleStartTrigger:
                          triggerSource: CONSUMER_OFFER
                          triggerEvent: CONSUMER_OFFER_FULLY_CREATED
                        type: SUBSCRIPTION
                        currency: USD
                        currencyAssetScale: 2
                        phases:
                          - sequence: 0
                            priceType: FREE
                            renewalFrequency: P1M
                            duration: P1M
                            amount: 0
                            displayAmount: '0.00'
                            billingDescription: Bango Music Premium Free
                          - sequence: 1
                            priceType: FULL_PRICE
                            renewalFrequency: P1M
                            amount: 1099
                            displayAmount: '10.99'
                            billingDescription: Bango Music Premium
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Invalid Parameter:
                  value:
                    errors:
                      - code: invalid-parameter
                        message: A parameter in the request was not valid
                        originator: BANGO
                        metadata: {}
        '401':
          description: Unauthorized (no response body returned)
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  value:
                    errors:
                      - code: internal-server-error
                        message: >-
                          The server encountered an unexpected condition which
                          prevented it from fulfilling the request
                        originator: BANGO
                        metadata: {}
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Service unavailable:
                  value:
                    errors:
                      - code: service-unavailable
                        message: >-
                          The service is undergoing maintenance and is not
                          available. Please try again later
                        originator: BANGO
                        metadata: {}
components:
  schemas:
    Offers:
      type: array
      items:
        $ref: '#/components/schemas/Offer'
    ErrorResponse:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    Offer:
      type: object
      required:
        - offerId
        - name
        - availableFromTs
        - availableToTs
        - products
      properties:
        offerId:
          type: string
          format: uuid
          description: Bango's unique identifier of the offer
          examples:
            - f58ecec5-27cc-40c8-8723-4d01678fed6f
        name:
          type: string
          description: The offer name
          examples:
            - Bango Music Premium - 1 month free
        availableFromTs:
          type: string
          format: date-time
          description: The date from which this offer is available to consumers
          examples:
            - '2024-06-22T17:35:38.922Z'
        availableToTs:
          type: string
          format: date-time
          description: The date after which this offer is no longer available to consumers
          examples:
            - '2024-06-22T17:35:38.922Z'
        localizedData:
          type: object
          properties:
            en-US:
              $ref: '#/components/schemas/OfferLocalizedData'
              type: object
        products:
          type: array
          items:
            $ref: '#/components/schemas/OfferProduct'
        plan:
          $ref: '#/components/schemas/Plan'
          type: object
    Error:
      type: object
      required:
        - code
        - message
        - originator
      properties:
        code:
          type: string
          description: Code to identify the type of error
        message:
          type: string
          description: Error code description
        originator:
          type: string
          description: The source of the error
        metadata:
          type: object
          description: Additional information to support error investigation
    OfferLocalizedData:
      type: object
      properties:
        description:
          type: string
          description: Localized description of the offer
          examples:
            - 'Bango Music Premium: 1 month free then $5.99/m'
        promotionTitle:
          type: string
          description: Localized description of the promo title
          examples:
            - 1 month free
        promotionBody:
          type: string
          description: Localized promo details
          examples:
            - Listen to add free music 24/7
        termsAndConditionsUrl:
          type: string
          description: Link to the location of the T&Cs associated to this offer
          examples:
            - https://link.to.T&Cs
    OfferProduct:
      type: object
      required:
        - productId
        - name
        - productTier
        - contentProvider
      properties:
        productId:
          type: string
          format: uuid
          description: Bango's unique identifier of the product
          examples:
            - 5f721731-2946-45f9-9f0e-03df00cf11ed
        name:
          type: string
          description: The product name
          examples:
            - Music
        localizedData:
          type: object
          properties:
            en-US:
              $ref: '#/components/schemas/ProductLocalizedData'
              type: object
        productTier:
          $ref: '#/components/schemas/ProductTier'
          type: object
        contentProvider:
          $ref: '#/components/schemas/ContentProvider'
          type: object
    Plan:
      type: object
      required:
        - lifecycleStartTrigger
        - currency
      properties:
        planId:
          type: string
          format: uuid
          description: >-
            The unique identifier of the offer's plan. There is a 1:1
            relationship between an offerId and a planId
        lifecycleStartTrigger:
          $ref: '#/components/schemas/LifecycleStartTrigger'
          type: object
        type:
          type: string
          enum:
            - SUBSCRIPTION
          description: >-
            Auto-generated plan type, based on the configuration of the plan.
            Currently only SUBSCRIPTION is supported.
        currency:
          type: string
          description: ISO_4217 3 letter currency code e.g. USD
        currencyAssetScale:
          type: integer
          description: The number of decimals associated to the currency
        phases:
          type: array
          items:
            $ref: '#/components/schemas/Phase'
    ProductLocalizedData:
      type: object
      properties:
        description:
          type: string
          description: >-
            Localized description of the specific product resource (content
            provider, product or product tier)
          examples:
            - Localized resource description
    ProductTier:
      type: object
      required:
        - productTierId
        - name
      properties:
        productTierId:
          type: string
          format: uuid
          description: Bango's unique identifier of the product's tier
          examples:
            - 4020dd8a-99fd-441e-b14b-575166c9b43b
        name:
          type: string
          description: The tier name
          examples:
            - Premium
        localizedData:
          type: object
          properties:
            en-US:
              $ref: '#/components/schemas/ProductLocalizedData'
              type: object
    ContentProvider:
      type: object
      required:
        - contentProviderId
        - name
      properties:
        contentProviderId:
          type: string
          format: uuid
          description: >-
            Bango's unique identifier of the content provider who produces the
            product/service
          examples:
            - fc5c87fb-469c-4623-8277-cfa9c13d63bc
        name:
          type: string
          description: The name of the content provider
          examples:
            - Bango
        merchantAccountKey:
          type: string
          description: Route identifier of the content provider for entitlement creation
          examples:
            - BANGO_MEDIA
        localizedData:
          type: object
          properties:
            en-US:
              $ref: '#/components/schemas/ProductLocalizedData'
              type: object
    LifecycleStartTrigger:
      type: object
      required:
        - triggerSource
        - triggerEvent
      properties:
        triggerSource:
          type: string
          enum:
            - CONSUMER_OFFER
          description: >-
            Determines the source of the trigger to start the subscription.
            Initially, the only source supported is CONSUMER_OFFER
        triggerEvent:
          trype: string
          enum:
            - CONSUMER_OFFER_FULLY_CREATED
            - CONSUMER_OFFER_FULLY_ACTIVATED
          description: >-
            There are 2 possible triggers to start the subscription lifecycle;
            when the consumer offer has been fully created or fully activated
    Phase:
      type: object
      required:
        - sequence
        - priceType
        - renewalFrequency
        - amount
        - billingDescription
      properties:
        sequence:
          type: integer
          description: >-
            The sequence identifies the order in which the phases occur,
            starting from 0
        priceType:
          type: string
          enum:
            - FREE
            - DISCOUNT
            - FULL_PRICE
          description: The type of phase
        renewalFrequency:
          type: string
          description: >-
            The frequency at which the consumer is billed during this phase e.g.
            P1M (monthly), P1Y (yearly). If the consumer is not billed during
            this phase, set this value to be the same as the phase's duration
        duration:
          type: string
          description: >-
            The length of time the consumer is in this phase e.g. P7D (7 days),
            P6M (6 months), P1Y (1 year). If this phase is evergreen, the
            duration is omitted. The duration MUST be evenly divisible by the
            renewalFrequency e.g. If the duration is P1Y, the renewalFrequency
            could be P1M, P2M, P3M, P4M or P6M
        amount:
          type: integer
          description: >-
            The amount charged to the consumer for each renewal in this phase of
            the plan. This value is always an integer e.g. $10.99 would be 1099
        displayAmount:
          type: string
          description: >-
            An easier to read version of the amount. This uses the assetScale
            associated to the currency to determine how many decimal places
            there should be and displays the amount accordingly
        billingDescription:
          type: string
          description: >-
            For resellers using the optional billing & charging module, this is
            the billingDescription that would appear on the consumer's bill
  securitySchemes:
    basic:
      type: http
      description: Basic authentication
      scheme: basic

````