openapi: 3.2.0 info: description: 'This schema defines the RESTful endpoints provided by the GSMA Mobile Money API. You can find out more about what the API can do for your business at [https://developer.mobilemoneyapi.io] ' version: 1.2.0 title: Mobile Money Accounts API servers: - description: This url points to the GSMA Mobile Money API v1.2 Simulator. url: https://sandbox.mobilemoneyapi.io/simulator/v1.2/passthrough/mm tags: - name: Accounts description: 'The **Accounts** APIs are used to support a range of operations on a financial account resource and associated resources. Types of accounts include mobile wallets, financial institution accounts and utility accounts (e.g. for electricity). **Identifying a Target Account** Two methods are provided for identifying an account, the single identifier method and the multiple identifiers method. Single Identifier Method: - In the scenario where one identifier suffices to uniquely identify an account, the following path is to be used: **/accounts/{identifierType}/{identifier}**. Multiple Identifiers Method: - Where a single identifier is not sufficient to identify an account, the following path is to be used: ' **/accounts/{accountIdentifier1}@{value1}${accountIdentifier2}@{value2}${accountIdentifier3}@{value3}**'. The list of permitted account identifiers supported by the Mobile Money API can be found in the API documentation. As there can be multiple identifiers required to identify the target account, the path uses a '$' delimiter to separate each identifier, up to a limit of three account identifiers. ' paths: /accounts/{identityType}: post: tags: - Accounts summary: Create an Account description: Provided with a valid object representation, this endpoint allows for a new account to be created operationId: accountsPOST parameters: - $ref: '#/components/parameters/identityTypePath' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Callback-URL' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' requestBody: $ref: '#/components/requestBodies/requestAccount' callbacks: accountsSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Account Success Callback description: This callback communicates the final representation of the account requested by the client. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: accountsSuccessPUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/updateAccount' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability accountsFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Account Failure Callback description: This callback communicates the information regarding an account creation failure in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: accountsFailurePUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/updateError' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability responses: 201: description: Represents an Account creation response content: application/json: schema: $ref: '#/components/schemas/responseAccount' headers: X-Date: $ref: '#/components/headers/X-Date' 202: description: Represents an Asynchronous response content: application/json: schema: $ref: '#/components/schemas/requestStateObject' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{accountId}: parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' get: tags: - Accounts summary: View an Account description: This endpoint returns details for a given account. This API accepts multiple account identifiers operationId: accountsAccountIdGET responses: 200: description: Represents an Account response content: application/json: schema: $ref: '#/components/schemas/responseAccount' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' patch: tags: - Accounts summary: Update an Account description: This endpoint updates an account. Currently, accountStatus and accountSubStatus fields can be updated. operationId: accountsAccountIdPATCH parameters: - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Callback-URL' requestBody: $ref: '#/components/requestBodies/genericPatch' callbacks: accountsUpdateSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Account Update Success Callback description: This callback communicates a simple message to communicate that the Account update completed successfully. operationId: accountsUpdateAccountIdSuccessPUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/genericUpdateSuccess' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability accountsUpdateFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Account Update Failure Callback description: This callback communicates the information regarding a failure to update an account in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: accountsUpdateAccountIdFailurePUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/updateError' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability responses: 202: description: Represents an Asynchronous response content: application/json: schema: $ref: '#/components/schemas/requestStateObject' headers: X-Date: $ref: '#/components/headers/X-Date' 204: description: An empty response is returned for a synchronous successful patch. 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{identifierType}/{identifier}: parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' get: tags: - Accounts summary: View an Account description: This endpoint returns the details of an account. operationId: accountsIdentifierTypeIdentifierGET responses: 200: description: Represents an Account response content: application/json: schema: $ref: '#/components/schemas/responseAccount' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' patch: tags: - Accounts summary: Update an Account description: This endpoint updates an account. Currently, accountStatus and accountSubStatus fields can be updated. operationId: accountsIdentifierTypeIdentifierPATCH parameters: - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Callback-URL' requestBody: $ref: '#/components/requestBodies/genericPatch' callbacks: accountsUpdateSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Account Update Success Callback description: This callback communicates a simple message to communicate that the Account update completed successfully. operationId: accountsUpdateIdentifierTypeIdentifierSuccessPUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/genericUpdateSuccess' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability accountsUpdateFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Account Update Failure Callback description: This callback communicates the information regarding a failure to update an account in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: accountsUpdateIdentifierTypeIdentifierFailurePUT parameters: - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/updateError' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability responses: 202: description: Represents an Asynchronous response content: application/json: schema: $ref: '#/components/schemas/requestStateObject' headers: X-Date: $ref: '#/components/headers/X-Date' 204: description: An empty response is returned for a synchronous successful patch. 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{accountId}/identities/{identityId}: patch: tags: - Accounts summary: Update an Account Identity. description: This endpoint updates an account identity. identityStatus, kycVerificationStatus, kycVerificationEntity and kycLevel field updates are permitted. operationId: accountIdentitiesAccountIdPATCH parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/identityIdPath' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Callback-URL' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' requestBody: $ref: '#/components/requestBodies/genericPatch' callbacks: accountIdentitiesUpdateSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Account Identity Update Success Callback description: This callback communicates a simple message to communicate that the Account Identity update completed successfully. operationId: accountIdentitiesUpdateAccountIdSuccessPUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/genericUpdateSuccess' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability accountIdentitiesUpdateFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Account Identities Update Failure Callback description: This callback communicates the information regarding a failure to update an account identity in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: accountIdentitiesUpdateAccountIdFailurePUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/updateError' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability responses: 202: description: Represents an Asynchronous response content: application/json: schema: $ref: '#/components/schemas/requestStateObject' headers: X-Date: $ref: '#/components/headers/X-Date' 204: description: An empty response is returned for a synchronous successful patch. 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{identifierType}/{identifier}/identities/{identityId}: patch: tags: - Accounts summary: Update an Account Identity description: This endpoint updates an account identity. identityStatus, kycVerificationStatus, kycVerificationEntity and kycLevel field updates are permitted. operationId: accountIdentitiesIdentifierTypeIdentifierPATCH parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/identityIdPath' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Callback-URL' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' requestBody: $ref: '#/components/requestBodies/genericPatch' callbacks: accountsUpdateSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Account Identity Update Success Callback description: This callback communicates a simple message to communicate that the Account Identity update completed successfully. operationId: accountIdentitiesUpdateIdentifierTypeIdentifierSuccessPUT parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/genericUpdateSuccess' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability accountIdentitiesUpdateFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Account Identity Update Failure Callback description: This callback communicates the information regarding a failure to update an account identity in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: accountIdentitiesUpdateIdentifierTypeIdentifierFailurePUT parameters: - $ref: '#/components/parameters/X-CorrelationID' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' requestBody: $ref: '#/components/requestBodies/updateError' responses: 204: description: Your server returns this code if it accepts the callback 400: description: Your server returns this code if it rejects the callback due to a violation of a business rule 401: description: Your server returns this code if it rejects the callback due to an authorisation failure 404: description: Your server returns this code if it rejects the callback due to a failure to identify the target resource 500: description: Your server returns this code if it rejects the callback due to general server-side issue 503: description: Your server returns this code if it rejects the callback due to systems unavailability responses: 202: description: Represents an Asynchronous response content: application/json: schema: $ref: '#/components/schemas/requestStateObject' headers: X-Date: $ref: '#/components/headers/X-Date' 204: description: An empty response is returned for a synchronous successful patch. 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{accountId}/status: get: tags: - Accounts summary: View Account Status description: This endpoint returns the current status of an account. This API accepts multiple identifiers operationId: accountsAccountIdStatusGET parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represents an Account Status response content: application/json: schema: $ref: '#/components/schemas/responseAccountStatus' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{identifierType}/{identifier}/status: get: tags: - Accounts summary: View Account Status description: This endpoint returns the current status of an account. operationId: accountsIdentifierTypeIdentifierStatusGET parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represents an Account Status response content: application/json: schema: $ref: '#/components/schemas/responseAccountStatus' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{accountId}/accountname: get: tags: - Accounts summary: View Account Name description: This endpoint returns the status of a given account. operationId: accountsAccountIdAccountnameGET parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represents an Account Name response content: application/json: schema: $ref: '#/components/schemas/responseAccountName' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{identifierType}/{identifier}/accountname: get: tags: - Accounts summary: View Account Name description: This endpoint returns the name of an account holder. operationId: accountsIdentifierTypeIdentifierAccountnameGET parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represents an Account Name response content: application/json: schema: $ref: '#/components/schemas/responseAccountName' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{accountId}/balance: get: tags: - Accounts summary: View Account Balance description: This endpoint returns the balance of an account operationId: accountsAccountIdBalanceGET parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represents an Account Balance response content: application/json: schema: $ref: '#/components/schemas/responseAccountBalance' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{identifierType}/{identifier}/balance: get: tags: - Accounts summary: View Account Balance description: This endpoint returns the balance of an account. operationId: accountsIdentifierTypeIdentifierBalanceGET parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represents an Account Balance response content: application/json: schema: $ref: '#/components/schemas/responseAccountBalance' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/balance: get: tags: - Accounts summary: View Account Balance description: This endpoint returns the balance of an account. As the account is not passed as a parameter, the account is assumed to be that of the calling client. operationId: accountsBalanceGET parameters: - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represents an Account Balance response content: application/json: schema: $ref: '#/components/schemas/responseAccountBalance' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{accountId}/transactions: get: tags: - Accounts summary: View Account Specific Transaction description: This endpoint returns transactions linked to a specific account operationId: accountsAccountIdTransactionsGET parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/fromDateTime' - $ref: '#/components/parameters/toDateTime' - $ref: '#/components/parameters/transactionStatus' - $ref: '#/components/parameters/transactionTypeQuery' responses: 200: description: Represent a list of Transactions content: application/json: schema: type: array items: $ref: '#/components/schemas/responseTransaction' minItems: 0 headers: X-Date: $ref: '#/components/headers/X-Date' X-Records-Available-Count: $ref: '#/components/headers/X-Records-Available-Count' X-Records-Returned-Count: $ref: '#/components/headers/X-Records-Returned-Count' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{identifierType}/{identifier}/transactions: get: tags: - Accounts summary: View Account Specific Transaction description: This endpoint returns transactions linked to a specific account. operationId: accountsIdentifierTypeIdentifierTransactionsGET parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/fromDateTime' - $ref: '#/components/parameters/toDateTime' - $ref: '#/components/parameters/transactionStatus' - $ref: '#/components/parameters/transactionTypeQuery' responses: 200: description: Represent a list of Transactions content: application/json: schema: type: array items: $ref: '#/components/schemas/responseTransaction' minItems: 0 headers: X-Date: $ref: '#/components/headers/X-Date' X-Records-Available-Count: $ref: '#/components/headers/X-Records-Available-Count' X-Records-Returned-Count: $ref: '#/components/headers/X-Records-Returned-Count' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{accountId}/statemententries: get: tags: - Accounts summary: View Account Statements description: The Statement Entries API enables generic representations of transactions to be returned. Typically, the returned representations are used for the purposes of presenting a statement to the account holder. In order to return a statement, an account must be specified. operationId: accountsAccountIdStatemententriesGET parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/fromDateTime' - $ref: '#/components/parameters/toDateTime' - $ref: '#/components/parameters/transactionStatus' - $ref: '#/components/parameters/displayType' responses: 200: description: Represent a list of Statement Entries content: application/json: schema: type: array items: $ref: '#/components/schemas/responseStatementEntries' minItems: 0 headers: X-Date: $ref: '#/components/headers/X-Date' X-Records-Available-Count: $ref: '#/components/headers/X-Records-Available-Count' X-Records-Returned-Count: $ref: '#/components/headers/X-Records-Returned-Count' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /accounts/{identifierType}/{identifier}/statemententries: get: tags: - Accounts summary: View Account Statements description: The Statement Entries API enables generic representations of transactions to be returned. Typically, the returned representations are used for the purposes of presenting a statement to the account holder. In order to return a statement, an account must be specified. operationId: accountsIdentifierTypeIdentifierStatemententriesGET parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/fromDateTime' - $ref: '#/components/parameters/toDateTime' - $ref: '#/components/parameters/transactionStatus' - $ref: '#/components/parameters/displayType' responses: 200: description: Represent a list of Statement Entries content: application/json: schema: type: array items: $ref: '#/components/schemas/responseStatementEntries' minItems: 0 headers: X-Date: $ref: '#/components/headers/X-Date' X-Records-Available-Count: $ref: '#/components/headers/X-Records-Available-Count' X-Records-Returned-Count: $ref: '#/components/headers/X-Records-Returned-Count' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' /statemententries/{transactionReference}: get: tags: - Accounts summary: View Specific Statement description: The Statement Entries API enables generic representations of transactions to be returned. Typically, the returned representations are used for the purposes of presenting a statement to the account holder. In order to return a statement, a transaction reference must be specified. operationId: statemententriesTransactionReferenceGET parameters: - $ref: '#/components/parameters/transactionReference' - $ref: '#/components/parameters/X-Date' - $ref: '#/components/parameters/X-API-Key' - $ref: '#/components/parameters/X-User-Bearer' - $ref: '#/components/parameters/X-Client-Id' - $ref: '#/components/parameters/X-Content-Hash' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' responses: 200: description: Represent a list of Statement Entries content: application/json: schema: $ref: '#/components/schemas/responseStatementEntries' headers: X-Date: $ref: '#/components/headers/X-Date' 400: description: Represents an Error Caused by the Violation of a Business Rule content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 401: description: Represents an Error Caused by an Authorisation Failure content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 404: description: Represents an Error Caused by a Failure to Identify the Target Resource content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 500: description: Represents an Error Caused by a General Server-Side Issue content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' 503: description: Represents an Error Caused by System Unavailability content: application/json: schema: $ref: '#/components/schemas/errorObject' headers: X-Date: $ref: '#/components/headers/X-Date' components: schemas: postalAddress: type: object required: - country properties: addressLine1: type: string description: First line of the address. minLength: 0 maxLength: 256 addressLine2: type: string description: Second line of the address. minLength: 0 maxLength: 256 addressLine3: type: string description: Third line of the address. minLength: 0 maxLength: 256 city: type: string description: City/Town minLength: 0 maxLength: 256 stateProvince: type: string description: State or Province minLength: 0 maxLength: 256 postalCode: type: string description: Postal Code minLength: 0 maxLength: 256 country: description: Country" allOf: - $ref: '#/components/schemas/nationality' remittancePurpose: type: string description: Field providing a description of the reason for the international remittance. minLength: 0 maxLength: 256 displayType: type: string description: The transaction type that is to be used for presentation to the account holder as determined by the API provider. This is not necessarily the actual transaction type. minLength: 0 maxLength: 256 identityResponseArray: type: array description: An array containing the details of each identity associated with an account. items: $ref: '#/components/schemas/identityResponse' maxItems: 20 minItems: 1 contactPhone: type: string description: Contact phone number (mobile or landline) of the KYC subject. minLength: 0 maxLength: 256 geoCode: type: string description: Indicates the geographic location from where the transaction was initiated. minLength: 0 maxLength: 256 pattern: ^(-?(90|(\d|[1-8]\d)(\.\d{1,6}){0,1}))\,{1}(-?(180|(\d|\d\d|1[0-7]\d)(\.\d{1,6}){0,1}))$ example: 37.423825,-122.082900 requestingLei: type: string description: Legal Entity Identifier of the organisation that is requesting the transaction. minLength: 0 maxLength: 20 pattern: ^[A-Z0-9]{4}00[A-Z0-9]{12}\d{2}$ deprecated: true gender: type: string enum: - m - f - u description: Gender of the KYC subject. dateCreated: type: string format: date-time deprecated: true description: Date and time when the object was created by the API Provider. lei: type: string description: Legal Entity Identifier. minLength: 0 maxLength: 20 pattern: ^[A-Z0-9]{4}00[A-Z0-9]{12}\d{2}$ example: 5493000IBP32UQZ0KL24 emailAddress: type: string description: Email address of the KYC subject. minLength: 0 maxLength: 256 accountRelationship: type: string enum: - accountholder description: Describes the relationship that the identity holds with the account. kycLevel: type: integer format: int32 example: '1' description: Indicates the KYC level that the identity is associated with. kycVerificationEntity: type: string description: Indicates the entity (e.g. mobile money agent) that has verified the KYC of the identity. minLength: 0 maxLength: 256 unclearedBalance: description: Indicates the sum of uncleared funds in an account, i.e. the funds that are awaiting a credit confirmation. allOf: - $ref: '#/components/schemas/amount' example: '15.00' transactionReference: type: string description: Unique reference for the transaction. This is returned in the response by API provider. minLength: 1 maxLength: 256 commissionEarnedArray: type: array description: Returns all commission earned by the registering entity for the creation of the account. items: $ref: '#/components/schemas/commissionEarned' maxItems: 20 minItems: 1 subjectName: type: object properties: title: type: string description: The given title of the KYC subject, e.g. Mr, Mrs, Dr. minLength: 0 maxLength: 256 firstName: type: string description: First name (also referred to as given name) of the KYC subject. minLength: 0 maxLength: 256 middleName: type: string description: Middle Name of the KYC subject. minLength: 0 maxLength: 256 lastName: type: string description: Surname (also referred to as last or family name) of the KYC subject. minLength: 0 maxLength: 256 fullName: type: string description: The full name of the KYC subject. minLength: 0 maxLength: 256 nativeName: type: string description: The full name expressed as in the native language. minLength: 0 maxLength: 256 party: type: object required: - key - value properties: key: type: string description: Provides the account identifier type. minLength: 1 maxLength: 256 example: msisdn value: type: string description: Provides the account identifier type value. minLength: 1 maxLength: 256 example: '+33555123456' availableBalance: description: Indicates the balance that is able to be debited for an account. This balance is only provided on some API provider systems. allOf: - $ref: '#/components/schemas/amount' example: '15.00' originalTransactionReference: type: string description: For reversals and refunds, this field indicates the transaction which is the subject of the reversal. minLength: 0 maxLength: 256 occupation: type: string description: Occupation of the KYC subject. minLength: 0 maxLength: 256 nationality: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW idDocument: type: object required: - idType properties: idType: type: string enum: - passport - nationalregistration - otherId - drivinglicence - socialsecurity - alienregistration - nationalidcard - employer - taxid - seniorcitizenscard - marriagecertificate - birthcertificate - healthcard - votersid - villageelderLetter - pancard - officialletter description: Indicates the type of identification for the KYC subject, e.g. passport, driving licence etc. idNumber: type: string description: Reference pertaining to the type of identification for the KYC subject. minLength: 0 maxLength: 256 issueDate: type: string format: date description: Date of issue for the identification document. example: '2018-11-20' expiryDate: type: string format: date description: Date of expiry for the identification document. example: '2018-11-20' issuer: type: string description: Indicates the organisation/government entity that issued the ID document. minLength: 0 maxLength: 256 issuerPlace: type: string description: Place of issue for the identification type. minLength: 0 maxLength: 256 issuerCountry: description: Country where the identification type was issued. allOf: - $ref: '#/components/schemas/nationality' otherIddescription: type: string description: Where an ID Type of otherid is specified, a description of the type of identification can be provided in this field. minLength: 0 maxLength: 256 errorObject: type: object required: - errorCategory - errorCode properties: errorCategory: type: string description: The category grouping for the error. enum: - businessRule - validation - authorisation - identification - internal - serviceUnavailable errorCode: type: string description: The harmonised error code identifying the reason for error. enum: - genericError - dailyVolumeLimitExceeded - dailyValueLimitExceeded - weeklyVolumeLimitExceeded - weeklyValueLimitExceeded - monthlyVolumeLimitExceeded - monthlyValueLimitExceeded - accountMaxTotalVolumeExceeded - accountMaxTotalValueExceeded - lessThanTransactionMinValue - greaterThanTransactionMaxValue - maxBalanceExceeded - samePartiesError - duplicateRequest - insufficientFunds - incorrectState - underPaymentNotAllowed - overPaymentNotAllowed - rateLimitError - transactionTypeError - noMandateAuthority - linkViolation - countryofOriginNotPermitted - nationalityNotPermitted - idDocumentNotSupported - issuingCountryNotSupported - quoteHasExpired - identifierError - lengthError - formatError - negativeValue - currencyNotSupported - mandatoryValueNotSupplied - invalidOffset - clientAuthorisationError - requestDeclined - servicingPartyAuthorisationError - requestingPartyAuthorisationError errordescription: type: string description: A textual description of the error. minLength: 0 maxLength: 256 errorDateTime: type: string format: date-time description: The timestamp indicating when the error occurred. errorParameters: description: Diagnostic information in the form of key/value pairs relating to the error. allOf: - $ref: '#/components/schemas/metadataArray' transactionReceipt: type: string description: Transaction receipt number as notified to the parties. This may differ from the Transaction Reference. minLength: 0 maxLength: 256 creditPartyArray: type: array description: A collection of key/value pairs that enable the party to be identified. Keys include MSISDN and Wallet Identifier. items: $ref: '#/components/schemas/party' maxItems: 10 minItems: 1 accountStatus: type: string enum: - available - unavailable - unregistered description: Indicates a harmonised representation of the account status. This will be shown as available, unavailable or unregistered. minLength: 1 maxLength: 256 accountSubStatus: type: string description: Field can be used to return a provider-specific status for the account. minLength: 0 maxLength: 256 requestGenericPatch: type: object required: - op - path - value properties: op: description: Indicates the Patch operation to be performed. 'replace' is used to update a field and 'add' is used to add a new field. type: string enum: - replace - add path: description: Specify the field to be updated or added preceded by '/'. type: string maxLength: 256 value: description: Specify the value of the field to be updated or added. type: string maxLength: 256 identityType: type: string enum: - individual description: Indicates the type of the identity. Currently, only ‘individual’ is supported. internationalTransferInformationResponse: type: object required: - originCountry properties: originCountry: allOf: - $ref: '#/components/schemas/nationality' description: The originating country of the transaction, i.e. the country where the transaction commenced. quotationReference: $ref: '#/components/schemas/quotationReference' quoteId: $ref: '#/components/schemas/quoteId' deliveryMethod: allOf: - $ref: '#/components/schemas/deliveryMethod' description: The recipient delivery method as chosen by the sender. receivingCountry: allOf: - $ref: '#/components/schemas/nationality' description: Destination country of the international transfer. relationshipSender: $ref: '#/components/schemas/relationshipSender' remittancePurpose: $ref: '#/components/schemas/remittancePurpose' recipientBlockingReason: $ref: '#/components/schemas/recipientBlockingReason' senderBlockingReason: $ref: '#/components/schemas/senderBlockingReason' sendingServiceProviderCountry: allOf: - $ref: '#/components/schemas/nationality' description: The country of the sending service provider that holds the account of the sender. receivingLei: type: string description: Legal Entity Identifier of the organisation that is receiving the transaction. minLength: 0 maxLength: 20 pattern: ^[A-Z0-9]{4}00[A-Z0-9]{12}\d{2}$ deprecated: true quotationReference: type: string description: Reference for the quotation that was provided to the sender. minLength: 1 maxLength: 256 responseStatementEntries: type: object required: - transactionReference - creditParty - debitParty - transactionStatus - amount - currency properties: transactionReference: $ref: '#/components/schemas/transactionReference' creditParty: $ref: '#/components/schemas/creditPartyArray' debitParty: $ref: '#/components/schemas/debitPartyArray' transactionStatus: $ref: '#/components/schemas/transactionStatus' amount: description: Amount of the transaction. allOf: - $ref: '#/components/schemas/amount' currency: description: Currency of the transaction. allOf: - $ref: '#/components/schemas/currency' descriptionText: $ref: '#/components/schemas/descriptionText' displayType: $ref: '#/components/schemas/displayType' transactionReceipt: $ref: '#/components/schemas/transactionReceipt' creationDate: $ref: '#/components/schemas/creationDate' modificationDate: $ref: '#/components/schemas/modificationDate' requestDate: $ref: '#/components/schemas/requestDate' customData: $ref: '#/components/schemas/customDataArray' dateCreated: $ref: '#/components/schemas/dateCreated' dateModified: $ref: '#/components/schemas/dateModified' currency: type: string enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - CHE - CHF - CHW - CLF - CLP - CNY - COP - COU - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MXV - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SRD - SSP - STD - SVC - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - USN - UYI - UYU - UZS - VEF - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XBD - XCD - XDR - XOF - XPD - XPF - XPT - XSU - XTS - XUA - XXX - YER - ZAR - ZMW - ZWL responseAccountName: type: object properties: name: $ref: '#/components/schemas/subjectName' lei: description: Indicates the Legal Entity Identifier of the organisation holding the account. allOf: - $ref: '#/components/schemas/lei' type: type: string description: The harmonised Transaction Type. enum: - billpay - deposit - disbursement - transfer - merchantpay - inttransfer - adjustment - reversal - withdrawal identityStatus: type: string description: A unique id for the identity as assigned by the API Provider. minLength: 0 maxLength: 256 subType: type: string description: A non-harmonised sub-classification of the type of transaction. Values are not fixed, and usage will vary according to Provider. minLength: 0 maxLength: 256 requestDate: type: string format: date-time description: The date and time of the request as supplied by the client. subStatus: type: string description: Can be used to return a provider-specific status for the account. minLength: 0 maxLength: 256 responseTransaction: type: object required: - amount - currency - type - transactionReference - transactionStatus - creditParty - debitParty properties: transactionReference: $ref: '#/components/schemas/transactionReference' originalTransactionReference: $ref: '#/components/schemas/originalTransactionReference' requestingOrganisationTransactionReference: $ref: '#/components/schemas/requestingOrganisationTransactionReference' creditParty: $ref: '#/components/schemas/creditPartyArray' debitParty: $ref: '#/components/schemas/debitPartyArray' type: $ref: '#/components/schemas/type' subType: $ref: '#/components/schemas/subType' transactionStatus: $ref: '#/components/schemas/transactionStatus' amount: description: The transaction amount. allOf: - $ref: '#/components/schemas/amount' example: '15.23' currency: description: Currency of the transaction amount. allOf: - $ref: '#/components/schemas/currency' example: RWF descriptionText: $ref: '#/components/schemas/descriptionText' fees: $ref: '#/components/schemas/feesArray' geoCode: $ref: '#/components/schemas/geoCode' internationalTransferInformation: $ref: '#/components/schemas/internationalTransferInformationResponse' oneTimeCode: $ref: '#/components/schemas/oneTimeCode' recipientKyc: $ref: '#/components/schemas/kyc' senderKyc: $ref: '#/components/schemas/kyc' requestingOrganisation: $ref: '#/components/schemas/requestingOrganisation' servicingIdentity: $ref: '#/components/schemas/servicingIdentity' transactionReceipt: $ref: '#/components/schemas/transactionReceipt' creationDate: $ref: '#/components/schemas/creationDate' modificationDate: $ref: '#/components/schemas/modificationDate' requestDate: $ref: '#/components/schemas/requestDate' customData: $ref: '#/components/schemas/customDataArray' metadata: $ref: '#/components/schemas/metadataArray' dateCreated: $ref: '#/components/schemas/dateCreated' dateModified: $ref: '#/components/schemas/dateModified' receivingLei: $ref: '#/components/schemas/receivingLei' requestingLei: $ref: '#/components/schemas/requestingLei' identityId: type: string description: A unique id for the identity as assigned by the API Provider. minLength: 1 maxLength: 256 metadata: type: object required: - key - value properties: key: type: string description: Identifies the type of additional field. minLength: 1 maxLength: 256 value: type: string description: Identifies the value of the additional field. minLength: 1 maxLength: 256 feesArray: type: array description: Returns all fees that are applicable to the object. items: $ref: '#/components/schemas/fees' maxItems: 20 minItems: 1 genericUpdateSuccess: type: object required: - result properties: result: type: string description: The success message provided in a callback to communicate the success of an update operation. enum: - success relationshipSender: type: string description: Indicates the relationship (if any) between the sender and the receiver. minLength: 0 maxLength: 256 responseAccount: type: object required: - accountIdentifiers - identity - accountStatus properties: accountIdentifiers: $ref: '#/components/schemas/accountIdentifiersArray' identity: $ref: '#/components/schemas/identityResponseArray' accountType: $ref: '#/components/schemas/accountType' accountStatus: $ref: '#/components/schemas/accountStatus' accountSubStatus: $ref: '#/components/schemas/accountSubStatus' currentBalance: $ref: '#/components/schemas/currentBalance' availableBalance: $ref: '#/components/schemas/availableBalance' reservedBalance: $ref: '#/components/schemas/reservedBalance' unclearedBalance: $ref: '#/components/schemas/unclearedBalance' currency: description: Currency of the account. allOf: - $ref: '#/components/schemas/currency' example: RWF fees: $ref: '#/components/schemas/feesArray' commissionEarned: $ref: '#/components/schemas/commissionEarnedArray' registeringEntity: $ref: '#/components/schemas/registeringEntity' creationDate: $ref: '#/components/schemas/creationDate' modificationDate: $ref: '#/components/schemas/modificationDate' requestDate: $ref: '#/components/schemas/requestDate' customData: $ref: '#/components/schemas/customDataArray' recipientBlockingReason: type: string description: The reason for blocking the quotation, based on AML checks on the recipient. minLength: 0 maxLength: 256 requestGenericPatchArray: type: array description: Collection of updates that are to be processed. items: $ref: '#/components/schemas/requestGenericPatch' minItems: 1 maxItems: 10 idDocumentArray: type: array description: An array of properties containing the forms of identification that are associated with the subject. items: $ref: '#/components/schemas/idDocument' maxItems: 10 minItems: 0 modificationDate: type: string format: date-time description: Date and time when the object was modified by the API Provider. kycVerificationStatus: type: string enum: - verified - unverified - rejected description: Indicates the status of the identity’s KYC verification. requestingOrganisationTransactionReference: type: string description: A reference provided by the requesting organisation that is to be associated with the transaction. minLength: 0 maxLength: 256 employerName: type: string description: Employer name of the KYC subject. minLength: 0 maxLength: 256 registeringEntity: type: string description: The entity that registered the account, for example, a mobile money agent. minLength: 0 maxLength: 256 dateModified: type: string format: date-time deprecated: true description: Date and time when the object was modified by the API Provider. debitPartyArray: type: array description: A collection of key/value pairs that enable the party to be identified. Keys include MSISDN and Wallet Identifier. items: $ref: '#/components/schemas/party' maxItems: 10 minItems: 1 fees: type: object required: - feeType - feeCurrency - feeAmount properties: feeType: type: string description: Defines the type of fee. minLength: 1 maxLength: 256 feeAmount: description: Defines the amount of the fee. allOf: - $ref: '#/components/schemas/amount' example: '5.46' feeCurrency: description: Defines the currency for the given fee. allOf: - $ref: '#/components/schemas/currency' commissionEarned: type: object required: - commissionType - commissionCurrency - commissionAmount properties: commissionType: type: string description: Defines the type of commission. minLength: 1 maxLength: 256 commissionAmount: description: Defines the amount of the commission. allOf: - $ref: '#/components/schemas/amount' example: '5.46' commissionCurrency: description: Defines the currency for the given commission. allOf: - $ref: '#/components/schemas/currency' currentBalance: description: Current outstanding balance on the account. allOf: - $ref: '#/components/schemas/amount' example: '15.00' requestAccount: type: object required: - identity properties: accountIdentifiers: $ref: '#/components/schemas/accountIdentifiersArray' identity: $ref: '#/components/schemas/identityRequestArray' accountType: $ref: '#/components/schemas/accountType' customData: $ref: '#/components/schemas/customDataArray' fees: $ref: '#/components/schemas/feesArray' registeringEntity: $ref: '#/components/schemas/registeringEntity' requestDate: $ref: '#/components/schemas/requestDate' identityRequest: type: object required: - identityKyc - accountRelationship properties: identityKyc: $ref: '#/components/schemas/kyc' accountRelationship: $ref: '#/components/schemas/accountRelationship' kycVerificationStatus: $ref: '#/components/schemas/kycVerificationStatus' kycVerificationEntity: $ref: '#/components/schemas/kycVerificationEntity' kycLevel: $ref: '#/components/schemas/kycLevel' customData: $ref: '#/components/schemas/customDataArray' senderBlockingReason: type: string description: The reason for blocking the quotation, based on AML checks on the sender. minLength: 0 maxLength: 256 descriptionText: type: string description: Free format text description of the transaction provided by the client. This can be provided as a reference for the receiver on a notification SMS and on an account statement. minLength: 0 maxLength: 160 responseAccountStatus: type: object required: - accountStatus properties: accountStatus: $ref: '#/components/schemas/accountStatus' subStatus: $ref: '#/components/schemas/subStatus' lei: description: Indicates the Legal Entity Identifier of the organisation holding the account. allOf: - $ref: '#/components/schemas/lei' amount: type: string minLength: 1 maxLength: 23 pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[0-9])?$ example: '15.21' quoteId: type: string description: The specific quote associated with the quotation. minLength: 1 maxLength: 256 accountType: type: string description: A non-harmonised field that indicates the type of the account. minLength: 0 maxLength: 256 metadataArray: type: array description: A collection of key/value pairs. These can be used to populate additional properties that describe administrative information regarding the resource. items: $ref: '#/components/schemas/metadata' maxItems: 20 requestingOrganisation: type: object description: An object that details the originating organisation of the request. required: - requestingOrganisationIdentifierType - requestingOrganisationIdentifier properties: requestingOrganisationIdentifierType: type: string description: Identifies the identifier type of the requesting organisation. enum: - lei - swiftbic - organisationid requestingOrganisationIdentifier: type: string description: Contains the requesting organisation identifier. minLength: 1 maxLength: 256 deliveryMethod: type: string enum: - directtoaccount - agent - personaldelivery identityResponse: type: object required: - identityId - identityType - identityKyc - accountRelationship properties: identityId: $ref: '#/components/schemas/identityId' identityType: $ref: '#/components/schemas/identityType' identityStatus: $ref: '#/components/schemas/identityStatus' identityKyc: $ref: '#/components/schemas/kyc' accountRelationship: $ref: '#/components/schemas/accountRelationship' kycVerificationStatus: $ref: '#/components/schemas/kycVerificationStatus' kycVerificationEntity: $ref: '#/components/schemas/kycVerificationEntity' kycLevel: $ref: '#/components/schemas/kycLevel' customData: $ref: '#/components/schemas/customDataArray' customDataArray: type: array description: A collection of key/value pairs. These can be used to populate provider specific fields. items: $ref: '#/components/schemas/customData' maxItems: 20 servicingIdentity: type: string description: The field is used to identify the servicing identity for transactions, e.g. till, POS ID, assistant ID. minLength: 0 maxLength: 256 requestStateObject: type: object required: - notificationMethod - serverCorrelationId - status properties: serverCorrelationId: type: string description: A unique identifier issued by the provider to enable the client to identify the RequestState resource on subsequent polling requests. Must be supplied as a UUID. minLength: 1 maxLength: 256 pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$ objectReference: type: string description: Provides a reference to the subject resource, e.g. transaction reference. minLength: 0 maxLength: 256 status: type: string enum: - pending - completed - failed description: Indicates the status of the request. notificationMethod: type: string enum: - callback - polling description: Indicates whether a callback will be issued or whether the client will need to poll. pendingReason: type: string description: A textual description that can be provided to describe the reason for a pending status. minLength: 0 maxLength: 256 expiryTime: type: string format: date-time description: Indicate the time by which the provider will fail the request if completion criteria have not been met. For an example, a debit party failing to authorise within the allowed period. pollLimit: type: number format: int32 description: Indicates the number of poll attempts for the given requeststate resource that will be allowed by the provider. exclusiveMinimum: 0 error: description: If the asynchronous processing failed, details of the error will be returned here. allOf: - $ref: '#/components/schemas/errorObject' transactionStatus: type: string description: Indicates the status of the transaction as stored by the API provider. minLength: 1 maxLength: 256 oneTimeCode: type: string description: A one-time code that can be supplied in the request or can be generated in the response depending upon the use case. An authorisation code can be supplied in this field for requests that have been pre-authorised. minLength: 0 maxLength: 256 identityRequestArray: type: array description: An array containing the details of each identity associated with an account. items: $ref: '#/components/schemas/identityRequest' maxItems: 20 minItems: 1 creationDate: type: string format: date-time description: Date and time when the object was created by the API Provider. kyc: type: object properties: birthCountry: description: The country of birth of the KYC subject. allOf: - $ref: '#/components/schemas/nationality' contactPhone: $ref: '#/components/schemas/contactPhone' dateOfBirth: $ref: '#/components/schemas/dateOfBirth' emailAddress: $ref: '#/components/schemas/emailAddress' employerName: $ref: '#/components/schemas/employerName' gender: $ref: '#/components/schemas/gender' idDocument: $ref: '#/components/schemas/idDocumentArray' nationality: description: Nationality of the KYC subject. allOf: - $ref: '#/components/schemas/nationality' occupation: $ref: '#/components/schemas/occupation' postalAddress: $ref: '#/components/schemas/postalAddress' subjectName: $ref: '#/components/schemas/subjectName' accountIdentifiersArray: type: array description: A collection of key/value pairs that enable the account to be identified. Keys include MSISDN and Wallet Identifier. items: $ref: '#/components/schemas/party' maxItems: 10 minItems: 1 dateOfBirth: type: string format: date description: Birth date of the KYC subject. example: '2000-11-20' responseAccountBalance: type: object properties: accountStatus: $ref: '#/components/schemas/accountStatus' currentBalance: $ref: '#/components/schemas/currentBalance' availableBalance: $ref: '#/components/schemas/availableBalance' reservedBalance: $ref: '#/components/schemas/reservedBalance' unclearedBalance: $ref: '#/components/schemas/unclearedBalance' currency: description: Currency for all returned balances. allOf: - $ref: '#/components/schemas/currency' reservedBalance: description: Indicates the portion of the balance that is reserved, i.e. intended to be debited. This balance is only provided on some API provider systems. allOf: - $ref: '#/components/schemas/amount' example: '15.00' customData: type: object required: - key - value properties: key: type: string description: Identifies the type of additional field. minLength: 1 maxLength: 256 value: type: string description: Identifies the value of the additional field. minLength: 1 maxLength: 256 parameters: X-Account-Holding-Institution-Identifier-Type: name: X-Account-Holding-Institution-Identifier-Type in: header description: A header variable that identifies the type of the account holding institution. This header is used to support request routing and should be used in conjunction with the X-Account-Holding-Institution-Identifier header. required: false schema: type: string enum: - lei - swiftbic - organisationid accountId: name: accountId in: path description: 'Path variable to uniquely identify an account. Up to three account identifiers can be supplied. Identifiers are delimited by $ and values are delimited by @. Example: organisationid@1234$accountid@3333. Valid account identifiers are accountcategory, bankaccountno, accountrank, identityalias, iban, accountid, msisdn, swiftbic, sortcode, organisationid, username, walletid, linkref, consumerno, serviceprovider, storeid, bankname, bankaccounttitle, emailaddress, mandatereference.' required: true schema: type: string pattern: ^((accountcategory|bankaccountno|accountrank|identityalias|iban|accountid|msisdn|swiftbic|sortcode|organisationid|username|walletid|linkref|consumerno|serviceprovider|storeid|bankname|bankaccounttitle|emailaddress|mandatereference)@([^$\n]+))(\$(accountcategory|bankaccountno|accountrank|identityalias|iban|accountid|msisdn|swiftbic|sortcode|organisationid|username|walletid|linkref|consumerno|serviceprovider|storeid|bankname|bankaccounttitle|emailaddress|mandatereference)@([^$\n]+)){0,2}$ X-Account-Holding-Institution-Identifier: name: X-Account-Holding-Institution-Identifier in: header description: A header variable that identifies the account holding institution. This header is used to support request routing and should be used in conjunction with the X-Account-Holding-Institution-Identifier-Type header. required: false schema: type: string X-User-Bearer: name: X-User-Bearer in: header description: Used to pass user’s access token when OAuth 2.0/OIDC authorisation framework is used for end-user authentication. required: false schema: type: string transactionTypeQuery: name: transactionType in: query required: false description: Identifies the type of transaction. schema: type: string enum: - billpay - deposit - disbursement - transfer - merchantpay - inttransfer - adjustment - reversal - withdrawal identityIdPath: name: identityId in: path required: true description: A unique id for the identity as assigned by the API Provider. schema: type: string X-API-Key: name: X-API-Key in: header description: Used to pass pre-shared client's API key to the server. required: false schema: type: string identifier: name: identifier in: path description: Path variable that contains the account identifier. required: true schema: type: string maxLength: 256 minLength: 1 fromDateTime: name: fromDateTime in: query description: Indicates the minimum creation date for which records should be returned. required: false schema: type: string format: date-time X-CorrelationID: name: X-CorrelationID in: header description: Header parameter to uniquely identify the request. Must be supplied as a UUID. required: false schema: type: string pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$ transactionStatus: name: transactionStatus in: query description: Query variable to uniquely identify the transaction status. required: false schema: type: string maxLength: 256 offset: name: offset in: query description: Supports pagination. This value will indicate the cursor position from where to retrieve the set of records. For example, a limit of 50 and offset of 10 will return records 11 to 60. required: false schema: type: integer format: int32 X-Content-Hash: name: X-Content-Hash in: header description: SHA-256 hex digest of the request content (encrypted or plain). Applicable only if basic data integrity checking is to be performed. required: false schema: type: string X-Date: name: X-Date in: header description: Header parameter to indicate the date and time that the message was originated. It is used for basic message integrity checks, to ensure the request is not stale. Note that the header was previously referenced as 'Date' in version 1.0 of the Mobile Money API. required: false schema: type: string format: date-time displayType: name: displayType in: query description: Query parameter to to identify the display type of the statement entries to be returned. required: false schema: type: string maxLength: 256 identifierType: name: identifierType in: path required: true description: Path variable to specify the type of the identifier that is used to identify the account. schema: type: string enum: - accountid - msisdn - walletid - linkref - consumerno - serviceprovider - storeid - accountcategory - bankaccountno - accountrank - identityalias - iban - swiftbic - sortcode - organisationid - bankname - bankaccounttitle - username - emailaddress - mandatereference X-User-Credential-1: name: X-User-Credential-1 in: header description: The end-users encrypted security credential. Should only be used when OAuth 2.0/OIDC authorisation framework has not been implemented by the API Provider. required: false schema: type: string X-Callback-URL: name: X-Callback-URL in: header description: The URL supplied by the client that will be used to return the callback in the form of a HTTP PUT. required: false schema: type: string format: uri X-Channel: name: X-Channel in: header description: String containing the channel that was used to originate the request. For example USSD, Web, App. required: false schema: type: string maxLength: 256 toDateTime: name: toDateTime in: query description: Indicates the maximum creation date for which records should be returned. required: false schema: type: string format: date-time transactionReference: name: transactionReference in: path description: Path variable to uniquely identify the transaction. required: true schema: type: string maxLength: 256 minLength: 1 limit: name: limit in: query description: Supports pagination. If this is not supplied, then the server will apply a limit of 50 records returned for each request. required: false schema: type: integer format: int32 identityTypePath: name: identityType in: path required: true description: Identifies the type of identity that is associated with the Account. schema: type: string enum: - individual X-Client-Id: name: X-Client-Id in: header description: Used to pass pre-shared client's identifier to the server. required: false schema: type: string maxLength: 256 X-User-Credential-2: name: X-User-Credential-2 in: header description: The end-users encrypted security credential Should only be used when OAuth 2.0/OIDC authorisation framework has not been implemented by the API Provider. required: false schema: type: string requestBodies: updateAccount: required: true description: Represents the request body of an account callback. content: application/json: schema: $ref: '#/components/schemas/responseAccount' requestAccount: required: true description: Represents the request body of an Account. content: application/json: schema: $ref: '#/components/schemas/requestAccount' updateError: required: true description: Represents the request body of error callback. content: application/json: schema: $ref: '#/components/schemas/errorObject' genericUpdateSuccess: required: true description: Represents the request body of a success message callback to an update event. content: application/json: schema: $ref: '#/components/schemas/genericUpdateSuccess' genericPatch: required: true description: Represents the request body of a batch of generic Patch operation. content: application/json: schema: $ref: '#/components/schemas/requestGenericPatchArray' headers: X-Records-Returned-Count: required: false description: Integer containing number of records that are returned. schema: type: integer format: int32 X-Date: required: false description: The date and time that the response message was sent. schema: type: string format: date-time X-Records-Available-Count: required: false description: Integer containing number of records that are available to be returned. schema: type: integer format: int32