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 Bills 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: Bills description: 'The **Bills** APIs allow a mobile money provider to allow customers to retrieve and pay bills. Specific use cases include: - Retrieving information on service providers (bill companies) that accept bill payments. - Retrieving bills at a service provider for a given mobile money customer. - Allowing mobile money customers to partially or fully pay bills for a service provider. - Retrieving bill payment information from a service provider for a given customer. ' paths: /billcompanies: get: tags: - Bills summary: View Bill Companies description: The Bill Companies API is used to return a list of Service Providers that accept Bill Payments. operationId: billCompaniesGET 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' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: 200: description: Represent a list of Bill Companies content: application/json: schema: type: array items: $ref: '#/components/schemas/responseBillCompanies' 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' /billcompanies/{serviceProvider}: get: tags: - Bills summary: View a Specific Bill Company description: This Bill Companies API is used to return a information for a specific Service Providers that accepts Bill Payments. operationId: billCompaniesServiceProviderGET parameters: - $ref: '#/components/parameters/serviceProvider' - $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: Returns a specific Bill Payment Service Provider content: application/json: schema: $ref: '#/components/schemas/responseBillCompanies' 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}/billcompanies: get: tags: - Bills summary: View Bill Companies description: This Bill Companies API is used to return a list of Service Providers that accept Bill Payments for a given account. operationId: accountsAccountIdBillCompaniesGET 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-Account-Holding-Institution-Identifier-Type' - $ref: '#/components/parameters/X-Account-Holding-Institution-Identifier' - $ref: '#/components/parameters/X-User-Credential-1' - $ref: '#/components/parameters/X-User-Credential-2' - $ref: '#/components/parameters/X-Channel' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: 200: description: Represent a list of Bill Companies content: application/json: schema: type: array items: $ref: '#/components/schemas/responseBillCompanies' 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}/billcompanies: get: tags: - Bills summary: View Bill Companies description: This Bill Companies API is used to return a list of Service Providers that accept Bill Payments for a given account. operationId: accountsIdentifierTypeIdentifierBillCompaniesGET 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' responses: 200: description: Represent a list of Bill Companies content: application/json: schema: type: array items: $ref: '#/components/schemas/responseBillCompanies' 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}/bills: get: tags: - Bills summary: View Account Bills description: This endpoint returns bills linked to an account operationId: accountsAccountIdBillsGET 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' responses: 200: description: Represent a list of Bills content: application/json: schema: type: array items: $ref: '#/components/schemas/responseBills' 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}/bills: get: tags: - Bills summary: View Account Bills description: This endpoint returns bills linked to an account. operationId: accountsIdentifierTypeIdentifierBillsGET 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' responses: 200: description: Represent a list of Bills content: application/json: schema: type: array items: $ref: '#/components/schemas/responseBills' 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}/bills/{billReference}/payments: post: tags: - Bills summary: Create A Bill Payment description: Provided with a valid object representation, this endpoint allows for a new bill payment to be created for a specific account operationId: accountsAccountIdBillsBillReferencePaymentsPOST parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/billReference' - $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/requestBillPayment' callbacks: billsPaymentsSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Success Callback description: This callback communicates the final representation of the Bill Payment requested by the client. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsSuccessPUT 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/updateBillPayment' 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 billsPaymentsFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Failure Callback description: This callback communicates the information regarding a failure to receive a bill payment in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsFailurePUT 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 a Bill Payment response content: application/json: schema: $ref: '#/components/schemas/responseBillPayment' 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' get: tags: - Bills summary: View Payments for a Bill description: This endpoint allows for bill payments for a specific account to be returned operationId: accountsAccountIdBillsBillReferencePaymentsGET parameters: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/billReference' - $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' responses: 200: description: Represents a list of Bill Payments content: application/json: schema: $ref: '#/components/schemas/responseBillPayment' 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}/bills/{billReference}/payments: post: tags: - Bills summary: Create A Bill Payment description: Provided with a valid object representation, this endpoint allows for a new bill payment to be created for a specific account. operationId: accountsIdentifierTypeIdentifierBillsBillReferencePaymentsPOST parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/billReference' - $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/requestBillPayment' callbacks: billsPaymentsSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Success Callback description: This callback communicates the final representation of the Bill Payment requested by the client. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsIdentifierTypeIdentifierSuccessPUT 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/updateBillPayment' 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 billsPaymentsFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Failure Callback description: This callback communicates the information regarding a failure to receive a bill payment in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsIdentifierTypeIdentifierFailurePUT 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 a Bill Payment response content: application/json: schema: $ref: '#/components/schemas/responseBillPayment' 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' get: tags: - Bills summary: View Payments for a Bill description: This endpoint allows for bill payments for a specific account to be returned operationId: accountsIdentifierTypeIdentifierBillsBillReferencePaymentsGET parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/billReference' - $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' responses: 200: description: Represents a list of Bill Payments content: application/json: schema: $ref: '#/components/schemas/responseBillPayment' 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' /bills/{billReference}/payments: post: tags: - Bills summary: Create A Bill Payment description: Provided with a valid object representation, this endpoint allows for a new bill payment to be created. operationId: billsBillReferencePaymentsPOST parameters: - $ref: '#/components/parameters/billReference' - $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/requestBillPayment' callbacks: billsPaymentsSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Success Callback description: This callback communicates the final representation of the Bill Payment requested by the client. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsReferenceSuccessPUT 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/updateBillPayment' 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 billsPaymentsFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Failure Callback description: This callback communicates the information regarding a failure to receive a bill payment in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsReferenceFailurePUT 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 a Bill Payment response content: application/json: schema: $ref: '#/components/schemas/responseBillPayment' 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' get: tags: - Bills summary: View Payments for a Bill description: This endpoint allows for bill payments for a given bill reference to be returned operationId: abillsBillReferencePaymentsGET parameters: - $ref: '#/components/parameters/billReference' - $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' responses: 200: description: Represents a list of Bill Payments content: application/json: schema: $ref: '#/components/schemas/responseBillPayment' 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}/bills/payments: post: tags: - Bills summary: Create A Bill Payment without a Bill Reference description: Provided with a valid object representation, this endpoint allows for a new bill payment to be created for a specific account operationId: accountsAccountIdBillsBillPaymentsPOST parameters: - $ref: '#/components/parameters/accountId' - $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/requestBillPayment2' callbacks: billsPaymentsSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Success Callback description: This callback communicates the final representation of the Bill Payment requested by the client. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsSuccessPUT 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/updateBillPayment2' 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 billsPaymentsFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Failure Callback description: This callback communicates the information regarding a failure to receive a bill payment in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsFailurePUT 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 a Bill Payment response content: application/json: schema: $ref: '#/components/schemas/responseBillPayment2' 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' get: tags: - Bills summary: View Payments for a Bill without a Bill Reference description: This endpoint allows for bill payments for a specific account to be returned operationId: accountsAccountIdBillsBillPaymentsGET 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' responses: 200: description: Represents a list of Bill Payments content: application/json: schema: $ref: '#/components/schemas/responseBillPayment2' 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}/bills/payments: post: tags: - Bills summary: Create A Bill Payment without a Bill Reference description: Provided with a valid object representation, this endpoint allows for a new bill payment to be created for a specific account. operationId: accountsIdentifierTypeIdentifierBillsBillPaymentsPOST parameters: - $ref: '#/components/parameters/identifierType' - $ref: '#/components/parameters/identifier' - $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/requestBillPayment2' callbacks: billsPaymentsSuccessEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Success Callback description: This callback communicates the final representation of the Bill Payment requested by the client. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsIdentifierTypeIdentifierSuccessPUT 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/updateBillPayment2' 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 billsPaymentsFailureEvent: '{$request.header.X-Callback-URL}': put: summary: Bill Payments Failure Callback description: This callback communicates the information regarding a failure to receive a bill payment in the form of an error object. The client endpoint is identified from the X-Callback-URL supplied in the POST request header. operationId: billsPaymentsIdentifierTypeIdentifierFailurePUT 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 a Bill Payment response content: application/json: schema: $ref: '#/components/schemas/responseBillPayment2' 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' get: tags: - Bills summary: View Payments for a Bill without a Bill Reference description: This endpoint allows for bill payments for a specific account to be returned operationId: accountsIdentifierTypeIdentifierBillsBillPaymentsGET 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' responses: 200: description: Represents a list of Bill Payments content: application/json: schema: $ref: '#/components/schemas/responseBillPayment2' 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' components: schemas: requestBillPayment: type: object required: - currency - amountPaid properties: serviceProviderPaymentReference: $ref: '#/components/schemas/serviceProviderPaymentReference' requestingOrganisationTransactionReference: $ref: '#/components/schemas/requestingOrganisationTransactionReference' paymentType: description: Describes the type of Bill Payment, i.e. whether a full or partial payment. allOf: - $ref: '#/components/schemas/paymentType' amountPaid: description: Amount of the Bill that is being paid. allOf: - $ref: '#/components/schemas/amount' example: '15.00' currency: description: Currency of the amount that is being paid. allOf: - $ref: '#/components/schemas/currency' customerReference: $ref: '#/components/schemas/customerReference' requestingOrganisation: $ref: '#/components/schemas/requestingOrganisationBillPay' supplementaryBillReferenceDetails: $ref: '#/components/schemas/supplementaryBillReferenceDetailsArray' requestDate: $ref: '#/components/schemas/requestDate' customData: $ref: '#/components/schemas/customDataArray' metadata: $ref: '#/components/schemas/metadataArray' paidAmount: description: Amount of the Bill that is being paid. allOf: - $ref: '#/components/schemas/amount' deprecated: true supplementaryBillReferenceDetails: type: object required: - paymentReferenceType - paymentReferenceValue properties: paymentReferenceType: type: string description: Identifies the type of the additional payment reference. minLength: 1 maxLength: 256 paymentReferenceValue: type: string description: Identifies the value of the additional payment reference. 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 requestingOrganisationBillPay: type: string description: The originating mobile money provider or financial institution that holds the wallet/account of the payer. minLength: 0 maxLength: 256 serviceProviderNotification: type: string description: Allows the Service Provider to include specific information that will be included on the notification to the customer by the mobile money provider. 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 paymentType: type: string enum: - partialpayment - fullpayment billStatus: type: string enum: - unpaid - paid - partialpaid customerReference: type: string description: Textual reference provided by the customer paying the bill. minLength: 0 maxLength: 256 dueDate: type: string format: date description: Date on which the Bill is due to be paid. example: '2018-11-20' companyName: type: string description: Display Name for the Service Provider. maxLength: 256 billReference: type: string description: Reference number for the Bill that the payer can use when making a payment. minLength: 0 maxLength: 256 modificationDate: type: string format: date-time description: Date and time when the object was modified by the API Provider. 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 requestingOrganisationTransactionReference: type: string description: A reference provided by the requesting organisation that is to be associated with the transaction. minLength: 0 maxLength: 256 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 responseBillCompanies: type: object required: - companyName - serviceProvider properties: serviceProvider: $ref: '#/components/schemas/serviceProvider' serviceProviderType: $ref: '#/components/schemas/serviceProviderType' serviceProviderSubType: $ref: '#/components/schemas/serviceProviderSubType' companyName: $ref: '#/components/schemas/companyName' supplementaryServiceProviderDetails: type: array items: $ref: '#/components/schemas/metadata' maxItems: 20 requestBillPayment2: type: object required: - currency - amountPaid properties: serviceProviderPaymentReference: $ref: '#/components/schemas/serviceProviderPaymentReference' requestingOrganisationTransactionReference: $ref: '#/components/schemas/requestingOrganisationTransactionReference' paymentType: description: Describes the type of Bill Payment, i.e. whether a full or partial payment. allOf: - $ref: '#/components/schemas/paymentType' amountPaid: description: Amount of the Bill that is being paid. allOf: - $ref: '#/components/schemas/amount' example: '15.00' currency: description: Currency of the amount that is being paid. allOf: - $ref: '#/components/schemas/currency' customerReference: $ref: '#/components/schemas/customerReference' requestingOrganisation: $ref: '#/components/schemas/requestingOrganisationBillPay' requestDate: $ref: '#/components/schemas/requestDate' customData: $ref: '#/components/schemas/customDataArray' metadata: $ref: '#/components/schemas/metadataArray' paidAmount: description: Amount of the Bill that is being paid. allOf: - $ref: '#/components/schemas/amount' deprecated: true responseBillPayment2: type: object required: - currency - amountPaid - billPaymentStatus properties: serviceProviderPaymentReference: $ref: '#/components/schemas/serviceProviderPaymentReference' requestingOrganisationTransactionReference: $ref: '#/components/schemas/requestingOrganisationTransactionReference' customerReference: $ref: '#/components/schemas/customerReference' paymentType: description: Describes the type of Bill Payment, i.e. whether a full or partial payment. allOf: - $ref: '#/components/schemas/paymentType' billPaymentStatus: $ref: '#/components/schemas/billPaymentStatus' amountPaid: description: Amount of the Bill that is being paid allOf: - $ref: '#/components/schemas/amount' example: '15.00' currency: description: Currency of the amount that is being paid. allOf: - $ref: '#/components/schemas/currency' requestingOrganisation: $ref: '#/components/schemas/requestingOrganisationBillPay' serviceProviderComment: $ref: '#/components/schemas/serviceProviderComment' serviceProviderNotification: $ref: '#/components/schemas/serviceProviderNotification' requestDate: $ref: '#/components/schemas/requestDate' creationDate: $ref: '#/components/schemas/creationDate' modificationDate: $ref: '#/components/schemas/modificationDate' customData: $ref: '#/components/schemas/customDataArray' metadata: $ref: '#/components/schemas/metadataArray' paidAmount: description: Amount of the Bill that is being paid allOf: - $ref: '#/components/schemas/amount' deprecated: true 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' supplementaryBillReferenceDetailsArray: type: array description: In some cases, a single reference is not sufficient to identify a bill. This key-value collection enables further reference information to be supplied. items: $ref: '#/components/schemas/supplementaryBillReferenceDetails' maxItems: 20 billDescription: type: string description: Description of the bill that is to be paid minLength: 0 maxLength: 256 serviceProviderComment: type: string description: Allows the Service Provider to include specific information regarding the bill payment. minLength: 0 maxLength: 256 serviceProviderSubType: type: string description: Sub-Type of Service Provider. maxLength: 256 responseBillPayment: type: object required: - currency - amountPaid - billPaymentStatus properties: serviceProviderPaymentReference: $ref: '#/components/schemas/serviceProviderPaymentReference' requestingOrganisationTransactionReference: $ref: '#/components/schemas/requestingOrganisationTransactionReference' customerReference: $ref: '#/components/schemas/customerReference' paymentType: description: Describes the type of Bill Payment, i.e. whether a full or partial payment. allOf: - $ref: '#/components/schemas/paymentType' billPaymentStatus: $ref: '#/components/schemas/billPaymentStatus' amountPaid: description: Amount of the Bill that is being paid allOf: - $ref: '#/components/schemas/amount' example: '15.00' currency: description: Currency of the amount that is being paid. allOf: - $ref: '#/components/schemas/currency' requestingOrganisation: $ref: '#/components/schemas/requestingOrganisationBillPay' supplementaryBillReferenceDetails: $ref: '#/components/schemas/supplementaryBillReferenceDetailsArray' serviceProviderComment: $ref: '#/components/schemas/serviceProviderComment' serviceProviderNotification: $ref: '#/components/schemas/serviceProviderNotification' requestDate: $ref: '#/components/schemas/requestDate' creationDate: $ref: '#/components/schemas/creationDate' modificationDate: $ref: '#/components/schemas/modificationDate' customData: $ref: '#/components/schemas/customDataArray' metadata: $ref: '#/components/schemas/metadataArray' paidAmount: description: Amount of the Bill that is being paid allOf: - $ref: '#/components/schemas/amount' deprecated: true creationDate: type: string format: date-time description: Date and time when the object was created by the API Provider. serviceProviderType: type: string description: Type of Service Provider that accepts payments. maxLength: 256 responseBills: type: object properties: billReference: $ref: '#/components/schemas/billReference' billStatus: description: Identifies the status of the Bill. allOf: - $ref: '#/components/schemas/billStatus' amountDue: description: Amount outstanding on the bill to be paid. allOf: - $ref: '#/components/schemas/amount' example: '15.00' currency: description: Currency of the bill to be paid. allOf: - $ref: '#/components/schemas/currency' billdescription: $ref: '#/components/schemas/billDescription' dueDate: $ref: '#/components/schemas/dueDate' minimumAmountDue: description: The minimum amount that is outstanding on the bill to be paid. allOf: - $ref: '#/components/schemas/amount' example: '15.00' creationDate: $ref: '#/components/schemas/creationDate' modificationDate: $ref: '#/components/schemas/modificationDate' customData: $ref: '#/components/schemas/customDataArray' metadata: $ref: '#/components/schemas/metadataArray' billPaymentStatus: type: string description: Indicates the status of the bill payment as stored by the API provider. minLength: 0 maxLength: 256 serviceProvider: type: string description: Service Provider Reference Code. maxLength: 256 requestDate: type: string format: date-time description: The date and time of the request as supplied by the client. serviceProviderPaymentReference: type: string description: Reference for the payment generated by the service provider. 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' amount: type: string minLength: 1 maxLength: 23 pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[0-9])?$ example: '15.21' 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 requestBodies: updateBillPayment: required: true description: Represents the request body of a bill payment callback. content: application/json: schema: $ref: '#/components/schemas/responseBillPayment' updateError: required: true description: Represents the request body of error callback. content: application/json: schema: $ref: '#/components/schemas/errorObject' updateBillPayment2: required: true description: Represents the request body of a bill payment callback. content: application/json: schema: $ref: '#/components/schemas/responseBillPayment2' requestBillPayment2: required: true description: Represents the request body of a bill payment. content: application/json: schema: $ref: '#/components/schemas/requestBillPayment2' requestBillPayment: required: true description: Represents the request body of a bill payment. content: application/json: schema: $ref: '#/components/schemas/requestBillPayment' 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 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 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 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 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-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-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}$ 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-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 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 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 serviceProvider: name: serviceProvider in: path description: The identifier for the Bill Payment Service Provider. required: true schema: type: string minLength: 1 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 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 billReference: name: billReference in: path description: Path variable to uniquely identify a bill. required: true schema: type: string maxLength: 256 minLength: 1 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 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-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 headers: X-Records-Available-Count: required: false description: Integer containing number of records that are available to be returned. schema: type: integer format: int32 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