{
"openapi": "3.0.0",
"servers": [
{
"url": "https://openapi.investec.com",
"description": "Production environment",
"variables": {}
}
],
"info": {
"version": "1.0.0",
"title": "SA PB Account Information",
"description": "# Introduction\nThe Investec Private Banking API is a set of programmatic endpoints that can access Private Bank personal and business banking accounts. This API allows you to access the following:\n- Accounts\n- Balances\n- Transactions\n- Beneficiaries\n- Beneficiary Payments\n- Account Transfers\n- Documents\n\nThere are many possible use cases for the Account Information API: from extracting the data to aggregate it with financial data from other banking institutions to personal money management tools. \n\n# Getting Started\nTo start using the Programmable Card API, you'll need API credentials, which you can access in your [Investec Online Banking](https://login.secure.investec.com) profile. Create a new API key (x-api-key) with specified API scopes. Remember to include the *cards* scope\n\nOptionally, use the Investec Sandbox account and credentials to generate mock responses to test your applications. You can use the Sandbox account without opening an Investec Private Bank account. \n\n## Run with Postman\n[Open the collection in postman](https://www.postman.com/investec-open-api/workspace/programmable-banking/collection/26868804-00260d55-0009-42ee-b148-d439992e64ff?action=share&creator=26868804) \nor fork \n[](https://god.gw.postman.com/run-collection/26868804-00260d55-0009-42ee-b148-d439992e64ff?action=collection%2Ffork&collection-url=entityId%3D26868804-00260d55-0009-42ee-b148-d439992e64ff%26entityType%3Dcollection%26workspaceId%3D905c2bab-81a1-4297-8b70-2456c776a7a0)\n\nThe instructions below will guide you through the process of authenticating in the Postman app: \n1. Set the verb to POST and enter the auth URL [https://openapi.investec.com/identity/v2/oauth2/token](https://openapi.investec.com/identity/v2/oauth2/token) as the request URL.\n2. The endpoint receives your client ID and client secret as [BASIC](https://en.wikipedia.org/wiki/BASIC) authentication headers. Select the Authorization tab and select BASIC AUTH from the Type list.\n3. Enter your client_ID into the USERNAME field and your secret into the PASSWORD field \n4. Select the Headers tab and enter the **x-api-key** into the KEY field\n5. Enter your API key into the VALUE field\n6. Select the Body tab and select the x-www-form-urlencoded option\n7. Enter grant_type into the KEY field and client_credentials into the VALUE field.\n8. Send off your request.\n\nIf your keys are valid, the response will contain an access token and the number of seconds the access token is valid. \nSample response:\n```json\n{ \"access_token\": \"Z1CRQarGOSogNuUhRlENi5iKAGqh�, \"token_type\": \"Bearer\", \"expires_in\": 1799, \"scope\": \"accounts\" }\n```\n\n# Authentication\n1. OAuth 2.0 access tokens are used to authenticate requests. Your access token authorises you to use the Programmable Card API.\n2. To call the API, you must exchange your client ID, secret and API (x-api-key) key for an access token. \n3. You need to include the access token in the Authorisation header with the designation bearer when making calls to the API\n4. The access token returned during the authentication request is valid for 30 minutes, at which point it will expire, and you will need to request a new one by calling /identity/v2/oauth2/token again.\n\nWhen you make calls to the API, include the access token in the Authorisation header with the designation as Bearer. \n \n\n# Release Notes \n2024-11-07\n* **Enhancement**: Added an additional pending transactions endpoint za/pb/v1/accounts/{accountid}/pending-transactions just returning the pending ones with only the properties available.\n* **Enhancement**: Added the pending transactions to the existing transactions endpoint. Append `?includePending=true` to the querystring\n* **Enhancement**: Added a uuid property to the transactions endpoint. `( accountId.Substring(accountId.Length - 5) + postingDate.Replace(\"-\", \"\") + postedOrder.PadLeft(7, '0') )` This will only be populated for posted transaction on Private Bank Accounts. This is not a backend banking generated ID and will change if any of the properties making it up changes.\n* **Enhancement**: Added approved beneficiaries to the beneficiary endpoint. They can be identified by the `\"beneficiaryType\": \"INVESTECAPPROVED\"` property with another new property eg. `\"approvedBeneficiaryCategory\": \"Municipalities\"`\n\n2023-09-07\n* **Enhancement**: Added payment initiation requiring authorisation\n\n2023-08-24\n* **Enhancement**: Added document retreival\n* **Enhancement**: Added more balances to the Balance endpoint\n\n2023-05-29\n* **Enhancement**: Updated response codes returned\n\n2023-03-05\n* **Enhancement**: Added a sandbox environment\n\n2022-11-25\n* **Enhancement**: Included inter account transfers v2 - Transfer Multiple v2\n* **Enhancement**: Included beneficiary payments - Pay Multiple\n* **Enhancement**: Included beneficiaries - Get Beneficiaries\n* **Enhancement**: Included beneficiary categories - Get Beneficiary Categories\n* **Enhancement**: Added properties kycCompliant and profileId to accounts - Get Accounts\n* **Enhancement**: Added property profileId to beneficiaries - Beneficiaries\n\n2022-02-21\n* **Enhancement**: Included inter account transfers - Transfer Multiple\n\n2021-10-01\n* **Fix**: The runningBalance on transactions shows (-) if it is a negative balance - Get Account Transactions\n\n2020-07-21\n* **Enhancement**: Included transactionDate to - Get Account Transactions\n* **Enhancement**: Included date range filter to - Get Account Transactions\n\n2020-09-08\n* **Fix**: Implemented CORS support\n* **Fix**: Implemented multi User-Agent support\n\n2020-11-10\n* **Enhancement**: Included postedOrder to - Get Account Transactions\n* **Enhancement**: Included transactionType to - Get Account Transactions\n\n2020-11-13\n* **Enhancement**: Included transaction type filter to - Get Account Transactions\n",
"termsOfService": "https://developer.investec.com/za/terms-of-use",
"contact": {
"name": "Investec API"
},
"license": {
"name": "Investec API",
"url": "https://developer.investec.com/za/terms-of-use"
}
},
"tags": [
{
"name": "Account information",
"description": "Get data in context of an account. This includes balances and transaction history"
},
{
"name": "Inter account transfers",
"description": "Transfer funds to one or multiple accounts."
},
{
"name": "Beneficiaries and Beneficiary payments",
"description": "Pay funds to one or multiple beneficiaries. This includes payments requiring authorisation."
},
{
"name": "Documents",
"description": "List and retrieve documents."
}
],
"paths": {
"/za/pb/v1/accounts": {
"get": {
"summary": "Get Accounts",
"description": "Get a list of accounts with metadata regarding the account like Account name, Account type and the profile it is associated to",
"operationId": "accounts",
"tags": [
"Account information"
],
"parameters": [],
"security": [
{
"Oauth2": [
"accounts"
]
}
],
"x-code-samples": [
{
"lang": "Curl",
"label": "cURL",
"source": "curl --location 'https://openapisandbox.investec.com/za/pb/v1/accounts' --header 'Authorization: Bearer {yourBearerToken}'"
},
{
"lang": "HTTP",
"label": "HTTP",
"source": "GET /za/pb/v1/accounts HTTP/1.1 \nHost: openapisandbox.investec.com \nAuthorization: Bearer {yourBearerToken}"
}
],
"responses": {
"200": {
"description": "The requested operation was successfully completed",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"accounts": {
"type": "array",
"items": {
"required": [
"accountId",
"accountNumber",
"accountName",
"referenceName",
"productName",
"kycCompliant",
"profileId",
"profileName"
],
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier is what is commonly known to the owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountName": {
"description": "The nickname of the account, a means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"referenceName": {
"description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"productName": {
"description": "Identifies the product of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"kycCompliant": {
"description": "Identifies if the account is KYC compliant.",
"type": "boolean"
},
"profileId": {
"description": "A unique and immutable identifier used to identify the account profile. This identifier has no meaning to the account owner. This is used to filter the beneficiary list",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"maxLength": 70,
"minLength": 1,
"type": "string"
}
}
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"example": {
"data": {
"accounts": [
{
"accountId": "3353431574710163189587446",
"accountNumber": "10101010101",
"accountName": "Mr John Doe",
"referenceName": "My Investec Private Bank Account",
"productName": "Private Bank Account",
"kycCompliant": true,
"profileId": "10163189587443",
"profileName": "My Profile"
}
]
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/{accountId}/balance": {
"get": {
"summary": "Get Account Balance",
"description": "Obtain a specified account's balance.",
"operationId": "balance",
"tags": [
"Account information"
],
"security": [
{
"Oauth2": [
"balances"
]
}
],
"x-code-samples": [
{
"lang": "Curl",
"label": "cURL",
"source": "curl --location 'https://openapisandbox.investec.com/za/pb/v1/accounts{accountId}/balance' --header 'Authorization: Bearer {yourBearerToken}'"
},
{
"lang": "HTTP",
"label": "HTTP",
"source": "GET /za/pb/v1/accounts/{accountId}/balance HTTP/1.1 \nHost: openapisandbox.investec.com \nAuthorization: Bearer {yourBearerToken}"
}
],
"parameters": [
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 30
}
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"description": "Set of elements used to define the balance details.",
"required": [
"accountId",
"currentBalance",
"availableBalance",
"budgetBalance",
"straightBalance",
"cashBalance",
"currency"
],
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"currentBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"availableBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"budgetBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"straightBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"cashBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"currency": {
"description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".",
"pattern": "^[A-Z]{3,3}$",
"type": "string"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"example": {
"data": {
"accountId": "172878438321553632224",
"currentBalance": 28857.76,
"availableBalance": 98857.76,
"budgetBalance": 0,
"straightBalance": 0,
"cashBalance": -10818415.98,
"currency": "ZAR"
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/{accountId}/balance"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/{accountId}/transactions": {
"get": {
"summary": "Get Account Transactions",
"description": "Obtain a specified account's transactions.",
"tags": [
"Account information"
],
"operationId": "accountsTransactions",
"security": [
{
"Oauth2": [
"transactions"
]
}
],
"parameters": [
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 30
}
},
{
"name": "fromDate",
"description": "Refers to the date range filter's start date. Will default to today's date, minus 180 days, if not specified.",
"in": "query",
"required": false,
"style": "form",
"schema": {
"type": "string",
"example": "2021-05-01"
}
},
{
"name": "toDate",
"description": "Refers to the date range filter's end date. Will default to today's date if not specified.",
"in": "query",
"required": false,
"style": "form",
"schema": {
"type": "string",
"example": "2021-06-01"
}
},
{
"name": "transactionType",
"description": "Refers to the transaction type filter's value.",
"in": "query",
"required": false,
"style": "form",
"schema": {
"type": "string",
"example": "FeesAndInterest"
}
},
{
"in": "query",
"name": "includePending",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"transactionType": {
"description": "Refers to the transaction type filter's value.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"cardNumber": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 0,
"type": "string"
},
"postedOrder": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"type": "number"
},
"postingDate": {
"format": "date-time",
"description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\r\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"valueDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"actionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
},
"runningBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"example": {
"data": {
"transactions": [
{
"accountId": "172878438321553632224",
"type": "DEBIT",
"transactionType": "FeesAndInterest",
"status": "POSTED",
"description": "MONTHLY SERVICE CHARGE",
"cardNumber": "",
"postedOrder": 13379,
"postingDate": "2020-06-11",
"valueDate": "2020-06-10",
"actionDate": "2020-11-10",
"transactionDate": "2020-06-10",
"amount": 535,
"runningBalance": 28857.76,
"uuid": "32224202006110013379"
},
{
"accountId": "172878438321553632224",
"type": "CREDIT",
"transactionType": "FeesAndInterest",
"status": "POSTED",
"description": "CREDIT INTEREST",
"cardNumber": "",
"postedOrder": 13378,
"postingDate": "2020-06-11",
"valueDate": "2020-06-10",
"actionDate": "2020-11-10",
"transactionDate": "2020-06-10",
"amount": 31.09,
"runningBalance": 29392.76,
"uuid": "32224202006110013378"
}
]
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/{accountId}/transactions?fromDate={fromDate}&toDate={toDate}&transactionType={transactionType}"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/{accountId}/pending-transactions": {
"get": {
"summary": "Get Account Pending Transactions",
"description": "Obtain a specified account's pending transactions.",
"tags": [
"Account information"
],
"operationId": "accountsPendingTransactions",
"security": [
{
"Oauth2": [
"transactions"
]
}
],
"parameters": [
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 30
}
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"PendingTransaction": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"example": {
"data": {
"transactions": [
{
"accountId": "172878438321553632224",
"type": "DEBIT",
"status": "PENDING",
"description": "MONTHLY SERVICE CHARGE",
"transactionDate": "2020-06-10",
"amount": 535
}
]
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/{accountId}/pending-transactions"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/transfermultiple": {
"post": {
"summary": "Transfer Multiple (TO BE DEPRECATED)",
"description": "Transfer funds to one or multiple accounts.",
"tags": [
"Inter account transfers"
],
"operationId": "transfer",
"security": [
{
"Oauth2": [
"transfers"
]
}
],
"parameters": [
{
"in": "header",
"name": "Content-Type",
"required": true,
"schema": {
"type": "string"
},
"example": "application/json"
}
],
"deprecated": true,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"accountId"
],
"additionalProperties": false,
"properties": {
"accountId": {
"type": "string",
"example": "XXXXXX"
},
"transferList": {
"type": "array",
"items": {
"required": [
"beneficiaryAccountId",
"amount",
"myReference",
"theirReference"
],
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryAccountId": {
"type": "string"
},
"amount": {
"type": "string"
},
"myReference": {
"type": "string"
},
"theirReference": {
"type": "string"
}
}
}
}
}
},
"example": {
"accountId": "XXXXXX",
"transferList": [
{
"beneficiaryAccountId": "XXXXXXXXXX",
"amount": "10.12",
"myReference": "Trans from PBA to PS",
"theirReference": "Trans from PBA to PS"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"description": "Set of elements used to define the transfer status details.",
"additionalProperties": false,
"properties": {
"transferResponse": {
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": {
"transferResponse": {
"TransferResponses": [
{
"PaymentReferenceNumber": "UBP0012345678",
"PaymentDate": "06/04/2022",
"Status": "- No authorisation necessary
- Payment/Transfer effective date 06/04/2022",
"BeneficiaryName": "API transfer",
"BeneficiaryAccountId": "XXXXXXXXXX",
"AuthorisationRequired": false
}
],
"ErrorMessage": null
}
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/transfermultiple"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/{accountId}/transfermultiple": {
"post": {
"summary": "Transfer Multiple v2",
"description": "Transfer funds to one or multiple accounts.",
"tags": [
"Inter account transfers"
],
"operationId": "transferv2",
"security": [
{
"Oauth2": [
"transfers"
]
}
],
"parameters": [
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "header",
"name": "Content-Type",
"required": true,
"schema": {
"type": "string"
},
"example": "application/json"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"transferList": {
"type": "array",
"items": {
"required": [
"beneficiaryAccountId",
"amount",
"myReference",
"theirReference"
],
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryAccountId": {
"type": "string"
},
"amount": {
"type": "string"
},
"myReference": {
"type": "string"
},
"theirReference": {
"type": "string"
}
}
}
},
"profileId": {
"type": "string"
}
}
},
"example": {
"transferList": [
{
"beneficiaryAccountId": "XXXXXXXXXX",
"amount": "10.12",
"myReference": "Trans from PBA to PS",
"theirReference": "Trans from PBA to PS"
}
],
"profileId": "10163189587443"
}
}
}
},
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"description": "Set of elements used to define the transfer status details.",
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": {
"TransferResponses": [
{
"PaymentReferenceNumber": "UBP0012345678",
"PaymentDate": "06/04/2022",
"Status": "- No authorisation necessary
- Payment/Transfer effective date 06/04/2022",
"BeneficiaryName": "API transfer",
"BeneficiaryAccountId": "XXXXXXXXXX",
"AuthorisationRequired": false
}
],
"ErrorMessage": null
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/172878438321553632224/transfermultiple"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/{accountId}/paymultiple": {
"post": {
"summary": "Pay Multiple",
"description": "Pay funds to one or multiple beneficiaries. \n\n- Size limit of 50 payments per request.",
"tags": [
"Beneficiaries and Beneficiary payments"
],
"operationId": "payBeneficiary",
"security": [
{
"Oauth2": [
"beneficiarypayments"
]
}
],
"parameters": [
{
"in": "header",
"name": "Content-Type",
"required": true,
"schema": {
"type": "string"
},
"example": "application/json"
},
{
"in": "path",
"name": "accountId",
"required": true,
"schema": {
"type": "string"
},
"example": "3353431574710163189587446"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"paymentList": {
"type": "array",
"items": {
"required": [
"beneficiaryId",
"amount",
"myReference",
"theirReference"
],
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryId": {
"type": "string"
},
"amount": {
"type": "string"
},
"myReference": {
"type": "string"
},
"theirReference": {
"type": "string"
},
"authoriserAId": {
"description": "If the payment requires authorisation this is derived from profiles/{profileid}/accounts/{accountId}/authorisationsetupdetails.",
"type": "string"
},
"authoriserBId": {
"description": "If the payment requires authorisation this is derived from profiles/{profileid}/accounts/{accountId}/authorisationsetupdetails.",
"type": "string"
},
"authPeriodId": {
"description": "If the payment requires authorisation this is derived from profiles/{profileid}/accounts/{accountId}/authorisationsetupdetails.",
"type": "string"
},
"fasterPayment": {
"description": "If the payment requires authorisation this can be set to true if the beneficiary allows it from profiles/{profileid}/beneficiaries/{accountid}.",
"type": "boolean"
}
}
}
}
}
},
"example": {
"paymentList": [
{
"beneficiaryId": "MTAxMDEwMTAxMDEwMTA=",
"amount": "101",
"myReference": "Beneficiary payment to",
"theirReference": "Payment from Sandbox"
}
]
}
}
}
},
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"description": "Set of elements used to define the transfer status details.",
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": {
"TransferResponses": [
{
"PaymentReferenceNumber": "UBP0012345678",
"PaymentDate": "06/04/2022",
"Status": "- No authorisation necessary
- Payment/Transfer effective date 06/04/2022",
"BeneficiaryName": "API transfer",
"BeneficiaryAccountId": "XXXXXXXXXX",
"AuthorisationRequired": false
}
],
"ErrorMessage": null
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/{accountId}/paymultiple"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/beneficiaries": {
"get": {
"summary": "Get Beneficiaries",
"description": "List of beneficiaries linked to the profile",
"tags": [
"Beneficiaries and Beneficiary payments"
],
"operationId": "beneficiaries",
"security": [
{
"Oauth2": [
"beneficiarypayments"
]
}
],
"parameters": [],
"x-code-samples": [
{
"lang": "Curl",
"label": "cURL",
"source": "curl --location 'https://openapisandbox.investec.com/za/pb/v1/accounts/beneficiaries' --header 'Authorization: Bearer {yourBearerToken}'"
},
{
"lang": "HTTP",
"label": "HTTP",
"source": "GET /za/pb/v1/accounts/beneficiaries HTTP/1.1 \nHost: openapisandbox.investec.com \nAuthorization: Bearer {yourBearerToken}"
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "array",
"description": "Set of elements used to define the beneficiaries details.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryId": {
"description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"accountNumber": {
"description": "The beneficiary bank account number.",
"type": "string"
},
"code": {
"description": "The beneficiary bank code.",
"type": "string"
},
"bank": {
"description": "The beneficiary bank name.",
"type": "string"
},
"beneficiaryName": {
"description": "Beneficiary name.",
"type": "string"
},
"lastPaymentAmount": {
"description": "Last payment amount made to the beneficiary.",
"type": "string"
},
"lastPaymentDate": {
"description": "Last payment date to the beneficiary.",
"type": "string"
},
"cellNo": {
"description": "Notification cell no.",
"type": "string"
},
"emailAddress": {
"description": "Notification email address.",
"type": "string"
},
"name": {
"description": "Beneficiary name.",
"type": "string"
},
"referenceAccountNumber": {
"description": "Reference account number.",
"type": "string"
},
"referenceName": {
"description": "Reference name.",
"type": "string"
},
"categoryId": {
"description": "Beneficiary category id.",
"type": "string"
},
"profileId": {
"description": "Profile id.",
"type": "string"
},
"fasterPaymentAllowed": {
"description": "Faster Payment Allowed.",
"type": "boolean"
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": [
{
"beneficiaryId": "MTAxOTAxOTyNTQMTU=",
"accountNumber": "6241708900",
"code": "250655",
"bank": "FIRST NATIONAL BANK",
"beneficiaryName": "Ad A AIA",
"lastPaymentAmount": "10.00",
"lastPaymentDate": "10/03/2019",
"cellNo": "0987654321",
"emailAddress": "QUwCV@someweb.co.za",
"name": "DccIcIXI",
"referenceAccountNumber": "NIC036",
"referenceName": "amingFra ing Framin",
"categoryId": "10164601247279",
"profileId": "10163189587443",
"fasterPaymentAllowed": true
}
],
"links": {
"self": "https://openapi.investec.com/za/pb/v1/profiles/10163189587443/accounts/3353431574710163189587446/beneficiaries"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/beneficiarycategories": {
"get": {
"summary": "Get Beneficiary Categories",
"description": "List all the beneficiary categories available.",
"operationId": "beneficiaryCategories",
"tags": [
"Beneficiaries and Beneficiary payments"
],
"security": [
{
"Oauth2": [
"beneficiarypayments"
]
}
],
"parameters": [],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"description": "Set of elements used to define the beneficiaries category details.",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "A unique and immutable identifier used to identify the beneficiary category resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"isDefault": {
"description": "A flag identifying the default category.",
"type": "string"
},
"name": {
"description": "The beneficiary category name.",
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": {
"id": "10164601247279",
"isDefault": "true",
"name": "Not Categorised"
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/beneficiarycategories"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/profiles": {
"get": {
"summary": "Get Profiles",
"description": "List all the profiles consented to.",
"operationId": "profiles",
"tags": [
"Account information"
],
"security": [
{
"Oauth2": [
"accounts"
]
}
],
"parameters": [],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"properties": {
"data": {
"description": "Set of elements used to define the profiles.",
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"description": "A unique and immutable identifier used to identify the profile resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"type": "string"
},
"defaultProfile": {
"description": "Value describing if the profile is the default for the user.",
"type": "boolean"
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": [
{
"profileId": "10163189587444",
"profileName": "Profile A",
"defaultProfile": true
}
],
"links": {
"self": "https://openapi.investec.com/za/pb/v1/profiles"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/profiles/{profileid}/accounts": {
"get": {
"summary": "Get Profile Accounts",
"description": "List all the accounts for the profile specified.",
"operationId": "profileaccounts",
"tags": [
"Account information"
],
"security": [
{
"Oauth2": [
"accounts"
]
}
],
"parameters": [
{
"in": "path",
"name": "profileid",
"required": true,
"schema": {
"type": "string"
},
"example": "10190798011073"
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "array",
"items": {
"required": [
"accountId",
"accountNumber",
"accountName",
"referenceName",
"productName",
"kycCompliant",
"profileId",
"profileName"
],
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier is what is commonly known to the owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountName": {
"description": "The nickname of the account, a means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"referenceName": {
"description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"productName": {
"description": "Identifies the product of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"kycCompliant": {
"description": "Identifies if the account is KYC compliant.",
"type": "boolean"
},
"profileId": {
"description": "A unique and immutable identifier used to identify the account profile. This identifier has no meaning to the account owner. This is used to filter the beneficiary list",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"maxLength": 70,
"minLength": 1,
"type": "string"
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"example": {
"data": [
{
"accountId": "172878438321553632224",
"accountNumber": "10010206147",
"accountName": "Mr John Doe",
"referenceName": "My Investec Private Bank Account",
"productName": "Private Bank Account",
"kycCompliant": true,
"profileId": "10163189587443",
"profileName": "My Profile"
}
],
"links": {
"self": "https://openapi.investec.com/za/pb/v1/profiles/{profileid}/accounts"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/profiles/{profileid}/accounts/{accountid}/authorisationsetupdetails": {
"get": {
"summary": "Get Authorisation Setup Details",
"description": "List the authorisation setup details for the specified profile and accounts.",
"operationId": "authorisationsetupdetails",
"tags": [
"Account information"
],
"security": [
{
"Oauth2": [
"accounts"
]
}
],
"parameters": [
{
"in": "path",
"name": "profileid",
"required": true,
"schema": {
"type": "string"
},
"example": "4643233712010169349094403"
},
{
"in": "path",
"name": "accountid",
"required": true,
"schema": {
"type": "string"
},
"example": "10190798011073"
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"properties": {
"data": {
"description": "Set of elements used to define the authorisation setup details for the profile and account combination.",
"type": "object",
"properties": {
"numberOfAuthorisationRequired": {
"description": "The number of authorisors needed for a payment.",
"type": "string"
},
"period": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Period ID.",
"type": "string"
},
"name": {
"description": "Period description for the amount of days the payment will be valid for until it expires if not approved.",
"type": "string"
}
}
}
},
"authorisersListA": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Authoriser A ID used when doing payments requiring authorisations where numberOfAuthorisationRequired is 1.",
"type": "string"
},
"name": {
"description": "Authoriser A name.",
"type": "string"
}
}
}
},
"authorisersListB": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Authoriser B ID used when doing payments requiring authorisations where numberOfAuthorisationRequired is 2.",
"type": "string"
},
"name": {
"description": "Authoriser B name.",
"type": "string"
}
}
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": {
"numberOfAuthorisationRequired": "2",
"period": [
{
"id": "1",
"description": "1 Working day"
},
{
"id": "2",
"description": "2 Working days"
},
{
"id": "3",
"description": "3 Working days"
},
{
"id": "4",
"description": "4 Working days"
},
{
"id": "5",
"description": "5 Working days"
},
{
"id": "6",
"description": "6 Working days"
},
{
"id": "7",
"description": "7 Working days"
},
{
"id": "8",
"description": "8 Working days"
},
{
"id": "9",
"description": "9 Working days"
},
{
"id": "10",
"description": "10 Working days"
},
{
"id": "0",
"description": "Current Day"
}
],
"authorisersListA": [
{
"authoriserId": "hnNhB6qb5H6SvJC1ZPK2qQ==",
"name": "Mr Auth 1"
},
{
"authoriserId": "ijxHLoVHqCyF86dGG4rZww==",
"name": "Mr Auth 2"
},
{
"authoriserId": "TAd6rGuhOeNRiujN0nlKxQ==",
"name": "All"
}
],
"authorisersListB": [
{
"authoriserId": "hnNhB6qb5H6SvJC1ZPK2qQ==",
"name": "Mr Auth 3"
},
{
"authoriserId": "ijxHLoVHqCyF86dGG4rZww==",
"name": "Mr Auth 4"
},
{
"authoriserId": "TAd6rGuhOeNRiujN0nlKxQ==",
"name": "All"
}
]
},
"links": {
"self": "https://openapi.investec.com/za/pb/v1/profiles/{profileid}/accounts/{accountId}/authorisationsetupdetails"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/profiles/{profileid}/accounts/{accountid}/beneficiaries": {
"get": {
"summary": "Get Profile Beneficiaries",
"description": "List all the beneficiaries available for the profile and account specified.",
"operationId": "profilebenefiaries",
"tags": [
"Account information"
],
"security": [
{
"Oauth2": [
"accounts"
]
}
],
"parameters": [
{
"in": "path",
"name": "profileid",
"required": true,
"schema": {
"type": "string"
},
"example": "4643233712010169349094403"
},
{
"in": "path",
"name": "accountid",
"required": true,
"schema": {
"type": "string"
},
"example": "10190798011073"
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "array",
"description": "Set of elements used to define the beneficiaries details.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryId": {
"description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"accountNumber": {
"description": "The beneficiary bank account number.",
"type": "string"
},
"code": {
"description": "The beneficiary bank code.",
"type": "string"
},
"bank": {
"description": "The beneficiary bank name.",
"type": "string"
},
"beneficiaryName": {
"description": "Beneficiary name.",
"type": "string"
},
"lastPaymentAmount": {
"description": "Last payment amount made to the beneficiary.",
"type": "string"
},
"lastPaymentDate": {
"description": "Last payment date to the beneficiary.",
"type": "string"
},
"cellNo": {
"description": "Notification cell no.",
"type": "string"
},
"emailAddress": {
"description": "Notification email address.",
"type": "string"
},
"name": {
"description": "Beneficiary name.",
"type": "string"
},
"referenceAccountNumber": {
"description": "Reference account number.",
"type": "string"
},
"referenceName": {
"description": "Reference name.",
"type": "string"
},
"categoryId": {
"description": "Beneficiary category id.",
"type": "string"
},
"profileId": {
"description": "Profile id.",
"type": "string"
},
"fasterPaymentAllowed": {
"description": "Faster Payment Allowed.",
"type": "boolean"
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": [
{
"beneficiaryId": "MTAxOTAxOTyNTQMTU=",
"accountNumber": "6241708900",
"code": "250655",
"bank": "FIRST NATIONAL BANK",
"beneficiaryName": "Ad A AIA",
"lastPaymentAmount": "10.00",
"lastPaymentDate": "10/03/2019",
"cellNo": "0987654321",
"emailAddress": "QUwCV@someweb.co.za",
"name": "DccIcIXI",
"referenceAccountNumber": "NIC036",
"referenceName": "amingFra ing Framin",
"categoryId": "10164601247279",
"profileId": "10163189587443",
"fasterPaymentAllowed": true
}
],
"links": {
"self": "https://openapi.investec.com/za/pb/v1/profiles/{profileid}/accounts/{accountid}/beneficiaries"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/{accountId}/documents": {
"get": {
"summary": "Get Documents",
"description": "List all the documents available.",
"operationId": "documents",
"tags": [
"Documents"
],
"security": [
{
"Oauth2": [
"documents.statements",
"documents.taxcertificates"
]
}
],
"parameters": [
{
"in": "path",
"name": "accountId",
"description": "AccountId Id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "fromDate",
"description": "Refers to the date range filter's start date.",
"in": "query",
"required": true,
"style": "form",
"schema": {
"type": "string",
"example": "2023-04-01"
}
},
{
"name": "toDate",
"description": "Refers to the date range filter's end date.",
"in": "query",
"required": true,
"style": "form",
"schema": {
"type": "string",
"example": "2023-06-01"
}
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"schema": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"properties": {
"data": {
"description": "Set of elements used to define the documents.",
"type": "array",
"items": {
"type": "object",
"properties": {
"documentType": {
"description": "The type of documents available.",
"type": "string"
},
"documentDate": {
"description": "The date of the documents.",
"type": "string"
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"example": {
"data": [
{
"documentType": "Statement",
"documentDate": "2023-03-16"
},
{
"documentType": "Statement",
"documentDate": "2023-02-16"
}
],
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/{accountId}/documents?fromDate={fromDate}&toDate={toDate}"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
},
"/za/pb/v1/accounts/{accountId}/document/{documentType}/{documentDate}": {
"get": {
"summary": "Get Document",
"description": "Retrieve the document specified.",
"operationId": "document",
"tags": [
"Documents"
],
"security": [
{
"Oauth2": [
"documents.statements",
"documents.taxcertificates"
]
}
],
"parameters": [
{
"in": "path",
"name": "accountId",
"description": "AccountId Id",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "documentType",
"description": "Document Type",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "documentDate",
"description": "Document Date",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Resource has been retrieved",
"content": {
"application/json": {
"example": {
"data": [],
"links": {
"self": "https://openapi.investec.com/za/pb/v1/accounts/{accountId}/document/{documentType}/{documentDate}"
},
"meta": {
"totalPages": 1
}
}
}
}
},
"400": {
"description": "Bad Request - The requested operation will not be carried out"
},
"401": {
"description": "Unauthorized - The requested operation was refused access"
},
"403": {
"description": "Forbidden - Not permitted to make this request"
},
"429": {
"description": "Too Many Requests - To many requests in quick succession, Retry the request."
},
"500": {
"description": "Internal Server Error - The requested operation failed to execute"
}
}
}
}
},
"components": {
"securitySchemes": {
"Oauth2": {
"description": "The authentication flow complies to standard Oauth2 protocol but also requires an.
**x-api-key** as an additional header.
Also remember to include **grant_type: client_credentials** (x-www-form-urlencoded) in the body of the request",
"type": "oauth2",
"flows": {
"clientCredentials": {
"tokenUrl": "https://openapi.investec.com/identity/v2/oauth2/token",
"x-api-key": "dWJHTHUxY1MzUnRjV3NzN29pWkpjNUZEbjhQaHhYUUw6N0YwRkNEQzgzQUE5MzdDQkNDMzhCMkU4ODQ2OUI1NzQ2MTQ1NTlENzgzQjRCMDhFRDBGMTY5NzQ5ODQzQjk1Qg==",
"scopes": {
"accounts": "Account information",
"balances": "Account balance information",
"transactions ": "Transaction history",
"transfers": "Inter account transfer",
"beneficiarypayments": "Beneficiary payments",
"documents.statements": "Statements retrieval",
"documents.taxcertificates": "Tax certificates retrieval"
}
}
}
}
},
"parameters": {
"fromDate": {
"name": "fromDate",
"description": "Refers to the date range filter's start date. Will default to today's date, minus 180 days, if not specified.",
"in": "query",
"required": false,
"style": "form",
"schema": {
"type": "string",
"example": "2021-05-01"
}
},
"toDate": {
"name": "toDate",
"description": "Refers to the date range filter's end date. Will default to today's date if not specified.",
"in": "query",
"required": false,
"style": "form",
"schema": {
"type": "string",
"example": "2021-06-01"
}
},
"transactionType": {
"name": "transactionType",
"description": "Refers to the transaction type filter's value.",
"in": "query",
"required": false,
"style": "form",
"schema": {
"type": "string",
"example": "FeesAndInterest"
}
}
},
"schemas": {
"MetaData": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"Links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"GetAccounts": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"accounts": {
"type": "array",
"items": {
"required": [
"accountId",
"accountNumber",
"accountName",
"referenceName",
"productName",
"kycCompliant",
"profileId",
"profileName"
],
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier is what is commonly known to the owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountName": {
"description": "The nickname of the account, a means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"referenceName": {
"description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"productName": {
"description": "Identifies the product of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"kycCompliant": {
"description": "Identifies if the account is KYC compliant.",
"type": "boolean"
},
"profileId": {
"description": "A unique and immutable identifier used to identify the account profile. This identifier has no meaning to the account owner. This is used to filter the beneficiary list",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"maxLength": 70,
"minLength": 1,
"type": "string"
}
}
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"GetProfileAccounts": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "array",
"items": {
"required": [
"accountId",
"accountNumber",
"accountName",
"referenceName",
"productName",
"kycCompliant",
"profileId",
"profileName"
],
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier is what is commonly known to the owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountName": {
"description": "The nickname of the account, a means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"referenceName": {
"description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"productName": {
"description": "Identifies the product of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"kycCompliant": {
"description": "Identifies if the account is KYC compliant.",
"type": "boolean"
},
"profileId": {
"description": "A unique and immutable identifier used to identify the account profile. This identifier has no meaning to the account owner. This is used to filter the beneficiary list",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"maxLength": 70,
"minLength": 1,
"type": "string"
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"Accounts": {
"type": "object",
"additionalProperties": false,
"properties": {
"accounts": {
"type": "array",
"items": {
"required": [
"accountId",
"accountNumber",
"accountName",
"referenceName",
"productName",
"kycCompliant",
"profileId",
"profileName"
],
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier is what is commonly known to the owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountName": {
"description": "The nickname of the account, a means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"referenceName": {
"description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"productName": {
"description": "Identifies the product of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"kycCompliant": {
"description": "Identifies if the account is KYC compliant.",
"type": "boolean"
},
"profileId": {
"description": "A unique and immutable identifier used to identify the account profile. This identifier has no meaning to the account owner. This is used to filter the beneficiary list",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"maxLength": 70,
"minLength": 1,
"type": "string"
}
}
}
}
}
},
"ProfileAccounts": {
"type": "array",
"items": {
"required": [
"accountId",
"accountNumber",
"accountName",
"referenceName",
"productName",
"kycCompliant",
"profileId",
"profileName"
],
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier is what is commonly known to the owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountName": {
"description": "The nickname of the account, a means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"referenceName": {
"description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"productName": {
"description": "Identifies the product of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"kycCompliant": {
"description": "Identifies if the account is KYC compliant.",
"type": "boolean"
},
"profileId": {
"description": "A unique and immutable identifier used to identify the account profile. This identifier has no meaning to the account owner. This is used to filter the beneficiary list",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"maxLength": 70,
"minLength": 1,
"type": "string"
}
}
}
},
"Account": {
"required": [
"accountId",
"accountNumber",
"accountName",
"referenceName",
"productName",
"kycCompliant",
"profileId",
"profileName"
],
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier is what is commonly known to the owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"accountName": {
"description": "The nickname of the account, a means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"referenceName": {
"description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"productName": {
"description": "Identifies the product of the account.",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"kycCompliant": {
"description": "Identifies if the account is KYC compliant.",
"type": "boolean"
},
"profileId": {
"description": "A unique and immutable identifier used to identify the account profile. This identifier has no meaning to the account owner. This is used to filter the beneficiary list",
"maxLength": 70,
"minLength": 1,
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"maxLength": 70,
"minLength": 1,
"type": "string"
}
}
},
"GetAccountBalance": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"description": "Set of elements used to define the balance details.",
"required": [
"accountId",
"currentBalance",
"availableBalance",
"budgetBalance",
"straightBalance",
"cashBalance",
"currency"
],
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"currentBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"availableBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"budgetBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"straightBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"cashBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"currency": {
"description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".",
"pattern": "^[A-Z]{3,3}$",
"type": "string"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"AccountBalance": {
"type": "object",
"description": "Set of elements used to define the balance details.",
"required": [
"accountId",
"currentBalance",
"availableBalance",
"budgetBalance",
"straightBalance",
"cashBalance",
"currency"
],
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"currentBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"availableBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"budgetBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"straightBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"cashBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"format": "double",
"type": "number"
},
"currency": {
"description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".",
"pattern": "^[A-Z]{3,3}$",
"type": "string"
}
}
},
"GetTransactions": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"transactionType": {
"description": "Refers to the transaction type filter's value.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"cardNumber": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 0,
"type": "string"
},
"postedOrder": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"type": "number"
},
"postingDate": {
"format": "date-time",
"description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\r\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"valueDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"actionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
},
"runningBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"Transactions": {
"type": "object",
"additionalProperties": false,
"properties": {
"transactions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"transactionType": {
"description": "Refers to the transaction type filter's value.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"cardNumber": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 0,
"type": "string"
},
"postedOrder": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"type": "number"
},
"postingDate": {
"format": "date-time",
"description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\r\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"valueDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"actionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
},
"runningBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
}
}
}
},
"Transaction": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"transactionType": {
"description": "Refers to the transaction type filter's value.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"cardNumber": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 0,
"type": "string"
},
"postedOrder": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"type": "number"
},
"postingDate": {
"format": "date-time",
"description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\r\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"valueDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"actionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
},
"runningBalance": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
},
"GetPendingTransactions": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"properties": {
"PendingTransaction": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
}
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
}
}
},
"PendingTransactions": {
"type": "object",
"additionalProperties": false,
"properties": {
"PendingTransaction": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
}
}
}
},
"PendingTransaction": {
"type": "object",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"type": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"status": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"description": {
"description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"transactionDate": {
"format": "date-time",
"description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\r\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\r\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\r\nAll dates in the JSON payloads are represented in ISO 8601 date-time format.\r\nAll date-time fields in responses must include the timezone. An example is below:\r\n2017-04-05T10:43:07+00:00",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"amount": {
"description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.",
"pattern": "^\\d{1,13}\\.\\d{1,2}$",
"type": "number"
}
}
},
"CreditDebitCode": {
"enum": [
"CREDIT",
"DEBIT"
],
"type": "string"
},
"EntryStatusCode": {
"enum": [
"POSTED",
"PENDING"
],
"type": "string"
},
"transferList": {
"required": [
"beneficiaryAccountId",
"amount",
"myReference",
"theirReference"
],
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryAccountId": {
"type": "string"
},
"amount": {
"type": "string"
},
"myReference": {
"type": "string"
},
"theirReference": {
"type": "string"
}
}
},
"paymentList": {
"required": [
"beneficiaryId",
"amount",
"myReference",
"theirReference"
],
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryId": {
"type": "string"
},
"amount": {
"type": "string"
},
"myReference": {
"type": "string"
},
"theirReference": {
"type": "string"
},
"authoriserAId": {
"description": "If the payment requires authorisation this is derived from profiles/{profileid}/accounts/{accountId}/authorisationsetupdetails.",
"type": "string"
},
"authoriserBId": {
"description": "If the payment requires authorisation this is derived from profiles/{profileid}/accounts/{accountId}/authorisationsetupdetails.",
"type": "string"
},
"authPeriodId": {
"description": "If the payment requires authorisation this is derived from profiles/{profileid}/accounts/{accountId}/authorisationsetupdetails.",
"type": "string"
},
"fasterPayment": {
"description": "If the payment requires authorisation this can be set to true if the beneficiary allows it from profiles/{profileid}/beneficiaries/{accountid}.",
"type": "boolean"
}
}
},
"TransferResponse": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "object",
"description": "Set of elements used to define the transfer status details.",
"additionalProperties": false,
"properties": {
"transferResponse": {
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"TransferResponseDataModel": {
"type": "object",
"description": "Set of elements used to define the transfer status details.",
"additionalProperties": false,
"properties": {
"transferResponse": {
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
}
}
},
"TransferResponseItemModel": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
},
"Transfer2": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"description": "Set of elements used to define the transfer status details.",
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"TransferResponseDataModel2": {
"description": "Set of elements used to define the transfer status details.",
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
},
"Payment": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"description": "Set of elements used to define the transfer status details.",
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"PaymentResponseDataModel": {
"description": "Set of elements used to define the transfer status details.",
"type": "object",
"additionalProperties": false,
"properties": {
"TransferResponses": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"PaymentReferenceNumber": {
"description": "Internal transfer reference number",
"type": "string"
},
"PaymentDate": {
"description": "Transfer date",
"type": "string"
},
"Status": {
"description": "Transfer outcome status",
"type": "string"
},
"BeneficiaryName": {
"description": "Transfer reference used",
"type": "string"
},
"BeneficiaryAccountId": {
"description": "Account ID of the destination account",
"type": "string"
},
"AuthorisationRequired": {
"description": "Boolean value describing if authorisation is required",
"type": "boolean"
}
}
}
},
"ErrorMessage": {
"description": "",
"type": "string",
"nullable": true
}
}
},
"GetBeneficiaries": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"type": "array",
"description": "Set of elements used to define the beneficiaries details.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryId": {
"description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"accountNumber": {
"description": "The beneficiary bank account number.",
"type": "string"
},
"code": {
"description": "The beneficiary bank code.",
"type": "string"
},
"bank": {
"description": "The beneficiary bank name.",
"type": "string"
},
"beneficiaryName": {
"description": "Beneficiary name.",
"type": "string"
},
"lastPaymentAmount": {
"description": "Last payment amount made to the beneficiary.",
"type": "string"
},
"lastPaymentDate": {
"description": "Last payment date to the beneficiary.",
"type": "string"
},
"cellNo": {
"description": "Notification cell no.",
"type": "string"
},
"emailAddress": {
"description": "Notification email address.",
"type": "string"
},
"name": {
"description": "Beneficiary name.",
"type": "string"
},
"referenceAccountNumber": {
"description": "Reference account number.",
"type": "string"
},
"referenceName": {
"description": "Reference name.",
"type": "string"
},
"categoryId": {
"description": "Beneficiary category id.",
"type": "string"
},
"profileId": {
"description": "Profile id.",
"type": "string"
},
"fasterPaymentAllowed": {
"description": "Faster Payment Allowed.",
"type": "boolean"
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"Beneficiaries": {
"type": "array",
"description": "Set of elements used to define the beneficiaries details.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryId": {
"description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"accountNumber": {
"description": "The beneficiary bank account number.",
"type": "string"
},
"code": {
"description": "The beneficiary bank code.",
"type": "string"
},
"bank": {
"description": "The beneficiary bank name.",
"type": "string"
},
"beneficiaryName": {
"description": "Beneficiary name.",
"type": "string"
},
"lastPaymentAmount": {
"description": "Last payment amount made to the beneficiary.",
"type": "string"
},
"lastPaymentDate": {
"description": "Last payment date to the beneficiary.",
"type": "string"
},
"cellNo": {
"description": "Notification cell no.",
"type": "string"
},
"emailAddress": {
"description": "Notification email address.",
"type": "string"
},
"name": {
"description": "Beneficiary name.",
"type": "string"
},
"referenceAccountNumber": {
"description": "Reference account number.",
"type": "string"
},
"referenceName": {
"description": "Reference name.",
"type": "string"
},
"categoryId": {
"description": "Beneficiary category id.",
"type": "string"
},
"profileId": {
"description": "Profile id.",
"type": "string"
},
"fasterPaymentAllowed": {
"description": "Faster Payment Allowed.",
"type": "boolean"
}
}
}
},
"BeneficiaryItem": {
"type": "object",
"additionalProperties": false,
"properties": {
"beneficiaryId": {
"description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"accountNumber": {
"description": "The beneficiary bank account number.",
"type": "string"
},
"code": {
"description": "The beneficiary bank code.",
"type": "string"
},
"bank": {
"description": "The beneficiary bank name.",
"type": "string"
},
"beneficiaryName": {
"description": "Beneficiary name.",
"type": "string"
},
"lastPaymentAmount": {
"description": "Last payment amount made to the beneficiary.",
"type": "string"
},
"lastPaymentDate": {
"description": "Last payment date to the beneficiary.",
"type": "string"
},
"cellNo": {
"description": "Notification cell no.",
"type": "string"
},
"emailAddress": {
"description": "Notification email address.",
"type": "string"
},
"name": {
"description": "Beneficiary name.",
"type": "string"
},
"referenceAccountNumber": {
"description": "Reference account number.",
"type": "string"
},
"referenceName": {
"description": "Reference name.",
"type": "string"
},
"categoryId": {
"description": "Beneficiary category id.",
"type": "string"
},
"profileId": {
"description": "Profile id.",
"type": "string"
},
"fasterPaymentAllowed": {
"description": "Faster Payment Allowed.",
"type": "boolean"
}
}
},
"Beneficiarycategories": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"additionalProperties": false,
"properties": {
"data": {
"description": "Set of elements used to define the beneficiaries category details.",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "A unique and immutable identifier used to identify the beneficiary category resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"isDefault": {
"description": "A flag identifying the default category.",
"type": "string"
},
"name": {
"description": "The beneficiary category name.",
"type": "string"
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"BeneficiarycategoriesDataModel": {
"description": "Set of elements used to define the beneficiaries category details.",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"description": "A unique and immutable identifier used to identify the beneficiary category resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"isDefault": {
"description": "A flag identifying the default category.",
"type": "string"
},
"name": {
"description": "The beneficiary category name.",
"type": "string"
}
}
},
"GetProfiles": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"properties": {
"data": {
"description": "Set of elements used to define the profiles.",
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"description": "A unique and immutable identifier used to identify the profile resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"type": "string"
},
"defaultProfile": {
"description": "Value describing if the profile is the default for the user.",
"type": "boolean"
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"Profiles": {
"description": "Set of elements used to define the profiles.",
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"description": "A unique and immutable identifier used to identify the profile resource. This identifier has no meaning to the account owner.",
"type": "string"
},
"profileName": {
"description": "The nickname of the profile, assigned by the account owner in order to provide an additional means of identification of the profile.",
"type": "string"
},
"defaultProfile": {
"description": "Value describing if the profile is the default for the user.",
"type": "boolean"
}
}
}
},
"GetAuthsetup": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"properties": {
"data": {
"description": "Set of elements used to define the authorisation setup details for the profile and account combination.",
"type": "object",
"properties": {
"numberOfAuthorisationRequired": {
"description": "The number of authorisors needed for a payment.",
"type": "string"
},
"period": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Period ID.",
"type": "string"
},
"name": {
"description": "Period description for the amount of days the payment will be valid for until it expires if not approved.",
"type": "string"
}
}
}
},
"authorisersListA": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Authoriser A ID used when doing payments requiring authorisations where numberOfAuthorisationRequired is 1.",
"type": "string"
},
"name": {
"description": "Authoriser A name.",
"type": "string"
}
}
}
},
"authorisersListB": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Authoriser B ID used when doing payments requiring authorisations where numberOfAuthorisationRequired is 2.",
"type": "string"
},
"name": {
"description": "Authoriser B name.",
"type": "string"
}
}
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"Authsetup": {
"description": "Set of elements used to define the authorisation setup details for the profile and account combination.",
"type": "object",
"properties": {
"numberOfAuthorisationRequired": {
"description": "The number of authorisors needed for a payment.",
"type": "string"
},
"period": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Period ID.",
"type": "string"
},
"name": {
"description": "Period description for the amount of days the payment will be valid for until it expires if not approved.",
"type": "string"
}
}
}
},
"authorisersListA": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Authoriser A ID used when doing payments requiring authorisations where numberOfAuthorisationRequired is 1.",
"type": "string"
},
"name": {
"description": "Authoriser A name.",
"type": "string"
}
}
}
},
"authorisersListB": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Authoriser B ID used when doing payments requiring authorisations where numberOfAuthorisationRequired is 2.",
"type": "string"
},
"name": {
"description": "Authoriser B name.",
"type": "string"
}
}
}
}
}
},
"GetDocuments": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"properties": {
"data": {
"description": "Set of elements used to define the documents.",
"type": "array",
"items": {
"type": "object",
"properties": {
"documentType": {
"description": "The type of documents available.",
"type": "string"
},
"documentDate": {
"description": "The date of the documents.",
"type": "string"
}
}
}
},
"meta": {
"description": "Meta Data relevant to the payload",
"type": "object",
"additionalProperties": false,
"properties": {
"totalPages": {
"format": "int32",
"type": "integer"
}
}
},
"links": {
"description": "Links relevant to the payload",
"required": [
"self"
],
"type": "object",
"additionalProperties": false,
"properties": {
"self": {
"type": "string"
}
}
}
}
},
"Documents": {
"description": "Set of elements used to define the documents.",
"type": "array",
"items": {
"type": "object",
"properties": {
"documentType": {
"description": "The type of documents available.",
"type": "string"
},
"documentDate": {
"description": "The date of the documents.",
"type": "string"
}
}
}
}
}
},
"security": [],
"externalDocs": {
"url": ".",
"description": ""
}
}