MTN Group Products API

The products API from MTN Group — 13 operation(s) for products.

Operations 13

GET /products/{customerId} View product catalogue.
GET /products View product Catalog
GET /products/{customerId}/{productId} Retrieve the details of a given product - Query bundle price
GET /products/{customerId}/eligibility/{productId} Check the eligibility of a customer to buy a product
POST /products/{customerId}/blacklist/{productId} Blacklist the customer to consume a product
POST /products/{customerId}/dormant Make a customer dormant in relation to a to a product
GET /products/{customerId}/category Get product Category #
GET /products/{customerId}/eligible Get list of eligible Offers #
GET /products/productOffering List or find ProductOffering objects #
GET /products/productOffering/roaming List of roaming ProductOffering objects #
GET /products/{id}/comvCatalogue List or find ProductCatalogue objects #
GET /products/productConfiguration/{id} productConfiguration #
GET /products/{customerId}/productCheckBalance Get All Type of balance for a subscriber product #

Documentation

📖
Documentation
https://developers.mtn.com/products/account-decisioning
📖
APIReference
https://developers.mtn.com/products/account-decisioning
📖
Documentation
https://developers.mtn.com/products/tmf-customer-bill-management
📖
APIReference
https://developers.mtn.com/products/tmf-customer-bill-management
📖
Documentation
https://developers.mtn.com/products/mtn-customer-loans-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-customer-loans-api-v1
📖
Documentation
https://developers.mtn.com/products/subscriber-details
📖
APIReference
https://developers.mtn.com/products/subscriber-details
📖
Documentation
https://developers.mtn.com/products/subscriber-type
📖
APIReference
https://developers.mtn.com/products/subscriber-type
📖
Documentation
https://developers.mtn.com/products/provisioning
📖
APIReference
https://developers.mtn.com/products/provisioning
📖
Documentation
https://developers.mtn.com/products/unified-balance-v1
📖
APIReference
https://developers.mtn.com/products/unified-balance-v1
📖
Documentation
https://developers.mtn.com/products/tmf-resourceinventorymanagement-tmf639
📖
APIReference
https://developers.mtn.com/products/tmf-resourceinventorymanagement-tmf639
📖
Documentation
https://developers.mtn.com/products/sales-management
📖
APIReference
https://developers.mtn.com/products/sales-management
📖
Documentation
https://developers.mtn.com/products/service-activation-and-configuration
📖
APIReference
https://developers.mtn.com/products/service-activation-and-configuration
📖
Documentation
https://developers.mtn.com/products/service-ordering
📖
APIReference
https://developers.mtn.com/products/service-ordering
📖
Documentation
https://developers.mtn.com/products/bss-tt-oauth-v1
📖
APIReference
https://developers.mtn.com/products/bss-tt-oauth-v1
📖
Documentation
https://developers.mtn.com/products/balance-management-v1
📖
APIReference
https://developers.mtn.com/products/balance-management-v1
📖
Documentation
https://developers.mtn.com/products/callmeback-v1
📖
APIReference
https://developers.mtn.com/products/callmeback-v1
📖
Documentation
https://developers.mtn.com/products/callmeback-v2
📖
APIReference
https://developers.mtn.com/products/callmeback-v2
📖
Documentation
https://developers.mtn.com/products/rcs-communication
📖
APIReference
https://developers.mtn.com/products/rcs-communication
📖
Documentation
https://developers.mtn.com/products/communication-management-v1
📖
APIReference
https://developers.mtn.com/products/communication-management-v1
📖
Documentation
https://developers.mtn.com/products/tmf681-communication-management
📖
APIReference
https://developers.mtn.com/products/tmf681-communication-management
📖
Documentation
https://developers.mtn.com/products/ayo-preapproval
📖
APIReference
https://developers.mtn.com/products/ayo-preapproval
📖
Documentation
https://developers.mtn.com/products/content-push
📖
APIReference
https://developers.mtn.com/products/content-push
📖
Documentation
https://developers.mtn.com/products/mtn-customer-bill-management
📖
APIReference
https://developers.mtn.com/products/mtn-customer-bill-management
📖
Documentation
https://developers.mtn.com/products/customer-billing-token-v1
📖
APIReference
https://developers.mtn.com/products/customer-billing-token-v1
📖
Documentation
https://developers.mtn.com/products/mtn-nigeria-data-gifting-v1
📖
APIReference
https://developers.mtn.com/products/mtn-nigeria-data-gifting-v1
📖
Documentation
https://developers.mtn.com/products/mtn-nigeria-customer-datashare
📖
APIReference
https://developers.mtn.com/products/mtn-nigeria-customer-datashare
📖
Documentation
https://developers.mtn.com/products/customer-delivery-booking
📖
APIReference
https://developers.mtn.com/products/customer-delivery-booking
📖
Documentation
https://developers.mtn.com/products/customer-identification-v1
📖
APIReference
https://developers.mtn.com/products/customer-identification-v1
📖
Documentation
https://developers.mtn.com/products/kyc-consent
📖
APIReference
https://developers.mtn.com/products/kyc-consent
📖
Documentation
https://developers.mtn.com/products/customer-loyalty-management
📖
APIReference
https://developers.mtn.com/products/customer-loyalty-management
📖
Documentation
https://developers.mtn.com/products/customer-management-coe-za-preprod
📖
APIReference
https://developers.mtn.com/products/customer-management-coe-za-preprod
📖
Documentation
https://developers.mtn.com/products/customer-pin-management-v2
📖
APIReference
https://developers.mtn.com/products/customer-pin-management-v2
📖
Documentation
https://developers.mtn.com/products/customer-promotion
📖
APIReference
https://developers.mtn.com/products/customer-promotion
📖
Documentation
https://developers.mtn.com/products/customer-survey
📖
APIReference
https://developers.mtn.com/products/customer-survey
📖
Documentation
https://developers.mtn.com/products/customer-data-transfer-ng-prod
📖
APIReference
https://developers.mtn.com/products/customer-data-transfer-ng-prod
📖
Documentation
https://developers.mtn.com/products/mtn-customer-datatransfer
📖
APIReference
https://developers.mtn.com/products/mtn-customer-datatransfer
📖
Documentation
https://developers.mtn.com/products/device-swap-v1
📖
APIReference
https://developers.mtn.com/products/device-swap-v1
📖
Documentation
https://developers.mtn.com/products/tmf-720-digital-identity-management
📖
APIReference
https://developers.mtn.com/products/tmf-720-digital-identity-management
📖
Documentation
https://developers.mtn.com/products/digital-partner-management
📖
APIReference
https://developers.mtn.com/products/digital-partner-management
📖
Documentation
https://developers.mtn.com/products/document-managment
📖
APIReference
https://developers.mtn.com/products/document-managment
📖
Documentation
https://developers.mtn.com/products/tmf-document-management-tmf667
📖
APIReference
https://developers.mtn.com/products/tmf-document-management-tmf667
📖
Documentation
https://developers.mtn.com/products/tmf688-event-management
📖
APIReference
https://developers.mtn.com/products/tmf688-event-management
📖
Documentation
https://developers.mtn.com/products/eec-token-management
📖
APIReference
https://developers.mtn.com/products/eec-token-management
📖
Documentation
https://developers.mtn.com/products/insurance
📖
APIReference
https://developers.mtn.com/products/insurance
📖
Documentation
https://developers.mtn.com/products/iot-device-management
📖
APIReference
https://developers.mtn.com/products/iot-device-management
📖
Documentation
https://developers.mtn.com/products/hcm-v1
📖
APIReference
https://developers.mtn.com/products/hcm-v1
📖
Documentation
https://developers.mtn.com/products/logback-v1
📖
APIReference
https://developers.mtn.com/products/logback-v1
📖
Documentation
https://developers.mtn.com/products/tmf-loyalty-management-tmf658
📖
APIReference
https://developers.mtn.com/products/tmf-loyalty-management-tmf658
📖
Documentation
https://developers.mtn.com/products/rcs-capability
📖
APIReference
https://developers.mtn.com/products/rcs-capability
📖
Documentation
https://developers.mtn.com/products/medallia-sms-v2
📖
APIReference
https://developers.mtn.com/products/medallia-sms-v2
📖
Documentation
https://developers.mtn.com/products/advertising-v2
📖
APIReference
https://developers.mtn.com/products/advertising-v2
📖
Documentation
https://developers.mtn.com/products/mtn-advertising-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-advertising-api-v1
📖
Documentation
https://developers.mtn.com/products/mobile-customer-information
📖
APIReference
https://developers.mtn.com/products/mobile-customer-information
📖
Documentation
https://developers.mtn.com/products/withdrawals-v1
📖
APIReference
https://developers.mtn.com/products/withdrawals-v1
📖
Documentation
https://developers.mtn.com/products/momo-verification
📖
APIReference
https://developers.mtn.com/products/momo-verification
📖
Documentation
https://developers.mtn.com/products/ayoaccountholderinfo
📖
APIReference
https://developers.mtn.com/products/ayoaccountholderinfo
📖
Documentation
https://developers.mtn.com/products/agent-profile
📖
APIReference
https://developers.mtn.com/products/agent-profile
📖
Documentation
https://developers.mtn.com/products/customer-account-management-v1
📖
APIReference
https://developers.mtn.com/products/customer-account-management-v1
📖
Documentation
https://developers.mtn.com/products/mtn-customer-kyc-api-v1-product
📖
APIReference
https://developers.mtn.com/products/mtn-customer-kyc-api-v1-product
📖
Documentation
https://developers.mtn.com/products/customer-kyc-verification
📖
APIReference
https://developers.mtn.com/products/customer-kyc-verification
📖
Documentation
https://developers.mtn.com/products/loans-v2
📖
APIReference
https://developers.mtn.com/products/loans-v2
📖
Documentation
https://developers.mtn.com/products/mtn-customer-locations-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-customer-locations-api-v1
📖
Documentation
https://developers.mtn.com/products/customer-management
📖
APIReference
https://developers.mtn.com/products/customer-management
📖
Documentation
https://developers.mtn.com/products/mtn-customer-plans-api-v2
📖
APIReference
https://developers.mtn.com/products/mtn-customer-plans-api-v2
📖
Documentation
https://developers.mtn.com/products/mtn-customer-profiles-api-v2-product
📖
APIReference
https://developers.mtn.com/products/mtn-customer-profiles-api-v2-product
📖
Documentation
https://developers.mtn.com/products/risk-management
📖
APIReference
https://developers.mtn.com/products/risk-management
📖
Documentation
https://developers.mtn.com/products/mtn-customer-score
📖
APIReference
https://developers.mtn.com/products/mtn-customer-score
📖
Documentation
https://developers.mtn.com/products/simverification
📖
APIReference
https://developers.mtn.com/products/simverification
📖
Documentation
https://developers.mtn.com/products/mtn-subscription-api-v2
📖
APIReference
https://developers.mtn.com/products/mtn-subscription-api-v2
📖
Documentation
https://developers.mtn.com/products/g2m
📖
APIReference
https://developers.mtn.com/products/g2m
📖
Documentation
https://developers.mtn.com/products/oauth-v1
📖
APIReference
https://developers.mtn.com/products/oauth-v1
📖
Documentation
https://developers.mtn.com/products/merchant-provisioning-v1
📖
APIReference
https://developers.mtn.com/products/merchant-provisioning-v1
📖
Documentation
https://developers.mtn.com/products/mtn-sms-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-sms-api-v1
📖
Documentation
https://developers.mtn.com/products/ussd
📖
APIReference
https://developers.mtn.com/products/ussd
📖
Documentation
https://developers.mtn.com/products/mtn-product-offering-api-v2
📖
APIReference
https://developers.mtn.com/products/mtn-product-offering-api-v2
📖
Documentation
https://developers.mtn.com/products/mtn-product-offering-api-v3
📖
APIReference
https://developers.mtn.com/products/mtn-product-offering-api-v3
📖
Documentation
https://developers.mtn.com/products/mtn-ng-retailer-productivity-tracking-v1
📖
APIReference
https://developers.mtn.com/products/mtn-ng-retailer-productivity-tracking-v1
📖
Documentation
https://developers.mtn.com/products/tmf633-shopping-cart-management
📖
APIReference
https://developers.mtn.com/products/tmf633-shopping-cart-management
📖
Documentation
https://developers.mtn.com/products/siebel
📖
APIReference
https://developers.mtn.com/products/siebel
📖
Documentation
https://developers.mtn.com/products/tmf-party-management
📖
APIReference
https://developers.mtn.com/products/tmf-party-management
📖
Documentation
https://developers.mtn.com/products/tmf-usage-management-tmf635
📖
APIReference
https://developers.mtn.com/products/tmf-usage-management-tmf635
📖
Documentation
https://developers.mtn.com/products/usage-management
📖
APIReference
https://developers.mtn.com/products/usage-management
📖
Documentation
https://developers.mtn.com/products/mtnid-getinfo
📖
APIReference
https://developers.mtn.com/products/mtnid-getinfo
📖
Documentation
https://developers.mtn.com/products/notification-production
📖
APIReference
https://developers.mtn.com/products/notification-production
📖
Documentation
https://developers.mtn.com/products/notification-v2
📖
APIReference
https://developers.mtn.com/products/notification-v2
📖
Documentation
https://developers.mtn.com/products/order-fulfillment
📖
APIReference
https://developers.mtn.com/products/order-fulfillment
📖
Documentation
https://developers.mtn.com/products/tmf-party-interaction-tmf683
📖
APIReference
https://developers.mtn.com/products/tmf-party-interaction-tmf683
📖
Documentation
https://developers.mtn.com/products/mtn-party-management
📖
APIReference
https://developers.mtn.com/products/mtn-party-management
📖
Documentation
https://developers.mtn.com/products/rwanda-party-management
📖
APIReference
https://developers.mtn.com/products/rwanda-party-management
📖
Documentation
https://developers.mtn.com/products/payment-methods-management-sa
📖
APIReference
https://developers.mtn.com/products/payment-methods-management-sa
📖
Documentation
https://developers.mtn.com/products/payments-v1
📖
APIReference
https://developers.mtn.com/products/payments-v1
📖
Documentation
https://developers.mtn.com/products/tmf-prepay-balance-management-tmf654
📖
APIReference
https://developers.mtn.com/products/tmf-prepay-balance-management-tmf654
📖
Documentation
https://developers.mtn.com/products/product-catalog-coe
📖
APIReference
https://developers.mtn.com/products/product-catalog-coe
📖
Documentation
https://developers.mtn.com/products/product-catalog-management-v1
📖
APIReference
https://developers.mtn.com/products/product-catalog-management-v1
📖
Documentation
https://developers.mtn.com/products/product-catalogue-management
📖
APIReference
https://developers.mtn.com/products/product-catalogue-management
📖
Documentation
https://developers.mtn.com/products/tmf-product-catalog-tmf620
📖
APIReference
https://developers.mtn.com/products/tmf-product-catalog-tmf620
📖
Documentation
https://developers.mtn.com/products/product-ordering-coe
📖
APIReference
https://developers.mtn.com/products/product-ordering-coe
📖
Documentation
https://developers.mtn.com/products/tmf-product-ordering-tmf622
📖
APIReference
https://developers.mtn.com/products/tmf-product-ordering-tmf622
📖
Documentation
https://developers.mtn.com/products/resource-config-v1
📖
APIReference
https://developers.mtn.com/products/resource-config-v1
📖
Documentation
https://developers.mtn.com/products/tmf-resource-ordering-tmf652
📖
APIReference
https://developers.mtn.com/products/tmf-resource-ordering-tmf652
📖
Documentation
https://developers.mtn.com/products/tmf-service-activation-tmf678
📖
APIReference
https://developers.mtn.com/products/tmf-service-activation-tmf678
📖
Documentation
https://developers.mtn.com/products/job-card-management
📖
APIReference
https://developers.mtn.com/products/job-card-management
📖
Documentation
https://developers.mtn.com/products/ticket
📖
APIReference
https://developers.mtn.com/products/ticket
📖
Documentation
https://developers.mtn.com/products/mtn-sms-interface
📖
APIReference
https://developers.mtn.com/products/mtn-sms-interface
📖
Documentation
https://developers.mtn.com/products/sms-v3-api
📖
APIReference
https://developers.mtn.com/products/sms-v3-api
📖
Documentation
https://developers.mtn.com/products/sim-management-staging
📖
APIReference
https://developers.mtn.com/products/sim-management-staging
📖
Documentation
https://developers.mtn.com/products/sim-swap-verification-v1
📖
APIReference
https://developers.mtn.com/products/sim-swap-verification-v1
📖
Documentation
https://developers.mtn.com/products/subscriber-management
📖
APIReference
https://developers.mtn.com/products/subscriber-management
📖
Documentation
https://developers.mtn.com/products/taxation-v1
📖
APIReference
https://developers.mtn.com/products/taxation-v1
📖
Documentation
https://developers.mtn.com/products/tmf-trouble-ticket-tmf621
📖
APIReference
https://developers.mtn.com/products/tmf-trouble-ticket-tmf621
📖
Documentation
https://developers.mtn.com/products/tmf629-customer-management
📖
APIReference
https://developers.mtn.com/products/tmf629-customer-management
📖
Documentation
https://developers.mtn.com/products/tmf637-product-inventory
📖
APIReference
https://developers.mtn.com/products/tmf637-product-inventory
📖
Documentation
https://developers.mtn.com/products/account-management-coe
📖
APIReference
https://developers.mtn.com/products/account-management-coe
📖
Documentation
https://developers.mtn.com/products/tmf-payment-management-tmf676
📖
APIReference
https://developers.mtn.com/products/tmf-payment-management-tmf676
📖
Documentation
https://developers.mtn.com/products/resource-pool-management
📖
APIReference
https://developers.mtn.com/products/resource-pool-management
📖
Documentation
https://developers.mtn.com/products/tmf-usage-consumption-tmf677
📖
APIReference
https://developers.mtn.com/products/tmf-usage-consumption-tmf677
📖
Documentation
https://developers.mtn.com/products/usage-consumption
📖
APIReference
https://developers.mtn.com/products/usage-consumption

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mtn-group-products-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mtn-group-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mtn Group Products API
  version: '1.0'
  description: 'Operations tagged products across 2 of this provider''s published API definitions: mtn-group-mtn-product-offering-api-v2.yml, mtn-group-mtn-product-offering-api-v3.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://www.api.mtn.com
- url: https://api.mtn.com/v3
tags:
- name: products
paths:
  /products/{customerId}:
    get:
      description: Retrieves the catalogue of Products available for purchase.
      summary: View product catalogue.
      tags:
      - products
      parameters:
      - name: customerId
        in: path
        description: ID of the customer. It could be MSISDN, email address, or any other customer identifier
        required: true
        schema:
          type: string
      responses:
        200:
          description: Product Catalogue object. For a successfull request, the response will contain all the products available. If a product type does not have any requested data, then those fields will be null. E.g. if the product type (e.g. Data) does not have products, then the data field will be an empty list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductCatalogue'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDefault'
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDefault'
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDefault'
        404:
          description: Customer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        405:
          description: Method Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: https://www.api.mtn.com
  /products:
    get:
      description: Retrieves the Catalog of Products available to a 3PP identified by the nodeId.
      summary: View product Catalog
      tags:
      - products
      parameters:
      - name: nodeId
        in: query
        description: 3rd party assigned unique id
        required: true
        schema:
          type: string
      - name: productProviderId
        in: query
        description: This is the id of the service provider
        required: false
        schema:
          type: string
      - name: credentials
        in: header
        description: Base64 encoding of 3rd party username and password
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: Category of the product to be fetched from that catalogue
        schema:
          type: string
      - name: subCategory
        in: query
        description: This can be any of the sub category of the category entered. This may be require only if the category is passed.
        schema:
          type: string
      - name: requestType
        in: query
        description: This determines the type of request being send. In callertunes, it holds the SOAP Action
        schema:
          type: string
      - name: autoRenewal
        in: query
        description: Specify if the product should be auto renewal or not
        schema:
          type: string
          enum:
          - true
          - false
      - name: serviceClass
        in: query
        description: Specify the class of service
        schema:
          type: string
      - name: offerName
        in: query
        description: Specify the offer name to be searched
        schema:
          type: string
      responses:
        200:
          description: Product Catalog object. For a successful request, the response will contain all the products available. If a product type does not have any requested data, then those fields will be null. E.g. if the product type (e.g. Data) does not have products, then the data field will be an empty list.
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ProductCatalogue_2'
        400:
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        401:
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        403:
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        404:
          description: Customer not found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        405:
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        500:
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/{customerId}/{productId}:
    get:
      description: Retrieve the details of a given product, most especially it's price. If nodeId is passed to this request, the returned price will be the price of the product as listed with the 3PP identified by nodeId.
      summary: Retrieve the details of a given product - Query bundle price
      tags:
      - products
      parameters:
      - name: customerId
        in: path
        description: ID of the customer. It could be MSISDN, email address, or any other customer identifier
        required: true
        schema:
          type: string
      - name: productId
        in: path
        description: ID of the product
        required: true
        schema:
          type: string
      - in: query
        name: promotionCode
        required: false
        description: Promotion code assigned to product
        schema:
          type: string
      - in: query
        name: transactionId
        required: false
        description: Transaction ID
        schema:
          type: string
      - name: credentials
        in: header
        description: Base64 encoding of 3rd party username and password
        required: false
        schema:
          type: string
      responses:
        200:
          description: Product Details. For a successful request, the response will contain all the details of the product.
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ProductBundlePrice'
        400:
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        401:
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        403:
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        404:
          description: Product not found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        405:
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        500:
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/{customerId}/eligibility/{productId}:
    get:
      description: Check customer eligibility for product
      summary: Check the eligibility of a customer to buy a product
      tags:
      - products
      parameters:
      - name: customerId
        in: path
        description: ID of the customer. It could be MSISDN, email address, or any other customer identifier
        required: true
        schema:
          type: string
      - name: productId
        in: path
        description: ID of the product
        required: true
        schema:
          type: string
      - name: credentials
        in: header
        description: Base64 encoding of 3rd party username and password
        required: false
        schema:
          type: string
      - name: nodeId
        in: query
        description: 3rd party assigned unique id. iname of the 3PPs which can call these service and must be whitelisted first
        schema:
          type: string
      - name: clientTransactionId
        in: query
        description: Client generated Id to include for tracing requests
        schema:
          type: string
          default: 234872789
      - name: viewType
        in: query
        description: The view requested
        schema:
          type: string
          enum:
          - checkOffer
      - name: targetSystem
        in: query
        description: The target system
        schema:
          type: string
          enum:
          - AirServer
          - CIS
          - CLM
          - MBAS
      - name: registrationChannel
        in: query
        description: Channel making request
        schema:
          type: string
          default: SMS
      - name: productType
        in: query
        description: Type of product
        schema:
          type: string
      - name: productCategory
        in: query
        description: Type of category
        schema:
          type: string
      responses:
        200:
          description: Details for a successful request.
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ProductEligibilityResponse'
        400:
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        401:
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        403:
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        404:
          description: Product not found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        405:
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        500:
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/{customerId}/blacklist/{productId}:
    post:
      description: Blacklist customer for product/service
      summary: Blacklist the customer to consume a product
      tags:
      - products
      parameters:
      - name: customerId
        in: path
        description: ID of the customer. It could be MSISDN, email address, or any other customer identifier
        required: true
        schema:
          type: string
      - name: productId
        in: path
        description: ID of the product
        required: true
        schema:
          type: string
      - name: transactionId
        in: header
        description: Client generated Id to include for tracing requests.
        x-example: 6f0bece6-7df3-4da4-af02-5e7f16e5e6fc
        required: false
        schema:
          type: string
      - name: targetSystem
        in: query
        description: The target system
        schema:
          type: string
          enum:
          - AirServer
          - CIS
          - CLM
          - MBAS
      responses:
        200:
          description: Details for a successful request.
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ProductEligibilityResponse'
        400:
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        401:
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        403:
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        404:
          description: Product not found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        405:
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        500:
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/BlacklistRequest'
        description: Order details for the payment link that is to be created.
        required: true
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/{customerId}/dormant:
    post:
      description: Make a customer dormant for product/service
      summary: Make a customer dormant in relation to a to a product
      tags:
      - products
      parameters:
      - name: customerId
        in: path
        description: ID of the customer. It could be MSISDN, email address, or any other customer identifier
        required: true
        schema:
          type: string
      - name: transactionId
        in: header
        description: Client generated Id to include for tracing requests.
        x-example: 6f0bece6-7df3-4da4-af02-5e7f16e5e6fc
        required: false
        schema:
          type: string
      - name: targetSystem
        in: query
        description: The target system
        schema:
          type: string
          enum:
          - AirServer
          - CIS
          - CLM
          - MBAS
      responses:
        200:
          description: Details for a successful request.
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ProductEligibilityResponse'
        400:
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        401:
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        403:
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        404:
          description: Product not found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        405:
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        500:
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/DormantRequest'
        description: Order details for the payment link that is to be created.
        required: true
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/{customerId}/category:
    get:
      operationId: getProductCategory
      summary: Get product Category
      description: View the list of products Category for a subscriber.
      tags:
      - products
      parameters:
      - name: customerId
        in: path
        description: Customer Msisdn. The format must be E.123 e.g 2349062058464
        required: true
        schema:
          type: string
      - name: targetSystem
        in: header
        description: Target system
        schema:
          type: string
          enum:
          - FLYTXT
      - name: productType
        in: query
        required: true
        description: Specify the type of product request. e.g CVMoffer(Customer Value Management) is a Flytxt product.
        schema:
          type: string
          enum:
          - CVMoffer
      - name: nodeId
        required: true
        in: query
        description: Third parties unique identifier. Can also be called channelId or iname
        schema:
          type: string
      - name: transactionId
        in: header
        description: Client generated Id to include for tracing requests, so that the API can easily trace the HTTP request all the way from a client to MTNs backend processes (via our proxies). Each time a request is made to an MTN API the client should include a unique request reference in the HTTP Header. The value must be between 5 and 20 characters, and consist of ASCII letters, digits, or the characters. Invalid or blank IDs will be ignored and replaced with generated ones. MTN may use this to detect duplicate transactions from the client, but this functionality is not always guaranteed, so clients must make their own efforts to prevent duplicate transactions. MTN will also log the transactionId in order to assist with debugging and to correlate transactions processed by the API to requests from the client.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/OfferCategoryResponse'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '405':
          description: Method No Allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '406':
          description: Not acceptable
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '415':
          description: Unsupported media Type
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/{customerId}/eligible:
    get:
      operationId: getOffers
      summary: Get list of eligible Offers
      description: View the list of eligible products offers applicable for a subscriber.
      tags:
      - products
      parameters:
      - name: customerId
        in: path
        description: Customer Msisdn. The format must be E.123 e.g 2349062058464
        required: true
        schema:
          type: string
      - name: productType
        in: query
        required: true
        description: Specify the type of product request. e.g CVMoffer(Customer Value Management) is a Flytxt product.
        schema:
          type: string
          enum:
          - CVMoffer
          - Normal
          - Bundle
      - name: targetSystem
        in: header
        description: Target system
        schema:
          type: string
          enum:
          - FLYTXT
          - NEON_FLYTXT
      - name: credentials
        in: header
        description: Credentials to be passed by the 3PP
        x-example: aYxsiUusl878fsx
        schema:
          type: string
      - name: appCpid
        in: query
        description: Id of the product to fetch.
        required: false
        schema:
          type: string
      - name: category
        in: query
        description: Type of offer to fetch.
        required: false
        x-example: product
        schema:
          type: string
          enum:
          - Topdeal
          - Recharge
          - DataBundle
          - Combo
          - Voice
          - VAS
      - name: subCategory
        in: query
        required: false
        x-example: MOMO
        schema:
          type: string
      - name: nodeId
        required: false
        in: query
        description: Third parties unique identifier. Can also be called channelId or iname
        schema:
          type: string
      - name: transactionId
        in: header
        description: Client generated Id to include for tracing requests, so that the API can easily trace the HTTP request all the way from a client to MTNs backend processes (via our proxies). Each time a request is made to an MTN API the client should include a unique request reference in the HTTP Header. The value must be between 5 and 20 characters, and consist of ASCII letters, digits. Invalid or blank IDs will be ignored and replaced with generated ones. MTN may use this to detect duplicate transactions from the client, but this functionality is not always guaranteed, so clients must make their own efforts to prevent duplicate transactions. MTN will also log the transactionId in order to assist with debugging and to correlate transactions processed by the API to requests from the client.
        schema:
          type: string
      - name: limit
        in: query
        description: The total number of offers to retrieve
        x-example: 50
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/OfferResponse'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '405':
          description: Method No Allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '406':
          description: Not acceptable
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '415':
          description: Unsupported media Type
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/productOffering:
    get:
      operationId: listProductOffering
      summary: List or find ProductOffering objects
      description: This operation list or find ProductOffering entities
      tags:
      - products
      parameters:
      - name: transactionId
        in: header
        required: false
        description: Client generated Id to include for tracing requests.
        x-example: 6f0bece6-7df3-4da4-af02-5e7f16e5e6fc
        schema:
          type: string
      - name: senderId
        in: query
        required: true
        description: Provide the channel information
        x-example: IVR
        schema:
          type: string
      - name: topOffers
        description: If true is populated on this field, the service will return all the products where topOffers = true.
        required: false
        in: query
        schema:
          type: boolean
          default: 'false'
      - name: yelloTraderId
        description: Either one or multiple yelloTraderIds (deal code) separated with comma can be passed to fetch the offers associated. example - 2020710 CT 00350,2019711 CT 00351,2019713 CT 00352
        required: false
        in: query
        schema:
          type: integer
      - name: limit
        description: Requested number of resources to be provided in response
        required: false
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Response_ProductOffering'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '405':
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '409':
          description: Conflict
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/productOffering/roaming:
    get:
      operationId: listofRoamingproducts
      summary: List of roaming ProductOffering objects
      description: This operation list or find all the roaming bundles that are available for the country and subscriber type
      tags:
      - products
      parameters:
      - name: transactionId
        in: header
        required: false
        description: Client generated Id to include for tracing requests.
        x-example: 6f0bece6-7df3-4da4-af02-5e7f16e5e6fc
        schema:
          type: string
      - name: x-origin-channelId
        in: header
        description: Provide the channel information
        x-example: IVR
        schema:
          type: string
      - name: targetSystem
        in: header
        description: Provide the target system information
        x-example: XMF
        schema:
          type: string
      - name: productName
        description: Provide the product name
        in: query
        schema:
          type: string
      - name: countryCode
        description: Provide the country code of the subscriber
        in: query
        x-example: CM
        schema:
          type: string
      - name: subscriberType
        description: Provide the subscriber type
        in: query
        x-example: P
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/roamingProductOffering'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error401'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error404'
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v3
  /products/{id}/comvCatalogue:
    get:
      operationId: listProductCatalogue
      summary: List or find ProductCatalogue objects
      description: This operation list or find ProductCatalogue entities
      tags:
      - products
      parameters:
      - name: id
        in: path
        required: true
        description: Provide the service information
        x-example: IVR
        schema:
          type: string
      - name: transactionId
        in: header
        required: false
        description: Client generated Id to include for tracing requests.
        x-example: 6f0bece6-7df3-4da4-af02-5e7f16e5e6fc
        schema:
          type: string
      - name: countryCode
        in: header
        description: Country code to include
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Response_ProductCatalogue'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error_2'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
         

# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mtn-group/refs/heads/main/openapi/mtn-group-products-api-openapi.yml