openapi: 3.0.1 info: title: Customer Profile V2 description: "This API retrieves and returns customer profile information, including\ \ tariff plan details, activation status, KYC data, and linked numbers, thereby\ \ improving customer service and operational efficiency." license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 - Last updated date:2026-09-11 15:03:09 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: CustomerPlanBeneficiary - name: CustomerProfile paths: /customers/upgrade-eligibility/{customerId}: get: tags: - CustomerProfile summary: Customer Profile - Upgrade Eligibility description: This operation enables the capability of retrieving the Upgrade Eligibility Date of the MTN Subscriber using customer id(unique identifier). operationId: ProfileService_get_upgradeEligibility_customersupgradeelig parameters: - name: customerId in: path required: true schema: type: string - name: customerSystem in: query required: true schema: type: string - name: sourceIdentifier in: query required: false schema: type: string - name: transactionId 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 profile flows. content: application/json: schema: title: UpgradeEligibilityResponse type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: ResponseData type: object properties: UpgradeEligibility: type: array items: title: UpgradeEligibility type: object properties: name: type: string valueType: type: string value: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' customerId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' "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}: patch: tags: - CustomerProfile summary: To Update customer profile description: This operation enables the capability of Updating a customer profile of an MTN customer via the EWP backend system using customer id. operationId: ProfileService_patch_updateProfile_customerscustomerId parameters: - name: authorizationData in: header required: false schema: type: string - name: customerId in: path required: true schema: type: string - name: idType in: query required: false schema: type: string - name: segment in: query required: false schema: type: string - name: targetSystem in: query required: false schema: type: string requestBody: content: application/json: schema: title: ProfilesRequest type: object properties: description: type: string characteristics: type: array items: title: Characteristic type: object properties: name: type: string value: 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 profile flows. content: application/json: schema: title: ProfilesResponse type: object properties: transactionId: type: string statusCode: type: string statusMessage: type: string customerId: 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}/activityStatus: get: tags: - CustomerProfile summary: Get Customer Activity status information description: This API operation enables the capability of Chenosis to be able to retrieve an MTN Customer Activity status information. operationId: ProfileService_get_custActivityStatus_customerscustomerIda parameters: - name: customerId in: path required: true schema: type: string - name: requesterMsisdn in: query required: false schema: type: string - name: targetSystem in: query required: false schema: type: string - name: transactionId 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 profile flows. content: application/json: schema: title: ActivityResponse type: object properties: customerId: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: ActivityStatusData type: object properties: activityStatus: type: string referenceCode: type: string sequenceNo: type: string path: type: string method: type: string timestamp: type: string _links: title: Links type: object properties: self: title: Self type: object properties: href: type: string error: title: Error type: object properties: path: type: string downstreamStatusCode: type: string sequenceNo: type: string method: type: string statusMessage: type: string transactionId: type: string supportMessage: type: string timestamp: type: string statusCode: type: string error_description: 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}/callback-eligibility: get: tags: - CustomerProfile summary: Customer Profile - Callback Eligibility description: This operation enables the capability of retrieving a Callback Eligibility of an MTN Subscriber using customer id(unique identifier). operationId: ProfileService_get_callbackEligibility_customerscustomerIdc parameters: - name: customerId in: path 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 profile flows. content: application/json: schema: title: CallbackEligibilityResponse type: object properties: timeStamp: type: string data: type: array items: title: CallbackEligibilityData type: object properties: customerId: type: string status: type: string statusCode: title: CanonicalErrorCode type: object properties: errorCode: type: string description: type: string statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: title: HypeBalanceResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string customerId: type: string transaction-summaries: type: string data: type: array items: title: Data type: object properties: mainBalance: type: string balances: type: array items: title: Balances type: object properties: data: title: BalanceData type: object properties: balance: type: number format: float formatted: type: string unit: type: string isUnlimited: type: boolean voice: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' maxi: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' balanceSummary: type: array items: title: BalanceSummary type: object properties: description: type: string validityDays: type: string balance: type: string expiry: type: string renewalExpiry: type: string bundleRange: 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}/loan-profile: get: tags: - CustomerProfile summary: Retrieves a customer loan profile. description: This operation enables the capability of retrieving the customer loan profile of an MTN customer using customer id(unique identifier). operationId: ProfileService_get_getLoanProfile_customerscustomerIdl parameters: - name: customerId in: path required: true schema: type: string - name: targetSystem in: query required: false schema: type: string - name: transactionId 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 profile flows. content: application/json: schema: title: LoanProfileResponse type: object properties: data: title: LoanProfileData type: object properties: profile: title: Profile type: object properties: availableCreditLimit: type: integer format: int64 excludedFromService: type: string firstContactDate: type: integer format: int64 language: type: string lastContactDate: type: integer format: int64 lastLoanDate: type: integer format: int64 lastLoanTakenDate: title: LastLoanTakenDate type: object properties: feeAmount: type: integer format: int64 lastLoanDate: type: integer format: int64 loanBand: title: LoanBand type: object properties: bandGroup: type: integer format: int64 bandName: type: string loanId: type: string principalAmount: type: integer format: int64 marketingChannels: type: string totalCreditLimit: type: integer format: int64 balanceList: type: array items: title: BalanceList type: object properties: accountId: type: string accountType: type: string amount: type: integer format: int64 statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' "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}/set-lang: put: tags: - CustomerProfile summary: Set Lang Service description: This operation enables the capability of setting or Changing an MTN Customer Language Service using customer id(unique identifier). operationId: ProfileService_put_setLangService_customerscustomerIds parameters: - name: channelId in: header required: false schema: type: string - name: customerId in: path required: true schema: type: string - name: customerIdType in: query required: false schema: type: string - name: lang in: query required: true schema: type: string - name: targetSystem in: query required: false schema: type: string - name: transactionId 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 profile flows. content: application/json: schema: title: SetLangResponse type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string customerId: type: string timestamp: type: string data: title: ResponseData type: object properties: lang: type: string apiError: title: APIError type: object properties: timestamp: type: string error: type: string error_description: type: string transactionId: type: string sequenceNo: type: string statusCode: type: string statusMessage: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' "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}/summary: get: tags: - CustomerProfile summary: Get Customer Summary information description: This API operation enables the capability of being able to retrieve an MTN Customer Summary information using customer id(unique identifier). operationId: ProfileService_get_customerSummary_customerscustomerIds parameters: - name: customerId in: path required: true schema: type: string - name: id in: header required: false schema: type: string - name: idType in: header required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionDate in: header required: false schema: type: string - name: transactionId 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 profile flows. content: application/json: schema: title: ELSummaryResponse type: object properties: memberAggrementNumber: type: string coverDetails: title: ELCover type: object properties: benefit: type: string policyNumber: type: string policyStatus: type: string productCode: type: string consents: type: string coverPeriod: type: string coverAmount: title: Amount type: object properties: amount: type: string currencyCode: type: string totalPremium: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_Amount' path: type: string method: type: string type: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' "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}/tenure: get: tags: - CustomerProfile summary: Get Customer Tenure information description: This API operation enables the capability of Chenosis to be able to retrieve an MTN Customer Tenure information using customer id(unique identifier). operationId: ProfileService_get_custTenure_customerscustomerIdt parameters: - name: customerId in: path required: true schema: type: string - name: targetSystem in: query required: false schema: type: string - name: transactionId 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 profile flows. content: application/json: schema: title: TenureResponse type: object properties: customerId: type: string statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: TenureData type: object properties: tenure: type: string sequenceNo: type: string path: type: string method: type: string timestamp: type: string _links: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_activity_Links' error: type: string error_description: 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}: get: tags: - CustomerProfile summary: Retrieves a customer profile. description: "Retrieves the customer profile of an MTN customer. The customer\ \ profile includes 4 main objects: Location (Country and Operator), Billing\ \ Plan and related details, Subscriptions for VAS and Digital Services, Loans\ \ details, and Transactions Summaries." operationId: ProfileService_get_getCustomerProfile_customersid parameters: - name: countryCode in: header required: false schema: type: string - name: id in: path required: true schema: type: string - name: languageCode in: header required: false schema: type: string - name: prefLanguage in: query required: false schema: type: string - name: propset in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: xAuth in: header required: false schema: type: string - name: xOriginChannelId 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 profile flows. content: application/json: schema: title: Customer type: object properties: transactionId: type: string customerId: type: string customerSystem: type: string location: title: CustomerLocation type: object properties: data: title: Location type: object properties: country: type: string operator: type: string physicalAddress: title: Address type: object properties: type: type: string city: type: string country: type: string postBox: type: string value: type: string value2: type: string value3: type: string postalAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' businessAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' plan: title: CustomerPlan type: object properties: data: title: Plan type: object properties: status: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string type: title: PlanType type: object properties: id: type: integer format: int32 description: type: string createdDate: type: string endDate: type: string language: type: string balance: type: array items: title: CustomerBalance type: object properties: type: title: BalanceType type: object properties: name: type: string amount: type: string formatedBalance: type: string unit: type: string expiryDate: type: string currency: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' plans: type: array items: title: Plans type: object properties: category: type: string data: type: array items: title: Data type: object properties: type: type: string id: type: string status: type: string startDate: type: string endDate: type: string balance: type: string loans: title: CustomerLoans type: object properties: statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' momo: title: CustomerMoMo type: object properties: data: title: MoMo type: object properties: id: type: string validAccountHolder: type: boolean statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' accounts: title: CustomerAccount type: object properties: data: type: array items: title: Account type: object properties: firstName: type: string lastName: type: string accountName: type: string accountId: type: string description: type: string status: type: string accountType: type: string activationDate: type: string tariffActivationDate: type: string packageCode: type: string packageDescription: type: string simNumber: type: string imsiNumber: type: string mobileDetail: title: MobileDetail type: object properties: imsiNumber: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' kyc: title: CustomerKyc type: object properties: data: type: array items: title: KYC type: object properties: idType: type: string idNumber: type: string dateOfBirth: type: string gender: title: Gender type: object title: type: string firstName: type: string lastName: type: string maritalStatus: type: string nationality: type: string email: type: string alternateMsisdn: type: string workStatusCode: type: string jobDesignation: type: string location: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Location' idExpiryDate: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' subscriptions: title: CustomerSubscriptions type: object properties: customerId: type: string statusMessage: type: string services: type: object additionalProperties: title: SubscriptionService type: object properties: data: type: array items: title: Subscription type: object properties: subscriptionId: type: string subscriptionProviderId: type: string subscriptionName: type: string subscriptionDescription: type: string subscriptionLength: type: string registrationChannel: type: string startDate: type: string endDate: type: string email: type: string amountCharged: type: string productCost: type: string subscriptionPaymentSource: type: string sendSMSNotification: type: boolean beneficiaryId: type: string autoRenew: type: boolean transactionId: type: string statusDescription: type: string nodeId: type: string isCVMoffer: type: boolean statusMessage: type: string supportMessage: type: string callbackUrl: type: string recharge: type: string vasCode: type: integer format: int32 sysProcessedTime: type: string adjustmentType: type: string amountBefore: type: number format: double amountAfter: type: number format: double transaction: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' customerId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' subscriptionProviderId: type: string subscriptionProviderName: type: string subscriptionProviderDescription: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' supportMessage: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' characteristics: type: array items: title: Characteristic type: object properties: name: type: string valueType: type: string value: type: string transactionSummaries: type: array items: title: TransactionSummaries type: object properties: requestId: type: string dateRange: type: string data: title: TransactionSummariesData type: object properties: paymentAllowed: type: boolean marketingFlag: type: boolean lendingFlag: type: boolean statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' "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}/groupShare: get: tags: - CustomerPlanBeneficiary summary: Retrieves a customer beneficiary plan. description: Retrieves a customer beneficiary plan. Retrieves the beneficiary plan of an MTN customer. OR Retrieve Information about Specific Beneficiaries operationId: CustomerPlanBeneficiary_get_getPlans_customersidgroupShar parameters: - name: id in: path required: true schema: type: string - name: keyword in: query required: false schema: type: string - name: limit in: query required: false schema: type: integer format: int32 - name: offset in: query required: false schema: type: integer format: int32 - name: operation in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: query required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: xRequesterId 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 profile flows. content: application/json: schema: title: GroupShareBeneficiaryResponse type: object properties: fttxError: type: string statusCode: type: string customerId: type: string error: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string data: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timeStamp: type: string path: type: string method: type: string 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 components: schemas: za_co_mtn_aggregator_model_customer_Account: title: Account type: object properties: firstName: type: string lastName: type: string accountName: type: string accountId: type: string description: type: string status: type: string accountType: type: string activationDate: type: string tariffActivationDate: type: string packageCode: type: string packageDescription: type: string simNumber: type: string imsiNumber: type: string mobileDetail: title: MobileDetail type: object properties: imsiNumber: type: string za_co_mtn_aggregator_enums_CanonicalErrorCode: title: CanonicalErrorCode type: object properties: errorCode: type: string description: type: string za_co_mtn_aggregator_model_customer_Address: title: Address type: object properties: type: type: string city: type: string country: type: string postBox: type: string value: type: string value2: type: string value3: type: string za_co_mtn_aggregator_model_loanprofile_BalanceList: title: BalanceList type: object properties: accountId: type: string accountType: type: string amount: type: integer format: int64 za_co_mtn_aggregator_model_customer_CustomerPlan: title: CustomerPlan type: object properties: data: title: Plan type: object properties: status: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string type: title: PlanType type: object properties: id: type: integer format: int32 description: type: string createdDate: type: string endDate: type: string language: type: string balance: type: array items: title: CustomerBalance type: object properties: type: title: BalanceType type: object properties: name: type: string amount: type: string formatedBalance: type: string unit: type: string expiryDate: type: string currency: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_response_tenure_TenureData: title: TenureData type: object properties: tenure: 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_model_eligibility_UpgradeEligibilityResponse: title: UpgradeEligibilityResponse type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: ResponseData type: object properties: UpgradeEligibility: type: array items: title: UpgradeEligibility type: object properties: name: type: string valueType: type: string value: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' customerId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_language_Characteristic: title: Characteristic type: object properties: name: type: string value: type: string za_co_mtn_aggregator_model_groupShare_GroupShareBeneficiaryResponse: title: GroupShareBeneficiaryResponse type: object properties: fttxError: type: string statusCode: type: string customerId: type: string error: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string data: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timeStamp: type: string path: type: string method: type: string sequenceNo: type: string za_co_mtn_aggregator_model_response_acs_BalanceSummary: title: BalanceSummary type: object properties: description: type: string validityDays: type: string balance: type: string expiry: type: string renewalExpiry: type: string bundleRange: type: string za_co_mtn_aggregator_model_customer_CustomerBalance: title: CustomerBalance type: object properties: type: title: BalanceType type: object properties: name: type: string amount: type: string formatedBalance: type: string unit: type: string expiryDate: type: string currency: type: string za_co_mtn_aggregator_model_customer_Customer: title: Customer type: object properties: transactionId: type: string customerId: type: string customerSystem: type: string location: title: CustomerLocation type: object properties: data: title: Location type: object properties: country: type: string operator: type: string physicalAddress: title: Address type: object properties: type: type: string city: type: string country: type: string postBox: type: string value: type: string value2: type: string value3: type: string postalAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' businessAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' plan: title: CustomerPlan type: object properties: data: title: Plan type: object properties: status: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string type: title: PlanType type: object properties: id: type: integer format: int32 description: type: string createdDate: type: string endDate: type: string language: type: string balance: type: array items: title: CustomerBalance type: object properties: type: title: BalanceType type: object properties: name: type: string amount: type: string formatedBalance: type: string unit: type: string expiryDate: type: string currency: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' plans: type: array items: title: Plans type: object properties: category: type: string data: type: array items: title: Data type: object properties: type: type: string id: type: string status: type: string startDate: type: string endDate: type: string balance: type: string loans: title: CustomerLoans type: object properties: statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' momo: title: CustomerMoMo type: object properties: data: title: MoMo type: object properties: id: type: string validAccountHolder: type: boolean statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' accounts: title: CustomerAccount type: object properties: data: type: array items: title: Account type: object properties: firstName: type: string lastName: type: string accountName: type: string accountId: type: string description: type: string status: type: string accountType: type: string activationDate: type: string tariffActivationDate: type: string packageCode: type: string packageDescription: type: string simNumber: type: string imsiNumber: type: string mobileDetail: title: MobileDetail type: object properties: imsiNumber: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' kyc: title: CustomerKyc type: object properties: data: type: array items: title: KYC type: object properties: idType: type: string idNumber: type: string dateOfBirth: type: string gender: title: Gender type: object title: type: string firstName: type: string lastName: type: string maritalStatus: type: string nationality: type: string email: type: string alternateMsisdn: type: string workStatusCode: type: string jobDesignation: type: string location: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Location' idExpiryDate: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' subscriptions: title: CustomerSubscriptions type: object properties: customerId: type: string statusMessage: type: string services: type: object additionalProperties: title: SubscriptionService type: object properties: data: type: array items: title: Subscription type: object properties: subscriptionId: type: string subscriptionProviderId: type: string subscriptionName: type: string subscriptionDescription: type: string subscriptionLength: type: string registrationChannel: type: string startDate: type: string endDate: type: string email: type: string amountCharged: type: string productCost: type: string subscriptionPaymentSource: type: string sendSMSNotification: type: boolean beneficiaryId: type: string autoRenew: type: boolean transactionId: type: string statusDescription: type: string nodeId: type: string isCVMoffer: type: boolean statusMessage: type: string supportMessage: type: string callbackUrl: type: string recharge: type: string vasCode: type: integer format: int32 sysProcessedTime: type: string adjustmentType: type: string amountBefore: type: number format: double amountAfter: type: number format: double transaction: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' customerId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' subscriptionProviderId: type: string subscriptionProviderName: type: string subscriptionProviderDescription: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' supportMessage: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' characteristics: type: array items: title: Characteristic type: object properties: name: type: string valueType: type: string value: type: string transactionSummaries: type: array items: title: TransactionSummaries type: object properties: requestId: type: string dateRange: type: string data: title: TransactionSummariesData type: object properties: paymentAllowed: type: boolean marketingFlag: type: boolean lendingFlag: type: boolean statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_customer_KYC: title: KYC type: object properties: idType: type: string idNumber: type: string dateOfBirth: type: string gender: title: Gender type: object title: type: string firstName: type: string lastName: type: string maritalStatus: type: string nationality: type: string email: type: string alternateMsisdn: type: string workStatusCode: type: string jobDesignation: type: string location: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Location' idExpiryDate: type: string za_co_mtn_aggregator_model_customer_Gender: title: Gender type: object za_co_mtn_aggregator_model_language_ProfilesRequest: title: ProfilesRequest type: object properties: description: type: string characteristics: type: array items: title: Characteristic type: object properties: name: type: string value: 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_model_customer_Location: title: Location type: object properties: country: type: string operator: type: string physicalAddress: title: Address type: object properties: type: type: string city: type: string country: type: string postBox: type: string value: type: string value2: type: string value3: type: string postalAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' businessAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' za_co_mtn_aggregator_model_response_activity_Self: title: Self type: object properties: href: type: string za_co_mtn_aggregator_model_eligibility_UpgradeEligibility: title: UpgradeEligibility type: object properties: name: type: string valueType: type: string value: type: string za_co_mtn_aggregator_model_callbackeligibility_CallbackEligibilityResponse: title: CallbackEligibilityResponse type: object properties: timeStamp: type: string data: type: array items: title: CallbackEligibilityData type: object properties: customerId: type: string status: type: string statusCode: title: CanonicalErrorCode type: object properties: errorCode: type: string description: type: string statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: title: HypeBalanceResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string customerId: type: string transaction-summaries: type: string data: type: array items: title: Data type: object properties: mainBalance: type: string balances: type: array items: title: Balances type: object properties: data: title: BalanceData type: object properties: balance: type: number format: float formatted: type: string unit: type: string isUnlimited: type: boolean voice: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' maxi: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' balanceSummary: type: array items: title: BalanceSummary type: object properties: description: type: string validityDays: type: string balance: type: string expiry: type: string renewalExpiry: type: string bundleRange: type: string za_co_mtn_aggregator_model_response_activity_ActivityResponse: title: ActivityResponse type: object properties: customerId: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: ActivityStatusData type: object properties: activityStatus: type: string referenceCode: type: string sequenceNo: type: string path: type: string method: type: string timestamp: type: string _links: title: Links type: object properties: self: title: Self type: object properties: href: type: string error: title: Error type: object properties: path: type: string downstreamStatusCode: type: string sequenceNo: type: string method: type: string statusMessage: type: string transactionId: type: string supportMessage: type: string timestamp: type: string statusCode: type: string error_description: type: string za_co_mtn_aggregator_model_response_ELCover: title: ELCover type: object properties: benefit: type: string policyNumber: type: string policyStatus: type: string productCode: type: string consents: type: string coverPeriod: type: string coverAmount: title: Amount type: object properties: amount: type: string currencyCode: type: string totalPremium: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_Amount' za_co_mtn_aggregator_model_customer_MoMo: title: MoMo type: object properties: id: type: string validAccountHolder: type: boolean za_co_mtn_aggregator_model_customer_MobileDetail: title: MobileDetail type: object properties: imsiNumber: type: string com_mtn_madapi_models_error_APIError: title: APIError type: object properties: timestamp: type: string error: type: string error_description: type: string transactionId: type: string sequenceNo: type: string statusCode: type: string statusMessage: type: string za_co_mtn_aggregator_model_loanprofile_LastLoanTakenDate: title: LastLoanTakenDate type: object properties: feeAmount: type: integer format: int64 lastLoanDate: type: integer format: int64 loanBand: title: LoanBand type: object properties: bandGroup: type: integer format: int64 bandName: type: string loanId: type: string principalAmount: type: integer format: int64 za_co_mtn_aggregator_model_customer_CustomerSubscriptions: title: CustomerSubscriptions type: object properties: customerId: type: string statusMessage: type: string services: type: object additionalProperties: title: SubscriptionService type: object properties: data: type: array items: title: Subscription type: object properties: subscriptionId: type: string subscriptionProviderId: type: string subscriptionName: type: string subscriptionDescription: type: string subscriptionLength: type: string registrationChannel: type: string startDate: type: string endDate: type: string email: type: string amountCharged: type: string productCost: type: string subscriptionPaymentSource: type: string sendSMSNotification: type: boolean beneficiaryId: type: string autoRenew: type: boolean transactionId: type: string statusDescription: type: string nodeId: type: string isCVMoffer: type: boolean statusMessage: type: string supportMessage: type: string callbackUrl: type: string recharge: type: string vasCode: type: integer format: int32 sysProcessedTime: type: string adjustmentType: type: string amountBefore: type: number format: double amountAfter: type: number format: double transaction: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' customerId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' subscriptionProviderId: type: string subscriptionProviderName: type: string subscriptionProviderDescription: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' supportMessage: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_customerDetails_TransactionSummariesData: title: TransactionSummariesData type: object properties: paymentAllowed: type: boolean marketingFlag: type: boolean lendingFlag: type: boolean za_co_mtn_aggregator_model_customer_SubscriptionService: title: SubscriptionService type: object properties: data: type: array items: title: Subscription type: object properties: subscriptionId: type: string subscriptionProviderId: type: string subscriptionName: type: string subscriptionDescription: type: string subscriptionLength: type: string registrationChannel: type: string startDate: type: string endDate: type: string email: type: string amountCharged: type: string productCost: type: string subscriptionPaymentSource: type: string sendSMSNotification: type: boolean beneficiaryId: type: string autoRenew: type: boolean transactionId: type: string statusDescription: type: string nodeId: type: string isCVMoffer: type: boolean statusMessage: type: string supportMessage: type: string callbackUrl: type: string recharge: type: string vasCode: type: integer format: int32 sysProcessedTime: type: string adjustmentType: type: string amountBefore: type: number format: double amountAfter: type: number format: double transaction: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' customerId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' subscriptionProviderId: type: string subscriptionProviderName: type: string subscriptionProviderDescription: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_enums_BalanceType: title: BalanceType type: object properties: name: type: string za_co_mtn_aggregator_model_setlang_SetLangResponse: title: SetLangResponse type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string customerId: type: string timestamp: type: string data: title: ResponseData type: object properties: lang: type: string apiError: title: APIError type: object properties: timestamp: type: string error: type: string error_description: type: string transactionId: type: string sequenceNo: type: string statusCode: type: string statusMessage: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_response_activity_Error: title: Error type: object properties: path: type: string downstreamStatusCode: type: string sequenceNo: type: string method: type: string statusMessage: type: string transactionId: type: string supportMessage: type: string timestamp: type: string statusCode: type: string za_co_mtn_aggregator_model_customer_CustomerMoMo: title: CustomerMoMo type: object properties: data: title: MoMo type: object properties: id: type: string validAccountHolder: type: boolean statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_loanprofile_LoanProfileData: title: LoanProfileData type: object properties: profile: title: Profile type: object properties: availableCreditLimit: type: integer format: int64 excludedFromService: type: string firstContactDate: type: integer format: int64 language: type: string lastContactDate: type: integer format: int64 lastLoanDate: type: integer format: int64 lastLoanTakenDate: title: LastLoanTakenDate type: object properties: feeAmount: type: integer format: int64 lastLoanDate: type: integer format: int64 loanBand: title: LoanBand type: object properties: bandGroup: type: integer format: int64 bandName: type: string loanId: type: string principalAmount: type: integer format: int64 marketingChannels: type: string totalCreditLimit: type: integer format: int64 balanceList: type: array items: title: BalanceList type: object properties: accountId: type: string accountType: type: string amount: type: integer format: int64 za_co_mtn_aggregator_model_setlang_ResponseData: title: ResponseData type: object properties: lang: type: string za_co_mtn_aggregator_model_response_acs_BalanceData: title: BalanceData type: object properties: balance: type: number format: float formatted: type: string unit: type: string isUnlimited: type: boolean za_co_mtn_aggregator_model_response_acs_Balances: title: Balances type: object properties: data: title: BalanceData type: object properties: balance: type: number format: float formatted: type: string unit: type: string isUnlimited: type: boolean voice: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' maxi: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' za_co_mtn_aggregator_enums_PlanStatus: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string za_co_mtn_aggregator_model_eligibility_ResponseData: title: ResponseData type: object properties: UpgradeEligibility: type: array items: title: UpgradeEligibility type: object properties: name: type: string valueType: type: string value: type: string za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse: title: HypeBalanceResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string customerId: type: string transaction-summaries: type: string data: type: array items: title: Data type: object properties: mainBalance: type: string balances: type: array items: title: Balances type: object properties: data: title: BalanceData type: object properties: balance: type: number format: float formatted: type: string unit: type: string isUnlimited: type: boolean voice: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' maxi: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' balanceSummary: type: array items: title: BalanceSummary type: object properties: description: type: string validityDays: type: string balance: type: string expiry: type: string renewalExpiry: type: string bundleRange: type: string za_co_mtn_aggregator_model_response_acs_Data: title: Data type: object properties: mainBalance: type: string balances: type: array items: title: Balances type: object properties: data: title: BalanceData type: object properties: balance: type: number format: float formatted: type: string unit: type: string isUnlimited: type: boolean voice: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' maxi: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_BalanceData' balanceSummary: type: array items: title: BalanceSummary type: object properties: description: type: string validityDays: type: string balance: type: string expiry: type: string renewalExpiry: type: string bundleRange: type: string za_co_mtn_aggregator_model_customer_CustomerLocation: title: CustomerLocation type: object properties: data: title: Location type: object properties: country: type: string operator: type: string physicalAddress: title: Address type: object properties: type: type: string city: type: string country: type: string postBox: type: string value: type: string value2: type: string value3: type: string postalAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' businessAddress: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Address' statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_profile_Characteristic: title: Characteristic type: object properties: name: type: string valueType: type: string value: type: string za_co_mtn_aggregator_model_response_activity_ActivityStatusData: title: ActivityStatusData type: object properties: activityStatus: type: string referenceCode: type: string za_co_mtn_aggregator_model_response_activity_Links: title: Links type: object properties: self: title: Self type: object properties: href: type: string za_co_mtn_aggregator_model_loanprofile_Profile: title: Profile type: object properties: availableCreditLimit: type: integer format: int64 excludedFromService: type: string firstContactDate: type: integer format: int64 language: type: string lastContactDate: type: integer format: int64 lastLoanDate: type: integer format: int64 lastLoanTakenDate: title: LastLoanTakenDate type: object properties: feeAmount: type: integer format: int64 lastLoanDate: type: integer format: int64 loanBand: title: LoanBand type: object properties: bandGroup: type: integer format: int64 bandName: type: string loanId: type: string principalAmount: type: integer format: int64 marketingChannels: type: string totalCreditLimit: type: integer format: int64 za_co_mtn_aggregator_model_loanprofile_LoanBand: title: LoanBand type: object properties: bandGroup: type: integer format: int64 bandName: type: string za_co_mtn_aggregator_model_customer_Plan: title: Plan type: object properties: status: title: PlanStatus type: object properties: id: type: integer format: int32 description: type: string type: title: PlanType type: object properties: id: type: integer format: int32 description: type: string createdDate: type: string endDate: type: string language: type: string balance: type: array items: title: CustomerBalance type: object properties: type: title: BalanceType type: object properties: name: type: string amount: type: string formatedBalance: type: string unit: type: string expiryDate: type: string currency: type: string za_co_mtn_aggregator_model_customer_CustomerKyc: title: CustomerKyc type: object properties: data: type: array items: title: KYC type: object properties: idType: type: string idNumber: type: string dateOfBirth: type: string gender: title: Gender type: object title: type: string firstName: type: string lastName: type: string maritalStatus: type: string nationality: type: string email: type: string alternateMsisdn: type: string workStatusCode: type: string jobDesignation: type: string location: $ref: '#/components/schemas/za_co_mtn_aggregator_model_customer_Location' idExpiryDate: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' com_mtn_madapi_commons_models_error_APIError: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string za_co_mtn_aggregator_model_response_ELSummaryResponse: title: ELSummaryResponse type: object properties: memberAggrementNumber: type: string coverDetails: title: ELCover type: object properties: benefit: type: string policyNumber: type: string policyStatus: type: string productCode: type: string consents: type: string coverPeriod: type: string coverAmount: title: Amount type: object properties: amount: type: string currencyCode: type: string totalPremium: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_Amount' path: type: string method: type: string type: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_language_ProfilesResponse: title: ProfilesResponse type: object properties: transactionId: type: string statusCode: type: string statusMessage: type: string customerId: type: string za_co_mtn_aggregator_model_callbackeligibility_CallbackEligibilityData: title: CallbackEligibilityData type: object properties: customerId: type: string status: type: string za_co_mtn_aggregator_model_customer_Subscription: title: Subscription type: object properties: subscriptionId: type: string subscriptionProviderId: type: string subscriptionName: type: string subscriptionDescription: type: string subscriptionLength: type: string registrationChannel: type: string startDate: type: string endDate: type: string email: type: string amountCharged: type: string productCost: type: string subscriptionPaymentSource: type: string sendSMSNotification: type: boolean beneficiaryId: type: string autoRenew: type: boolean transactionId: type: string statusDescription: type: string nodeId: type: string isCVMoffer: type: boolean statusMessage: type: string supportMessage: type: string callbackUrl: type: string recharge: type: string vasCode: type: integer format: int32 sysProcessedTime: type: string adjustmentType: type: string amountBefore: type: number format: double amountAfter: type: number format: double transaction: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' customerId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_customer_CustomerLoans: title: CustomerLoans type: object properties: statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_customer_CustomerAccount: title: CustomerAccount type: object properties: data: type: array items: title: Account type: object properties: firstName: type: string lastName: type: string accountName: type: string accountId: type: string description: type: string status: type: string accountType: type: string activationDate: type: string tariffActivationDate: type: string packageCode: type: string packageDescription: type: string simNumber: type: string imsiNumber: type: string mobileDetail: title: MobileDetail type: object properties: imsiNumber: type: string statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_profile_Plans: title: Plans type: object properties: category: type: string data: type: array items: title: Data type: object properties: type: type: string id: type: string status: type: string startDate: type: string endDate: type: string balance: type: string za_co_mtn_aggregator_model_customerDetails_TransactionSummaries: title: TransactionSummaries type: object properties: requestId: type: string dateRange: type: string data: title: TransactionSummariesData type: object properties: paymentAllowed: type: boolean marketingFlag: type: boolean lendingFlag: type: boolean za_co_mtn_aggregator_model_loanprofile_LoanProfileResponse: title: LoanProfileResponse type: object properties: data: title: LoanProfileData type: object properties: profile: title: Profile type: object properties: availableCreditLimit: type: integer format: int64 excludedFromService: type: string firstContactDate: type: integer format: int64 language: type: string lastContactDate: type: integer format: int64 lastLoanDate: type: integer format: int64 lastLoanTakenDate: title: LastLoanTakenDate type: object properties: feeAmount: type: integer format: int64 lastLoanDate: type: integer format: int64 loanBand: title: LoanBand type: object properties: bandGroup: type: integer format: int64 bandName: type: string loanId: type: string principalAmount: type: integer format: int64 marketingChannels: type: string totalCreditLimit: type: integer format: int64 balanceList: type: array items: title: BalanceList type: object properties: accountId: type: string accountType: type: string amount: type: integer format: int64 statusCode: $ref: '#/components/schemas/za_co_mtn_aggregator_enums_CanonicalErrorCode' statusMessage: type: string supportMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string balanceData: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_acs_HypeBalanceResponse' za_co_mtn_aggregator_model_response_tenure_TenureResponse: title: TenureResponse type: object properties: customerId: type: string statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: TenureData type: object properties: tenure: type: string sequenceNo: type: string path: type: string method: type: string timestamp: type: string _links: $ref: '#/components/schemas/za_co_mtn_aggregator_model_response_activity_Links' error: type: string error_description: type: string za_co_mtn_aggregator_model_response_Amount: title: Amount type: object properties: amount: type: string currencyCode: type: string za_co_mtn_aggregator_model_profile_Data: title: Data type: object properties: type: type: string id: type: string status: type: string startDate: type: string endDate: type: string balance: type: string securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.mtn.com/v1/oauth/access_token scopes: {} Bearer: type: http description: Bearer token received from OAuth2.0 authentication with the MADAPI scheme: bearer bearerFormat: JWT