openapi: 3.0.1 info: title: TMF622 Product Ordering SSD V1 description: |- A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa. Main Product Order attributes are its identifier, state, priority category (mass market, Enterprise, etc.) related dates (start, completion, etc.), related billing account, related parties and order items. Main Order Items (aka order lines) attributes are the ordered offering and product characteristics with the related action to be performed (e.g. add or delete the products), state, location information for delivery, order item price and price alteration. license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 - Last updated date:2026-09-21 09:13:21 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: Tmf622ProductOrdering paths: /cug/productOrder: post: tags: - Tmf622ProductOrdering summary: Create product order for CUG description: "Creates a closed user group product order. The request is forwarded\ \ to the DCLM system layer resolved from the caller's country code, which\ \ provisions the group membership on the backend, and the resulting order\ \ state is returned." operationId: ProductOrderingAggregatorService_post_createProductOrderCug_cugproductOrder parameters: - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_request_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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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 /cug/productOrder/{id}: delete: tags: - Tmf622ProductOrdering summary: Delete product order for CUG description: "Terminates an existing closed user group product order identified\ \ by its order id, forwarding the supplied termination reason to the DCLM\ \ system layer resolved from the caller's country code, and returns the resulting\ \ order state." operationId: ProductOrderingAggregatorService_delete_terminateProductOrderCug_cugproductOrderid parameters: - name: id in: path required: true schema: type: string - name: reason in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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 /df/productOrder: post: tags: - Tmf622ProductOrdering summary: Create product order for DF description: "Creates a device financing product order from a multipart request\ \ carrying the order JSON alongside identity document uploads. Validates the\ \ first-subscription payload, forwards the documents to the Benin device financing\ \ system layer and returns the resulting order state." operationId: ProductOrderingAggregatorService_post_createProductOrderDf_dfproductOrder parameters: - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-country-code in: header required: false 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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 /fnf/productOrder: post: tags: - Tmf622ProductOrdering summary: Create product order for FNF description: "Creates a friends-and-family product order. The request is forwarded\ \ to the DCLM system layer resolved from the caller's country code, which\ \ provisions the FNF numbers on the backend, and the resulting order state\ \ is returned to the caller." operationId: ProductOrderingAggregatorService_post_createProductOrderFnf_fnfproductOrder parameters: - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string requestBody: content: application/json: schema: title: ProductOrderFnfRequest type: object properties: externalId: type: string status: type: string reason: type: string description: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RequestChannel' productOrderItem: type: array items: title: ProductOrderItem type: object properties: id: type: string quantity: type: string '@type': type: string action: type: string state: type: string product: title: Product type: object properties: status: type: string id: type: string name: type: string orderDate: type: string productSerialNumber: type: string startDate: type: string terminationDate: type: string productRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductRelationship' characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: array items: title: Value type: object properties: seqNo: type: integer format: int32 action: type: string value: type: string '@type': type: string productOffering: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOffering' publicIdentifier: type: string productOffering: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOffering' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RelatedParty' '@baseType': 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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 patch: tags: - Tmf622ProductOrdering summary: Patch product order for FNF description: "Partially updates an existing friends-and-family product order.\ \ The request is forwarded to the DCLM system layer resolved from the caller's\ \ country code, and the amended order or a canonical error response is returned\ \ to the caller." operationId: ProductOrderingAggregatorService_patch_patchProductOrderFnf_fnfproductOrder parameters: - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOrderFnfRequest' 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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 /fnf/productOrder/{id}: delete: tags: - Tmf622ProductOrdering summary: Delete product order for FNF description: "Terminates an existing friends-and-family product order identified\ \ by its order id, forwarding the supplied termination reason to the DCLM\ \ system layer resolved from the caller's country code, and returns the resulting\ \ order state." operationId: ProductOrderingAggregatorService_delete_terminateProductOrderFnf_fnfproductOrderid parameters: - name: id in: path required: true schema: type: string - name: reason in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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: Retrieve product order description: Retrieves CRBT and device financing product orders for a subscriber. Requires targetSystem and category; CRBT categories are served by the CRBT connector and device financing categories by the Benin device financing system layer. operationId: ProductOrderingAggregatorService_get_getProductOrder_productOrder parameters: - name: Accept-Language in: header required: false schema: type: string - name: X-Request-Mode in: header required: false schema: type: string - name: category in: query required: false schema: type: string - name: consent_token in: query required: false schema: type: string - name: externalId in: query required: false schema: type: string - name: groupName in: query required: false schema: type: string - name: imei in: query required: false schema: type: string - name: language in: query required: false schema: type: string - name: limit in: query required: false schema: type: string - name: msisdn in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: orderDate.gte in: query required: false schema: type: string - name: orderDate.lte in: query required: false schema: type: string - name: relatedParty.id in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-country-code in: header required: false 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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: Create product order description: "Creates a product order. Routes on x-country-code and targetSystem:\ \ CRBT tone-delete requests for supported opcos are dispatched to the CRBT\ \ connector, Benin device-financing categories to the device financing system,\ \ and everything else to the DCLM system layer." operationId: ProductOrderingAggregatorService_post_createProductOrder_productOrder parameters: - name: Accept-Language in: header required: false schema: type: string - name: X-Request-Mode in: header required: false schema: type: string - name: externalId in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string requestBody: content: application/json: schema: title: ProductOrderRequest type: object properties: externalId: type: string status: type: string reason: type: string description: type: string '@type': type: string '@baseType': type: string requestedStartDate: type: string channel: type: array items: title: RequestChannel type: object properties: id: type: string href: type: string name: type: string role: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string '@referredType': type: string productOrderItem: type: array items: title: ProductOrderItem type: object properties: '@type': type: string id: type: string quantity: type: string action: type: string product: title: Product type: object properties: productRelationship: type: array items: title: ProductRelationship type: object properties: '@type': type: string relationshipType: type: string productCharacteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valuetype: type: string unitOfMeasure: type: string '@type': type: string content: type: string format: byte values: type: array items: title: PhoneData type: object properties: phone_model: type: string imei: type: string second_msisdn: type: string data_beneficiary_msisdn: type: string phone_beneficiary_msisdn: type: string model: title: PhoneModel type: object properties: _id: type: string code: type: string OEM: type: string brand: type: string model: type: string storage: type: string screen_size: type: string battery: type: string price: type: number format: double upfront_amount: type: number format: double nbr_of_days: type: integer format: int32 daily_amount: type: number format: double category: type: string partner_id: type: string intelligra_service_provider: type: string spec: type: string commission_amount: type: number format: double ebu_daily_amount: type: number format: double ebu_daily_total_amount: type: number format: double ebu_monthly_amount: type: number format: double ebu_monthly_total_amount: type: number format: double ebu_nbr_of_days: type: integer format: int32 ebu_nbr_of_months: type: integer format: int32 ebu_nbr_of_weeks: type: integer format: int32 ebu_weekly_amount: type: number format: double ebu_weekly_total_amount: type: number format: double ebu_hourly_amount: type: number format: double ebu_hourly_total_amount: type: number format: double ebu_minutely_amount: type: number format: double ebu_minutely_total_amount: type: number format: double ebu_nbr_of_hours: type: integer format: int32 ebu_nbr_of_minutes: type: integer format: int32 name: type: string created_at: type: string productTerm: type: array items: title: ProductTerm type: object properties: '@baseType': type: string '@type': type: string description: type: string name: type: string duration: title: Quantity type: object properties: amount: type: number format: double unit: type: string validFor: title: BalanceValidity type: object properties: endDateTime: type: string productSpecification: title: ProductSpecification type: object properties: id: type: string productSerialNumber: type: string '@referredType': type: string id: type: string status: type: string orderDate: type: string startDate: type: string terminationDate: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string name: type: string address: type: string country: type: string productOffering: title: ProductOffering type: object properties: id: type: string name: type: string itemTotalPrice: title: ItemTotalPrice type: object properties: price: title: Price type: object properties: percentage: type: integer format: int32 taxRate: type: integer format: int32 taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: integer format: int32 baseType: type: string schemaLocation: type: string type: type: string priceType: type: string recurringChargePeriod: type: string quoteItem: title: QuoteItem type: object properties: name: type: string '@type': type: string itemTerm: type: array items: title: ItemTerm type: object properties: description: type: string itemPrice: type: array items: title: ItemPrice type: object properties: name: type: string price: $ref: '#/components/schemas/com_mtn_aggregator_models_request_Price' productOrder: type: array items: title: ProductOrder type: object properties: productOrderItem: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOrderItem' externalId: type: array items: title: ExternalId type: object properties: owner: type: string id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RelatedParty' category: type: string id: type: string notificationContact: 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 ssd v1 flows. content: application/json: schema: title: APIResponse type: object properties: resultCode: type: string resultDescription: type: string transactionId: type: string data: type: array items: title: ProductOrderResponse type: object properties: '@baseType': type: string '@type': type: string externalId: type: string status: type: string reason: type: string description: type: string requestedStartDate: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RequestChannel' productOrderItem: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOrderItem' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RelatedParty' "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/{id}: get: tags: - Tmf622ProductOrdering summary: This fetches product orders description: "Retrieves product orders for a subscriber identified by the supplied\ \ id. When a serviceId query parameter is present the request is diverted\ \ to the DEP backend, otherwise it is forwarded to the DCLM system layer resolved\ \ from the caller's country code." operationId: ProductOrderingAggregatorService_get_getActiveProductOrders_productOrderid parameters: - name: expand in: query required: false schema: type: string - name: id in: path required: true schema: type: string - name: idType in: query required: false schema: type: string - name: limit in: query required: false schema: type: string - name: serviceId in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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 delete: tags: - Tmf622ProductOrdering summary: Delete product order description: "Terminates an existing product order identified by its order id,\ \ forwarding the supplied termination reason to the DCLM system layer resolved\ \ from the caller's country code, and returns the resulting order state or\ \ a canonical error response." operationId: ProductOrderingAggregatorService_delete_terminateProductOrder_productOrderid parameters: - name: id in: path required: true schema: type: string - name: reason in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false 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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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 patch: tags: - Tmf622ProductOrdering summary: Patch product order description: "Partially updates an existing product order identified by its\ \ order id. The request is forwarded to the DCLM system layer resolved from\ \ the caller's country code, and the amended order or a canonical error response\ \ is returned to the caller." operationId: ProductOrderingAggregatorService_patch_patchProductOrder_productOrderid parameters: - name: id in: path required: true schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_request_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 ssd v1 flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_APIResponse' "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_aggregator_models_request_fnf_Characteristic: title: Characteristic type: object properties: name: type: string value: type: array items: title: Value type: object properties: seqNo: type: integer format: int32 action: type: string value: type: string '@type': type: string com_mtn_aggregator_models_request_ProductRelationship: title: ProductRelationship type: object properties: '@type': type: string relationshipType: type: string com_mtn_aggregator_models_request_ProductTerm: title: ProductTerm type: object properties: '@baseType': type: string '@type': type: string description: type: string name: type: string duration: title: Quantity type: object properties: amount: type: number format: double unit: type: string validFor: title: BalanceValidity type: object properties: endDateTime: type: string com_mtn_aggregator_models_request_TaxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: integer format: int32 com_mtn_aggregator_models_request_fnf_Product: title: Product type: object properties: status: type: string id: type: string name: type: string orderDate: type: string productSerialNumber: type: string startDate: type: string terminationDate: type: string productRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductRelationship' characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: array items: title: Value type: object properties: seqNo: type: integer format: int32 action: type: string value: type: string '@type': type: string productOffering: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOffering' publicIdentifier: type: string com_mtn_aggregator_models_request_fnf_Value: title: Value type: object properties: seqNo: type: integer format: int32 action: type: string value: type: string com_mtn_aggregator_models_request_ItemPrice: title: ItemPrice type: object properties: name: type: string price: $ref: '#/components/schemas/com_mtn_aggregator_models_request_Price' com_mtn_aggregator_models_request_ProductOrderRequest: title: ProductOrderRequest type: object properties: externalId: type: string status: type: string reason: type: string description: type: string '@type': type: string '@baseType': type: string requestedStartDate: type: string channel: type: array items: title: RequestChannel type: object properties: id: type: string href: type: string name: type: string role: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string '@referredType': type: string productOrderItem: type: array items: title: ProductOrderItem type: object properties: '@type': type: string id: type: string quantity: type: string action: type: string product: title: Product type: object properties: productRelationship: type: array items: title: ProductRelationship type: object properties: '@type': type: string relationshipType: type: string productCharacteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valuetype: type: string unitOfMeasure: type: string '@type': type: string content: type: string format: byte values: type: array items: title: PhoneData type: object properties: phone_model: type: string imei: type: string second_msisdn: type: string data_beneficiary_msisdn: type: string phone_beneficiary_msisdn: type: string model: title: PhoneModel type: object properties: _id: type: string code: type: string OEM: type: string brand: type: string model: type: string storage: type: string screen_size: type: string battery: type: string price: type: number format: double upfront_amount: type: number format: double nbr_of_days: type: integer format: int32 daily_amount: type: number format: double category: type: string partner_id: type: string intelligra_service_provider: type: string spec: type: string commission_amount: type: number format: double ebu_daily_amount: type: number format: double ebu_daily_total_amount: type: number format: double ebu_monthly_amount: type: number format: double ebu_monthly_total_amount: type: number format: double ebu_nbr_of_days: type: integer format: int32 ebu_nbr_of_months: type: integer format: int32 ebu_nbr_of_weeks: type: integer format: int32 ebu_weekly_amount: type: number format: double ebu_weekly_total_amount: type: number format: double ebu_hourly_amount: type: number format: double ebu_hourly_total_amount: type: number format: double ebu_minutely_amount: type: number format: double ebu_minutely_total_amount: type: number format: double ebu_nbr_of_hours: type: integer format: int32 ebu_nbr_of_minutes: type: integer format: int32 name: type: string created_at: type: string productTerm: type: array items: title: ProductTerm type: object properties: '@baseType': type: string '@type': type: string description: type: string name: type: string duration: title: Quantity type: object properties: amount: type: number format: double unit: type: string validFor: title: BalanceValidity type: object properties: endDateTime: type: string productSpecification: title: ProductSpecification type: object properties: id: type: string productSerialNumber: type: string '@referredType': type: string id: type: string status: type: string orderDate: type: string startDate: type: string terminationDate: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string name: type: string address: type: string country: type: string productOffering: title: ProductOffering type: object properties: id: type: string name: type: string itemTotalPrice: title: ItemTotalPrice type: object properties: price: title: Price type: object properties: percentage: type: integer format: int32 taxRate: type: integer format: int32 taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: integer format: int32 baseType: type: string schemaLocation: type: string type: type: string priceType: type: string recurringChargePeriod: type: string quoteItem: title: QuoteItem type: object properties: name: type: string '@type': type: string itemTerm: type: array items: title: ItemTerm type: object properties: description: type: string itemPrice: type: array items: title: ItemPrice type: object properties: name: type: string price: $ref: '#/components/schemas/com_mtn_aggregator_models_request_Price' productOrder: type: array items: title: ProductOrder type: object properties: productOrderItem: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOrderItem' externalId: type: array items: title: ExternalId type: object properties: owner: type: string id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RelatedParty' category: type: string id: type: string notificationContact: type: string com_mtn_aggregator_models_request_ProductOrder: title: ProductOrder type: object properties: productOrderItem: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOrderItem' externalId: type: array items: title: ExternalId type: object properties: owner: type: string id: type: string com_mtn_aggregator_models_response_crbt_ExternalId: title: ExternalId type: object properties: owner: type: string id: type: string com_mtn_aggregator_models_request_fnf_ProductOrderItem: title: ProductOrderItem type: object properties: id: type: string quantity: type: string '@type': type: string action: type: string state: type: string product: title: Product type: object properties: status: type: string id: type: string name: type: string orderDate: type: string productSerialNumber: type: string startDate: type: string terminationDate: type: string productRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductRelationship' characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: array items: title: Value type: object properties: seqNo: type: integer format: int32 action: type: string value: type: string '@type': type: string productOffering: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOffering' publicIdentifier: type: string productOffering: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOffering' com_mtn_aggregator_models_request_Quantity: title: Quantity type: object properties: amount: type: number format: double unit: type: string com_mtn_aggregator_models_response_APIResponse: title: APIResponse type: object properties: resultCode: type: string resultDescription: type: string transactionId: type: string data: type: array items: title: ProductOrderResponse type: object properties: '@baseType': type: string '@type': type: string externalId: type: string status: type: string reason: type: string description: type: string requestedStartDate: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RequestChannel' productOrderItem: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOrderItem' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RelatedParty' com_mtn_aggregator_models_response_domainname_BalanceValidity: title: BalanceValidity type: object properties: endDateTime: 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 com_mtn_aggregator_models_request_QuoteItem: title: QuoteItem type: object properties: name: type: string '@type': type: string com_mtn_aggregator_models_request_RequestChannel: title: RequestChannel type: object properties: id: type: string href: type: string name: type: string role: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string '@referredType': type: string com_mtn_aggregator_models_request_Product: title: Product type: object properties: productRelationship: type: array items: title: ProductRelationship type: object properties: '@type': type: string relationshipType: type: string productCharacteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valuetype: type: string unitOfMeasure: type: string '@type': type: string content: type: string format: byte values: type: array items: title: PhoneData type: object properties: phone_model: type: string imei: type: string second_msisdn: type: string data_beneficiary_msisdn: type: string phone_beneficiary_msisdn: type: string model: title: PhoneModel type: object properties: _id: type: string code: type: string OEM: type: string brand: type: string model: type: string storage: type: string screen_size: type: string battery: type: string price: type: number format: double upfront_amount: type: number format: double nbr_of_days: type: integer format: int32 daily_amount: type: number format: double category: type: string partner_id: type: string intelligra_service_provider: type: string spec: type: string commission_amount: type: number format: double ebu_daily_amount: type: number format: double ebu_daily_total_amount: type: number format: double ebu_monthly_amount: type: number format: double ebu_monthly_total_amount: type: number format: double ebu_nbr_of_days: type: integer format: int32 ebu_nbr_of_months: type: integer format: int32 ebu_nbr_of_weeks: type: integer format: int32 ebu_weekly_amount: type: number format: double ebu_weekly_total_amount: type: number format: double ebu_hourly_amount: type: number format: double ebu_hourly_total_amount: type: number format: double ebu_minutely_amount: type: number format: double ebu_minutely_total_amount: type: number format: double ebu_nbr_of_hours: type: integer format: int32 ebu_nbr_of_minutes: type: integer format: int32 name: type: string created_at: type: string productTerm: type: array items: title: ProductTerm type: object properties: '@baseType': type: string '@type': type: string description: type: string name: type: string duration: title: Quantity type: object properties: amount: type: number format: double unit: type: string validFor: title: BalanceValidity type: object properties: endDateTime: type: string productSpecification: title: ProductSpecification type: object properties: id: type: string productSerialNumber: type: string '@referredType': type: string id: type: string status: type: string orderDate: type: string startDate: type: string terminationDate: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string name: type: string address: type: string country: type: string com_mtn_aggregator_models_response_ProductOrderResponse: title: ProductOrderResponse type: object properties: '@baseType': type: string '@type': type: string externalId: type: string status: type: string reason: type: string description: type: string requestedStartDate: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RequestChannel' productOrderItem: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOrderItem' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RelatedParty' com_mtn_aggregator_models_request_PhoneData: title: PhoneData type: object properties: phone_model: type: string imei: type: string second_msisdn: type: string data_beneficiary_msisdn: type: string phone_beneficiary_msisdn: type: string model: title: PhoneModel type: object properties: _id: type: string code: type: string OEM: type: string brand: type: string model: type: string storage: type: string screen_size: type: string battery: type: string price: type: number format: double upfront_amount: type: number format: double nbr_of_days: type: integer format: int32 daily_amount: type: number format: double category: type: string partner_id: type: string intelligra_service_provider: type: string spec: type: string commission_amount: type: number format: double ebu_daily_amount: type: number format: double ebu_daily_total_amount: type: number format: double ebu_monthly_amount: type: number format: double ebu_monthly_total_amount: type: number format: double ebu_nbr_of_days: type: integer format: int32 ebu_nbr_of_months: type: integer format: int32 ebu_nbr_of_weeks: type: integer format: int32 ebu_weekly_amount: type: number format: double ebu_weekly_total_amount: type: number format: double ebu_hourly_amount: type: number format: double ebu_hourly_total_amount: type: number format: double ebu_minutely_amount: type: number format: double ebu_minutely_total_amount: type: number format: double ebu_nbr_of_hours: type: integer format: int32 ebu_nbr_of_minutes: type: integer format: int32 name: type: string created_at: type: string com_mtn_aggregator_models_request_Price: title: Price type: object properties: percentage: type: integer format: int32 taxRate: type: integer format: int32 taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: integer format: int32 baseType: type: string schemaLocation: type: string type: type: string com_mtn_aggregator_models_request_ProductOrderFnfRequest: title: ProductOrderFnfRequest type: object properties: externalId: type: string status: type: string reason: type: string description: type: string channel: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RequestChannel' productOrderItem: type: array items: title: ProductOrderItem type: object properties: id: type: string quantity: type: string '@type': type: string action: type: string state: type: string product: title: Product type: object properties: status: type: string id: type: string name: type: string orderDate: type: string productSerialNumber: type: string startDate: type: string terminationDate: type: string productRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductRelationship' characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: array items: title: Value type: object properties: seqNo: type: integer format: int32 action: type: string value: type: string '@type': type: string productOffering: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOffering' publicIdentifier: type: string productOffering: $ref: '#/components/schemas/com_mtn_aggregator_models_request_ProductOffering' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_request_RelatedParty' '@baseType': type: string '@type': type: string com_mtn_aggregator_models_request_Characteristic: title: Characteristic type: object properties: name: type: string value: type: string valuetype: type: string unitOfMeasure: type: string '@type': type: string content: type: string format: byte values: type: array items: title: PhoneData type: object properties: phone_model: type: string imei: type: string second_msisdn: type: string data_beneficiary_msisdn: type: string phone_beneficiary_msisdn: type: string model: title: PhoneModel type: object properties: _id: type: string code: type: string OEM: type: string brand: type: string model: type: string storage: type: string screen_size: type: string battery: type: string price: type: number format: double upfront_amount: type: number format: double nbr_of_days: type: integer format: int32 daily_amount: type: number format: double category: type: string partner_id: type: string intelligra_service_provider: type: string spec: type: string commission_amount: type: number format: double ebu_daily_amount: type: number format: double ebu_daily_total_amount: type: number format: double ebu_monthly_amount: type: number format: double ebu_monthly_total_amount: type: number format: double ebu_nbr_of_days: type: integer format: int32 ebu_nbr_of_months: type: integer format: int32 ebu_nbr_of_weeks: type: integer format: int32 ebu_weekly_amount: type: number format: double ebu_weekly_total_amount: type: number format: double ebu_hourly_amount: type: number format: double ebu_hourly_total_amount: type: number format: double ebu_minutely_amount: type: number format: double ebu_minutely_total_amount: type: number format: double ebu_nbr_of_hours: type: integer format: int32 ebu_nbr_of_minutes: type: integer format: int32 name: type: string created_at: type: string com_mtn_aggregator_models_request_ItemTerm: title: ItemTerm type: object properties: description: type: string com_mtn_aggregator_models_request_ItemTotalPrice: title: ItemTotalPrice type: object properties: price: title: Price type: object properties: percentage: type: integer format: int32 taxRate: type: integer format: int32 taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: integer format: int32 baseType: type: string schemaLocation: type: string type: type: string priceType: type: string recurringChargePeriod: type: string com_mtn_aggregator_models_request_ProductSpecification: title: ProductSpecification type: object properties: id: type: string com_mtn_aggregator_models_request_ProductOffering: title: ProductOffering type: object properties: id: type: string name: type: string com_mtn_aggregator_models_request_RelatedParty: title: RelatedParty type: object properties: id: type: string role: type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string name: type: string address: type: string country: type: string com_mtn_aggregator_models_request_ProductOrderItem: title: ProductOrderItem type: object properties: '@type': type: string id: type: string quantity: type: string action: type: string product: title: Product type: object properties: productRelationship: type: array items: title: ProductRelationship type: object properties: '@type': type: string relationshipType: type: string productCharacteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valuetype: type: string unitOfMeasure: type: string '@type': type: string content: type: string format: byte values: type: array items: title: PhoneData type: object properties: phone_model: type: string imei: type: string second_msisdn: type: string data_beneficiary_msisdn: type: string phone_beneficiary_msisdn: type: string model: title: PhoneModel type: object properties: _id: type: string code: type: string OEM: type: string brand: type: string model: type: string storage: type: string screen_size: type: string battery: type: string price: type: number format: double upfront_amount: type: number format: double nbr_of_days: type: integer format: int32 daily_amount: type: number format: double category: type: string partner_id: type: string intelligra_service_provider: type: string spec: type: string commission_amount: type: number format: double ebu_daily_amount: type: number format: double ebu_daily_total_amount: type: number format: double ebu_monthly_amount: type: number format: double ebu_monthly_total_amount: type: number format: double ebu_nbr_of_days: type: integer format: int32 ebu_nbr_of_months: type: integer format: int32 ebu_nbr_of_weeks: type: integer format: int32 ebu_weekly_amount: type: number format: double ebu_weekly_total_amount: type: number format: double ebu_hourly_amount: type: number format: double ebu_hourly_total_amount: type: number format: double ebu_minutely_amount: type: number format: double ebu_minutely_total_amount: type: number format: double ebu_nbr_of_hours: type: integer format: int32 ebu_nbr_of_minutes: type: integer format: int32 name: type: string created_at: type: string productTerm: type: array items: title: ProductTerm type: object properties: '@baseType': type: string '@type': type: string description: type: string name: type: string duration: title: Quantity type: object properties: amount: type: number format: double unit: type: string validFor: title: BalanceValidity type: object properties: endDateTime: type: string productSpecification: title: ProductSpecification type: object properties: id: type: string productSerialNumber: type: string '@referredType': type: string id: type: string status: type: string orderDate: type: string startDate: type: string terminationDate: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string partyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string name: type: string address: type: string country: type: string productOffering: title: ProductOffering type: object properties: id: type: string name: type: string itemTotalPrice: title: ItemTotalPrice type: object properties: price: title: Price type: object properties: percentage: type: integer format: int32 taxRate: type: integer format: int32 taxIncludedAmount: title: TaxIncludedAmount type: object properties: unit: type: string value: type: integer format: int32 baseType: type: string schemaLocation: type: string type: type: string priceType: type: string recurringChargePeriod: type: string quoteItem: title: QuoteItem type: object properties: name: type: string '@type': type: string itemTerm: type: array items: title: ItemTerm type: object properties: description: type: string itemPrice: type: array items: title: ItemPrice type: object properties: name: type: string price: $ref: '#/components/schemas/com_mtn_aggregator_models_request_Price' com_mtn_aggregator_models_response_devicefinancing_PhoneModel: title: PhoneModel type: object properties: _id: type: string code: type: string OEM: type: string brand: type: string model: type: string storage: type: string screen_size: type: string battery: type: string price: type: number format: double upfront_amount: type: number format: double nbr_of_days: type: integer format: int32 daily_amount: type: number format: double category: type: string partner_id: type: string intelligra_service_provider: type: string spec: type: string commission_amount: type: number format: double ebu_daily_amount: type: number format: double ebu_daily_total_amount: type: number format: double ebu_monthly_amount: type: number format: double ebu_monthly_total_amount: type: number format: double ebu_nbr_of_days: type: integer format: int32 ebu_nbr_of_months: type: integer format: int32 ebu_nbr_of_weeks: type: integer format: int32 ebu_weekly_amount: type: number format: double ebu_weekly_total_amount: type: number format: double ebu_hourly_amount: type: number format: double ebu_hourly_total_amount: type: number format: double ebu_minutely_amount: type: number format: double ebu_minutely_total_amount: type: number format: double ebu_nbr_of_hours: type: integer format: int32 ebu_nbr_of_minutes: type: integer format: int32 name: type: string created_at: type: string com_mtn_aggregator_models_request_PartyOrPartyRole: title: PartyOrPartyRole type: object properties: id: type: string name: type: string 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