Accounts v0.5.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.
The Accounts API manages banking accounts for bank customers.
Accounts are instances of a banking product (see the Products API). The product defines the type, rate, terms, attributes, and capabilities of accounts attached to the product. Accounts may be either personal accounts or organization accounts (accounts for businesses, institutions, non-profits, etc.)
A user can list their existing accounts and see the balances of those accounts (based on entitlements) and may have permission to change the acount name and label and description. Each account has a primary user, which is a bank user (via the Users service). The primary user has full management and entitlements for the account, receives mailings such as statements or tax documents.
For retail (personal) accounts, the primary user is the account owner. Other users may be authorized to perform actions on the account, such as list balances, debits, or credits.
Because the account number is sensitive data, it is not included by default in account representations. The masked account number is returned in the accountNumbers
object. To also receive the full account number when fetching an account, include the ?unmasked=true
option. When linking an external account, the full account number should be in the accountNumbers.full
property in the request. The accountNumbers.full
property is included with the 201 response of creating an account.
Download OpenAPI Definition (YAML)
Base URLs:
API
The Accounts API
getApi
Code samples
# You can also use wget
curl -X GET /accounts/ \
-H 'Accept: application/hal+json'
GET /accounts/ HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json'
};
$.ajax({
url: '/accounts/',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json'
};
fetch('/accounts/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json'
}
result = RestClient.get '/accounts/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json'
}
r = requests.get('/accounts/', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/");
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/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accounts/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Top-level resources and operations in this API
GET /
Return links to the top-level resources and operations in this API. This API returns the following links:
apiture:accounts
: links to the collection of accounts held at this financial institution.apiture:externalAccounts
: links to the collection of external accounts held at other financial institutions.
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
OK
{
"id": "accounts",
"name": "User Bank Accounts",
"apiVersion": "0.3.0",
"_profile": "https://api.apiture.com/schemas/apiRoot/v.0.1.0/profile.json",
"_links": {
"apiture:accounts": {
"href": "/accounts/accounts"
},
"apiture:externalProducts": {
"href": "/accounts/externalAccounts"
}
}
}
200 Response
{
"id": "apiName",
"name": "API name",
"apiVersion": "0.0.1-SNAPSHOT",
"_profile": "https://api.apiture.com/schemas/apiRoot/v1.0.0/profile.json",
"_links": {}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: root |
getApiDoc
Code samples
# You can also use wget
curl -X GET /accounts/apiDoc \
-H 'Accept: application/json'
GET /accounts/apiDoc HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: '/accounts/apiDoc',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('/accounts/apiDoc',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get '/accounts/apiDoc',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('/accounts/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/apiDoc");
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"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accounts/apiDoc", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return API definition document
GET /apiDoc
Return the OpenAPI document that describes this API.
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: Inline |
Response Schema
Account
Bank Accounts
getAccounts
Code samples
# You can also use wget
curl -X GET /accounts/accounts \
-H 'Accept: application/hal+json'
GET /accounts/accounts HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json'
};
$.ajax({
url: '/accounts/accounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json'
};
fetch('/accounts/accounts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json'
}
result = RestClient.get '/accounts/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json'
}
r = requests.get('/accounts/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/accounts");
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/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accounts/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of accounts
GET /accounts
Return a paginated sortable filterable searchable collection of accounts. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first account item to include in this page. The default 0 denotes the beginning of the collection. |
limit (query) |
integer(int32) The maximum number of account representations to return in this page. |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 . |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/collection/account/v1.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "accounts",
"_links": {
"self": {
"href": "/accounts/accounts?start=10&limit=10"
},
"first": {
"href": "/accounts/accounts?start=0&limit=10"
},
"next": {
"href": "/accounts/accounts?start=20&limit=10"
},
"collection": {
"href": "/accounts/accounts"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My basic savings account",
"title": "John Smith",
"state": "active",
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
},
"accountNumbers": {
"masked": "*************3210"
},
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
}
}
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: accounts | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createAccount
Code samples
# You can also use wget
curl -X POST /accounts/accounts \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json'
POST /accounts/accounts HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json'
};
$.ajax({
url: '/accounts/accounts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My savings account",
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
},
"apiture:application": {
"href": "/accountApplications/applications/2f23b9fe-532f-4e82-943e-b079ea55aebc"
}
}
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json'
};
fetch('/accounts/accounts',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json'
}
result = RestClient.post '/accounts/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json'
}
r = requests.post('/accounts/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/accounts");
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/hal+json"},
"Accept": []string{"application/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accounts/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new account.
POST /accounts
Create a new banking account. The request body must contain a link to an appoved account application which has not been used yet. The application also refers to a specific banking product with a type and subtype; the new account will adopt the terms and attributes of that banking product. IF a name is not included in the request, the product name will be used to provide a unique name for this user. The account will be created in the pending
state (which allows deletion of the account). A successful operation returns the full account number.
Body parameter
{
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My savings account",
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
},
"apiture:application": {
"href": "/accountApplications/applications/2f23b9fe-532f-4e82-943e-b079ea55aebc"
}
}
}
Parameters
Parameter | Description |
---|---|
body (body) |
createAccount (required) The data necessary to create a new account. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
201 Response
{
"masked": "*************3210",
"full": "9876543210"
}
Responses
Status | Description |
---|---|
201 | Created |
Created | |
Schema: accountNumbers | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme ://host | |
201 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
getAccount
Code samples
# You can also use wget
curl -X GET /accounts/accounts/{accountId} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string'
GET /accounts/accounts/{accountId} HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string'
};
$.ajax({
url: '/accounts/accounts/{accountId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-None-Match':'string'
};
fetch('/accounts/accounts/{accountId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-None-Match' => 'string'
}
result = RestClient.get '/accounts/accounts/{accountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string'
}
r = requests.get('/accounts/accounts/{accountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/accounts/{accountId}");
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/hal+json"},
"If-None-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accounts/accounts/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this account
GET /accounts/{accountId}
Return a HAL representation of this account resource.
Parameters
Parameter | Description |
---|---|
accountId (path) |
string (required) The unique identifier of this account. This is an opaque string. |
If-None-Match (header) |
string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned. |
unmasked (query) |
boolean When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true , to request that the response body includes the full account number. Such requests are auditable. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"product": {
"_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
"_profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
}
},
"name": "My basic savings account",
"productName": "Basic Personal Savings",
"title": "John Smith",
"type": "Personal Savings",
"subtype": "Basic Personal Savings",
"state": "active",
"accountNumbers": {
"masked": "*************2298"
},
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: account | |
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. | |
404 | Not Found |
Not Found. There is no such account resource at the specified {accountId} The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this account resource. |
patchAccount
Code samples
# You can also use wget
curl -X PATCH /accounts/accounts/{accountId} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
PATCH /accounts/accounts/{accountId} HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/accounts/accounts/{accountId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My basic savings account"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/accounts/accounts/{accountId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.patch '/accounts/accounts/{accountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.patch('/accounts/accounts/{accountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/accounts/{accountId}");
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/hal+json"},
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/accounts/accounts/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this account
PATCH /accounts/{accountId}
Perform a partial updates of this account. Fields which are omitted from the request are not updated. Nested _embedded
objects are ignored if included. This operation does not change the state
property. To change the state
of the account, use the POST
operations activateAccount
, deactivateAccount
, freezeAccount
, closeAccount
, removeAccount
, which are available in the _links
on an account instance.
Body parameter
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My basic savings account"
}
Parameters
Parameter | Description |
---|---|
accountId (path) |
string (required) The unique identifier of this account. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
updateAccount (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"product": {
"_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
"_profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
}
},
"name": "My basic savings account",
"productName": "Basic Personal Savings",
"title": "John Smith",
"type": "Personal Savings",
"subtype": "Basic Personal Savings",
"state": "active",
"accountNumbers": {
"masked": "*************2298"
},
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: account | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
404 | Not Found |
Not Found. There is no such account resource at the specified {accountId} The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds. | |
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this account resource. |
deleteAccount
Code samples
# You can also use wget
curl -X DELETE /accounts/accounts/{accountId}
DELETE /accounts/accounts/{accountId} HTTP/1.1
$.ajax({
url: '/accounts/accounts/{accountId}',
method: 'delete',
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
fetch('/accounts/accounts/{accountId}',
{
method: 'DELETE'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
result = RestClient.delete '/accounts/accounts/{accountId}',
params: {
}
p JSON.parse(result)
import requests
r = requests.delete('/accounts/accounts/{accountId}', params={
)
print r.json()
URL obj = new URL("/accounts/accounts/{accountId}");
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() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/accounts/accounts/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this account resource
DELETE /accounts/{accountId}
Delete this account resource and any resources that are owned by it. Note that only pending
accounts may be deleted. Once an account has been activated, it cannot be deleted, only inactiviated or closed.
Parameters
Parameter | Description |
---|---|
accountId (path) |
string (required) The unique identifier of this account. This is an opaque string. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. | |
409 | Conflict |
Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds. |
activateAccount
Code samples
# You can also use wget
curl -X POST /accounts/activeAccounts?account=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
POST /accounts/activeAccounts?account=string HTTP/1.1
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/accounts/activeAccounts',
method: 'post',
data: '?account=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/accounts/activeAccounts?account=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.post '/accounts/activeAccounts',
params: {
'account' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.post('/accounts/activeAccounts', params={
'account': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/activeAccounts?account=string");
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{
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accounts/activeAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Activate an account
POST /activeAccounts
Activate an account that is eligible to be activated. Only accounts which are pending
or inactive
or frozen
may be activated. This operation is invoked from the apiture:activate
link on an account, which only exists if the action is allowed. This changes the state
to active
.
Parameters
Parameter | Description |
---|---|
account (query) |
string (required) A server-supplied value which identifies the account instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"product": {
"_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
"_profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
}
},
"name": "My basic savings account",
"productName": "Basic Personal Savings",
"title": "John Smith",
"type": "Personal Savings",
"subtype": "Basic Personal Savings",
"state": "active",
"accountNumbers": {
"masked": "*************2298"
},
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: account | |
400 | Bad Request |
Bad Request. The account or accountUri parameter was malformed or does not refer to an account. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending . The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
deactivateAccount
Code samples
# You can also use wget
curl -X POST /accounts/inactiveAccounts?account=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
POST /accounts/inactiveAccounts?account=string HTTP/1.1
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/accounts/inactiveAccounts',
method: 'post',
data: '?account=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/accounts/inactiveAccounts?account=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.post '/accounts/inactiveAccounts',
params: {
'account' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.post('/accounts/inactiveAccounts', params={
'account': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/inactiveAccounts?account=string");
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{
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accounts/inactiveAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Deactivate an account
POST /inactiveAccounts
Deactivate an account that is eligible to be deactivated. Only accounts which are pending
or active
may be deactivated. This operation is invoked from the apiture:deactivate
link on an account; the link only exists if the action is allowed. This changes the state
to inactive
.
Parameters
Parameter | Description |
---|---|
account (query) |
string (required) A server-supplied value which identifies the account instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"product": {
"_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
"_profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
}
},
"name": "My basic savings account",
"productName": "Basic Personal Savings",
"title": "John Smith",
"type": "Personal Savings",
"subtype": "Basic Personal Savings",
"state": "active",
"accountNumbers": {
"masked": "*************2298"
},
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: account | |
400 | Bad Request |
Bad Request. The account or accountUri parameter was malformed or does not refer to an account. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending . The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
freezeAccount
Code samples
# You can also use wget
curl -X POST /accounts/frozenAccounts?account=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
POST /accounts/frozenAccounts?account=string HTTP/1.1
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/accounts/frozenAccounts',
method: 'post',
data: '?account=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/accounts/frozenAccounts?account=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.post '/accounts/frozenAccounts',
params: {
'account' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.post('/accounts/frozenAccounts', params={
'account': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/frozenAccounts?account=string");
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{
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accounts/frozenAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Freeze an account
POST /frozenAccounts
Freze an account that is eligible to be frozen. Only accounts which are active
or inactive
may be frozen. This operation is invoked from the apiture:freeze
link on an account; the link only exists if the action is allowed. This changes the state
to frozen
.
Parameters
Parameter | Description |
---|---|
account (query) |
string (required) A server-supplied value which identifies the account instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"product": {
"_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
"_profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
}
},
"name": "My basic savings account",
"productName": "Basic Personal Savings",
"title": "John Smith",
"type": "Personal Savings",
"subtype": "Basic Personal Savings",
"state": "active",
"accountNumbers": {
"masked": "*************2298"
},
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: account | |
400 | Bad Request |
Bad Request. The account or accountUri parameter was malformed or does not refer to an account. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending . The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
closeAccount
Code samples
# You can also use wget
curl -X POST /accounts/closedAccounts?account=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
POST /accounts/closedAccounts?account=string HTTP/1.1
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/accounts/closedAccounts',
method: 'post',
data: '?account=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/accounts/closedAccounts?account=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.post '/accounts/closedAccounts',
params: {
'account' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.post('/accounts/closedAccounts', params={
'account': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/closedAccounts?account=string");
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{
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accounts/closedAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Close an account
POST /closedAccounts
Close an account that is eligible to be closed. Only accounts which are active
or inactive
or frozen
may be closed. This operation is invoked from the apiture:close
link on an account; the link only exists if the action is allowed. This changes the state
to closed
. Closing an account will append the text "(Closed YYYY-MM-DDThh:mm:ssZ)
" to the name, so that the previous name may be used for other accounts.
Parameters
Parameter | Description |
---|---|
account (query) |
string (required) A server-supplied value which identifies the account instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"product": {
"_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
"_profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
}
},
"name": "My basic savings account",
"productName": "Basic Personal Savings",
"title": "John Smith",
"type": "Personal Savings",
"subtype": "Basic Personal Savings",
"state": "active",
"accountNumbers": {
"masked": "*************2298"
},
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: account | |
400 | Bad Request |
Bad Request. The account or accountUri parameter was malformed or does not refer to an account. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending . The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
External Account
External Bank Accounts
getExternalAccounts
Code samples
# You can also use wget
curl -X GET /accounts/externalAccounts \
-H 'Accept: application/hal+json'
GET /accounts/externalAccounts HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json'
};
$.ajax({
url: '/accounts/externalAccounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json'
};
fetch('/accounts/externalAccounts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json'
}
result = RestClient.get '/accounts/externalAccounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json'
}
r = requests.get('/accounts/externalAccounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/externalAccounts");
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/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accounts/externalAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of external accounts
GET /externalAccounts
Return a paginated sortable filterable searchable collection of external accounts. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first external account item to include in this page. The default 0 denotes the beginning of the collection. |
limit (query) |
integer(int32) The maximum number of external account representations to return in this page. |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 . |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/collection/externalAccount/v1.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "external accounts",
"_links": {
"self": {
"href": "/accounts/externalAccounts?start=10&limit=10"
},
"first": {
"href": "/accounts/externalAccounts?start=0&limit=10"
},
"next": {
"href": "/accounts/externalAccounts?start=20&limit=10"
},
"collection": {
"href": "/accounts/externalAccounts"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"name": "My account at 3rdParty Bank",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"type": "savings",
"state": "active",
"primaryUserName": "Lucille Wellphunded",
"institutionName": "3rdParty Bank",
"verifiedAt": "2018-01-20T18:13:33.375Z",
"createdAt": "2018-01-20T05:54:52.375Z",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
},
"_links": {
"self": {
"href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
}
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: externalAccounts | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createExternalAccount
Code samples
# You can also use wget
curl -X POST /accounts/externalAccounts \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json'
POST /accounts/externalAccounts HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json'
};
$.ajax({
url: '/accounts/externalAccounts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"name": "My account at 3rdParty Bank",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lana Michaels",
"type": "savings",
"routingNumber": "021000021",
"accountNumbers": {
"full": "9876543210"
},
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
},
"apiture:productType": {
"href": "/products/productTypes/a93c19ba-f96d-4b30-8dd7-92b2d6ffcb0b"
}
}
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json'
};
fetch('/accounts/externalAccounts',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json'
}
result = RestClient.post '/accounts/externalAccounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json'
}
r = requests.post('/accounts/externalAccounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/externalAccounts");
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/hal+json"},
"Accept": []string{"application/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accounts/externalAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new external account
POST /externalAccounts
Create a new external account. A successful operation returns the full accountNumber.
Body parameter
{
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"name": "My account at 3rdParty Bank",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lana Michaels",
"type": "savings",
"routingNumber": "021000021",
"accountNumbers": {
"full": "9876543210"
},
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
},
"apiture:productType": {
"href": "/products/productTypes/a93c19ba-f96d-4b30-8dd7-92b2d6ffcb0b"
}
}
}
Parameters
Parameter | Description |
---|---|
body (body) |
createExternalAccount (required) The data necessary to create a new external account. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
201 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:productType": {
"href": "/products/productTypes/0a8a1349-d652-4d5e-accc-047ec815d78a",
"title": "Premier Personal Savings",
"profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"productType": {
"_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
"_profile": "https://api.apiture.com/schemas/productType/v1.0.0/profile.json",
"name": "savings",
"label": "Personal Savings"
}
},
"name": "My account at 3rdParty Bank",
"type": "savings",
"state": "active",
"primaryUserName": "Lucille Wellphunded",
"verifiedAt": "2018-01-20T18:13:33.375Z",
"createdAt": "2018-01-20T05:54:52.375Z",
"institutionName": "3rdParty Bank",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
}
}
Responses
Status | Description |
---|---|
201 | Created |
Created | |
Schema: externalAccount | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. An external account with the key account details already exists for the user, such as an attempt to change the state from active to pending , or to change the name to a name that is already in use by another external account that the user or organization holds. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme ://host | |
201 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
getExternalAccount
Code samples
# You can also use wget
curl -X GET /accounts/externalAccounts/{externalAccountId} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string'
GET /accounts/externalAccounts/{externalAccountId} HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string'
};
$.ajax({
url: '/accounts/externalAccounts/{externalAccountId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-None-Match':'string'
};
fetch('/accounts/externalAccounts/{externalAccountId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-None-Match' => 'string'
}
result = RestClient.get '/accounts/externalAccounts/{externalAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string'
}
r = requests.get('/accounts/externalAccounts/{externalAccountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/externalAccounts/{externalAccountId}");
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/hal+json"},
"If-None-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accounts/externalAccounts/{externalAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this external account
GET /externalAccounts/{externalAccountId}
Return a HAL representation of this external account resource.
Parameters
Parameter | Description |
---|---|
externalAccountId (path) |
string (required) The unique identifier of this external account. This is an opaque string. |
If-None-Match (header) |
string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned. |
unmasked (query) |
boolean When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true , to request that the response body includes the full account number. Such requests are auditable. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:productType": {
"href": "/products/productTypes/0a8a1349-d652-4d5e-accc-047ec815d78a",
"title": "Premier Personal Savings",
"profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"productType": {
"_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
"_profile": "https://api.apiture.com/schemas/productType/v1.0.0/profile.json",
"name": "savings",
"label": "Personal Savings"
}
},
"name": "My account at 3rdParty Bank",
"type": "savings",
"state": "active",
"primaryUserName": "Lucille Wellphunded",
"verifiedAt": "2018-01-20T18:13:33.375Z",
"createdAt": "2018-01-20T05:54:52.375Z",
"institutionName": "3rdParty Bank",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: externalAccount | |
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. | |
404 | Not Found |
Not Found. There is no such external account resource at the specified {externalAccountId} The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this external account resource. |
patchExternalAccount
Code samples
# You can also use wget
curl -X PATCH /accounts/externalAccounts/{externalAccountId} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string'
PATCH /accounts/externalAccounts/{externalAccountId} HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
$.ajax({
url: '/accounts/externalAccounts/{externalAccountId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"name": "My primary savings account at 3rdParty Bank",
"type": "savings",
"state": "active",
"routingNumber": "021000021",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lana Michaels"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string'
};
fetch('/accounts/externalAccounts/{externalAccountId}',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'If-Match' => 'string'
}
result = RestClient.patch '/accounts/externalAccounts/{externalAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string'
}
r = requests.patch('/accounts/externalAccounts/{externalAccountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/externalAccounts/{externalAccountId}");
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/hal+json"},
"Accept": []string{"application/hal+json"},
"If-Match": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/accounts/externalAccounts/{externalAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this external account
PATCH /externalAccounts/{externalAccountId}
Perform a partial update of this external account. Fields which are omitted from the request are not updated. Nested _embedded
and _links
are ignored if included. Bank users may only update the routingNumber
and accountNumbers.full
and institutionName
and type
if the external account is still pending
. If accountNumbers.full
is patched, then the full account number is included in the response. This operation does not change the state
property. To change the state
of the account, use the POST
operations activateAccount
, deactivateAccount
, freezeAccount
, closeAccount
, removeAccount
, which are available in the _links
on an account instance.
Body parameter
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"name": "My primary savings account at 3rdParty Bank",
"type": "savings",
"state": "active",
"routingNumber": "021000021",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lana Michaels"
}
Parameters
Parameter | Description |
---|---|
externalAccountId (path) |
string (required) The unique identifier of this external account. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
updateExternalAccount (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:productType": {
"href": "/products/productTypes/0a8a1349-d652-4d5e-accc-047ec815d78a",
"title": "Premier Personal Savings",
"profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"productType": {
"_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
"_profile": "https://api.apiture.com/schemas/productType/v1.0.0/profile.json",
"name": "savings",
"label": "Personal Savings"
}
},
"name": "My account at 3rdParty Bank",
"type": "savings",
"state": "active",
"primaryUserName": "Lucille Wellphunded",
"verifiedAt": "2018-01-20T18:13:33.375Z",
"createdAt": "2018-01-20T05:54:52.375Z",
"institutionName": "3rdParty Bank",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: externalAccount | |
400 | Bad Request |
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
404 | Not Found |
Not Found. There is no such external account resource at the specified {externalAccountId} The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds. | |
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse | |
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
428 | Precondition Required |
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this external account resource. |
deleteExternalAccount
Code samples
# You can also use wget
curl -X DELETE /accounts/externalAccounts/{externalAccountId} \
-H 'Accept: application/hal+json'
DELETE /accounts/externalAccounts/{externalAccountId} HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json'
};
$.ajax({
url: '/accounts/externalAccounts/{externalAccountId}',
method: 'delete',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json'
};
fetch('/accounts/externalAccounts/{externalAccountId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json'
}
result = RestClient.delete '/accounts/externalAccounts/{externalAccountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json'
}
r = requests.delete('/accounts/externalAccounts/{externalAccountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accounts/externalAccounts/{externalAccountId}");
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/hal+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "/accounts/externalAccounts/{externalAccountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Delete this external account resource
DELETE /externalAccounts/{externalAccountId}
Delete this external account resource and any resources that are owned by it. Note that only pending
accounts may be deleted. Once an account has been activated, it cannot be deleted, only inactiviated or removed from use.
Parameters
Parameter | Description |
---|---|
externalAccountId (path) |
string (required) The unique identifier of this external account. This is an opaque string. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
404 Response
{
"_profile": "https://api.apiture.com/schemas/error/v1.0.0/.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"_profile": "https://api.apiture.com/schemas/error/v1.0.0/profile.json",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "http://docs.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. | |
404 | Not Found |
Not Found. There is no such external account resource at the specified {externalAccountId} The _error field in the response will contain details about the request error. | |
Schema: errorResponse | |
409 | Conflict |
Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds. |
Schemas
accountNumbers
{
"masked": "*************3210",
"full": "9876543210"
}
Account Numbers
Properties
Schema Name | Description |
---|---|
masked | string A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is derived and immutable. TODO Move this model schema to common-fin-models where it can be used in accountverifications and payments APIs |
full | string The full account number. This value only appears when ?unmasked=true is passed on the GET request. Not included in the summary representation of the account that is included in account collection responses. minLength: 9 maxLength: 32 |
summaryExternalAccountFields
{
"name": "3rdParty Bank checking",
"description": "My primary checking account at 3rdParty Bank",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lucille Wellphunded",
"title": "John Smith",
"accountTitle": "John Smith",
"type": "string",
"routingNumber": "021000021",
"state": "active"
}
Fields in External Account Sumamry Representations
Properties
Schema Name | Description |
---|---|
name | string The user-assigned name of this external account maxLength: 128 |
description | string The user-assigned description of this external account. maxLength: 4096 |
institutionName | string The name of the financial institution. TODO: is 128 sufficient? minLength: 2 maxLength: 128 |
primaryUserName | string The primary user or owner of the external account. Note: This can't be passed via a link to a user or contact, as this identity need not exist in our Users service. TODO: Should this be an object with title, first/middle/last name, suffix? (Can we reuse a Name model from User resource, Contact resource?) TODO: is 128 sufficient? |
title | string The name of the account holder. This is derived from the contact resource. maxLength: 512 |
accountTitle | string The name of the account holder. This is derived from the contact resource. Note: This property is deprecated. Use title instead. This property will be removed in the next release of this service. maxLength: 512 |
type | string The type of account. This is the name of an external product type associated with this external account. (The product type is defined in the Products API.) |
routingNumber | string The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account. minLength: 9 maxLength: 32 |
state | string The state of the external account. This field is immutable and derived.
To change the state of an account, |
Enumerated Values
Property | Value |
---|---|
state | pending |
state | verifying |
state | failed |
state | active |
state | inactive |
state | frozen |
state | closed |
externalAccountFields
{
"name": "3rdParty Bank checking",
"description": "My primary checking account at 3rdParty Bank",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lucille Wellphunded",
"title": "John Smith",
"accountTitle": "John Smith",
"type": "string",
"routingNumber": "021000021",
"state": "active",
"accountNumbers": {
"masked": "*************3210",
"full": "9876543210"
}
}
Fields in External Account Representations
Properties
Schema Name | Description |
---|---|
Fields in External Account Representations | any Fields of an external account resource. |
allOf
Schema Name | Description |
---|---|
anonymous | summaryExternalAccountFields Fields of the representation of an external account summary resource. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
accountNumbers | externalAccountNumbers The account numbers necessary to link an external account. |
externalAccountNumbers
{
"masked": "*************3210",
"full": "9876543210"
}
External Account Numbers
Properties
Schema Name | Description |
---|---|
masked | string A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is included when accounts are embedded in collections or other resources. This value is derived and immutable. TODO Move this model schema to common-fin-models where it can be used in other APIs |
full | string The full account number. This value only appears when ?unmasked=true is passed on the GET request for an account. Not included in the summary representation of the account that is included in account collection responses. Pass in this value when linking an external account. This field can be updated whenever the account is still in the pending state. minLength: 9 maxLength: 32 |
createExternalAccountNumbers
{
"full": "9876543210"
}
Create External Account Numbers
Properties
Schema Name | Description |
---|---|
full | string (required) The full account number. Pass in this value when linking an external account. This field can be updated whenever the account is still in the pending state. minLength: 9 maxLength: 32 |
summaryExternalAccount
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"name": "My account at 3rdParty Bank",
"type": "savings",
"state": "active",
"verifiedAt": "2018-01-20T18:13:33.375Z",
"createdAt": "2018-01-20T05:54:52.375Z",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*********3210"
},
"institutionName": "3rd Party Bank",
"primaryUserName": "Lana Michaels"
}
External Account Summary
Properties
Schema Name | Description |
---|---|
External Account Summary | any Summary representation of an external account resource in external accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. |
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | summaryExternalAccountFields Fields of the representation of an external account summary resource. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_id | string The unique identifier for this external account resource. This is an immutable opaque string. |
verifiedAt | string(date-time) The date-time when the external account was most recently verified. This is in RFC 3339 format, UTC. |
createdAt | string(date-time) The date-time when the external account was created. This is in RFC 3339format, UTC. This is derived and immutable. |
accountNumbers | externalAccountNumbers The account numbers necessary to link an external account. |
attributes | attributes An optional map of name/value pairs which contains additional dynamic data about the resource. |
createExternalAccount
{
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"name": "My account at 3rdParty Bank",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lana Michaels",
"type": "savings",
"routingNumber": "021000021",
"accountNumbers": {
"full": "9876543210"
},
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
},
"apiture:productType": {
"href": "/products/productTypes/a93c19ba-f96d-4b30-8dd7-92b2d6ffcb0b"
}
}
}
Create External Account
Properties
allOf
Schema Name | Description |
---|---|
anonymous | summaryExternalAccountFields Fields of the representation of an external account summary resource. |
and
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
accountNumbers | createExternalAccountNumbers The account numbers necessary to link an external account. |
updateExternalAccount
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"name": "My primary savings account at 3rdParty Bank",
"type": "savings",
"state": "active",
"routingNumber": "021000021",
"institutionName": "3rd Party Bank",
"primaryUserName": "Lana Michaels"
}
Update External Account
Properties
Schema Name | Description |
---|---|
Update External Account | any Representation used to update or patch an external account. |
allOf
Schema Name | Description |
---|---|
anonymous | summaryExternalAccount Summary representation of an external account resource in external accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. |
and
Schema Name | Description |
---|---|
anonymous | externalAccountFields Fields of an external account resource. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
accountNumbers | externalAccountNumbers Different representations of the account number. |
externalAccount
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:productType": {
"href": "/products/productTypes/0a8a1349-d652-4d5e-accc-047ec815d78a",
"title": "Premier Personal Savings",
"profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"productType": {
"_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
"_profile": "https://api.apiture.com/schemas/productType/v1.0.0/profile.json",
"name": "savings",
"label": "Personal Savings"
}
},
"name": "My account at 3rdParty Bank",
"type": "savings",
"state": "active",
"primaryUserName": "Lucille Wellphunded",
"verifiedAt": "2018-01-20T18:13:33.375Z",
"createdAt": "2018-01-20T05:54:52.375Z",
"institutionName": "3rdParty Bank",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
}
}
External Account
Properties
Schema Name | Description |
---|---|
External Account | updateExternalAccount Representation of an external account resource, a banking account held by another financial institution. The |
externalAccounts
{
"_profile": "https://api.apiture.com/schemas/collection/externalAccount/v1.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "external accounts",
"_links": {
"self": {
"href": "/accounts/externalAccounts?start=10&limit=10"
},
"first": {
"href": "/accounts/externalAccounts?start=0&limit=10"
},
"next": {
"href": "/accounts/externalAccounts?start=20&limit=10"
},
"collection": {
"href": "/accounts/externalAccounts"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"name": "My account at 3rdParty Bank",
"_profile": "https://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
"type": "savings",
"state": "active",
"primaryUserName": "Lucille Wellphunded",
"institutionName": "3rdParty Bank",
"verifiedAt": "2018-01-20T18:13:33.375Z",
"createdAt": "2018-01-20T05:54:52.375Z",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
},
"_links": {
"self": {
"href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
}
}
]
}
}
External Account Collection
Properties
Schema Name | Description |
---|---|
External Account Collection | any Collection of external accounts. The items in the collection are ordered in the _embedded object with name items . The top-level _links object may contain pagination links (self , next , prev , first , last , collection .) |
allOf
Schema Name | Description |
---|---|
anonymous | collection A collection of resources. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_embedded | object undefined |
items | [summaryExternalAccount] An array containing a page of external account items. |
accountFields
{
"name": "string",
"description": "string"
}
Account Fields
Properties
Schema Name | Description |
---|---|
name | string The user-assigned name of this account. minLength: 1 maxLength: 128 |
description | string The user-assigned description of this account. minLength: 1 maxLength: 4096 |
summaryAccount
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
}
},
"name": "My basic savings account",
"state": "active",
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
},
"rate": {
"value": "1.40",
"type": "apr"
}
}
Account Summary
Properties
Schema Name | Description |
---|---|
Account Summary | any Summary representation of an account resource in accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. |
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | accountFields Fields of the account representations. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_id | string The unique identifier for this account resource. This is an immutable opaque string. |
state | string The state of the account. This field is immutable and derived.
To change the state of an account, |
title | string The name of the account holder. This is derived from the contact resource. maxLength: 512 |
accountTitle | string The name of the account holder. This is derived from the contact resource. Note: This property is deprecated. Use title instead. This property will be removed in the next release of this service. maxLength: 512 |
accountNumbers | accountNumbers Different representations of the account number. |
balance | balance The account balance. read-only |
rate | rate The account's rate of return (for deposit account) or interest rate (for debut accounts). read-only |
attributes | attributes An optional map of name/value pairs which contains additional dynamic data about the resource. |
Enumerated Values
Property | Value |
---|---|
state | pending |
state | active |
state | inactive |
state | frozen |
state | closed |
createAccount
{
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My savings account",
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
},
"apiture:application": {
"href": "/accountApplications/applications/2f23b9fe-532f-4e82-943e-b079ea55aebc"
}
}
}
Create Account
Properties
Schema Name | Description |
---|---|
Create Account | any Representation used to create a new account. The request should contain a link to an approved account application; the account type and product are extracted from that application resource, as are additional associations to people or organizations that should be attached to the account (such as co-owner, a business, etc.) |
allOf
Schema Name | Description |
---|---|
anonymous | accountFields Fields of the account representations. |
and
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
updateAccount
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My basic savings account"
}
Update Account
Properties
Schema Name | Description |
---|---|
Update Account | any Representation used to update or patch an account. |
allOf
Schema Name | Description |
---|---|
anonymous | summaryAccount Summary representation of an account resource in accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
account
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
},
"apiture:deactivate": {
"href": "/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:freeze": {
"href": "/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:close": {
"href": "/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"_embedded": {
"product": {
"_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
"_profile": "https://api.apiture.com/schemas/product/v1.0.0/profile.json"
}
},
"name": "My basic savings account",
"productName": "Basic Personal Savings",
"title": "John Smith",
"type": "Personal Savings",
"subtype": "Basic Personal Savings",
"state": "active",
"accountNumbers": {
"masked": "*************2298"
},
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
}
Account
Properties
Schema Name | Description |
---|---|
Account | any Representation of an account resource. A banking account, which is an instance of a banking product The |
allOf
Schema Name | Description |
---|---|
anonymous | updateAccount Representation used to update or patch an account. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
productName | string The name of the banking product that this account is an instance of. This is derived from the product resource. read-only minLength: 1 maxLength: 128 |
type | string The name of the banking product type. This is derived from the product resource. The subtype is more specific; type is a broad account category. read-only minLength: 1 maxLength: 128 |
subtype | string The name of the banking product sub type. This is derived from the product resource. This is more specific than the type . read-only minLength: 1 maxLength: 128 |
accounts
{
"_profile": "https://api.apiture.com/schemas/collection/account/v1.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "accounts",
"_links": {
"self": {
"href": "/accounts/accounts?start=10&limit=10"
},
"first": {
"href": "/accounts/accounts?start=0&limit=10"
},
"next": {
"href": "/accounts/accounts?start=20&limit=10"
},
"collection": {
"href": "/accounts/accounts"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/account/v1.0.0/profile.json",
"name": "My basic savings account",
"title": "John Smith",
"state": "active",
"balance": {
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
},
"accountNumbers": {
"masked": "*************3210"
},
"_links": {
"self": {
"href": "/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:product": {
"href": "/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
}
}
}
]
}
}
Account Collection
Properties
Schema Name | Description |
---|---|
Account Collection | any Collection of accounts. The items in the collection are ordered in the _embedded object with name items . The top-level _links object may contain pagination links (self , next , prev , first , last , collection .) |
allOf
Schema Name | Description |
---|---|
anonymous | collection A collection of resources. |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_embedded | object undefined |
items | [summaryAccount] An array containing a page of account items. |
abstractResource
{
"_profile": "https://api.apiture.com/schemas/example/v1.0.0/profile.json",
"_links": {
"self": {
"href": "{uri of current resource}"
}
}
}
Abstract Resource
Properties
Schema Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
collection
{
"_profile": "https://api.apiture.com/schemas/example/v1.0.0/profile.json",
"_links": {
"self": {
"href": "{uri of current resource}"
}
},
"count": 0,
"start": 0,
"limit": 0,
"name": "string"
}
Collection
Properties
Schema Name | Description |
---|---|
Collection | any A collection of resources. |
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
count | integer The total number of items in the collection. |
start | integer The start index of this page of items. |
limit | integer The maximum number of items per page. |
name | string The name of the collection. |
root
{
"id": "apiName",
"name": "API name",
"apiVersion": "0.0.1-SNAPSHOT",
"_profile": "https://api.apiture.com/schemas/apiRoot/v1.0.0/profile.json",
"_links": {}
}
API Root
Properties
Schema Name | Description |
---|---|
API Root | any A HAL response, with hypermedia _links for the top-level resources and operations in API. |
allOf
Schema Name | Description |
---|---|
anonymous | abstractResource An augmented HAL resource representation. This model contains hypermedia _links , and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error , but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links . |
and
Schema Name | Description |
---|---|
anonymous | object undefined |
_id | string This API's unique ID. |
name | string This API's name. |
apiVersion | string This API's version. |
errorResponse
{
"_profile": "https://api.apiture.com/schemas/error/v1.0.0/.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"_profile": "https://api.apiture.com/schemas/error/v1.0.0/profile.json",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "http://docs.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Error Response
Properties
Schema Name | Description |
---|---|
Error Response | abstractResource Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details. |
error
{
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"_profile": "https://api.apiture.com/schemas/error/v1.0.0/profile.json",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "http://docs.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
Error
Properties
Schema Name | Description |
---|---|
message | string (required) A localized message string describing the error condition. |
_id | string A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string. |
statusCode | integer The HTTP status code associate with this error. minimum: 100 maximum: 599 |
type | string An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode . For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet . |
occurredAt | string(date-time) An RFC 3339 UTC time stamp indicating when the error occurred. |
attributes | attributes Data attribute associated with the error, such as values or constraints. |
remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
_embedded | object Optional embedded array of errors. This field may not exist if the error does not have nested errors. |
items | [errorResponse] An array of error objects. |
attributes
{}
Attributes
Properties
No properties
links
{
"property1": {
"href": "http://example.com",
"type": "string",
"templated": true,
"title": "string",
"deprecation": "http://example.com",
"profile": "http://example.com"
},
"property2": {
"href": "http://example.com",
"type": "string",
"templated": true,
"title": "string",
"deprecation": "http://example.com",
"profile": "http://example.com"
}
}
Links
Properties
Schema Name | Description |
---|---|
additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property. |
link
{
"href": "http://example.com",
"type": "string",
"templated": true,
"title": "string",
"deprecation": "http://example.com",
"profile": "http://example.com"
}
Link
Properties
Schema Name | Description |
---|---|
href | string(uri) (required) The URI or URI template for the resource/operation this link refers to. |
type | string The media type for the resource. |
templated | boolean If true, the link's href is a URI template. |
title | string An optional human-readable localized title for the link. |
deprecation | string(uri) If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation. |
profile | string(uri) The URI of a profile document, a JSON document which describes the target resource/operation. |
balance
{
"current": "3450.30",
"available": "3450.30",
"currency": "USD"
}
The balance of the account. This is derived data and not mutable through the API. Balances may be negative, indicating a deficit or loan balance.
Properties
Schema Name | Description |
---|---|
current | string The string representation of the current account balance. This is an exact decimal representation of the numeric balance value. The current balance does not include pending transactions. read-only |
value | string The current balance. Note: This property is deprecated. Use balance.current instead. This property will be removed in the next release of this service. read-only |
available | string The string representation of the exact decimal available balance. For deposit accounts, this reflects the amount that may be used for withdrawals or transfers. This field does not apply to debit accounts such as loans. read-only |
currency | string The ISO 4217 currency code for this balance. read-only |
rate
{
"value": "1.40",
"type": "apr"
}
The interest rate of the account. For deposit accounts, this is the rate of return; for loan accounts, this is the interest rate charged on balances.
Properties
Schema Name | Description |
---|---|
value | string The rate, expressed as an decimal perscentage in order to represent the rate exactly. read-only |
type | interestRateType The interest rate type. read-only |
interestRateType
"apr"
*The rate type. Rate types are:
apr
- annual percentage rateapy
- annual percentage yield*
Properties
Schema Name | Description |
---|---|
anonymous | string The rate type. Rate types are:
|
Enumerated Values
Property | Value |
---|---|
anonymous | apr |
anonymous | apy |