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

# Fetch Billers Info

> Use this API to fetch the complete catalog and MDM (Master Data Management) details of billers registered under BBPS. Use this to understand biller configuration, required customer input parameters, supported payment modes and channels, and fee structures. If the request body is omitted, all billers are returned.




## OpenAPI

````yaml openapi/bbps/bbps-cou.yaml post /bbps/cou/v1/billers/info
openapi: 3.0.3
info:
  title: BBPS for Customers (Customer Operating Unit)
  version: 1.0.0
  description: >
    APIs for Agent Institutions to integrate with the Bharat Bill Payment System
    (BBPS) as a Customer Operating Unit (COU). These APIs enable bill discovery,
    bill fetch, bill payment, ticket management, and wallet operations.
servers:
  - url: https://sandbox.cashfree.com
    description: Sandbox (Testing) environment.
  - url: https://api.cashfree.com
    description: Production environment.
security:
  - XClientID: []
    XClientSecret: []
paths:
  /bbps/cou/v1/billers/info:
    post:
      tags:
        - Billers
      summary: Fetch Billers Info
      description: >
        Use this API to fetch the complete catalog and MDM (Master Data
        Management) details of billers registered under BBPS. Use this to
        understand biller configuration, required customer input parameters,
        supported payment modes and channels, and fee structures. If the request
        body is omitted, all billers are returned.
      operationId: fetchBillersInfo
      parameters:
        - $ref: '#/components/parameters/apiVersionHeader'
      requestBody:
        description: Request parameters to fetch biller catalog and MDM details.
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                biller_fetch_request:
                  type: object
                  description: >
                    Filter criteria. If omitted, all billers are returned. If
                    both `biller_id` and `biller_category_name` are provided,
                    results are a union.
                  properties:
                    biller_id:
                      type: array
                      description: List of biller IDs to fetch. Maximum 100 entries.
                      maxItems: 100
                      items:
                        type: string
                      example:
                        - OANSTOP00NAT01
                    biller_category_name:
                      type: array
                      description: List of biller categories to fetch. Maximum 50 entries.
                      maxItems: 50
                      items:
                        type: string
                      example:
                        - DTH
            example:
              biller_fetch_request:
                biller_id:
                  - OANSTOP00NAT01
                biller_category_name:
                  - DTH
      responses:
        '200':
          description: >-
            Success response for fetching the complete catalog and MDM details
            of billers registered under BBPS.
          headers:
            x-api-version:
              $ref: '#/components/headers/x-api-version'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Always "OK" on success.
                    example: OK
                  message:
                    type: string
                    description: Human-readable confirmation of the operation result.
                    example: Billers info fetched successfully
                  data:
                    type: array
                    description: List of biller MDM details matching the filter criteria.
                    items:
                      $ref: '#/components/schemas/BillerInfo'
              examples:
                success:
                  summary: Success
                  value:
                    status: OK
                    message: Billers info fetched successfully
                    data:
                      - biller_id: NETFLIX00NAT02
                        biller_alias_name: Netflix - Dummy
                        biller_name: Netflix - Dummy
                        biller_category_name: Subscription
                        biller_mode: ONLINE
                        biller_accepts_adhoc: true
                        biller_coverage: IND
                        fetch_requirement: NOT_SUPPORTED
                        payment_amount_exactness: Exact
                        support_bill_validation: MANDATORY
                        biller_effctv_from: '2021-01-15'
                        biller_effctv_to: '2031-12-31'
                        biller_ownership: Private
                        status: ACTIVE
                        plan_mdm_requirement: MANDATORY
                        biller_customer_params:
                          - param_name: Customer Mobile Number
                            data_type: NUMERIC
                            optional: true
                            min_length: 10
                            max_length: 10
                            regex: ^[6-9]{1}[0-9]{9}$
                            visibility: true
                        biller_payment_modes:
                          - payment_mode: UPI
                            min_limit: 1
                            max_limit: 1
                            support_pending_status: 'Yes'
        '400':
          description: Bad request error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: >-
                  biller_fetch_request.biller_category_name[1] : is missing in
                  the request. Value received: 
                code: biller_fetch_request.biller_category_name[1]_missing
                type: invalid_request_error
        '401':
          description: Authentication Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
        '429':
          description: Rate Limit Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
components:
  parameters:
    apiVersionHeader:
      in: header
      name: x-api-version
      required: true
      description: API version to be used. Format is YYYY-MM-DD.
      schema:
        type: string
        default: '2025-01-01'
      example: '2025-01-01'
      x-ignore: true
  headers:
    x-api-version:
      schema:
        type: string
        format: YYYY-MM-DD
        enum:
          - '2025-01-01'
      description: >-
        The API version used to process the request. The current version is
        `2025-01-01`.
  schemas:
    BillerInfo:
      type: object
      properties:
        biller_id:
          type: string
          description: Unique identifier of the Biller on the BBPS network.
        biller_name:
          type: string
          description: Name of the Biller as registered on the BBPS network.
        biller_alias_name:
          type: string
          description: Alias or display name of the Biller.
        biller_category_name:
          type: string
          description: >-
            Category to which the Biller belongs, such as ELECTRICITY, DTH, or
            GAS.
        biller_mode:
          type: string
          description: Operational mode of the Biller.
          enum:
            - ONLINE
            - OFFLINE_A
            - OFFLINE_B
        biller_accepts_adhoc:
          type: boolean
          description: >-
            Flag indicating if the Biller accepts adhoc payment amounts not
            returned from a bill fetch.
        biller_coverage:
          type: string
          description: >-
            Geographic coverage scope of the Biller. Possible values are IND
            (national), State, or City.
        biller_ownership:
          type: string
          description: Ownership type of the Biller.
          enum:
            - Government
            - PSU
            - Private
        fetch_requirement:
          type: string
          description: >-
            Indicates whether Bill Fetch is mandatory, optional, or not
            supported for this Biller.
          enum:
            - MANDATORY
            - OPTIONAL
            - NOT_SUPPORTED
        support_bill_validation:
          type: string
          nullable: true
          description: >-
            Indicates whether Bill Validation is mandatory, optional, or not
            supported for this Biller.
          enum:
            - MANDATORY
            - OPTIONAL
            - NOT_SUPPORTED
        payment_amount_exactness:
          type: string
          nullable: true
          description: >-
            Indicates the payment amount constraint for Billers that require a
            mandatory Bill Fetch. Possible values are Exact, Exact and above, or
            Exact and below.
          enum:
            - Exact
            - Exact and above
            - Exact and below
        biller_effctv_from:
          type: string
          description: Effective start date of the Biller in yyyy-MM-dd format.
        biller_effctv_to:
          type: string
          description: Effective end date of the Biller in yyyy-MM-dd format.
        biller_description:
          type: string
          nullable: true
          description: Additional descriptive information about the Biller.
        support_pending_status:
          type: string
          nullable: true
          description: >-
            Flag indicating whether pending transaction status is applicable for
            this Biller.
        support_deemed:
          type: string
          nullable: true
          description: >-
            Flag indicating whether deemed success is applicable for this
            Biller.
        biller_time_out:
          type: integer
          nullable: true
          description: >-
            Biller response timeout in minutes. Applicable only when
            support_pending_status is Yes.
        status:
          type: string
          nullable: true
          description: Current status of the Biller on the BBPS network.
          enum:
            - ACTIVE
            - DEACTIVATED
        plan_mdm_requirement:
          type: string
          description: >-
            Indicates whether Plan MDM functionality is mandatory, optional, or
            not supported for this Biller.
        biller_customer_params:
          type: array
          description: >-
            Customer parameter details required by the Biller to identify and
            fetch the bill.
          items:
            $ref: '#/components/schemas/BillerCustomerParam'
        biller_payment_modes:
          type: array
          description: >-
            Payment mode details supported by the Biller, including limits and
            pending status support.
          items:
            $ref: '#/components/schemas/BillerPaymentMode'
        biller_payment_channels:
          type: array
          description: >-
            Payment channel details supported by the Biller, including limits
            and pending status support.
          items:
            $ref: '#/components/schemas/BillerPaymentChannel'
        biller_response_params:
          type: object
          nullable: true
          description: >-
            Biller response parameters indicating the amount combinations
            supported by the Biller.
          properties:
            amount_options:
              type: array
              description: Amount options supported by the Biller.
              items:
                type: object
                properties:
                  amount_breakup_set:
                    type: array
                    description: Amount combination for a particular amount option.
                    items:
                      type: string
        biller_additional_info:
          type: array
          nullable: true
          description: >-
            Additional information parameters provided by the Biller in the bill
            fetch or validation response.
          items:
            $ref: '#/components/schemas/AdditionalInfoParam'
        biller_additional_info_payment:
          type: array
          nullable: true
          description: >-
            Additional information parameters provided by the Biller in the
            payment response.
          items:
            $ref: '#/components/schemas/AdditionalInfoParam'
        plan_additional_info:
          type: array
          nullable: true
          description: >-
            Additional information parameters provided by the Biller as part of
            Plan MDM.
          items:
            $ref: '#/components/schemas/AdditionalInfoParam'
        interchange_fee_conf:
          type: array
          nullable: true
          description: >-
            Interchange fee configuration details of the Biller, including
            applicable fee codes and validity.
          items:
            $ref: '#/components/schemas/InterchangeFeeConf'
        interchange_fee:
          type: array
          nullable: true
          description: >-
            Interchange fee details of the Biller, including fee direction,
            range, and flat or percentage values.
          items:
            $ref: '#/components/schemas/InterchangeFee'
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Human-readable description of the validation or request error.
          example: >-
            bill_fetch_request.agent_id : is missing in the request. Value
            received: 
        code:
          type: string
          description: >-
            Machine-readable error code identifying the specific validation
            failure.
          example: bill_fetch_request.agent_id_missing
        type:
          type: string
          description: Category of the error, indicating the error class.
          example: invalid_request_error
    UnauthorizedResponse:
      type: object
      properties:
        message:
          type: string
          description: Human-readable description of the authentication failure.
          example: authentication Failed
        code:
          type: string
          description: Machine-readable error code identifying the failure reason.
          example: request_failed
        type:
          type: string
          description: Category of the error, indicating the error class.
          example: authentication_error
    RateLimitResponse:
      type: object
      properties:
        message:
          type: string
          description: Human-readable description of the rate limit breach.
          example: Too many requests from IP. Check headers
        code:
          type: string
          description: Machine-readable error code identifying the failure reason.
          example: request_failed
        type:
          type: string
          description: Category of the error, indicating the error class.
          example: rate_limit_error
    InternalServerErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Human-readable description of the server-side error.
          example: internal Server Error
        code:
          type: string
          description: Machine-readable error code identifying the failure reason.
          example: internal_error
        type:
          type: string
          description: Category of the error, indicating the error class.
          example: api_error
    BillerCustomerParam:
      type: object
      properties:
        param_name:
          type: string
          description: Name of the customer parameter as configured for the Biller.
        data_type:
          type: string
          description: Data type of the customer parameter.
          enum:
            - NUMERIC
            - ALPHANUMERIC
        optional:
          type: boolean
          description: Flag indicating if the customer parameter is optional.
        min_length:
          type: integer
          nullable: true
          description: Minimum length of the customer parameter.
        max_length:
          type: integer
          nullable: true
          description: Maximum length of the customer parameter.
        regex:
          type: string
          nullable: true
          description: >-
            Regular expression representing permissible values for the customer
            parameter.
        visibility:
          type: boolean
          nullable: true
          description: >-
            Flag indicating whether the customer parameter is visible at the
            COUs front-end channel.
    BillerPaymentMode:
      type: object
      properties:
        payment_mode:
          type: string
          description: Payment mode supported by the Biller.
          example: UPI
        min_limit:
          type: integer
          nullable: true
          description: >-
            Minimum transaction limit accepted by the Biller for this payment
            mode.
        max_limit:
          type: integer
          nullable: true
          description: >-
            Maximum transaction limit accepted by the Biller for this payment
            mode.
        support_pending_status:
          type: string
          nullable: true
          description: >-
            Flag indicating whether pending transaction status is applicable for
            this payment mode.
          enum:
            - 'Yes'
            - 'No'
    BillerPaymentChannel:
      type: object
      properties:
        payment_channel:
          type: string
          description: Payment channel supported by the Biller.
          example: INT
        min_limit:
          type: integer
          nullable: true
          description: >-
            Minimum transaction limit accepted by the Biller for this payment
            channel.
        max_limit:
          type: integer
          nullable: true
          description: >-
            Maximum transaction limit accepted by the Biller for this payment
            channel.
        support_pending_status:
          type: string
          nullable: true
          description: >-
            Flag indicating whether pending transaction status is applicable for
            this payment channel.
    AdditionalInfoParam:
      type: object
      properties:
        param_name:
          type: string
          description: Name of the additional information parameter.
        data_type:
          type: string
          description: Data type of the additional information parameter.
          enum:
            - NUMERIC
            - ALPHANUMERIC
        optional:
          type: boolean
          description: Flag indicating if the additional information parameter is optional.
    InterchangeFeeConf:
      type: object
      properties:
        mti:
          type: string
          description: >-
            Message type indicator for the fee, indicating whether it applies to
            PAYMENT or FETCH transactions.
          enum:
            - PAYMENT
            - FETCH
        response_code:
          type: string
          description: Response code associated with the fee configuration.
        fees:
          type: array
          description: Fee codes applicable for this interchange fee configuration.
          items:
            type: string
        default_fee:
          type: boolean
          description: Flag indicating if this is the default fee configuration.
        effctv_from:
          type: string
          description: Effective from date for the fee configuration in yyyyMMdd format.
    InterchangeFee:
      type: object
      properties:
        fee_code:
          type: string
          description: Fee code associated with the Biller.
        fee_desc:
          type: string
          description: Description of the corresponding fee code.
        fee_direction:
          type: string
          description: >-
            Direction of fee movement. B2C indicates Biller to Customer BBPOU;
            C2B indicates Customer BBPOU to Biller.
          enum:
            - B2C
            - C2B
        interchange_fee_details:
          type: object
          description: >-
            Interchange fee details pertaining to transaction range, fee type,
            and validity period.
          properties:
            tran_amt_range_min:
              type: integer
              description: Minimum transaction amount range for this fee configuration.
            tran_amt_range_max:
              type: integer
              description: Maximum transaction amount range for this fee configuration.
            percent_fee:
              type: number
              description: Percentage-based fee applied to the transaction amount.
            flat_fee:
              type: number
              description: Flat fee amount applied regardless of transaction value.
            effctv_from:
              type: string
              description: Effective from date for this fee configuration.
            effctv_to:
              type: string
              nullable: true
              description: >-
                Effective to date for this fee configuration. Null if no end
                date is set.
  securitySchemes:
    XClientID:
      type: apiKey
      in: header
      name: x-client-id
      description: >-
        Your unique client identifier issued by Cashfree. You can find this in
        your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).
    XClientSecret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        Your unique client secret issued by Cashfree. Keep this confidential and
        never expose it in client-side code. You can find this in your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).

````