openapi: 3.0.1 info: title: Customer Plan V2 description: The Customer Plan API is utilized for enabling the capabilities of managing and retrieving plans for MTN customers. license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 - Last updated date:2026-09-08 12:06:08 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: CustomerPlan - name: Refill paths: /customers/{customerId}/plans: patch: tags: - CustomerPlan summary: Tariff plan migration. description: This operation is utilized for enabling the capability of migrating an MTN customer from one tariff plan to another plan. operationId: PlanService_patch_planMigration_customerscustomerIdp parameters: - name: customerId in: path required: true schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-origin-channelid in: header required: false schema: type: string requestBody: content: application/json: schema: title: MigrationRequest type: object properties: planId: type: string providerId: 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 customer plan flows. content: application/json: schema: title: MigrationResponse type: object properties: statusCode: type: string transactionId: type: string sequenceNo: type: string statusMessage: type: string supportMessage: type: string customerId: type: string data: title: MigrationData type: object properties: responseType: type: string action: type: string planId: type: string productId: type: integer format: int32 productName: type: string productType: type: string amount: type: string country: type: string notification: 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 /customers/{customerId}/plans/FRI/state: patch: tags: - CustomerPlan summary: Block and Unblock operations are initiated on Customer FRI. description: By Interpreting value for 'state' MADAPI initiates Block and Unblock requests on Customer FRI(accounts) and gets updated in target system. operationId: PlanService_patch_planFriState_customerscustomerIdp parameters: - name: channel-id in: header required: false schema: type: string - name: customerId in: path required: true schema: type: string - name: idType in: header 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 requestBody: content: application/json: schema: title: FriStateRequest type: object properties: fri: type: string state: type: string reason: 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 customer plan flows. content: application/json: schema: title: FriStateResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: 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 /customers/{customerId}/plans/evdAgentBalance: get: tags: - CustomerPlan summary: Retrieves the account balance of an EVD retailer/agent. description: This Get operation is utilized for enabling the capability of retrieving the account balance of an EVD retailer/agent. operationId: PlanService_get_viewAgentBalance_customerscustomerIdp parameters: - name: channel in: query required: true schema: type: string - name: customerId in: path required: true schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-country-code 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 customer plan flows. content: application/json: schema: title: EVDBalanceResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string data: title: EVDBalanceData type: object properties: account: title: EVDAccount type: object properties: accountId: type: string balance: title: EVDCreditLimit type: object properties: currency: type: string value: type: string creditLimit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_evd_EVDCreditLimit' description: type: string resultCode: type: string ersReference: type: string clientMsisdn: type: string clientName: type: string receipt: 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 /customers/{customerId}/plans/refill: patch: tags: - Refill summary: Airtime Refill description: Will be used by 3rd-party partners (3PP) for airtime voucher or voucher-less recharge of a prepaid subscriber ID of the customer. It must be MSISDN and the format must be E.123 operationId: RefillService_patch_customerRefill_customerscustomerIdp parameters: - name: channel in: header required: false schema: type: string - name: customerId in: path required: true schema: type: string - name: sourceSystemId in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization-claims in: header required: false schema: type: string - name: x-email-id in: header required: false schema: type: string - name: x-origin-channelid in: header required: false schema: type: string - name: x-registration-channel-id in: header required: false schema: type: string requestBody: content: application/json: schema: title: RefillRequest type: object properties: refillType: type: string refillProfileId: type: string voucherActivationCode: type: string targetSystem: type: string serialNumber: type: string transactionAmount: type: integer format: int32 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 customer plan flows. content: application/json: schema: title: RefillResponse type: object properties: statusCode: type: string statusMessage: type: string transactionId: type: string sequenceNo: type: string data: title: RefillResponseData type: object properties: amount: type: integer format: int64 currencyCode: type: string serialStatus: type: string actionStatus: type: string status: type: string serialNumber: type: string group: type: string success: type: boolean responseCode: type: integer format: int32 responseMessage: type: string failureReason: type: string addtionalInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_ppms_AdditionalInformation' "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 /customers/{customerId}/plans/requestConfirmation: get: tags: - CustomerPlan summary: Retrieves momo Request Confirmation. description: This Get operation is utilized for enabling the capability of retrieving the Mobile Money(momo) request confirmation. operationId: PlanService_get_getRequestConfirmation_customerscustomerIdp parameters: - name: customerId in: path required: true schema: type: string - name: otherMsisdn in: query required: true schema: type: string - name: requestType in: query required: true schema: type: string - name: transactionDate in: query 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 customer plan flows. content: application/json: schema: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_CustomerPlan' "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 /customers/{customerId}/plans/statement: get: tags: - CustomerPlan summary: Retrieves momo statement. description: This operation is utilized for enabling the capability of retrieving the momo statement of an MTN customer or agent. operationId: PlanService_get_getStatement_customerscustomerIdp parameters: - name: address in: header required: false schema: type: string - name: communicationMethod in: query required: false schema: type: string - name: count in: query required: false schema: type: integer format: int32 - name: countryCode in: header required: false schema: type: string - name: customerId in: path required: true schema: type: string - name: endDate in: header required: false schema: type: string - name: lang in: header required: false schema: type: string - name: productCategory in: query required: false schema: type: string - name: requestType in: query required: false schema: type: string - name: startDate in: header required: false schema: type: string - name: x-origin-channelid 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 customer plan flows. content: application/json: schema: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_CustomerPlan' "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 /customers/{customerId}/plans/transactionHistory: get: tags: - CustomerPlan summary: Get a list of transactions made on a reference by a FRI id description: This operation enables the capability of retrieving a list of transactions made on a reference by a Financial Resource Information(FRI) id. operationId: PlanService_get_getTransactionHistory_customerscustomerIdp parameters: - name: customerId in: path required: true schema: type: string - name: endDate in: header required: false schema: type: string - name: idType in: header required: true schema: type: string - name: maxTransactions in: header required: false schema: type: string - name: startDate in: header required: false schema: type: string - name: status in: header required: false schema: type: string - name: targetSystem in: header required: true schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-origin-channelId 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 customer plan flows. content: application/json: schema: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_TransactionHistoryResponse' "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: - CustomerPlan summary: Get a list of transactions made on a reference by a FRI id description: This operation enables the capability of retrieving a list of transactions made on a reference by a Financial Resource Information(FRI) id. operationId: PlanService_post_getCustomerTransactionHistory_customerscustomerIdp parameters: - name: customerId in: path required: true schema: type: string - name: endDate in: header required: false schema: type: string - name: idType in: header required: true schema: type: string - name: maxTransactions in: header required: false schema: type: string - name: startDate in: header required: false schema: type: string - name: status in: header required: false schema: type: string - name: targetSystem in: header required: true schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-origin-channelId in: header required: false schema: type: string requestBody: content: application/json: schema: title: GetTransactionHistoryRequest type: object properties: pagingInfo: title: PagingInfo type: object properties: startIndex: type: string maxItems: type: string fri: type: string financialTransactionId: title: FinancialTransactionId type: object properties: id: type: string externalTransactionId: title: ExternalTransactionId type: object properties: id: type: string transactionStatus: title: FinancialTransactionStatus type: object transactionTypes: title: TransactionTypes type: object properties: transactionType: type: array items: title: FinancialInstructionType type: object startDateFrom: type: string startDateTo: type: string dateFrom: type: string dateTo: type: string direction: type: string otherFri: title: OtherFri type: object properties: friValue: type: string friType: type: string communicationChannel: type: string providerCategory: type: string posMsisdn: type: string quoteId: 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 customer plan flows. content: application/json: schema: title: TransactionHistoryResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string transactionRecords: title: TransactionRecords type: object properties: financialTransactionId: type: string transactionStatus: type: string transferType: type: string startDate: type: string commitDate: type: string fxRate: type: string initiatingUser: type: string realUser: type: string initiatingAccountHolder: type: string realAccountHolder: type: string communicationChannel: type: string maininstructionId: type: string instructionId: type: string externaltransactionid: type: string senderId: type: string senderAccount: type: string recieverAccount: type: string SenderName: type: string senderHandlerName: type: string recieverName: type: string recieverHandlerName: type: string note: type: string fromAmount: title: Amount2 type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromavailableBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromtotalBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromcommitedBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' originalAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' toavailableBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' tototalBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' toAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' tocommitedBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' data: title: GetTransactionHistoryResponse type: object properties: transactionHistoryEntries: title: TransactionHistoryEntries type: object properties: transactionHistoryEntry: type: array items: title: GetTransactionHistoryEntryType3 type: object properties: financialtransactionid: type: string transactionstatus: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_FinancialTransactionStatus' transfertype: type: string startdate: type: string commitdate: type: string fxrate: type: string initiatinguser: type: string realuser: type: string reviewinguser: type: string initiatingaccountholder: type: string realaccountholder: type: string providercategory: type: string from: type: string fromaccount: type: string fromamount: title: Moneydetailstype type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromdiscount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' frompromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromloyfee: title: Loyaltypointstype type: object properties: amount: type: string fromloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' frompromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromnote: type: string fromavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtotalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromaccountholder: type: string originalamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcouponvalue: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' to: type: string toaccount: type: string toamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tofee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' topromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toloyfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' toloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' topromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' todiscountrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tomessage: type: string toavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tototalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tocommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' maininstructionid: type: string instructionid: type: string externaltransactionid: type: string transactiontext: type: string tofeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toaccountholder: type: string tovat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tovatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' totax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfirstname: type: string fromlastname: type: string fromhandlerfirstname: type: string fromhandlerlastname: type: string tofirstname: type: string tolastname: type: string tohandlerfirstname: type: string tohandlerlastname: type: string fromposmsisdn: type: string toposmsisdn: type: string originaltransactionid: type: string communicationchannel: type: string externalfxrate: type: string externalserviceprovider: type: string externalserviceprovidertransactionid: type: string fromexternalinstrumentprovidertransactionid: type: string toexternalinstrumentprovidertransactionid: type: string fromexternalinstrumentprovideraccountholder: type: string toexternalinstrumentprovideraccountholder: type: string loyalty: title: Loyalty type: object properties: generated: type: string consumed: type: string newbalance: 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 /customers/{id}/plans: get: tags: - CustomerPlan summary: Retrieves a customer plan. description: This Get operation endpoint is utilized for enabling the capability of retrieving the plan of an MTN customer using a unique identifier. operationId: PlanService_get_getPlans_customersidplans parameters: - name: balanceType in: query required: false schema: type: string - name: beneficiaryId in: query required: false schema: type: string - name: broadbandMsisdn in: query required: false schema: type: string - name: detailedBalance in: query required: false schema: type: boolean - name: extRequest in: query required: false schema: type: string - name: id in: path required: true schema: type: string - name: includeReservations in: query required: false schema: type: boolean - name: momo in: query required: false schema: type: boolean - name: planId in: query required: false schema: type: string - name: postpaid in: query required: false schema: type: boolean - name: prefLanguage in: query required: false schema: type: string - name: quoteId in: query required: false schema: type: string - name: referredCustomerId in: query required: false schema: type: string - name: requestType in: header required: false schema: type: string - name: segment in: query required: false schema: type: string - name: targetSystem in: query required: false schema: type: string - name: usageType in: query required: false schema: type: string - name: x-api-key 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 - name: x-email-id in: header required: false schema: type: string - name: x-origin-channelid 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 customer plan flows. content: application/json: schema: title: CustomerPlan type: object properties: statusCode: type: string transactionId: type: string sequenceNo: type: string statusMessage: type: string supportMessage: type: string success: type: boolean callingParty: type: string serviceType: type: string serviceId: type: string responseCode: type: string errorCode: type: string fttxError: type: string data: title: Plan type: object properties: type: title: PlanType type: object properties: id: type: integer format: int32 description: type: string status: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string startDate: type: string endDate: type: string language: type: string tariffPlanId: type: integer format: int32 tariffPlan: type: string customerType: type: string responseType: type: string circleCode: type: string action: type: string currency: type: string treeParameterName: type: string treeParameterValue: type: string ussdEndOfCallNotificationId: type: string serviceOfferings: type: string supervisionExpiryDate: type: string creditClearanceDate: type: string serviceRemovalDate: type: string supervisionPeriod: type: string serviceRemovalPeriod: type: string creditClearancePeriod: type: string serviceClassCurrent: type: string accountGroupID: type: integer format: int32 usageCounterId: type: integer format: int32 usageCounterValue: type: integer format: int32 usageThresholdID: type: integer format: int32 usageThresholdValue: type: integer format: int32 usageThresholdMonetaryValue2: type: string productID: type: integer format: int32 accountValue: type: integer format: int32 activationStatusFlag: type: boolean negativeBarringStatusFlag: type: boolean supervisionPeriodWarningActiveFlag: type: boolean serviceFeePeriodWarningActiveFlag: type: boolean serviceFeePeriodExpiryFlag: type: boolean serviceFeePeriodExpiryActiveFlag: type: boolean balance: type: array items: title: CustomerBalance type: object properties: balanceType: type: string tariff: type: string expiryDate: type: string activationDate: type: string category: type: string balanceDetail: title: BalanceDetail type: object properties: type: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_BalanceDetailType' activeValue: type: string activeUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' unusedValue: type: string unusedUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' autoRenewal: type: string balanceDetails: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' momoBalanceData: title: MomoBalanceDetail type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' positiveReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' negativeReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_LoyaltyInformation' overdraftInformation: title: OverdraftInformation type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' limit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accessFee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' interest: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' validity: type: string unit: type: string balanceDescription: type: string wallets: type: array items: title: Wallet type: object properties: id: type: integer format: int32 name: type: string status: title: WalletStatus type: object properties: name: type: string expiryDate: type: string activationDate: type: string recurring: type: boolean amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' typeBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accountName: type: string description: type: string additionalInformation: type: array items: title: AdditionalInformation type: object properties: name: type: string description: type: string value: type: string msisdn: type: string data: type: string voice: type: string sms: type: string airtime: type: string account: type: string offers: type: array items: title: Offer type: object properties: offerID: type: string offerType: type: string startDate: type: string expiryDate: type: string expiryDateValue: type: string format: date-time productOfferingName: type: string dedicatedAccountInformation: type: array items: title: Account type: object properties: accountId: type: string accountUnitType: type: string accountValue2: type: string accountValue1: type: string expiryDate: type: string startDate: type: string offerId: type: string productId: type: string treeParameterSetInformation: type: array items: title: TreeParameterSetInformation type: object properties: treeParameterName: type: string treeParameterValueNumber: type: string treeParameterValueDecimal: type: string usageCounter: type: array items: title: UsageCounter type: object properties: id: type: string name: type: string value: type: string unit: type: string usageThreshold: type: array items: title: UsageThreshold type: object properties: id: type: string name: type: string value: type: string unit: type: string accumulator: type: array items: title: Accumulator type: object properties: accumulatorID: type: integer format: int32 accumulatorValue: type: integer format: int64 accumulatorStartDate: type: string accumulatorEndDate: type: string leapOfferType: type: string offerSubType: type: string planCategory: type: string maxBundelInCategory: type: string uaidCategory: type: string qos: type: string price: type: string discount: type: string discountThreshold: type: string uaidDiscount: type: string volume: type: string volumeUnit: type: string dailyVolume: type: string validityUnit: type: string offerValidity: type: string autoRenewal: type: string autoRenewalThreshold: type: string uaidAutoRenewal: type: string maxSubscriptionThreshold: type: string uaidMaxSubscription: type: string sharedOffer: type: string sharedOfferId: type: string freeOffer: type: string allowedChannels: type: string subscriberProfile: type: string allowedSegements: title: AllowedSegements type: object properties: allowedSegement: type: array items: type: string serviceClasses: title: ServiceClasses type: object properties: serviceClass: type: array items: type: string location: type: string roamingPlan: type: string devices: title: Devices type: object properties: device: title: Device type: object properties: deviceType: type: string deviceModel: type: string pamServiceDetails: title: PamServiceDetails type: object properties: pamServiceDetail: title: PamServiceDetail type: object properties: pamService: type: string pamClasse: type: string pamScheduler: type: string pamIndicator: type: string locationIds: title: LocationIds type: object properties: locationId: type: string paymentOptions: title: PaymentOptions type: object properties: paymentOption: type: array items: type: string status: type: string endDate: type: string bonus: type: string refillProfileID: type: string refillType: type: string transactionType: type: string transactionCode: type: string externalData1: type: string externalData2: type: string externalData3: type: string externalData4: type: string notificationMessage: type: string notificationMessagesRauto: type: string notificationMessageAplan: type: string notificationMessageDplan: type: string notificationMessageUsage: type: string notificationMessageSubscriptionSuccess: type: string notificationMessageRenewSuccess: type: string minumumForSharing: type: string maximumForSharing: type: string bundleSharingFee: type: string diySubscriptionFee: type: string evdCommission: type: string diyMultiplicator: type: string offerState: type: string productID: type: string subscription: title: Subscription type: object properties: bparty: type: string parentPlanId: type: string requestedPlanId: type: string requestedNextPlanId: type: string serviceType: type: string serviceId: type: string firstActivationDate: type: string deActivationDate: type: string chargeAmount: type: string customerStatus: type: string lastRenewalDate: type: string nextRenewalDate: type: string graceExpiryDate: type: string reminderDate: type: string bearerId: type: string languageId: type: string bundleFlag: type: string retryCount: type: string operation: type: string subsType: type: string addDate: type: string autoRen: type: string validityUnits: type: string suspendexpiryDate: type: string serviceNode: type: string requestBy: type: string linkedServiceId: type: string contentId: type: string category: type: string reqSource: type: string linkedServiceType: type: string renewalBundleType: type: string modifiedOn: type: string chargeFlag: type: string offerUsageCounter: type: array items: title: OfferUsageCounter type: object properties: usageCounterMonetaryValue1: type: string usageCounterID: type: integer format: int32 productID: type: integer format: int32 offerUsageThreshold: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' remainingVolumeOffnet: type: string usageVolumeOnnet: type: string usageVolumeOffnet: type: string remainingVolumeOnnet: type: string balances: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' usageCounterAndThreshold: type: array items: title: UsageThresholdAndCounter type: object properties: usageCounter: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageCounter' usageThreshold: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' usageThresholds: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' accumulator: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Accumulator' dedicatedAccounts: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Account' aggregatedBalances: type: array items: title: AggregatedBalance type: object properties: product: type: string value: type: string unit: type: string offerId: type: string summaryBalances: type: array items: title: SummaryBalance type: object properties: balanceType: type: string value: type: string unit: type: string transactionDetails: type: array items: title: TransactionDetails type: object properties: amount: type: number format: double range: type: string productName: type: string subscriptionDate: type: string productCategory: type: string expiryDate: type: string message: 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: - CustomerPlan summary: Calculates premium description: This operation is utilized for enabling the capabilities of calculating the premium for an MTN customer using a unique identifier. operationId: PlanService_post_getAyopremium_customersidplans parameters: - name: id in: path required: true schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-origin-channelid in: header required: false schema: type: string requestBody: content: application/json: schema: title: Premium type: object properties: sendingCustomerId: type: string amount: title: Amount type: object properties: type: title: BalanceDetailType type: object properties: name: type: string value: type: string unit: title: UnitType type: object properties: name: type: string accountHolderId: type: string quoteId: type: string receivingCustomerId: type: string product: type: string transactionType: type: string message: type: string transactionId: 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 customer plan flows. content: application/json: schema: title: CustomerPremium type: object properties: statusCode: type: string originReferenceId: type: string data: title: PremiumData type: object properties: message: type: string premium: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: title: LoyaltyInformation type: object properties: loyaltyBalance: title: LoyaltyBalance type: object properties: generatedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' consumedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' newBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' sequenceNo: 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 /customers/{id}/plans/getFRI: post: tags: - CustomerPlan summary: Retrieves a customers FRI description: The operation is utilized for enabling the capabilities of retrieving the Financial Resource Information(FRI) for MTN customer. operationId: PlanService_post_getFRI_customersidplansgetF parameters: - name: id in: path required: true schema: type: string - name: targetsystem in: header required: true schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: true schema: type: string - name: x-origin-channelid in: header required: false schema: type: string requestBody: content: application/json: schema: title: GetFRIRequest required: - accountHolderId - resource type: object properties: resource: type: string accountHolderId: type: string extension: type: string xAuthorization: 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 customer plan flows. content: application/json: schema: title: GetFRIResponse required: - message type: object properties: statusCode: type: string message: type: string sequenceNo: type: string extension: 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 /customers/{id}/plans/{productCode}: get: tags: - CustomerPlan summary: Retrieves balance details of a plan description: This operation enables the capability of retrieving the balance details of a plan using the subscribed product code. operationId: PlanService_get_getPlansForDataPackage_customersidplansprod parameters: - name: id in: path required: true schema: type: string - name: productCode in: path required: true schema: type: string - name: x-origin-channelid 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 customer plan flows. content: application/json: schema: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_CustomerPlan' "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 /customers/{id}/ut-uc: get: tags: - CustomerPlan summary: Retrieves a customers UT/UC. description: This operation is utilized for enabling the capability of retrieving the usage thresholds and counters of an MTN customer. operationId: PlanService_get_getUsageThresholdCounter_customersidutuc parameters: - name: id in: path required: true schema: type: string - name: x-origin-channelid 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 customer plan flows. content: application/json: schema: title: UsageThresholdAndCounterResponse type: object properties: statusCode: type: string sequenceNo: type: string data: type: array items: title: UsageThresholdAndCounter2 type: object properties: usageCounter: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageCounter' usageThreshold: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' "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: za_co_mtn_aggregator_models_response_refill_RefillResponse: title: RefillResponse type: object properties: statusCode: type: string statusMessage: type: string transactionId: type: string sequenceNo: type: string data: title: RefillResponseData type: object properties: amount: type: integer format: int64 currencyCode: type: string serialStatus: type: string actionStatus: type: string status: type: string serialNumber: type: string group: type: string success: type: boolean responseCode: type: integer format: int32 responseMessage: type: string failureReason: type: string addtionalInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_ppms_AdditionalInformation' za_co_mtn_aggregator_models_evd_EVDAccount: title: EVDAccount type: object properties: accountId: type: string balance: title: EVDCreditLimit type: object properties: currency: type: string value: type: string creditLimit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_evd_EVDCreditLimit' description: type: string za_co_mtn_aggregator_models_response_Moneydetailstype: title: Moneydetailstype type: object properties: amount: type: string currency: type: string za_co_mtn_aggregator_models_response_Loyalty: title: Loyalty type: object properties: generated: type: string consumed: type: string newbalance: type: string za_co_mtn_aggregator_models_leap_PaymentOptions: title: PaymentOptions type: object properties: paymentOption: type: array items: type: string za_co_mtn_aggregator_models_leap_AllowedSegements: title: AllowedSegements type: object properties: allowedSegement: type: array items: type: string za_co_mtn_aggregator_models_leap_Devices: title: Devices type: object properties: device: title: Device type: object properties: deviceType: type: string deviceModel: type: string za_co_mtn_aggregator_enums_PlanType: title: PlanType type: object properties: id: type: integer format: int32 description: type: string za_co_mtn_aggregator_models_response_LoyaltyInformation: title: LoyaltyInformation type: object properties: loyaltyBalance: title: LoyaltyBalance type: object properties: generatedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' consumedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' newBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' za_co_mtn_aggregator_models_request_PagingInfo: title: PagingInfo type: object properties: startIndex: type: string maxItems: type: string za_co_mtn_aggregator_models_response_Account: title: Account type: object properties: accountId: type: string accountUnitType: type: string accountValue2: type: string accountValue1: type: string expiryDate: type: string startDate: type: string offerId: type: string productId: type: string za_co_mtn_aggregator_models_response_SummaryBalance: title: SummaryBalance type: object properties: balanceType: type: string value: type: string unit: type: string za_co_mtn_aggregator_models_response_utuc_UsageThresholdAndCounter2: title: UsageThresholdAndCounter2 type: object properties: usageCounter: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageCounter' usageThreshold: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' za_co_mtn_aggregator_models_response_utuc_OfferUsageCounter: title: OfferUsageCounter type: object properties: usageCounterMonetaryValue1: type: string usageCounterID: type: integer format: int32 productID: type: integer format: int32 za_co_mtn_aggregator_models_response_FriStateResponse: title: FriStateResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string za_co_mtn_aggregator_models_response_refill_RefillResponseData: title: RefillResponseData type: object properties: amount: type: integer format: int64 currencyCode: type: string serialStatus: type: string actionStatus: type: string status: type: string serialNumber: type: string group: type: string success: type: boolean responseCode: type: integer format: int32 responseMessage: type: string failureReason: type: string addtionalInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_ppms_AdditionalInformation' za_co_mtn_aggregator_models_request_ExternalTransactionId: title: ExternalTransactionId type: object properties: 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 za_co_mtn_aggregator_models_response_AggregatedBalance: title: AggregatedBalance type: object properties: product: type: string value: type: string unit: type: string offerId: type: string za_co_mtn_aggregator_models_response_TransactionHistoryResponse: title: TransactionHistoryResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string transactionRecords: title: TransactionRecords type: object properties: financialTransactionId: type: string transactionStatus: type: string transferType: type: string startDate: type: string commitDate: type: string fxRate: type: string initiatingUser: type: string realUser: type: string initiatingAccountHolder: type: string realAccountHolder: type: string communicationChannel: type: string maininstructionId: type: string instructionId: type: string externaltransactionid: type: string senderId: type: string senderAccount: type: string recieverAccount: type: string SenderName: type: string senderHandlerName: type: string recieverName: type: string recieverHandlerName: type: string note: type: string fromAmount: title: Amount2 type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromavailableBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromtotalBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromcommitedBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' originalAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' toavailableBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' tototalBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' toAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' tocommitedBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' data: title: GetTransactionHistoryResponse type: object properties: transactionHistoryEntries: title: TransactionHistoryEntries type: object properties: transactionHistoryEntry: type: array items: title: GetTransactionHistoryEntryType3 type: object properties: financialtransactionid: type: string transactionstatus: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_FinancialTransactionStatus' transfertype: type: string startdate: type: string commitdate: type: string fxrate: type: string initiatinguser: type: string realuser: type: string reviewinguser: type: string initiatingaccountholder: type: string realaccountholder: type: string providercategory: type: string from: type: string fromaccount: type: string fromamount: title: Moneydetailstype type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromdiscount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' frompromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromloyfee: title: Loyaltypointstype type: object properties: amount: type: string fromloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' frompromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromnote: type: string fromavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtotalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromaccountholder: type: string originalamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcouponvalue: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' to: type: string toaccount: type: string toamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tofee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' topromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toloyfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' toloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' topromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' todiscountrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tomessage: type: string toavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tototalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tocommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' maininstructionid: type: string instructionid: type: string externaltransactionid: type: string transactiontext: type: string tofeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toaccountholder: type: string tovat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tovatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' totax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfirstname: type: string fromlastname: type: string fromhandlerfirstname: type: string fromhandlerlastname: type: string tofirstname: type: string tolastname: type: string tohandlerfirstname: type: string tohandlerlastname: type: string fromposmsisdn: type: string toposmsisdn: type: string originaltransactionid: type: string communicationchannel: type: string externalfxrate: type: string externalserviceprovider: type: string externalserviceprovidertransactionid: type: string fromexternalinstrumentprovidertransactionid: type: string toexternalinstrumentprovidertransactionid: type: string fromexternalinstrumentprovideraccountholder: type: string toexternalinstrumentprovideraccountholder: type: string loyalty: title: Loyalty type: object properties: generated: type: string consumed: type: string newbalance: type: string za_co_mtn_aggregator_models_response_GetTransactionHistoryResponse: title: GetTransactionHistoryResponse type: object properties: transactionHistoryEntries: title: TransactionHistoryEntries type: object properties: transactionHistoryEntry: type: array items: title: GetTransactionHistoryEntryType3 type: object properties: financialtransactionid: type: string transactionstatus: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_FinancialTransactionStatus' transfertype: type: string startdate: type: string commitdate: type: string fxrate: type: string initiatinguser: type: string realuser: type: string reviewinguser: type: string initiatingaccountholder: type: string realaccountholder: type: string providercategory: type: string from: type: string fromaccount: type: string fromamount: title: Moneydetailstype type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromdiscount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' frompromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromloyfee: title: Loyaltypointstype type: object properties: amount: type: string fromloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' frompromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromnote: type: string fromavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtotalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromaccountholder: type: string originalamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcouponvalue: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' to: type: string toaccount: type: string toamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tofee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' topromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toloyfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' toloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' topromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' todiscountrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tomessage: type: string toavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tototalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tocommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' maininstructionid: type: string instructionid: type: string externaltransactionid: type: string transactiontext: type: string tofeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toaccountholder: type: string tovat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tovatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' totax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfirstname: type: string fromlastname: type: string fromhandlerfirstname: type: string fromhandlerlastname: type: string tofirstname: type: string tolastname: type: string tohandlerfirstname: type: string tohandlerlastname: type: string fromposmsisdn: type: string toposmsisdn: type: string originaltransactionid: type: string communicationchannel: type: string externalfxrate: type: string externalserviceprovider: type: string externalserviceprovidertransactionid: type: string fromexternalinstrumentprovidertransactionid: type: string toexternalinstrumentprovidertransactionid: type: string fromexternalinstrumentprovideraccountholder: type: string toexternalinstrumentprovideraccountholder: type: string loyalty: title: Loyalty type: object properties: generated: type: string consumed: type: string newbalance: type: string za_co_mtn_aggregator_models_response_GetTransactionHistoryEntryType3: title: GetTransactionHistoryEntryType3 type: object properties: financialtransactionid: type: string transactionstatus: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_FinancialTransactionStatus' transfertype: type: string startdate: type: string commitdate: type: string fxrate: type: string initiatinguser: type: string realuser: type: string reviewinguser: type: string initiatingaccountholder: type: string realaccountholder: type: string providercategory: type: string from: type: string fromaccount: type: string fromamount: title: Moneydetailstype type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromdiscount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' frompromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromloyfee: title: Loyaltypointstype type: object properties: amount: type: string fromloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' frompromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromnote: type: string fromavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtotalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromaccountholder: type: string originalamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcouponvalue: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' to: type: string toaccount: type: string toamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tofee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' topromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toloyfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' toloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' topromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' todiscountrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tomessage: type: string toavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tototalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tocommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' maininstructionid: type: string instructionid: type: string externaltransactionid: type: string transactiontext: type: string tofeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toaccountholder: type: string tovat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tovatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' totax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfirstname: type: string fromlastname: type: string fromhandlerfirstname: type: string fromhandlerlastname: type: string tofirstname: type: string tolastname: type: string tohandlerfirstname: type: string tohandlerlastname: type: string fromposmsisdn: type: string toposmsisdn: type: string originaltransactionid: type: string communicationchannel: type: string externalfxrate: type: string externalserviceprovider: type: string externalserviceprovidertransactionid: type: string fromexternalinstrumentprovidertransactionid: type: string toexternalinstrumentprovidertransactionid: type: string fromexternalinstrumentprovideraccountholder: type: string toexternalinstrumentprovideraccountholder: type: string za_co_mtn_aggregator_models_response_utuc_UsageThreshold: title: UsageThreshold type: object properties: id: type: string name: type: string value: type: string unit: type: string za_co_mtn_aggregator_models_leap_Device: title: Device type: object properties: deviceType: type: string deviceModel: type: string za_co_mtn_aggregator_models_request_OtherFri: title: OtherFri type: object properties: friValue: type: string friType: type: string za_co_mtn_aggregator_models_customer_CustomerBalance: title: CustomerBalance type: object properties: balanceType: type: string tariff: type: string expiryDate: type: string activationDate: type: string category: type: string balanceDetail: title: BalanceDetail type: object properties: type: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_BalanceDetailType' activeValue: type: string activeUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' unusedValue: type: string unusedUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' autoRenewal: type: string balanceDetails: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' momoBalanceData: title: MomoBalanceDetail type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' positiveReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' negativeReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_LoyaltyInformation' overdraftInformation: title: OverdraftInformation type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' limit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accessFee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' interest: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' validity: type: string unit: type: string balanceDescription: type: string wallets: type: array items: title: Wallet type: object properties: id: type: integer format: int32 name: type: string status: title: WalletStatus type: object properties: name: type: string expiryDate: type: string activationDate: type: string recurring: type: boolean amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' typeBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accountName: type: string description: type: string additionalInformation: type: array items: title: AdditionalInformation type: object properties: name: type: string description: type: string value: type: string za_co_mtn_aggregator_models_response_TreeParameterSetInformation: title: TreeParameterSetInformation type: object properties: treeParameterName: type: string treeParameterValueNumber: type: string treeParameterValueDecimal: type: string za_co_mtn_aggregator_enums_FinancialTransactionStatus: title: FinancialTransactionStatus type: object za_co_mtn_aggregator_enums_UnitType: title: UnitType type: object properties: name: type: string za_co_mtn_aggregator_models_ppms_AdditionalInformation: title: AdditionalInformation type: object properties: name: type: string description: type: string value: type: string za_co_mtn_aggregator_models_response_GetFRIResponse: title: GetFRIResponse required: - message type: object properties: statusCode: type: string message: type: string sequenceNo: type: string extension: type: string za_co_mtn_aggregator_models_evd_EVDBalanceResponse: title: EVDBalanceResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string data: title: EVDBalanceData type: object properties: account: title: EVDAccount type: object properties: accountId: type: string balance: title: EVDCreditLimit type: object properties: currency: type: string value: type: string creditLimit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_evd_EVDCreditLimit' description: type: string resultCode: type: string ersReference: type: string clientMsisdn: type: string clientName: type: string receipt: type: string za_co_mtn_aggregator_models_customer_GetFRIRequest: title: GetFRIRequest required: - accountHolderId - resource type: object properties: resource: type: string accountHolderId: type: string extension: type: string xAuthorization: type: string za_co_mtn_aggregator_models_response_MigrationData: title: MigrationData type: object properties: responseType: type: string action: type: string planId: type: string productId: type: integer format: int32 productName: type: string productType: type: string amount: type: string country: type: string notification: type: string za_co_mtn_aggregator_models_evd_EVDCreditLimit: title: EVDCreditLimit type: object properties: currency: type: string value: type: string za_co_mtn_aggregator_models_customer_Offer: title: Offer type: object properties: offerID: type: string offerType: type: string startDate: type: string expiryDate: type: string expiryDateValue: type: string format: date-time productOfferingName: type: string dedicatedAccountInformation: type: array items: title: Account type: object properties: accountId: type: string accountUnitType: type: string accountValue2: type: string accountValue1: type: string expiryDate: type: string startDate: type: string offerId: type: string productId: type: string treeParameterSetInformation: type: array items: title: TreeParameterSetInformation type: object properties: treeParameterName: type: string treeParameterValueNumber: type: string treeParameterValueDecimal: type: string usageCounter: type: array items: title: UsageCounter type: object properties: id: type: string name: type: string value: type: string unit: type: string usageThreshold: type: array items: title: UsageThreshold type: object properties: id: type: string name: type: string value: type: string unit: type: string accumulator: type: array items: title: Accumulator type: object properties: accumulatorID: type: integer format: int32 accumulatorValue: type: integer format: int64 accumulatorStartDate: type: string accumulatorEndDate: type: string leapOfferType: type: string offerSubType: type: string planCategory: type: string maxBundelInCategory: type: string uaidCategory: type: string qos: type: string price: type: string discount: type: string discountThreshold: type: string uaidDiscount: type: string volume: type: string volumeUnit: type: string dailyVolume: type: string validityUnit: type: string offerValidity: type: string autoRenewal: type: string autoRenewalThreshold: type: string uaidAutoRenewal: type: string maxSubscriptionThreshold: type: string uaidMaxSubscription: type: string sharedOffer: type: string sharedOfferId: type: string freeOffer: type: string allowedChannels: type: string subscriberProfile: type: string allowedSegements: title: AllowedSegements type: object properties: allowedSegement: type: array items: type: string serviceClasses: title: ServiceClasses type: object properties: serviceClass: type: array items: type: string location: type: string roamingPlan: type: string devices: title: Devices type: object properties: device: title: Device type: object properties: deviceType: type: string deviceModel: type: string pamServiceDetails: title: PamServiceDetails type: object properties: pamServiceDetail: title: PamServiceDetail type: object properties: pamService: type: string pamClasse: type: string pamScheduler: type: string pamIndicator: type: string locationIds: title: LocationIds type: object properties: locationId: type: string paymentOptions: title: PaymentOptions type: object properties: paymentOption: type: array items: type: string status: type: string endDate: type: string bonus: type: string refillProfileID: type: string refillType: type: string transactionType: type: string transactionCode: type: string externalData1: type: string externalData2: type: string externalData3: type: string externalData4: type: string notificationMessage: type: string notificationMessagesRauto: type: string notificationMessageAplan: type: string notificationMessageDplan: type: string notificationMessageUsage: type: string notificationMessageSubscriptionSuccess: type: string notificationMessageRenewSuccess: type: string minumumForSharing: type: string maximumForSharing: type: string bundleSharingFee: type: string diySubscriptionFee: type: string evdCommission: type: string diyMultiplicator: type: string offerState: type: string productID: type: string subscription: title: Subscription type: object properties: bparty: type: string parentPlanId: type: string requestedPlanId: type: string requestedNextPlanId: type: string serviceType: type: string serviceId: type: string firstActivationDate: type: string deActivationDate: type: string chargeAmount: type: string customerStatus: type: string lastRenewalDate: type: string nextRenewalDate: type: string graceExpiryDate: type: string reminderDate: type: string bearerId: type: string languageId: type: string bundleFlag: type: string retryCount: type: string operation: type: string subsType: type: string addDate: type: string autoRen: type: string validityUnits: type: string suspendexpiryDate: type: string serviceNode: type: string requestBy: type: string linkedServiceId: type: string contentId: type: string category: type: string reqSource: type: string linkedServiceType: type: string renewalBundleType: type: string modifiedOn: type: string chargeFlag: type: string offerUsageCounter: type: array items: title: OfferUsageCounter type: object properties: usageCounterMonetaryValue1: type: string usageCounterID: type: integer format: int32 productID: type: integer format: int32 offerUsageThreshold: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' remainingVolumeOffnet: type: string usageVolumeOnnet: type: string usageVolumeOffnet: type: string remainingVolumeOnnet: type: string balances: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' za_co_mtn_aggregator_models_response_TransactionRecords: title: TransactionRecords type: object properties: financialTransactionId: type: string transactionStatus: type: string transferType: type: string startDate: type: string commitDate: type: string fxRate: type: string initiatingUser: type: string realUser: type: string initiatingAccountHolder: type: string realAccountHolder: type: string communicationChannel: type: string maininstructionId: type: string instructionId: type: string externaltransactionid: type: string senderId: type: string senderAccount: type: string recieverAccount: type: string SenderName: type: string senderHandlerName: type: string recieverName: type: string recieverHandlerName: type: string note: type: string fromAmount: title: Amount2 type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromavailableBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromtotalBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' fromcommitedBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' originalAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' toavailableBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' tototalBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' toAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' tocommitedBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Amount2' za_co_mtn_aggregator_enums_WalletStatus: title: WalletStatus type: object properties: name: type: string za_co_mtn_aggregator_models_response_MigrationResponse: title: MigrationResponse type: object properties: statusCode: type: string transactionId: type: string sequenceNo: type: string statusMessage: type: string supportMessage: type: string customerId: type: string data: title: MigrationData type: object properties: responseType: type: string action: type: string planId: type: string productId: type: integer format: int32 productName: type: string productType: type: string amount: type: string country: type: string notification: type: string za_co_mtn_aggregator_models_customer_Premium: title: Premium type: object properties: sendingCustomerId: type: string amount: title: Amount type: object properties: type: title: BalanceDetailType type: object properties: name: type: string value: type: string unit: title: UnitType type: object properties: name: type: string accountHolderId: type: string quoteId: type: string receivingCustomerId: type: string product: type: string transactionType: type: string message: type: string transactionId: type: string za_co_mtn_aggregator_models_customer_MigrationRequest: title: MigrationRequest type: object properties: planId: type: string providerId: type: string za_co_mtn_aggregator_enums_FinancialInstructionType: title: FinancialInstructionType type: object za_co_mtn_aggregator_models_leap_Subscription: title: Subscription type: object properties: bparty: type: string parentPlanId: type: string requestedPlanId: type: string requestedNextPlanId: type: string serviceType: type: string serviceId: type: string firstActivationDate: type: string deActivationDate: type: string chargeAmount: type: string customerStatus: type: string lastRenewalDate: type: string nextRenewalDate: type: string graceExpiryDate: type: string reminderDate: type: string bearerId: type: string languageId: type: string bundleFlag: type: string retryCount: type: string operation: type: string subsType: type: string addDate: type: string autoRen: type: string validityUnits: type: string suspendexpiryDate: type: string serviceNode: type: string requestBy: type: string linkedServiceId: type: string contentId: type: string category: type: string reqSource: type: string linkedServiceType: type: string renewalBundleType: type: string modifiedOn: type: string chargeFlag: type: string za_co_mtn_aggregator_models_customer_BalanceDetail: title: BalanceDetail type: object properties: type: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_BalanceDetailType' activeValue: type: string activeUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' unusedValue: type: string unusedUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' autoRenewal: type: string za_co_mtn_aggregator_models_response_Loyaltypointstype: title: Loyaltypointstype type: object properties: amount: type: string za_co_mtn_aggregator_enums_PlanStatus: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string za_co_mtn_aggregator_models_customer_FriStateRequest: title: FriStateRequest type: object properties: fri: type: string state: type: string reason: type: string za_co_mtn_aggregator_models_leap_LocationIds: title: LocationIds type: object properties: locationId: type: string za_co_mtn_aggregator_models_evd_EVDBalanceData: title: EVDBalanceData type: object properties: account: title: EVDAccount type: object properties: accountId: type: string balance: title: EVDCreditLimit type: object properties: currency: type: string value: type: string creditLimit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_evd_EVDCreditLimit' description: type: string resultCode: type: string ersReference: type: string clientMsisdn: type: string clientName: type: string receipt: type: string za_co_mtn_aggregator_enums_BalanceDetailType: title: BalanceDetailType type: object properties: name: type: string za_co_mtn_aggregator_models_response_utuc_UsageThresholdAndCounterResponse: title: UsageThresholdAndCounterResponse type: object properties: statusCode: type: string sequenceNo: type: string data: type: array items: title: UsageThresholdAndCounter2 type: object properties: usageCounter: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageCounter' usageThreshold: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' za_co_mtn_aggregator_models_request_RefillRequest: title: RefillRequest type: object properties: refillType: type: string refillProfileId: type: string voucherActivationCode: type: string targetSystem: type: string serialNumber: type: string transactionAmount: type: integer format: int32 za_co_mtn_aggregator_models_request_GetTransactionHistoryRequest: title: GetTransactionHistoryRequest type: object properties: pagingInfo: title: PagingInfo type: object properties: startIndex: type: string maxItems: type: string fri: type: string financialTransactionId: title: FinancialTransactionId type: object properties: id: type: string externalTransactionId: title: ExternalTransactionId type: object properties: id: type: string transactionStatus: title: FinancialTransactionStatus type: object transactionTypes: title: TransactionTypes type: object properties: transactionType: type: array items: title: FinancialInstructionType type: object startDateFrom: type: string startDateTo: type: string dateFrom: type: string dateTo: type: string direction: type: string otherFri: title: OtherFri type: object properties: friValue: type: string friType: type: string communicationChannel: type: string providerCategory: type: string posMsisdn: type: string quoteId: type: string za_co_mtn_aggregator_models_response_Accumulator: title: Accumulator type: object properties: accumulatorID: type: integer format: int32 accumulatorValue: type: integer format: int64 accumulatorStartDate: type: string accumulatorEndDate: type: string za_co_mtn_aggregator_models_response_LoyaltyBalance: title: LoyaltyBalance type: object properties: generatedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' consumedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' newBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' za_co_mtn_aggregator_models_customer_Plan: title: Plan type: object properties: type: title: PlanType type: object properties: id: type: integer format: int32 description: type: string status: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string startDate: type: string endDate: type: string language: type: string tariffPlanId: type: integer format: int32 tariffPlan: type: string customerType: type: string responseType: type: string circleCode: type: string action: type: string currency: type: string treeParameterName: type: string treeParameterValue: type: string ussdEndOfCallNotificationId: type: string serviceOfferings: type: string supervisionExpiryDate: type: string creditClearanceDate: type: string serviceRemovalDate: type: string supervisionPeriod: type: string serviceRemovalPeriod: type: string creditClearancePeriod: type: string serviceClassCurrent: type: string accountGroupID: type: integer format: int32 usageCounterId: type: integer format: int32 usageCounterValue: type: integer format: int32 usageThresholdID: type: integer format: int32 usageThresholdValue: type: integer format: int32 usageThresholdMonetaryValue2: type: string productID: type: integer format: int32 accountValue: type: integer format: int32 activationStatusFlag: type: boolean negativeBarringStatusFlag: type: boolean supervisionPeriodWarningActiveFlag: type: boolean serviceFeePeriodWarningActiveFlag: type: boolean serviceFeePeriodExpiryFlag: type: boolean serviceFeePeriodExpiryActiveFlag: type: boolean balance: type: array items: title: CustomerBalance type: object properties: balanceType: type: string tariff: type: string expiryDate: type: string activationDate: type: string category: type: string balanceDetail: title: BalanceDetail type: object properties: type: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_BalanceDetailType' activeValue: type: string activeUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' unusedValue: type: string unusedUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' autoRenewal: type: string balanceDetails: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' momoBalanceData: title: MomoBalanceDetail type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' positiveReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' negativeReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_LoyaltyInformation' overdraftInformation: title: OverdraftInformation type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' limit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accessFee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' interest: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' validity: type: string unit: type: string balanceDescription: type: string wallets: type: array items: title: Wallet type: object properties: id: type: integer format: int32 name: type: string status: title: WalletStatus type: object properties: name: type: string expiryDate: type: string activationDate: type: string recurring: type: boolean amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' typeBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accountName: type: string description: type: string additionalInformation: type: array items: title: AdditionalInformation type: object properties: name: type: string description: type: string value: type: string msisdn: type: string data: type: string voice: type: string sms: type: string airtime: type: string account: type: string offers: type: array items: title: Offer type: object properties: offerID: type: string offerType: type: string startDate: type: string expiryDate: type: string expiryDateValue: type: string format: date-time productOfferingName: type: string dedicatedAccountInformation: type: array items: title: Account type: object properties: accountId: type: string accountUnitType: type: string accountValue2: type: string accountValue1: type: string expiryDate: type: string startDate: type: string offerId: type: string productId: type: string treeParameterSetInformation: type: array items: title: TreeParameterSetInformation type: object properties: treeParameterName: type: string treeParameterValueNumber: type: string treeParameterValueDecimal: type: string usageCounter: type: array items: title: UsageCounter type: object properties: id: type: string name: type: string value: type: string unit: type: string usageThreshold: type: array items: title: UsageThreshold type: object properties: id: type: string name: type: string value: type: string unit: type: string accumulator: type: array items: title: Accumulator type: object properties: accumulatorID: type: integer format: int32 accumulatorValue: type: integer format: int64 accumulatorStartDate: type: string accumulatorEndDate: type: string leapOfferType: type: string offerSubType: type: string planCategory: type: string maxBundelInCategory: type: string uaidCategory: type: string qos: type: string price: type: string discount: type: string discountThreshold: type: string uaidDiscount: type: string volume: type: string volumeUnit: type: string dailyVolume: type: string validityUnit: type: string offerValidity: type: string autoRenewal: type: string autoRenewalThreshold: type: string uaidAutoRenewal: type: string maxSubscriptionThreshold: type: string uaidMaxSubscription: type: string sharedOffer: type: string sharedOfferId: type: string freeOffer: type: string allowedChannels: type: string subscriberProfile: type: string allowedSegements: title: AllowedSegements type: object properties: allowedSegement: type: array items: type: string serviceClasses: title: ServiceClasses type: object properties: serviceClass: type: array items: type: string location: type: string roamingPlan: type: string devices: title: Devices type: object properties: device: title: Device type: object properties: deviceType: type: string deviceModel: type: string pamServiceDetails: title: PamServiceDetails type: object properties: pamServiceDetail: title: PamServiceDetail type: object properties: pamService: type: string pamClasse: type: string pamScheduler: type: string pamIndicator: type: string locationIds: title: LocationIds type: object properties: locationId: type: string paymentOptions: title: PaymentOptions type: object properties: paymentOption: type: array items: type: string status: type: string endDate: type: string bonus: type: string refillProfileID: type: string refillType: type: string transactionType: type: string transactionCode: type: string externalData1: type: string externalData2: type: string externalData3: type: string externalData4: type: string notificationMessage: type: string notificationMessagesRauto: type: string notificationMessageAplan: type: string notificationMessageDplan: type: string notificationMessageUsage: type: string notificationMessageSubscriptionSuccess: type: string notificationMessageRenewSuccess: type: string minumumForSharing: type: string maximumForSharing: type: string bundleSharingFee: type: string diySubscriptionFee: type: string evdCommission: type: string diyMultiplicator: type: string offerState: type: string productID: type: string subscription: title: Subscription type: object properties: bparty: type: string parentPlanId: type: string requestedPlanId: type: string requestedNextPlanId: type: string serviceType: type: string serviceId: type: string firstActivationDate: type: string deActivationDate: type: string chargeAmount: type: string customerStatus: type: string lastRenewalDate: type: string nextRenewalDate: type: string graceExpiryDate: type: string reminderDate: type: string bearerId: type: string languageId: type: string bundleFlag: type: string retryCount: type: string operation: type: string subsType: type: string addDate: type: string autoRen: type: string validityUnits: type: string suspendexpiryDate: type: string serviceNode: type: string requestBy: type: string linkedServiceId: type: string contentId: type: string category: type: string reqSource: type: string linkedServiceType: type: string renewalBundleType: type: string modifiedOn: type: string chargeFlag: type: string offerUsageCounter: type: array items: title: OfferUsageCounter type: object properties: usageCounterMonetaryValue1: type: string usageCounterID: type: integer format: int32 productID: type: integer format: int32 offerUsageThreshold: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' remainingVolumeOffnet: type: string usageVolumeOnnet: type: string usageVolumeOffnet: type: string remainingVolumeOnnet: type: string balances: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' usageCounterAndThreshold: type: array items: title: UsageThresholdAndCounter type: object properties: usageCounter: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageCounter' usageThreshold: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' usageThresholds: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' accumulator: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Accumulator' dedicatedAccounts: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Account' aggregatedBalances: type: array items: title: AggregatedBalance type: object properties: product: type: string value: type: string unit: type: string offerId: type: string summaryBalances: type: array items: title: SummaryBalance type: object properties: balanceType: type: string value: type: string unit: type: string transactionDetails: type: array items: title: TransactionDetails type: object properties: amount: type: number format: double range: type: string productName: type: string subscriptionDate: type: string productCategory: type: string expiryDate: type: string message: type: string za_co_mtn_aggregator_models_customer_MomoBalanceDetail: title: MomoBalanceDetail type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' positiveReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' negativeReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_LoyaltyInformation' overdraftInformation: title: OverdraftInformation type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' limit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accessFee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' interest: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' za_co_mtn_aggregator_models_leap_PamServiceDetail: title: PamServiceDetail type: object properties: pamService: type: string pamClasse: type: string pamScheduler: type: string pamIndicator: type: string za_co_mtn_aggregator_models_leap_ServiceClasses: title: ServiceClasses type: object properties: serviceClass: type: array items: type: string za_co_mtn_aggregator_models_request_FinancialTransactionId: title: FinancialTransactionId type: object properties: id: type: string za_co_mtn_aggregator_models_response_OverdraftInformation: title: OverdraftInformation type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' limit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accessFee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' interest: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' za_co_mtn_aggregator_models_response_Amount2: title: Amount2 type: object properties: amount: type: string currency: type: string za_co_mtn_aggregator_models_leap_PamServiceDetails: title: PamServiceDetails type: object properties: pamServiceDetail: title: PamServiceDetail type: object properties: pamService: type: string pamClasse: type: string pamScheduler: type: string pamIndicator: type: string za_co_mtn_aggregator_models_customer_CustomerPlan: title: CustomerPlan type: object properties: statusCode: type: string transactionId: type: string sequenceNo: type: string statusMessage: type: string supportMessage: type: string success: type: boolean callingParty: type: string serviceType: type: string serviceId: type: string responseCode: type: string errorCode: type: string fttxError: type: string data: title: Plan type: object properties: type: title: PlanType type: object properties: id: type: integer format: int32 description: type: string status: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string startDate: type: string endDate: type: string language: type: string tariffPlanId: type: integer format: int32 tariffPlan: type: string customerType: type: string responseType: type: string circleCode: type: string action: type: string currency: type: string treeParameterName: type: string treeParameterValue: type: string ussdEndOfCallNotificationId: type: string serviceOfferings: type: string supervisionExpiryDate: type: string creditClearanceDate: type: string serviceRemovalDate: type: string supervisionPeriod: type: string serviceRemovalPeriod: type: string creditClearancePeriod: type: string serviceClassCurrent: type: string accountGroupID: type: integer format: int32 usageCounterId: type: integer format: int32 usageCounterValue: type: integer format: int32 usageThresholdID: type: integer format: int32 usageThresholdValue: type: integer format: int32 usageThresholdMonetaryValue2: type: string productID: type: integer format: int32 accountValue: type: integer format: int32 activationStatusFlag: type: boolean negativeBarringStatusFlag: type: boolean supervisionPeriodWarningActiveFlag: type: boolean serviceFeePeriodWarningActiveFlag: type: boolean serviceFeePeriodExpiryFlag: type: boolean serviceFeePeriodExpiryActiveFlag: type: boolean balance: type: array items: title: CustomerBalance type: object properties: balanceType: type: string tariff: type: string expiryDate: type: string activationDate: type: string category: type: string balanceDetail: title: BalanceDetail type: object properties: type: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_BalanceDetailType' activeValue: type: string activeUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' unusedValue: type: string unusedUnit: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_UnitType' autoRenewal: type: string balanceDetails: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' momoBalanceData: title: MomoBalanceDetail type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' positiveReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' negativeReservations: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_LoyaltyInformation' overdraftInformation: title: OverdraftInformation type: object properties: balance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' limit: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accessFee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' interest: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' validity: type: string unit: type: string balanceDescription: type: string wallets: type: array items: title: Wallet type: object properties: id: type: integer format: int32 name: type: string status: title: WalletStatus type: object properties: name: type: string expiryDate: type: string activationDate: type: string recurring: type: boolean amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' typeBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' accountName: type: string description: type: string additionalInformation: type: array items: title: AdditionalInformation type: object properties: name: type: string description: type: string value: type: string msisdn: type: string data: type: string voice: type: string sms: type: string airtime: type: string account: type: string offers: type: array items: title: Offer type: object properties: offerID: type: string offerType: type: string startDate: type: string expiryDate: type: string expiryDateValue: type: string format: date-time productOfferingName: type: string dedicatedAccountInformation: type: array items: title: Account type: object properties: accountId: type: string accountUnitType: type: string accountValue2: type: string accountValue1: type: string expiryDate: type: string startDate: type: string offerId: type: string productId: type: string treeParameterSetInformation: type: array items: title: TreeParameterSetInformation type: object properties: treeParameterName: type: string treeParameterValueNumber: type: string treeParameterValueDecimal: type: string usageCounter: type: array items: title: UsageCounter type: object properties: id: type: string name: type: string value: type: string unit: type: string usageThreshold: type: array items: title: UsageThreshold type: object properties: id: type: string name: type: string value: type: string unit: type: string accumulator: type: array items: title: Accumulator type: object properties: accumulatorID: type: integer format: int32 accumulatorValue: type: integer format: int64 accumulatorStartDate: type: string accumulatorEndDate: type: string leapOfferType: type: string offerSubType: type: string planCategory: type: string maxBundelInCategory: type: string uaidCategory: type: string qos: type: string price: type: string discount: type: string discountThreshold: type: string uaidDiscount: type: string volume: type: string volumeUnit: type: string dailyVolume: type: string validityUnit: type: string offerValidity: type: string autoRenewal: type: string autoRenewalThreshold: type: string uaidAutoRenewal: type: string maxSubscriptionThreshold: type: string uaidMaxSubscription: type: string sharedOffer: type: string sharedOfferId: type: string freeOffer: type: string allowedChannels: type: string subscriberProfile: type: string allowedSegements: title: AllowedSegements type: object properties: allowedSegement: type: array items: type: string serviceClasses: title: ServiceClasses type: object properties: serviceClass: type: array items: type: string location: type: string roamingPlan: type: string devices: title: Devices type: object properties: device: title: Device type: object properties: deviceType: type: string deviceModel: type: string pamServiceDetails: title: PamServiceDetails type: object properties: pamServiceDetail: title: PamServiceDetail type: object properties: pamService: type: string pamClasse: type: string pamScheduler: type: string pamIndicator: type: string locationIds: title: LocationIds type: object properties: locationId: type: string paymentOptions: title: PaymentOptions type: object properties: paymentOption: type: array items: type: string status: type: string endDate: type: string bonus: type: string refillProfileID: type: string refillType: type: string transactionType: type: string transactionCode: type: string externalData1: type: string externalData2: type: string externalData3: type: string externalData4: type: string notificationMessage: type: string notificationMessagesRauto: type: string notificationMessageAplan: type: string notificationMessageDplan: type: string notificationMessageUsage: type: string notificationMessageSubscriptionSuccess: type: string notificationMessageRenewSuccess: type: string minumumForSharing: type: string maximumForSharing: type: string bundleSharingFee: type: string diySubscriptionFee: type: string evdCommission: type: string diyMultiplicator: type: string offerState: type: string productID: type: string subscription: title: Subscription type: object properties: bparty: type: string parentPlanId: type: string requestedPlanId: type: string requestedNextPlanId: type: string serviceType: type: string serviceId: type: string firstActivationDate: type: string deActivationDate: type: string chargeAmount: type: string customerStatus: type: string lastRenewalDate: type: string nextRenewalDate: type: string graceExpiryDate: type: string reminderDate: type: string bearerId: type: string languageId: type: string bundleFlag: type: string retryCount: type: string operation: type: string subsType: type: string addDate: type: string autoRen: type: string validityUnits: type: string suspendexpiryDate: type: string serviceNode: type: string requestBy: type: string linkedServiceId: type: string contentId: type: string category: type: string reqSource: type: string linkedServiceType: type: string renewalBundleType: type: string modifiedOn: type: string chargeFlag: type: string offerUsageCounter: type: array items: title: OfferUsageCounter type: object properties: usageCounterMonetaryValue1: type: string usageCounterID: type: integer format: int32 productID: type: integer format: int32 offerUsageThreshold: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' remainingVolumeOffnet: type: string usageVolumeOnnet: type: string usageVolumeOffnet: type: string remainingVolumeOnnet: type: string balances: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_BalanceDetail' usageCounterAndThreshold: type: array items: title: UsageThresholdAndCounter type: object properties: usageCounter: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageCounter' usageThreshold: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' usageThresholds: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' accumulator: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Accumulator' dedicatedAccounts: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Account' aggregatedBalances: type: array items: title: AggregatedBalance type: object properties: product: type: string value: type: string unit: type: string offerId: type: string summaryBalances: type: array items: title: SummaryBalance type: object properties: balanceType: type: string value: type: string unit: type: string transactionDetails: type: array items: title: TransactionDetails type: object properties: amount: type: number format: double range: type: string productName: type: string subscriptionDate: type: string productCategory: type: string expiryDate: type: string message: type: string za_co_mtn_aggregator_models_response_CustomerPremium: title: CustomerPremium type: object properties: statusCode: type: string originReferenceId: type: string data: title: PremiumData type: object properties: message: type: string premium: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: title: LoyaltyInformation type: object properties: loyaltyBalance: title: LoyaltyBalance type: object properties: generatedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' consumedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' newBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' sequenceNo: type: string za_co_mtn_aggregator_models_response_PremiumData: title: PremiumData type: object properties: message: type: string premium: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' loyaltyInformation: title: LoyaltyInformation type: object properties: loyaltyBalance: title: LoyaltyBalance type: object properties: generatedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' consumedAmount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' newBalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' za_co_mtn_aggregator_models_response_utuc_UsageCounter: title: UsageCounter type: object properties: id: type: string name: type: string value: type: string unit: type: string za_co_mtn_aggregator_models_customer_TransactionDetails: title: TransactionDetails type: object properties: amount: type: number format: double range: type: string productName: type: string subscriptionDate: type: string productCategory: type: string expiryDate: type: string za_co_mtn_aggregator_models_response_GetTransactionHistoryResponse_TransactionHistoryEntries: title: TransactionHistoryEntries type: object properties: transactionHistoryEntry: type: array items: title: GetTransactionHistoryEntryType3 type: object properties: financialtransactionid: type: string transactionstatus: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_FinancialTransactionStatus' transfertype: type: string startdate: type: string commitdate: type: string fxrate: type: string initiatinguser: type: string realuser: type: string reviewinguser: type: string initiatingaccountholder: type: string realaccountholder: type: string providercategory: type: string from: type: string fromaccount: type: string fromamount: title: Moneydetailstype type: object properties: amount: type: string currency: type: string fromfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromdiscount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' frompromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromloyfee: title: Loyaltypointstype type: object properties: amount: type: string fromloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' frompromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromnote: type: string fromavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtotalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromaccountholder: type: string originalamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromcouponvalue: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromvatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromtax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' to: type: string toaccount: type: string toamount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tofee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toexternalfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' topromotion: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toloyfee: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' toloyreward: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Loyaltypointstype' topromotionrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' todiscountrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tomessage: type: string toavailablebalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tototalbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tocommittedbalance: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' maininstructionid: type: string instructionid: type: string externaltransactionid: type: string transactiontext: type: string tofeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfeerefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' toaccountholder: type: string tovat: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' tovatrefund: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' totax: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_Moneydetailstype' fromfirstname: type: string fromlastname: type: string fromhandlerfirstname: type: string fromhandlerlastname: type: string tofirstname: type: string tolastname: type: string tohandlerfirstname: type: string tohandlerlastname: type: string fromposmsisdn: type: string toposmsisdn: type: string originaltransactionid: type: string communicationchannel: type: string externalfxrate: type: string externalserviceprovider: type: string externalserviceprovidertransactionid: type: string fromexternalinstrumentprovidertransactionid: type: string toexternalinstrumentprovidertransactionid: type: string fromexternalinstrumentprovideraccountholder: type: string toexternalinstrumentprovideraccountholder: type: string za_co_mtn_aggregator_models_customer_Wallet: title: Wallet type: object properties: id: type: integer format: int32 name: type: string status: title: WalletStatus type: object properties: name: type: string expiryDate: type: string activationDate: type: string recurring: type: boolean amount: $ref: '#/components/schemas/za_co_mtn_aggregator_models_customer_Amount' za_co_mtn_aggregator_models_request_GetTransactionHistoryRequest_TransactionTypes: title: TransactionTypes type: object properties: transactionType: type: array items: title: FinancialInstructionType type: object za_co_mtn_aggregator_models_customer_Amount: title: Amount type: object properties: type: title: BalanceDetailType type: object properties: name: type: string value: type: string unit: title: UnitType type: object properties: name: type: string za_co_mtn_aggregator_models_response_utuc_UsageThresholdAndCounter: title: UsageThresholdAndCounter type: object properties: usageCounter: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageCounter' usageThreshold: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' usageThresholds: type: array items: $ref: '#/components/schemas/za_co_mtn_aggregator_models_response_utuc_UsageThreshold' 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