Account to Account Transfers v0.2.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Schedule and manage account to account transfers.
Error Types
Error responses in this API may have one of the type
values associated with the type names below.
See Errors for more information
on error responses and error types.
cannotTransferFrom
Type: https://production.api.apiture.com/errors/cannotTransferFrom/v1.0.0
Description: The customer does not have transferFrom
entitlement on the source account.
Remediation: Choose a source account that allows transfers from.
cannotTransferTo
Type: https://production.api.apiture.com/errors/cannotTransferTo/v1.0.0
Description: user does not have transferTo
entitlement on the destination account.
Remediation: Choose a destination account that allows transfers to.
insufficientFundsForTransfer
Type: https://production.api.apiture.com/errors/insufficientFundsForTransfer/v1.0.0
Description: The source account has insufficient funds.
Remediation: Reduce the transfer amount to less than the available balance.
nonPositiveAmount
Type: https://production.api.apiture.com/errors/nonPositiveAmount/v1.0.0
Description: Transfer amount may not be 0.00.
Remediation: Set the transfer amount to a positive number.
sameSourceAndDestinationTransferAccounts
Type: https://production.api.apiture.com/errors/sameSourceAndDestinationTransferAccounts/v1.0.0
Description: Source and destination account are the same.
Remediation: Choose different source and destination accounts.
Download OpenAPI Definition (YAML)
Base URLs:
License: Apiture API License
Authentication
- API Key (
apiKey
)- header parameter: API-Key
- API Key based client identification. See details at Secure Access.
- OpenID Connect authentication (
accessToken
)- OpenId Connect (OIDC) authentication/authorization. The client uses the
authorization_endpoint
andtoken_endpoint
to obtain an access token to pass in theAuthorization
header. Those endpoints are available via the OIDC Configuration URL. The actual URL may vary with each financial institution. See details at Secure Access. - OIDC Configuration URL =
https://oidc.apiture.com/oidc/.well-known/oidc-configuration
- OpenId Connect (OIDC) authentication/authorization. The client uses the
Transfers
Banking Transfers
listTransfers
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/banking/transfers \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/banking/transfers HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/banking/transfers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/banking/transfers',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/banking/transfers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/banking/transfers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/banking/transfers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/banking/transfers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of transfers
GET https://api.devbank.apiture.com/banking/transfers
Return a paginated collection of transfers. The nextPage_url in the response is a pagination link.
Parameters
Parameter | Description |
---|---|
scheduledOn | dateRange Return only transactions whose scheduledOn date is in this date range. Dates ranges use dates expressed in YYYY-MM-DD RFC 3339 date format. Example date ranges:
pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$ |
historical | boolean If true , list only historical (completed) transfers. If `false, list only transfers that have not yet started processing. If omitted, list all transfers. |
start | string The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url .Default: "" maxLength: 256 |
limit | integer(int32) The maximum number of items to return in this page response. Default: 100 minimum: 0 maximum: 1000 |
Example responses
200 Response
{
"start": "d1b48af913464aa49fcb07065dcc0616",
"limit": 10,
"nextPage_url": "https://production.api.apiture.com/transfers/transfers?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
"items": [
{
"id": "0399abed-fd3d",
"amount": "275.00",
"memo": "Cover check for car repair",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Premiere Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"label": "Personal Savings *4567",
"type": "savings",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
}
},
{
"id": "d62c0701-0d74",
"amount": "100.00",
"memo": "cover check for school books",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "c8396f59-624b",
"label": "Checking *3456",
"type": "checking",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
}
}
]
}
400 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
"title": "Bad Request",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "Input did not parse as JSON",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
"title": "Bad Request",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "Input did not parse as JSON",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 401,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
403 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: transfers |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. | |
Schema: problemResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. | |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation. |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. | |
Schema: problemResponse |
createTransfer
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/banking/transfers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/banking/transfers HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"amount": "275.00",
"memo": "Cover check for car repair",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/banking/transfers',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/banking/transfers',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/banking/transfers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/banking/transfers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/banking/transfers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/banking/transfers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new transfer
POST https://api.devbank.apiture.com/banking/transfers
Create a new transfer within the transfers collection.
Body parameter
{
"amount": "275.00",
"memo": "Cover check for car repair",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
}
}
Parameters
Parameter | Description |
---|---|
body | newTransfer The data necessary to create a new transfer. |
Example responses
201 Response
{
"amount": "275.00",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Premiere Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"label": "Personal Savings *4567",
"type": "savings",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
},
"processedAt": "2022-06-27T021:00:00.000Z",
"updatedBy": "James Bond",
"id": "0399abed-fd3d",
"memo": "Cover check for car repair"
}
400 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
"title": "Bad Request",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "Input did not parse as JSON",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
"title": "Bad Request",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "Input did not parse as JSON",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 401,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
403 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: transfer | |
Header | Location string uri-reference |
The URI of the new transfer. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. | |
Schema: problemResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. | |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation. |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following | |
Schema: problemResponse |
getTransfer
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/banking/transfers/{transferId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/banking/transfers/{transferId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/banking/transfers/{transferId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/banking/transfers/{transferId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/banking/transfers/{transferId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/banking/transfers/{transferId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/banking/transfers/{transferId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/banking/transfers/{transferId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this transfer
GET https://api.devbank.apiture.com/banking/transfers/{transferId}
Return the JSON representation of this transfer resource.
Parameters
Parameter | Description |
---|---|
transferId | resourceId (required) The unique identifier of this transfer. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"amount": "275.00",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Premiere Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"label": "Personal Savings *4567",
"type": "savings",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
},
"processedAt": "2022-06-27T021:00:00.000Z",
"updatedBy": "James Bond",
"id": "0399abed-fd3d",
"memo": "Cover check for car repair"
}
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 401,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
403 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: transfer |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. | |
Schema: problemResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. | |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such transfer resource at the specified {transferId} . | |
Schema: problemResponse |
patchTransfer
Code samples
# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/banking/transfers/{transferId} \
-H 'Content-Type: application/merge-patch+json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.devbank.apiture.com/banking/transfers/{transferId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/merge-patch+json
Accept: application/json
const fetch = require('node-fetch');
const inputBody = '{
"amount": "275.00",
"targetAccount": {
"id": "88b1ca3e-d0f3"
},
"schedule": {
"scheduledOn": "2022-06-28"
}
}';
const headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/banking/transfers/{transferId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Content-Type':'application/merge-patch+json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/banking/transfers/{transferId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/merge-patch+json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.devbank.apiture.com/banking/transfers/{transferId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/merge-patch+json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.devbank.apiture.com/banking/transfers/{transferId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/banking/transfers/{transferId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/merge-patch+json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.devbank.apiture.com/banking/transfers/{transferId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this transfer
PATCH https://api.devbank.apiture.com/banking/transfers/{transferId}
Perform a partial update of this transfer as per JSON Merge Patch format and processing rules. Only fields in the request body are updated on the resource; fields which are omitted are not updated.
Body parameter
{
"amount": "275.00",
"targetAccount": {
"id": "88b1ca3e-d0f3"
},
"schedule": {
"scheduledOn": "2022-06-28"
}
}
Parameters
Parameter | Description |
---|---|
body | transferPatch The fields to update within the transfer. |
transferId | resourceId (required) The unique identifier of this transfer. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
200 Response
{
"amount": "275.00",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Premiere Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"label": "Personal Savings *4567",
"type": "savings",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
},
"processedAt": "2022-06-27T021:00:00.000Z",
"updatedBy": "James Bond",
"id": "0399abed-fd3d",
"memo": "Cover check for car repair"
}
400 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
"title": "Bad Request",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "Input did not parse as JSON",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
"title": "Bad Request",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "Input did not parse as JSON",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 401,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
403 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: transfer |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The request body, request headers, and/or query parameters are not well-formed. | |
Schema: problemResponse |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. | |
Schema: problemResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. | |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such transfer resource at the specified {transferId} . | |
Schema: problemResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid. This error response may have one of the following | |
Schema: problemResponse |
deleteTransfer
Code samples
# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/banking/transfers/{transferId} \
-H 'Accept: application/problem+json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.devbank.apiture.com/banking/transfers/{transferId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/problem+json
const fetch = require('node-fetch');
const headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/banking/transfers/{transferId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
var headers = {
'Accept':'application/problem+json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/banking/transfers/{transferId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/problem+json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.devbank.apiture.com/banking/transfers/{transferId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/problem+json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.devbank.apiture.com/banking/transfers/{transferId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/banking/transfers/{transferId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/problem+json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.devbank.apiture.com/banking/transfers/{transferId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this transfer resource
DELETE https://api.devbank.apiture.com/banking/transfers/{transferId}
Delete this transfer resource and any resources that are owned by it.
Parameters
Parameter | Description |
---|---|
transferId | resourceId (required) The unique identifier of this transfer. This is an opaque string. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
Example responses
401 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 400,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
"title": "Unauthorized",
"status": 401,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request lacks valid authentication credentials",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
403 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
"title": "Forbidden",
"status": 403,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
404 Response
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists for the given account reference",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The operation succeeded but returned no response body. |
Status | Description |
---|---|
401 | Unauthorized |
Unauthorized. The operation require authentication but none was given. | |
Schema: problemResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The authenticated caller is not authorized to perform the requested operation. | |
Schema: problemResponse | |
Header | WWW-Authenticate string |
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such transfer resource at the specified {transferId} . | |
Schema: problemResponse |
Schemas
accountLocation
"internal"
Account Location (v1.0.0)
Indicates where an account is held:
internal
accounts at the current financial institution;external
accounts at another financial institution;outside
accounts non-banking accounts such as brokerage and fund accounts. Account transfers are only allowed betweeninternal
andexternal
accounts. All accounts are considered when calculating total cash balance.
Type: string
enum values: internal
, external
, outside
apiProblem
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/accountNotFound/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists at the given account_url",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
API Problem (v1.1.0)
API problem or error, as per RFC 7807 application/problem+json.
Properties
Name | Description |
---|---|
type | string(uri-reference) A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank" . |
title | string A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type . |
status | integer(int32) The HTTP status code for this occurrence of the problem. minimum: 100 maximum: 599 |
detail | string A human-readable explanation specific to this occurrence of the problem. |
instance | string(uri-reference) A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment |
id | string: readOnlyResourceId The unique identifier for this problem. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
occurredAt | string(date-time): readOnlyTimestamp The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.read-only minLength: 20 maxLength: 30 |
problems | array: [apiProblem] Optional root-causes if there are multiple problems in the request or API call processing. |
attributes | object Additional optional attributes related to the problem. This data conforms to the schema associated with the error type. |
dateRange
"2022-05-19"
Date Range (v1.0.0)
A date range, supporting inclusive or exclusive endpoints. Dates ranges use dates expressed in YYYY-MM-DD
RFC 3339 date
format. The value may have the following forms:
YYYY-MM-DD
match the date exactly; equivalent to matching dates in the range[YYYY-MM-DD,YYYY-MM-DD]
[YYYY-MM-DD,YYYY-MM-DD]
between two dates, inclusive of the endpoints(YYYY-MM-DD,YYYY-MM-DD)
between two dates, exclusive of the endpoints[YYYY-MM-DD,]
on or after the date(YYYY-MM-DD,)
after the date[,YYYY-MM-DD]
before or on the date(,YYYY-MM-DD)
before the date
Type: string
pattern: ^\d{4}-\d{2}-\d{2}|([([)]])$
monetaryValue
"3456.78"
Monetary Value (v1.0.0)
The monetary value, supporting only positive amounts. The numeric value is represented as a string so that it can be exact with no loss of precision.
The schema monetaryValue
was added on version 0.4.0
of the API.
Type: string
pattern: ^(0|[1-9][0-9]*).[0-9][0-9]$
newTransfer
{
"amount": "275.00",
"memo": "Cover check for car repair",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
}
}
New Transfer (v1.1.0)
Representation used to create a new transfer.
Properties
Name | Description |
---|---|
schedule | object: transferSchedule (required) When the transfer should occur and any recurrence. |
amount | string: monetaryValue (required) The amount of money to transfer between accounts. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
memo | string A customer-defined memo to describe the transfer. maxLength: 80 |
sourceAccount | object: transferAccountReference (required) The source account where the funds are withdrawn. |
destinationAccount | object: transferAccountReference (required) The destination account where the funds are deposited. |
problemResponse
{
"id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
"type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
"title": "Account Not Found",
"status": 422,
"occurredAt": "2022-04-25T12:42:21.375Z",
"detail": "No account exists for the given account reference",
"instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
Problem Response (v0.3.0)
API problem or error response, as per RFC 7807 application/problem+json.
Properties
Name | Description |
---|---|
type | string(uri-reference) A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank" . |
title | string A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type . |
status | integer(int32) The HTTP status code for this occurrence of the problem. minimum: 100 maximum: 599 |
detail | string A human-readable explanation specific to this occurrence of the problem. |
instance | string(uri-reference) A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment |
id | string: readOnlyResourceId The unique identifier for this problem. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
occurredAt | string(date-time): readOnlyTimestamp The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.read-only minLength: 20 maxLength: 30 |
problems | array: [apiProblem] Optional root-causes if there are multiple problems in the request or API call processing. |
attributes | object Additional optional attributes related to the problem. This data conforms to the schema associated with the error type. |
productType
"savings"
Product Type (v1.0.0)
The type (or category) of bank account.
productType
strings may have one of the following enumerated values:
Value | Description |
---|---|
savings | Savings: Savings Account |
checking | Checking: Checking Account |
cd | CD: Certificate of Deposit Account |
ira | IRA: Individual Retirement Account |
loan | Loan: Loan Account |
creditCard | Credit Card: Credit Card Account |
settlement | Settlement: Settlement Account |
Type: string
enum values: savings
, checking
, cd
, ira
, loan
, creditCard
, settlement
readOnlyResourceId
"string"
Read-only Resource Identifier (v1.0.0)
The unique, opaque system-assigned identifier for a resource. This case-sensitive ID is also used in URLs as path parameters or in other properties or parameters that reference a resource by ID rather than URL. Resource IDs are immutable.
Type: string
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
readOnlyTimestamp
"2021-10-30T19:06:04.250Z"
Read-Only Timestamp (v1.0.0)
A readonly or derived timestamp (an instant in time) formatted in RFC 3339 date-time
UTC format: YYYY-MM-DDThh:mm:ss.sssZ
.
The schema readOnlyTimestamp
was added on version 0.4.0
of the API.
Type: string(date-time)
read-only
minLength: 20
maxLength: 30
resourceId
"string"
Resource Identifier (v1.0.0)
The unique, opaque system identifier for a resource. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference a resource by ID rather than URL.
Type: string
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
transfer
{
"amount": "275.00",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Premiere Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"label": "Personal Savings *4567",
"type": "savings",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
},
"processedAt": "2022-06-27T021:00:00.000Z",
"updatedBy": "James Bond",
"id": "0399abed-fd3d",
"memo": "Cover check for car repair"
}
Transfer (v1.1.0)
Representation of a transfer resource.
Properties
Name | Description |
---|---|
schedule | object: transferSchedule (required) When the transfer should occur and any recurrence. |
amount | string: monetaryValue (required) The amount of money to transfer between accounts. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
memo | string A customer-defined memo to describe the transfer. maxLength: 80 |
createdAt | string(date-time) The date-time when this resource was created, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.read-only |
updatedAt | string(date-time) The date-time when the resource was last updated, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.read-only |
id | string: readOnlyResourceId (required) The unique identifier for this transfer resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
sourceAccount | object: transferAccountReference (required) The source account where the funds are withdrawn. |
destinationAccount | object: transferAccountReference (required) The destination account where the funds are deposited. |
state | string: transferState The state of this transfer resource. read-only enum values: pendingApproval , scheduled , processing , processed , suspended |
processedAt | string(date-time) The date the transfer was processed. read-only |
updatedBy | string The full name of the banking customer who last updated the transfer. read-only maxLength: 48 |
transferAccountReference
{
"id": "e821ce54-c715",
"label": "Premiere Checking *6789",
"type": "checking",
"location": "internal"
}
Transfer Account Reference (v1.0.0)
A reference to a banking account used within an account to account transfer. This object may be set from an account's account.reference
object.
Properties
Name | Description |
---|---|
id | string: resourceId (required) The unique ID of a banking account. minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
label | string The human-readable label for this account. This is either the nickname (if assigned for the current customer), or the product.label concatenated with the maskedNumber .read-only maxLength: 80 |
type | string: productType The product type of the account. enum values: savings , checking , cd , ira , loan , creditCard , settlement |
location | string: accountLocation Indicates where an account is held. enum values: internal , external , outside |
transferFrequency
"once"
Transfer Frequency (v1.0.0)
For recurring transfers, the interval at which the money movement recurs.
transferFrequency
strings may have one of the following enumerated values:
Value | Description |
---|---|
once | once: Transfer does not repeat |
daily | daily: Repeat daily on business days |
weekly | weekly: Repeat weekly |
biweekly | biweekly: Repeat every two weeks (26 times a year) |
semimonthly | semimonthly: Repeat twice a month (24 times a year) |
monthly | monthly: Repeat monthly |
monthlyFirstDay | monthlyFirstDay: Repeat on the first business day of the month |
monthlyLastDay | monthlyLastDay: Repeat on the last business day of the month |
bimonthly | bimonthly: Repeat every other month |
quarterly | quarterly: Repeat quarterly (four times a year) |
semiyearly | semiyearly: Repeat every six months (twice a year) |
yearly | yearly: Repeat once every year |
Type: string
enum values: once
, daily
, weekly
, biweekly
, semimonthly
, monthly
, monthlyFirstDay
, monthlyLastDay
, bimonthly
, quarterly
, semiyearly
, yearly
transferItem
{
"amount": "275.00",
"sourceAccount": {
"id": "bd9b7af2-6f9b"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"label": "Personal Savings *4567",
"type": "savings"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
},
"processedAt": "2022-06-27T021:00:00.000Z",
"updatedBy": "James Bond"
}
Transfer Item (v1.1.0)
Summary representation of a transfer resource in transfers collections. To fetch the full representation of this transfer, use the getTransfer
operation, passing this item's id
field as the transferId
path parameter.
Properties
Name | Description |
---|---|
schedule | object: transferSchedule (required) When the transfer should occur and any recurrence. |
amount | string: monetaryValue (required) The amount of money to transfer between accounts. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
memo | string A customer-defined memo to describe the transfer. maxLength: 80 |
createdAt | string(date-time) The date-time when this resource was created, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.read-only |
updatedAt | string(date-time) The date-time when the resource was last updated, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.read-only |
id | string: readOnlyResourceId (required) The unique identifier for this transfer resource. This is an immutable opaque string. read-only minLength: 6 maxLength: 48 pattern: ^[-_:.~$a-zA-Z0-9]+$ |
sourceAccount | object: transferAccountReference (required) The source account where the funds are withdrawn. |
destinationAccount | object: transferAccountReference (required) The destination account where the funds are deposited. |
state | string: transferState The state of this transfer resource. read-only enum values: pendingApproval , scheduled , processing , processed , suspended |
processedAt | string(date-time) The date the transfer was processed. read-only |
updatedBy | string The full name of the banking customer who last updated the transfer. read-only maxLength: 48 |
transferPatch
{
"amount": "275.00",
"targetAccount": {
"id": "88b1ca3e-d0f3"
},
"schedule": {
"scheduledOn": "2022-06-28"
}
}
Transfer Patch Request (v1.1.0)
Representation used to patch an existing transfer using the JSON Merge Patch format and processing rules.
Properties
Name | Description |
---|---|
schedule | object: transferSchedule (required) When the transfer should occur and any recurrence. |
amount | string: monetaryValue (required) The amount of money to transfer between accounts. pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$ |
memo | string A customer-defined memo to describe the transfer. maxLength: 80 |
sourceAccount | object: transferAccountReference (required) The source account where the funds are withdrawn. |
destinationAccount | object: transferAccountReference (required) The destination account where the funds are deposited. |
transferRecurrenceType
"fixed"
Transfer Recurrence Type (v1.0.0)
Describes whether the transfer amount in the transfer varies or is fixed when the transfer recurs. This is ignored if the transfer frequency is once
.
transferRecurrenceType
strings may have one of the following enumerated values:
Value | Description |
---|---|
fixed | Fixed: The transfer amounts are the same each time a transfer recurs |
variable | variable: The transfer amounts vary and must be entered/verified each time a transfer recurs |
Type: string
enum values: fixed
, variable
transferSchedule
{
"scheduledOn": "2022-06-28",
"frequency": "once"
}
Transfer Schedule (v1.1.0)
The scheduled date when the transfer should be completed, the recurrence, if any, and other derived dates based on
For recurring transfer schedules, endsOn
, count
, and amountLimit
are mutually exclusive. the scheduled date.
Properties
Name | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
scheduledOn | string(date) The transfer's target completion date, in YYYY-MM-DD RFC 3339 date format. | ||||||||||||||||||||||||||
recurrenceType | string: transferRecurrenceType Describes whether the transfer amount in the transfer varies or is fixed when the transfer recurs. This is ignored if the transfer frequency is
enum values: fixed , variable | ||||||||||||||||||||||||||
frequency | string: transferFrequency (required) For recurring transfers, the interval at which the money movement recurs.
enum values: once , daily , weekly , biweekly , semimonthly , monthly , monthlyFirstDay , monthlyLastDay , bimonthly , quarterly , semiyearly , yearly | ||||||||||||||||||||||||||
endsOn | string(date) The optional date when the recurring transfer schedule ends, in YYYY-MM-DD RFC 3339 date format. Subsequent recurring transfers may be scheduled up to and including this date, but not after. This property is ignored if frequency is once . | ||||||||||||||||||||||||||
count | integer For recurring schedules ( frequency is not once ), this is the total number of transfers to make, including the first transfer. This property is ignored if frequency is once .Default: 1 minimum: 1 | ||||||||||||||||||||||||||
amountLimit | integer For recurring schedules ( frequency is not once ), this is the total dollar amount limit including the first transfer. No transfers are scheduled if they would exceed this amount. This property is ignored if frequency is once .Default: 1 minimum: 1 |
transferState
"pendingApproval"
Transfer State (v1.0.0)
The state of a transfer resource.
Type: string
enum values: pendingApproval
, scheduled
, processing
, processed
, suspended
transfers
{
"start": "d1b48af913464aa49fcb07065dcc0616",
"limit": 10,
"nextPage_url": "https://production.api.apiture.com/transfers/transfers?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
"items": [
{
"id": "0399abed-fd3d",
"amount": "275.00",
"memo": "Cover check for car repair",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Premiere Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "88b1ca3e-d0f3",
"label": "Personal Savings *4567",
"type": "savings",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
}
},
{
"id": "d62c0701-0d74",
"amount": "100.00",
"memo": "cover check for school books",
"sourceAccount": {
"id": "bd9b7af2-6f9b",
"label": "Checking *6789",
"type": "checking",
"location": "internal"
},
"targetAccount": {
"id": "c8396f59-624b",
"label": "Checking *3456",
"type": "checking",
"location": "internal"
},
"schedule": {
"scheduledOn": "2022-06-28",
"frequency": "once"
}
}
]
}
Transfer Collection (v1.1.0)
Collection of transfers. The items in the collection are ordered in the items
array. The response object may contain the nextPage_url
pagination link..
Properties
Name | Description |
---|---|
limit | integer(int32) (required) The number of items requested for this page response. The length of the items array may be less that limit .Default: 100 minimum: 0 |
nextPage_url | string(uri) The URL of the next page of resources. If this URL is omitted, there are no more resources in the collection. read-only maxLength: 8000 |
start | string The opaque cursor that specifies the starting location of this page of items. maxLength: 256 |
items | array: [transferItem] (required) An array containing a page of transfer items. |