openapi: 3.0.1 info: title: MTN TMF622 Product Ordering V1 description: "This service provides comprehensive product ordering capabilities\ \ for TMF622 operations including order creation, management, and lifecycle operations.\ \ The service integrates with various product catalog systems and provides standardized\ \ APIs for product ordering across the MTN ecosystem." license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 - Last updated date:2026-10-28 12:32:08 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: Tmf622ProductOrdering paths: /addAlternatives: post: tags: - Tmf622ProductOrdering summary: Add Alternatives description: Forwards the add alternatives request payload to the downstream KEEP system and relays the inbound Authorization token without local token processing in the process layer. operationId: TMF622ProductOrderingAggregatorService_post_addAlternatives parameters: - name: x-authorization-claims in: header required: true schema: type: string requestBody: content: application/json: schema: title: AddAlternativesRequest type: object properties: transactionId: type: string msisdn: type: string email: type: string bnumber: type: string required: true responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf622 product ordering flows. content: application/json: schema: title: TMFResponse type: object properties: notification: type: string channel: type: array items: title: ChannelItem type: object properties: role: type: string name: type: string id: type: string externalId: type: string category: type: string productOrderItem: type: array items: title: ProductOrderItemItem type: object properties: product: title: Product type: object properties: isBundle: type: boolean productSpecification: title: ProductSpecification type: object properties: name: type: string id: type: string type: type: string action: type: string relatedParty: type: array items: title: RelatedPartyItem type: object properties: role: type: string id: type: string "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /getAlternatives/{msisdn}/{transactionId}: get: tags: - Tmf622ProductOrdering summary: Get Alternatives description: Forwards the get alternatives request with msisdn and transactionId path parameters to the downstream KEEP system while relaying the inbound Authorization token. operationId: TMF622ProductOrderingAggregatorService_get_getAlternatives_getAlternativesmsisd parameters: - name: msisdn in: path required: true schema: type: string - name: transactionId in: path required: true schema: type: string - name: x-authorization-claims in: header required: true schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf622 product ordering flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_TMF_TMFResponse' "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /listener/productOrderCreateEvent: post: tags: - Tmf622ProductOrdering summary: Post Notification to NeonDx description: This operation posts product order creation event notifications to the NeonDx system. The endpoint handles notification requests with proper authorization validation and supports event-driven product ordering workflows. operationId: TMF622ProductOrderingAggregatorService_post_postNotificationToNeonDx_listenerproductOrder parameters: - name: x-authorization-claims in: header required: true schema: type: string requestBody: content: application/json: schema: title: NotifyNeonDxRequest type: object properties: id: type: string eventType: type: string eventTime: type: string event: title: Event type: object properties: productOrder: title: ProductOrder type: object properties: category: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_addoffer_Channel' productOfferingQualification: type: array items: title: ProductOfferingQualification type: object properties: id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_notify_RelatedParty' required: true responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf622 product ordering flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_TMF_TMFResponse' "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /productOrder: get: tags: - Tmf622ProductOrdering summary: Get Subscription History description: "This operation retrieves subscription history for a customer in\ \ the product ordering system. The endpoint supports filtering by category,\ \ date range, and provides comprehensive subscription information with proper\ \ transaction tracking and authorization." operationId: TMF622ProductOrderingAggregatorService_get_getSubscriptionHistory_productOrder parameters: - name: category in: query required: false schema: type: string - name: customerId in: query required: true schema: type: string - name: endDate in: query required: false schema: type: string - name: startDate in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization-claims in: header required: true schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf622 product ordering flows. content: application/json: schema: title: DomainInfoMadapiResponse type: object properties: productOrderItem: type: array items: title: DomainProductOrderItem type: object properties: productCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_domainname_DomainProductCharacteristic' relatedParty: $ref: '#/components/schemas/com_mtn_aggregator_models_request_notify_RelatedParty' dnsRecords: type: array items: title: DnsRecord type: object properties: name: type: string type: type: string ttl: type: integer format: int32 values: type: array items: type: string status: type: string message: type: string code: type: string reason: type: string transactionId: type: string success: type: string "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false post: tags: - Tmf622ProductOrdering summary: Activate Product description: "This operation activates a new product in the product ordering\ \ system. The endpoint accepts a product order request with product details,\ \ transaction ID for tracking, and authorization claims for secure product\ \ activation." operationId: TMF622ProductOrderingAggregatorService_post_activateProduct_productOrder parameters: - name: transactionId in: header required: true schema: type: string - name: x-authorization-claims in: header required: true schema: type: string requestBody: content: application/json: schema: title: ProductOrderRequest type: object properties: id: type: string category: type: string appName: type: string notificationContact: type: string externalId: type: string channel: type: array items: title: Channel type: object properties: id: type: string role: type: string name: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string '@type': type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string '@type': type: string address: type: string country: type: string payment: type: array items: title: Payment type: object properties: id: type: string name: type: string productOrderItem: type: array items: title: ProductOrderItem type: object properties: action: type: string product: title: Product type: object properties: isBundle: type: boolean '@type': type: string productSpecification: title: ProductSpecification type: object properties: id: type: string href: type: string name: type: string '@type': type: string productTerm: type: array items: title: ProductTerm type: object properties: validFor: title: BalanceValidity type: object properties: startDateTime: type: string endDateTime: type: string productCharacteristic: type: array items: title: DomainProductCharacteristic type: object properties: name: type: string value: type: string itemPrice: type: array items: title: ItemPrice type: object properties: priceType: type: string priceAlteration: type: array items: title: PriceAlteration type: object properties: price: title: Price type: object properties: taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: string state: type: string apiError: title: APIError type: object properties: code: type: string reason: type: string message: type: string status: type: string referenceError: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string required: true responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf622 product ordering flows. content: application/json: schema: title: CRBTResponse type: object properties: result: type: string childTrId: type: string resultCode: type: integer format: int32 respMsg: type: string respCode: type: string transactionId: type: string "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /productOrder/{offerId}: patch: tags: - Tmf622ProductOrdering summary: Delete Offer description: This operation deletes or deactivates a product offer in the product ordering system. The endpoint accepts a product order request with offer details and authorization claims for secure offer management operations. operationId: TMF622ProductOrderingAggregatorService_patch_deleteOffer_productOrderofferId parameters: - name: offerId in: path required: true schema: type: string - name: x-authorization-claims in: header required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_request_addoffer_ProductOrderRequest' required: true responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf622 product ordering flows. content: application/json: schema: title: ResponseEntity type: object properties: status: title: HttpStatusCode type: object headers: type: object additionalProperties: type: object body: type: string "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false components: schemas: com_mtn_madapi_antic_models_response_DnsRecord: title: DnsRecord type: object properties: name: type: string type: type: string ttl: type: integer format: int32 values: type: array items: type: string com_mtn_aggregator_models_request_addoffer_Channel: title: Channel type: object properties: id: type: string role: type: string name: type: string com_mtn_aggregator_models_request_notify_ProductOrder: title: ProductOrder type: object properties: category: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_addoffer_Channel' productOfferingQualification: type: array items: title: ProductOfferingQualification type: object properties: id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_notify_RelatedParty' com_mtn_aggregator_models_request_subscription_Payment: title: Payment type: object properties: id: type: string name: type: string com_mtn_aggregator_models_response_crbt_CRBTResponse: title: CRBTResponse type: object properties: result: type: string childTrId: type: string resultCode: type: integer format: int32 respMsg: type: string respCode: type: string transactionId: type: string com_mtn_aggregator_models_request_addoffer_ProductOrderRequest: title: ProductOrderRequest type: object properties: id: type: string category: type: string appName: type: string notificationContact: type: string externalId: type: string channel: type: array items: title: Channel type: object properties: id: type: string role: type: string name: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string '@type': type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string '@type': type: string address: type: string country: type: string payment: type: array items: title: Payment type: object properties: id: type: string name: type: string productOrderItem: type: array items: title: ProductOrderItem type: object properties: action: type: string product: title: Product type: object properties: isBundle: type: boolean '@type': type: string productSpecification: title: ProductSpecification type: object properties: id: type: string href: type: string name: type: string '@type': type: string productTerm: type: array items: title: ProductTerm type: object properties: validFor: title: BalanceValidity type: object properties: startDateTime: type: string endDateTime: type: string productCharacteristic: type: array items: title: DomainProductCharacteristic type: object properties: name: type: string value: type: string itemPrice: type: array items: title: ItemPrice type: object properties: priceType: type: string priceAlteration: type: array items: title: PriceAlteration type: object properties: price: title: Price type: object properties: taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: string state: type: string apiError: title: APIError type: object properties: code: type: string reason: type: string message: type: string status: type: string referenceError: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string com_mtn_aggregator_models_request_addoffer_ProductOrderItem: title: ProductOrderItem type: object properties: action: type: string product: title: Product type: object properties: isBundle: type: boolean '@type': type: string productSpecification: title: ProductSpecification type: object properties: id: type: string href: type: string name: type: string '@type': type: string productTerm: type: array items: title: ProductTerm type: object properties: validFor: title: BalanceValidity type: object properties: startDateTime: type: string endDateTime: type: string productCharacteristic: type: array items: title: DomainProductCharacteristic type: object properties: name: type: string value: type: string itemPrice: type: array items: title: ItemPrice type: object properties: priceType: type: string priceAlteration: type: array items: title: PriceAlteration type: object properties: price: title: Price type: object properties: taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: string com_mtn_aggregator_models_response_domainname_DomainInfoMadapiResponse: title: DomainInfoMadapiResponse type: object properties: productOrderItem: type: array items: title: DomainProductOrderItem type: object properties: productCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_domainname_DomainProductCharacteristic' relatedParty: $ref: '#/components/schemas/com_mtn_aggregator_models_request_notify_RelatedParty' dnsRecords: type: array items: title: DnsRecord type: object properties: name: type: string type: type: string ttl: type: integer format: int32 values: type: array items: type: string status: type: string message: type: string code: type: string reason: type: string transactionId: type: string success: type: string com_mtn_aggregator_models_response_TMF_RelatedPartyItem: title: RelatedPartyItem type: object properties: role: type: string id: type: string APIError: title: APIError required: - statusCode - statusMessage type: object properties: statusCode: type: string description: Error status code statusMessage: type: string description: Human-readable error message supportMessage: type: string description: Technical support message or error code for troubleshooting transactionId: type: string description: Transaction identifier for tracking and correlation sequenceNo: type: string description: Sequence number for request tracking timestamp: type: string description: Error timestamp in ISO 8601 format format: date-time path: type: string description: API endpoint path where the error occurred method: type: string description: HTTP method of the request that caused the error downstreamStatusCode: type: string description: Downstream service error code if applicable description: Generic MADAPI error response structure org_springframework_http_ResponseEntity: title: ResponseEntity type: object properties: status: title: HttpStatusCode type: object headers: type: object additionalProperties: type: object body: type: string org_springframework_http_HttpStatusCode: title: HttpStatusCode type: object com_mtn_aggregator_models_response_BalanceValidity: title: BalanceValidity type: object properties: startDateTime: type: string endDateTime: type: string com_mtn_aggregator_models_request_subscription_PriceAlteration: title: PriceAlteration type: object properties: price: title: Price type: object properties: taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: string com_mtn_aggregator_models_request_addoffer_ProductSpecification: title: ProductSpecification type: object properties: id: type: string href: type: string name: type: string '@type': type: string com_mtn_aggregator_models_request_notify_NotifyNeonDxRequest: title: NotifyNeonDxRequest type: object properties: id: type: string eventType: type: string eventTime: type: string event: title: Event type: object properties: productOrder: title: ProductOrder type: object properties: category: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_addoffer_Channel' productOfferingQualification: type: array items: title: ProductOfferingQualification type: object properties: id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_notify_RelatedParty' com_mtn_aggregator_models_response_TMF_Product: title: Product type: object properties: isBundle: type: boolean productSpecification: title: ProductSpecification type: object properties: name: type: string id: type: string type: type: string com_mtn_aggregator_models_response_TMF_ProductSpecification: title: ProductSpecification type: object properties: name: type: string id: type: string com_mtn_aggregator_models_response_domainname_DomainProductCharacteristic: title: DomainProductCharacteristic type: object properties: name: type: string value: type: string com_mtn_aggregator_models_response_TMF_ChannelItem: title: ChannelItem type: object properties: role: type: string name: type: string id: type: string com_mtn_aggregator_models_response_TMF_TMFResponse: title: TMFResponse type: object properties: notification: type: string channel: type: array items: title: ChannelItem type: object properties: role: type: string name: type: string id: type: string externalId: type: string category: type: string productOrderItem: type: array items: title: ProductOrderItemItem type: object properties: product: title: Product type: object properties: isBundle: type: boolean productSpecification: title: ProductSpecification type: object properties: name: type: string id: type: string type: type: string action: type: string relatedParty: type: array items: title: RelatedPartyItem type: object properties: role: type: string id: type: string com_mtn_aggregator_models_request_subscription_ItemPrice: title: ItemPrice type: object properties: priceType: type: string priceAlteration: type: array items: title: PriceAlteration type: object properties: price: title: Price type: object properties: taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: string com_mtn_aggregator_models_response_TMF_ProductOrderItemItem: title: ProductOrderItemItem type: object properties: product: title: Product type: object properties: isBundle: type: boolean productSpecification: title: ProductSpecification type: object properties: name: type: string id: type: string type: type: string action: type: string com_mtn_aggregator_models_request_subscription_TaxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: string com_mtn_aggregator_models_request_notify_RelatedParty: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string '@type': type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string '@type': type: string address: type: string country: type: string com_mtn_aggregator_models_request_notify_ProductOfferingQualification: title: ProductOfferingQualification type: object properties: id: type: string com_mtn_aggregator_models_error_APIError: title: APIError type: object properties: code: type: string reason: type: string message: type: string status: type: string referenceError: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string com_mtn_aggregator_models_request_subscription_Price: title: Price type: object properties: taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: string com_mtn_aggregator_models_request_addoffer_ProductTerm: title: ProductTerm type: object properties: validFor: title: BalanceValidity type: object properties: startDateTime: type: string endDateTime: type: string com_mtn_aggregator_models_request_addoffer_Product: title: Product type: object properties: isBundle: type: boolean '@type': type: string productSpecification: title: ProductSpecification type: object properties: id: type: string href: type: string name: type: string '@type': type: string productTerm: type: array items: title: ProductTerm type: object properties: validFor: title: BalanceValidity type: object properties: startDateTime: type: string endDateTime: type: string productCharacteristic: type: array items: title: DomainProductCharacteristic type: object properties: name: type: string value: type: string com_mtn_aggregator_models_request_keep_AddAlternativesRequest: title: AddAlternativesRequest type: object properties: transactionId: type: string msisdn: type: string email: type: string bnumber: type: string com_mtn_aggregator_models_request_notify_Event: title: Event type: object properties: productOrder: title: ProductOrder type: object properties: category: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_addoffer_Channel' productOfferingQualification: type: array items: title: ProductOfferingQualification type: object properties: id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_notify_RelatedParty' com_mtn_aggregator_models_request_domainname_PartyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string '@type': type: string com_mtn_aggregator_models_response_domainname_DomainProductOrderItem: title: DomainProductOrderItem type: object properties: productCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_domainname_DomainProductCharacteristic' securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.mtn.com/v1/oauth/access_token scopes: {} Bearer: type: http description: Bearer token received from OAuth2.0 authentication with the MADAPI scheme: bearer bearerFormat: JWT