openapi: 3.0.1 info: title: Account Holder Info description: "The Accountholders API returns basic information of the Accountholder\ \ including MTN Mobile Money account status. i.e. ACTIVE, SUSPENDED, BLOCKED etc.\ \ It also support validation of a MoMo accountholder, as well as the verification\ \ of financial resource information." license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 - Last updated date:2026-09-14 15:14:07 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: Accountholder paths: /accountholderidentification/{id}: get: tags: - Accountholder summary: View Accountholder's Identification description: Retrieves the Accountholder's Identification of an MTN customer. This requires id - MSISDN of customer. APIs accepts several other params as well like country code operationId: Accountholder_get_getAccountholderIdentification_accountholderidentif parameters: - name: id in: path required: true schema: type: string - name: includeoffnet in: query required: true schema: type: boolean - name: transactionId in: header required: true schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: true schema: type: string - name: x-origin-channelid in: header required: false schema: type: string 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 account holder info flows. content: application/json: schema: title: AccountHolderIdentification type: object properties: transactionId: type: string sequenceNo: type: string data: title: AccountHolderIdentificationData type: object properties: identity: type: array items: title: Identity type: object properties: idType: title: IdentityType type: object properties: value: type: string idValue: type: string statusCode: 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 /accountholders/accounts: get: tags: - Accountholder summary: View Accountholder's Account information description: Retrieves a list of accounts associated with a user. This requires accountId and identity type. APIs accepts several other params as well like country code. operationId: Accountholder_get_getAccountDetails_accountholdersaccoun parameters: - name: accountId in: query required: true schema: type: string - name: identityType in: query required: true schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string 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 account holder info flows. content: application/json: schema: title: GetAccountDetails type: object properties: statusCode: type: string data: title: GetAccountResponse type: object properties: accountList: type: array items: title: Account type: object properties: fri: type: string accountStatus: title: AccountStatus type: object properties: accountStatus: type: string accountType: type: string profileName: type: string referenceProfileName: type: string description: type: string balance: title: Balance type: object properties: amount: type: number format: double currency: type: string committedBalance: title: Committedbalance type: object properties: amount: type: number format: double currency: type: string totalReservation: title: Totalreservation type: object properties: amount: type: number format: double currency: type: string totalpositivereservation: title: Totalpositivereservation type: object properties: amount: type: number format: double currency: type: string bankDomainName: type: string lastActivityTime: type: string statusMessage: 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 /accountholders/{customerId}/identifications/{idNumber}: get: tags: - Accountholder summary: Get Extended User Information By Identification description: Retrieves the user's information by specifying an ID Type. This requires id - customerId of customer. APIs accepts several other params as well like country code operationId: Accountholder_get_getExtendedUserInformationByIdentification_accountholderscustom parameters: - name: customerId in: path required: true schema: type: string - name: idNumber in: path required: true schema: type: string - name: identificationType in: query required: true schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: true schema: type: string - name: x-origin-channelid in: header required: false schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI account holder info flows. content: application/json: schema: title: ExtendedUserInformationList type: object properties: data: type: array items: title: ExtendedUserInformation type: object properties: relatedParty: title: RelatedParty type: object properties: customerMsisdn: type: string contactMedium: title: ContactMedium type: object properties: mediumType: title: ContactMediumType type: object characteristic: title: Characteristic type: object properties: mlngInd: type: boolean regnAdrInd: type: boolean emailAddress: type: string phoneNumber: type: string city: type: string country: type: string stateOrProvince: type: string contactType: type: string name: type: string town: type: string addressType: title: AddressType type: object properties: value: type: string addressLines: type: array items: type: string street: type: string postalCode: type: string countrySubDivision: type: string mobileNumber: type: string partyCharacteristic: title: PartyCharacteristic type: object properties: mnrInd: type: boolean profession: type: string clearingNumber: type: string securityQuestion: type: string securityQuestionAnswer: type: string bankDomainName: type: string bankAccount: type: string profileName: type: string externalId: type: string familyNameSuffix: type: string title: type: string taxNumber: type: string taxRegion: type: string language: title: Language type: object properties: value: type: string timeout: type: integer format: int32 givenName: type: string middleName: type: string familyName: type: string fullName: type: string gender: title: Gender type: object properties: value: type: string code: type: string countryOfBirth: type: string cityOfBirth: type: string birthDate: type: string nationality: type: string businessFunction: type: string additionalInfo: type: array items: title: AdditionalInfo type: object properties: name: type: string value: type: string individualIdentification: title: IndividualIdentification type: object properties: individualId: type: string identificationType: title: IdentificationType type: object properties: value: type: string issuingAuthority: type: string issuingDate: type: string expiryDate: type: string statusCode: 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 /accountholders/{id}: get: tags: - Accountholder summary: View Accountholder's information description: Retrieves the Accountholder's basic information of an MTN customer. This requires id - MSISDN of customer. APIs accepts several other params as well like country code operationId: Accountholder_get_getAccountholdersInformation_accountholdersid parameters: - name: customerIdentifier in: query required: false schema: type: string - name: id in: path required: true schema: type: string - name: idType in: query required: false schema: type: string - name: includeoffnet in: query required: true schema: type: boolean - name: productProviderId 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 - name: transactionId in: header required: false schema: type: string - name: validationType in: query required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-channel-id in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-origin-channelid in: header required: false schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI account holder info flows. content: application/json: schema: title: AccountholderProfile type: object properties: statusCode: type: string statusMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string data: title: AccountholderProfileData type: object properties: identity: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Identity' firstName: type: string accountStatus: type: string lastName: type: string birthDate: type: string gender: type: string profileName: type: string employeeId: type: string fris: type: array items: title: FinancialResourceId type: object properties: friType: type: string currency: title: Currency type: object properties: code: type: string loyaltyPointsAccountFri: type: string acceptedtc: type: array items: title: AcceptedTermsAndCondition type: object properties: acceptedtcversion: type: string dateTime: type: string accountholderStatus: title: AccountholderStatus type: object properties: value: type: string bankDomainName: type: string homeChargingRegionName: type: string accountholderType: type: string hasParent: type: boolean languageCode: title: Language type: object properties: code: type: string child: type: array items: type: object parentAttributes: type: array items: title: ParentAttribute type: object properties: name: type: string valueType: type: string value: type: string accounts: type: array items: title: Accounts type: object properties: fri: type: string type: type: string status: type: string profileName: type: string balance: title: Balance type: object properties: value: type: number format: double unit: type: string committedBalance: title: CommittedBalance type: object properties: value: type: number format: double unit: type: string totalPositiveReservation: title: TotalPositiveReservation type: object properties: value: type: number format: double unit: type: string lastActivityTime: 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 /accountholders/{id}/contacts: get: tags: - Accountholder summary: View AccountHolder favorite contacts description: View AccountHolder favorite contacts on AccountHolder Id in TargetSystem. This requires id - MSISDN of customer. APIs accepts several other params as well like country code operationId: Accountholder_get_getFavoritesAccountHolder_accountholdersidcont parameters: - name: favoriteSubtype in: header required: false schema: type: string - name: favoriteType in: header required: false schema: type: string - name: id in: path required: true schema: type: string - name: idType in: header required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: type in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-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 account holder info flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_FavoritesResponse' "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false post: tags: - Accountholder summary: Add AccountHolder favorite contacts description: Add AccountHolder favorite contacts on AccountHolder Id in TargetSystem. This requires id - MSISDN of customer. APIs accepts several other params as well like country code operationId: Accountholder_post_addFavoritesAccountHolder_accountholdersidcont parameters: - name: id in: path required: true schema: type: string - name: idType in: header required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-origin-channelId in: header required: false schema: type: string requestBody: content: application/json: schema: title: FavoritesRequest type: object properties: fri: type: string friType: type: string favoriteType: type: string favoriteSubtype: type: string name: 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 account holder info flows. content: application/json: schema: title: FavoritesResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string method: type: string path: type: string timestamp: 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 delete: tags: - Accountholder summary: Delete AccountHolder favorite contacts description: Delete AccountHolder favorite contacts on AccountHolder Id in TargetSystem. This requires id - MSISDN of customer. APIs accepts several other params as well like country code operationId: Accountholder_delete_deleteFavoritesAccountHolder_accountholdersidcont parameters: - name: id in: path required: true schema: type: string - name: idType in: header required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-origin-channelId in: header required: false schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI account holder info flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_FavoritesResponse' "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 /accountholders/{id}/state: patch: tags: - Accountholder summary: Block and Unblock AccountHolder description: By Interpreting Block and Unblock State on AccountHolder Id in TargetSystem. This requires id - MSISDN of customer. APIs accepts several other params as well like country code operationId: Accountholder_patch_blockUnblockAccountHolders_accountholdersidstat parameters: - name: id in: path required: true schema: type: string - name: idType in: header required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string - name: x-origin-channelId in: header required: false schema: type: string requestBody: content: application/json: schema: title: BlockUnblockRequest type: object properties: reason: type: string state: type: string idType: 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 account holder info flows. content: application/json: schema: title: BlockUnblockResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string method: type: string path: type: string timestamp: type: string downstreamStatusCode: type: integer format: int32 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 /accountholders/{id}/validate: get: tags: - Accountholder summary: Validate an Individual's Account Status description: "Validates the account status of a MoMo customer. By supplying\ \ the customer's id to validate, MADAPI will send the request to the backend\ \ system and map the response back to a boolean which will indicate whether\ \ the customer is a valid MoMo customer on ECW." operationId: Accountholder_get_validateAccountholdersInformation_accountholdersidvali parameters: - name: id in: path required: true schema: type: string - name: identityType in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-channel-id in: header required: false schema: type: string - name: x-country-code in: header required: true schema: type: string - name: x-origin-channelid in: header required: false schema: type: string 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 account holder info flows. content: application/json: schema: title: AccountholderStatusResponse type: object properties: statusCode: type: string customerId: type: string sequenceNo: type: string existingRegCount: type: string data: title: AccountholderStatusData type: object properties: isValid: type: boolean extension: type: array items: type: string existingRegCount: 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 /accountholders/{id}/verify: post: tags: - Accountholder summary: Verify a Partner's Financial Resources description: Verify an Accountholder's financial resource information. This requires id - MSISDN of customer. APIs accepts several other params as well like country code operationId: Accountholder_post_verifyAccountholdersInformation_accountholdersidveri parameters: - name: id in: path required: true schema: type: string - name: targetsystem in: header required: true schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: true schema: type: string - name: x-origin-channelid in: header required: false schema: type: string requestBody: content: application/json: schema: title: VerifyRequest type: object properties: resource: type: string accountholderids: type: array items: type: string extension: type: string identificationNumber: 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 account holder info flows. content: application/json: schema: title: APIResponse type: object properties: statusCode: 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: com_mtn_aggregator_models_request_FavoritesRequest: title: FavoritesRequest type: object properties: fri: type: string friType: type: string favoriteType: type: string favoriteSubtype: type: string name: type: string com_mtn_aggregator_enums_IdentityType: title: IdentityType type: object properties: value: type: string com_mtn_madapi_ecw_enums_AddressType: title: AddressType type: object properties: value: type: string com_mtn_aggregator_models_response_FavoritesResponse: title: FavoritesResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string method: type: string path: type: string timestamp: type: string sequenceNo: type: string com_mtn_madapi_ecw_models_ecw_provisioning_v1_3_Balance: title: Balance type: object properties: amount: type: number format: double currency: type: string com_mtn_aggregator_models_response_TotalPositiveReservation: title: TotalPositiveReservation type: object properties: value: type: number format: double unit: type: string com_mtn_aggregator_models_response_BlockUnblockResponse: title: BlockUnblockResponse type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string method: type: string path: type: string timestamp: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string com_mtn_aggregator_models_response_GetAccountDetails: title: GetAccountDetails type: object properties: statusCode: type: string data: title: GetAccountResponse type: object properties: accountList: type: array items: title: Account type: object properties: fri: type: string accountStatus: title: AccountStatus type: object properties: accountStatus: type: string accountType: type: string profileName: type: string referenceProfileName: type: string description: type: string balance: title: Balance type: object properties: amount: type: number format: double currency: type: string committedBalance: title: Committedbalance type: object properties: amount: type: number format: double currency: type: string totalReservation: title: Totalreservation type: object properties: amount: type: number format: double currency: type: string totalpositivereservation: title: Totalpositivereservation type: object properties: amount: type: number format: double currency: type: string bankDomainName: type: string lastActivityTime: type: string statusMessage: type: string sequenceNo: type: string com_mtn_aggregator_models_response_extendeduserinfo_ExtendedUserInformationList: title: ExtendedUserInformationList type: object properties: data: type: array items: title: ExtendedUserInformation type: object properties: relatedParty: title: RelatedParty type: object properties: customerMsisdn: type: string contactMedium: title: ContactMedium type: object properties: mediumType: title: ContactMediumType type: object characteristic: title: Characteristic type: object properties: mlngInd: type: boolean regnAdrInd: type: boolean emailAddress: type: string phoneNumber: type: string city: type: string country: type: string stateOrProvince: type: string contactType: type: string name: type: string town: type: string addressType: title: AddressType type: object properties: value: type: string addressLines: type: array items: type: string street: type: string postalCode: type: string countrySubDivision: type: string mobileNumber: type: string partyCharacteristic: title: PartyCharacteristic type: object properties: mnrInd: type: boolean profession: type: string clearingNumber: type: string securityQuestion: type: string securityQuestionAnswer: type: string bankDomainName: type: string bankAccount: type: string profileName: type: string externalId: type: string familyNameSuffix: type: string title: type: string taxNumber: type: string taxRegion: type: string language: title: Language type: object properties: value: type: string timeout: type: integer format: int32 givenName: type: string middleName: type: string familyName: type: string fullName: type: string gender: title: Gender type: object properties: value: type: string code: type: string countryOfBirth: type: string cityOfBirth: type: string birthDate: type: string nationality: type: string businessFunction: type: string additionalInfo: type: array items: title: AdditionalInfo type: object properties: name: type: string value: type: string individualIdentification: title: IndividualIdentification type: object properties: individualId: type: string identificationType: title: IdentificationType type: object properties: value: type: string issuingAuthority: type: string issuingDate: type: string expiryDate: type: string statusCode: type: string sequenceNo: type: string com_mtn_madapi_ecw_enums_Language: title: Language type: object properties: value: type: string com_mtn_madapi_ecw_models_madapi_registration_ContactMedium: title: ContactMedium type: object properties: mediumType: title: ContactMediumType type: object characteristic: title: Characteristic type: object properties: mlngInd: type: boolean regnAdrInd: type: boolean emailAddress: type: string phoneNumber: type: string city: type: string country: type: string stateOrProvince: type: string contactType: type: string name: type: string town: type: string addressType: title: AddressType type: object properties: value: type: string addressLines: type: array items: type: string street: type: string postalCode: type: string countrySubDivision: type: string mobileNumber: type: string com_mtn_madapi_ecw_models_madapi_registration_PartyCharacteristic: title: PartyCharacteristic type: object properties: mnrInd: type: boolean profession: type: string clearingNumber: type: string securityQuestion: type: string securityQuestionAnswer: type: string bankDomainName: type: string bankAccount: type: string profileName: type: string externalId: type: string familyNameSuffix: type: string title: type: string taxNumber: type: string taxRegion: type: string language: title: Language type: object properties: value: type: string timeout: type: integer format: int32 givenName: type: string middleName: type: string familyName: type: string fullName: type: string gender: title: Gender type: object properties: value: type: string code: type: string countryOfBirth: type: string cityOfBirth: type: string birthDate: type: string nationality: type: string businessFunction: type: string additionalInfo: type: array items: title: AdditionalInfo type: object properties: name: type: string value: type: string com_mtn_madapi_ecw_models_madapi_accountholders_response_AccountholderStatusResponse: title: AccountholderStatusResponse type: object properties: statusCode: type: string customerId: type: string sequenceNo: type: string existingRegCount: type: string data: title: AccountholderStatusData type: object properties: isValid: type: boolean extension: type: array items: type: string existingRegCount: type: string com_mtn_madapi_ecw_models_madapi_language_AdditionalInfo: title: AdditionalInfo type: object properties: name: type: string value: type: string com_mtn_madapi_ecw_enums_Gender: title: Gender type: object properties: value: type: string code: type: string com_mtn_aggregator_models_response_GetAccountResponse: title: GetAccountResponse type: object properties: accountList: type: array items: title: Account type: object properties: fri: type: string accountStatus: title: AccountStatus type: object properties: accountStatus: type: string accountType: type: string profileName: type: string referenceProfileName: type: string description: type: string balance: title: Balance type: object properties: amount: type: number format: double currency: type: string committedBalance: title: Committedbalance type: object properties: amount: type: number format: double currency: type: string totalReservation: title: Totalreservation type: object properties: amount: type: number format: double currency: type: string totalpositivereservation: title: Totalpositivereservation type: object properties: amount: type: number format: double currency: type: string bankDomainName: type: string lastActivityTime: type: string com_mtn_aggregator_models_response_Account: title: Account type: object properties: fri: type: string accountStatus: title: AccountStatus type: object properties: accountStatus: type: string accountType: type: string profileName: type: string referenceProfileName: type: string description: type: string balance: title: Balance type: object properties: amount: type: number format: double currency: type: string committedBalance: title: Committedbalance type: object properties: amount: type: number format: double currency: type: string totalReservation: title: Totalreservation type: object properties: amount: type: number format: double currency: type: string totalpositivereservation: title: Totalpositivereservation type: object properties: amount: type: number format: double currency: type: string bankDomainName: type: string lastActivityTime: type: string com_mtn_aggregator_models_response_AccountHolderIdentification: title: AccountHolderIdentification type: object properties: transactionId: type: string sequenceNo: type: string data: title: AccountHolderIdentificationData type: object properties: identity: type: array items: title: Identity type: object properties: idType: title: IdentityType type: object properties: value: type: string idValue: type: string statusCode: type: string com_mtn_madapi_ecw_models_madapi_accountholders_response_AccountholderStatusData: title: AccountholderStatusData type: object properties: isValid: type: boolean extension: type: array items: type: string existingRegCount: type: string com_mtn_aggregator_models_response_APIResponse: title: APIResponse type: object properties: statusCode: type: string sequenceNo: type: string com_mtn_madapi_ecw_models_madapi_registration_RelatedParty: title: RelatedParty type: object properties: customerMsisdn: type: string APIError: title: APIError required: - statusCode - statusMessage type: object properties: statusCode: type: string description: Error status code statusMessage: type: string description: Human-readable error message supportMessage: type: string description: Technical support message or error code for troubleshooting transactionId: type: string description: Transaction identifier for tracking and correlation sequenceNo: type: string description: Sequence number for request tracking timestamp: type: string description: Error timestamp in ISO 8601 format format: date-time path: type: string description: API endpoint path where the error occurred method: type: string description: HTTP method of the request that caused the error downstreamStatusCode: type: string description: Downstream service error code if applicable description: Generic MADAPI error response structure com_mtn_aggregator_models_response_Currency: title: Currency type: object properties: code: type: string com_mtn_aggregator_models_response_ParentAttribute: title: ParentAttribute type: object properties: name: type: string valueType: type: string value: type: string com_mtn_aggregator_models_response_AcceptedTermsAndCondition: title: AcceptedTermsAndCondition type: object properties: acceptedtcversion: type: string dateTime: type: string com_mtn_aggregator_models_response_AccountHolderIdentificationData: title: AccountHolderIdentificationData type: object properties: identity: type: array items: title: Identity type: object properties: idType: title: IdentityType type: object properties: value: type: string idValue: type: string com_mtn_aggregator_models_response_Identity: title: Identity type: object properties: idType: title: IdentityType type: object properties: value: type: string idValue: type: string com_mtn_aggregator_models_response_AccountholderProfileData: title: AccountholderProfileData type: object properties: identity: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Identity' firstName: type: string accountStatus: type: string lastName: type: string birthDate: type: string gender: type: string profileName: type: string employeeId: type: string fris: type: array items: title: FinancialResourceId type: object properties: friType: type: string currency: title: Currency type: object properties: code: type: string loyaltyPointsAccountFri: type: string acceptedtc: type: array items: title: AcceptedTermsAndCondition type: object properties: acceptedtcversion: type: string dateTime: type: string accountholderStatus: title: AccountholderStatus type: object properties: value: type: string bankDomainName: type: string homeChargingRegionName: type: string accountholderType: type: string hasParent: type: boolean languageCode: title: Language type: object properties: code: type: string child: type: array items: type: object parentAttributes: type: array items: title: ParentAttribute type: object properties: name: type: string valueType: type: string value: type: string accounts: type: array items: title: Accounts type: object properties: fri: type: string type: type: string status: type: string profileName: type: string balance: title: Balance type: object properties: value: type: number format: double unit: type: string committedBalance: title: CommittedBalance type: object properties: value: type: number format: double unit: type: string totalPositiveReservation: title: TotalPositiveReservation type: object properties: value: type: number format: double unit: type: string lastActivityTime: type: string com_mtn_madapi_ecw_enums_IdentificationType: title: IdentificationType type: object properties: value: type: string com_mtn_aggregator_models_response_extendeduserinfo_ExtendedUserInformation: title: ExtendedUserInformation type: object properties: relatedParty: title: RelatedParty type: object properties: customerMsisdn: type: string contactMedium: title: ContactMedium type: object properties: mediumType: title: ContactMediumType type: object characteristic: title: Characteristic type: object properties: mlngInd: type: boolean regnAdrInd: type: boolean emailAddress: type: string phoneNumber: type: string city: type: string country: type: string stateOrProvince: type: string contactType: type: string name: type: string town: type: string addressType: title: AddressType type: object properties: value: type: string addressLines: type: array items: type: string street: type: string postalCode: type: string countrySubDivision: type: string mobileNumber: type: string partyCharacteristic: title: PartyCharacteristic type: object properties: mnrInd: type: boolean profession: type: string clearingNumber: type: string securityQuestion: type: string securityQuestionAnswer: type: string bankDomainName: type: string bankAccount: type: string profileName: type: string externalId: type: string familyNameSuffix: type: string title: type: string taxNumber: type: string taxRegion: type: string language: title: Language type: object properties: value: type: string timeout: type: integer format: int32 givenName: type: string middleName: type: string familyName: type: string fullName: type: string gender: title: Gender type: object properties: value: type: string code: type: string countryOfBirth: type: string cityOfBirth: type: string birthDate: type: string nationality: type: string businessFunction: type: string additionalInfo: type: array items: title: AdditionalInfo type: object properties: name: type: string value: type: string individualIdentification: title: IndividualIdentification type: object properties: individualId: type: string identificationType: title: IdentificationType type: object properties: value: type: string issuingAuthority: type: string issuingDate: type: string expiryDate: type: string com_mtn_aggregator_models_response_Language: title: Language type: object properties: code: type: string com_mtn_aggregator_models_response_FinancialResourceId: title: FinancialResourceId type: object properties: friType: type: string currency: title: Currency type: object properties: code: type: string com_mtn_aggregator_models_request_BlockUnblockRequest: title: BlockUnblockRequest type: object properties: reason: type: string state: type: string idType: type: string com_mtn_aggregator_models_request_VerifyRequest: title: VerifyRequest type: object properties: resource: type: string accountholderids: type: array items: type: string extension: type: string identificationNumber: type: string com_mtn_aggregator_models_response_AccountholderProfile: title: AccountholderProfile type: object properties: statusCode: type: string statusMessage: type: string customerId: type: string transactionId: type: string sequenceNo: type: string data: title: AccountholderProfileData type: object properties: identity: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Identity' firstName: type: string accountStatus: type: string lastName: type: string birthDate: type: string gender: type: string profileName: type: string employeeId: type: string fris: type: array items: title: FinancialResourceId type: object properties: friType: type: string currency: title: Currency type: object properties: code: type: string loyaltyPointsAccountFri: type: string acceptedtc: type: array items: title: AcceptedTermsAndCondition type: object properties: acceptedtcversion: type: string dateTime: type: string accountholderStatus: title: AccountholderStatus type: object properties: value: type: string bankDomainName: type: string homeChargingRegionName: type: string accountholderType: type: string hasParent: type: boolean languageCode: title: Language type: object properties: code: type: string child: type: array items: type: object parentAttributes: type: array items: title: ParentAttribute type: object properties: name: type: string valueType: type: string value: type: string accounts: type: array items: title: Accounts type: object properties: fri: type: string type: type: string status: type: string profileName: type: string balance: title: Balance type: object properties: value: type: number format: double unit: type: string committedBalance: title: CommittedBalance type: object properties: value: type: number format: double unit: type: string totalPositiveReservation: title: TotalPositiveReservation type: object properties: value: type: number format: double unit: type: string lastActivityTime: type: string com_mtn_madapi_ecw_enums_ContactMediumType: title: ContactMediumType type: object com_mtn_madapi_ecw_models_ecw_provisioning_v1_3_Committedbalance: title: Committedbalance type: object properties: amount: type: number format: double currency: type: string com_mtn_madapi_ecw_models_ecw_provisioning_v1_3_Totalpositivereservation: title: Totalpositivereservation type: object properties: amount: type: number format: double currency: type: string com_mtn_aggregator_models_response_Accounts: title: Accounts type: object properties: fri: type: string type: type: string status: type: string profileName: type: string balance: title: Balance type: object properties: value: type: number format: double unit: type: string committedBalance: title: CommittedBalance type: object properties: value: type: number format: double unit: type: string totalPositiveReservation: title: TotalPositiveReservation type: object properties: value: type: number format: double unit: type: string lastActivityTime: type: string com_mtn_aggregator_enums_AccountholderStatus: title: AccountholderStatus type: object properties: value: type: string com_mtn_aggregator_models_response_AccountStatus: title: AccountStatus type: object properties: accountStatus: type: string com_mtn_aggregator_models_response_CommittedBalance: title: CommittedBalance type: object properties: value: type: number format: double unit: type: string com_mtn_madapi_ecw_models_madapi_registration_IndividualIdentification: title: IndividualIdentification type: object properties: individualId: type: string identificationType: title: IdentificationType type: object properties: value: type: string issuingAuthority: type: string issuingDate: type: string expiryDate: type: string com_mtn_madapi_ecw_models_ecw_provisioning_v1_3_Totalreservation: title: Totalreservation type: object properties: amount: type: number format: double currency: type: string com_mtn_aggregator_models_response_Balance: title: Balance type: object properties: value: type: number format: double unit: type: string com_mtn_madapi_ecw_models_madapi_registration_Characteristic: title: Characteristic type: object properties: mlngInd: type: boolean regnAdrInd: type: boolean emailAddress: type: string phoneNumber: type: string city: type: string country: type: string stateOrProvince: type: string contactType: type: string name: type: string town: type: string addressType: title: AddressType type: object properties: value: type: string addressLines: type: array items: type: string street: type: string postalCode: type: string countrySubDivision: type: string mobileNumber: 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