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

# Available Product-Billing Option combinations. Returns details of only active products.

> Available Active Products with allowed billing options (billing plans, campaigns).



## OpenAPI

````yaml /marketONE/Amdocs_Media-Commerce-Gateway.yaml get /catalog
openapi: 3.0.1
info:
  title: ULM Storefront Gateway
  description: >
    These APIs allow clients to perform purchase and payment method management;
    OTT service and billing authorization operations. These APIs require a user
    access token. The APIs are thus aware of and therefore authorized by this
    ULM context (a user's entitlements as defined in the ULM platform service).


    <b>The following tracing headers can be used for all APIs:</b>


    X-B3-TraceId: The TraceId indicates the overall ID of the trace. Every span
    in a trace shares this ID. The X-B3-TraceId header is encoded as 32 or 16
    lower-hex characters. For example, a 128-bit TraceId header might look like
    463ac35c9f6413ad48485a3953bb6124.


    X-B3-SpanId: The SpanId is 64-bit in length and indicates the position of
    the current operation in the trace tree. The value should not be
    interpreted; it may or may not be derived from the value of the TraceId. The
    X-B3-SpanId header is encoded as 16 lower-hex characters. For example, a
    SpanId header might look like a2fb4a1d1a96d312. Unless propagating only the
    Sampling State, the X-B3-SpanId header is required.


    X-B3-ParentSpanId: The ParentSpanId is 64-bit in length and indicates the
    position of the parent operation in the trace tree. When the span is the
    root of the trace tree, there is no ParentSpanId. The X-B3-ParentSpanId
    header may be present on a child span and must be absent on the root span.
    It is encoded as 16 lower-hex characters. For example, a ParentSpanId header
    might look like 0020000000000001.


    <b>The APIs can be accessed via a tenant specific domain or the
    X-Aggregator-Code header must specify a MarketONE organization code:</b>


    X-Aggregator-Code: The aggregator organization code. Organization code must
    be provided either via HTTP header or query parameter. If both are provided,
    HTTP header will be used.


    aggregatorCode: The aggregator organization code. Organization code must be
    provided either via HTTP header or query parameter. If both are provided,
    HTTP header will be used.
  version: Latest
servers:
  - url: https://default.ulm.stg.m1amdocs.io/storefront
security:
  - bearerAuth: []
paths:
  /catalog:
    get:
      tags:
        - catalog
      summary: >-
        Available Product-Billing Option combinations. Returns details of only
        active products.
      description: >-
        Available Active Products with allowed billing options (billing plans,
        campaigns).
      operationId: getCatalog
      parameters:
        - name: accountId
          in: query
          description: account for which the catalog should be evaluated
          required: true
          style: form
          explode: true
          schema:
            minLength: 1
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Offer'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model401Error'
        '403':
          description: Authorization Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model403Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model404Error'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model500Error'
      security:
        - bearerAuth:
            - storefront
components:
  schemas:
    Offer:
      required:
        - productId
      type: object
      properties:
        productId:
          $ref: '#/components/schemas/ID'
        billingOptions:
          type: array
          items:
            $ref: '#/components/schemas/BillingOption'
        canUpgradeTo:
          type: array
          example:
            - SVOD_Premium
          items:
            type: string
        canDowngradeTo:
          type: array
          example:
            - SVOD_basic
          items:
            type: string
    Model401Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - authentication-required
            - invalid-api-key
            - api-key-not-found
        message:
          type: string
    Model403Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - forbidden
            - access-denied
            - invalid-scope
            - not-permitted
        message:
          type: string
    Model404Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - not-found
        message:
          type: string
    Model500Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          enum:
            - server-error
        message:
          type: string
    ID:
      maxLength: 256
      type: string
      description: A unique identifier.
    BillingOption:
      required:
        - billingPlanId
      type: object
      properties:
        billingPlanId:
          $ref: '#/components/schemas/ID'
        campaignId:
          $ref: '#/components/schemas/ID'
  securitySchemes:
    bearerAuth:
      type: oauth2
      description: OAuth 2.0 Authentication
      flows:
        authorizationCode:
          authorizationUrl: /oidc/authorize
          tokenUrl: /oidc/token
          scopes:
            storefront: gives access to user api in storefront
            storefront-csr: gives access to some csr api in storefront
            m2m.storefront.csr.manage: Allows the machine to create and manage(CRUD)
            m2m.storefront.csr.read: Allows the machine to read data only

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.