External Account Verification v0.19.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.
This API allows financial institutions to verify their customer's external accounts. An external account is defined as a customer's account held at a different financial institution.
Two sets of operations can be utilized to accomplish the verification of an external account: instant verification and micro-deposit. Both operations are asynchronous, which means that upon resource creation the API will return a resource with state
equal to pending
. Once the verification completes, the state
will be updated to verified
or failed
to indicate the result of the operation.
Instant Account Verification (IAV)
This process verifies accounts held at a financial institution within seconds by authenticating via user account credentials with the external financial institution and multi-factor challenges when available.
Micro-Deposit Verification (MD)
This is an alternative verification method for institutions that don't support IAV. When this verification is initiated, Apiture creates two deposits (typically less than $0.99) to the customer account to be verified, followed by a debit which balances those deposits. Once the transactions post to the user account, the account owner should find the deposits on their external account and submit the two amounts to the micro-deposits resources. This verifies that the user has ownership or access to the external account. Please note that the micro-deposit transactions may take up to two business days to be reflected on the external financial institution.
Error Types
Error responses in this API may have one of the type
values described below.
See Errors for more information
on error responses and error types.
duplicateAccountVerification
Description: A verification resource with the same account number and routing number already exists.
Remediation: Try verifying a different account.
groupNotFound
Description: No Groups were found for the specified groupName.
Remediation: Check to make sure that the supplied groupName corresponds to an apiture group resource.
ineligibleAccount
Description: This account is inelegible to be linked.
Remediation: Try to use a different routing number.
invalidContactId
Description: No contact was found for the specified contact URI.
Remediation: Check to make sure that the supplied contact URI corresponds to an apiture contact resource.
invalidInstitutionId
Description: No institution was found for the specified institutionId.
Remediation: Check to make sure the supplied institutionId corresponds to an Apiture institution resource.
invalidLimitParam
Description: The supplied limit
query parameter is invalid.
Remediation: pass a valid numeric pagination limit (and integer from 1 to 1000).
invalidStartParam
Description: The supplied start
query parameter is invalid.
Remediation: pass a valid numeric pagination start index (and integer, 0 or greater).
invalidState
Description: The current state of the resource is not valid to perform the operation.
Remediation: Retry the operation when the condition is met.
invalidUnmaskedQueryParam
Description: Only the values of false or true can be supplied with the unmasked query parameter.
Remediation: Resubmit the operation without the query parameter or check the documentation for valid query params.
invalidVerificationId
Description: No Verification instance was found for the specified verificationId.
Remediation: Check to make sure that the supplied verificationId corresponds to an apiture verification resource.
malformedLimitParam
Description: The supplied limit
query parameter is malformed.
Remediation: Ensure the value of the supplied limit
query parameter is a valid integer.
malformedRequestBody
Description: The supplied request body was malformed.
Remediation: Check to make sure that your request body exists and that it does not contain syntax errors.
malformedRequestBodyMissingContactUri
Description: The supplied request body did not contain the expected Contact URI.
Remediation: Check to make sure that your request body exists, that it does not contain syntax errors and has the contact URI in _links.
malformedStartParam
Description: The supplied start
query parameter is malformed.
Remediation: Ensure the value of the supplied start
query parameter is a valid integer.
missingAccountAuthenticationHeader
Description: The apiture-account-authentication header is missing.
Remediation: Check to make sure that you are passing the apiture-account-authentication header and try the request again.
noVerificationIdGivenForReport
Description: No verification query parameter was given for the verification report generation.
Remediation: Resubmit the operation with a verificationId in the query parameter, i.e. ?verification={verificationId}.
valueNotFound
Description: No Group values were found for the specified groupName and valueName.
Remediation: Check to make sure that the supplied groupName and valueName corresponds to an apiture group and value resource.
yodleeAccountNotReturned
Description: No account was returned by Yodlee. This is usually because the providerAccount did not pass login or MFA.
Remediation: Verify that the instantVerification for the given account was successful.
Download OpenAPI Definition (YAML)
Base URLs:
Authentication
- API Key (
apiKey
)- header parameter: API-Key
- API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the
API-Key: {api-key}
request header.
- OAuth2 authentication (
accessToken
)- OAuth2 client access token authentication. The client authenticates against the server at
authorizationUrl
, passing the client's privateclientId
(and optionalclientSecret
) as part of this flow. The client obtains an access token from the server attokenUrl
. It then passes the received access token via theAuthorization: Bearer {access-token}
header in subsequent API calls. The authorization process also returns a refresh token which the client should use to renew the access token before it expires. - Flow:
authorizationCode
- Authorization URL = https://auth.devbank.apiture.com/auth/oauth2/authorize
- Token URL = https://api.devbank.apiture.com/auth/oauth2/token
- OAuth2 client access token authentication. The client authenticates against the server at
Scope | Scope Description |
---|---|
banking/read |
Read access to (behavior TBD). |
banking/write |
Write (update) access to (behavior TBD). |
banking/delete |
Delete access to (behavior TBD). |
banking/full |
Full access to (behavior TBD). |
Account Verification
Creation and Retrieval of Account Verifications
getMicroDepositVerifications
Code samples
# You can also use wget
curl -X GET /accountVerifications/microDepositVerifications \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/microDepositVerifications HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/microDepositVerifications',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/microDepositVerifications',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/microDepositVerifications',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/microDepositVerifications', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/microDepositVerifications");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/microDepositVerifications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of micro-deposit verification resources
GET /microDepositVerifications
Return a paginated sortable filterable searchable collection of micro-deposit verifications. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first institution item to include in this page. The default 0 denotes the beginning of the collection. |
limit (query) |
integer(int32) The maximum number of institution representations to return in this page. Default: 100 |
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. |
externalAccount (query) |
string Return verifications for the external account identified by this query parameter. The value is the unique _id or URL of an external account. |
Try It
Example responses
200 Response
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {
"items": [
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"_id": "string",
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-28T10:19:24.000Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
]
},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"count": 0,
"start": 0,
"limit": 0,
"name": "string"
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: microDepositVerifications |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. 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 |
Status | Description |
---|---|
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 |
createMicroDepositVerification
Code samples
# You can also use wget
curl -X POST /accountVerifications/microDepositVerifications \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST /accountVerifications/microDepositVerifications HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/microDepositVerifications',
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/accountVerifications/createMicroDepositVerification/v1.0.0/profile.json",
"routingNumber": "054100318",
"accountNumbers": {
"full": "7432172992"
},
"ifxType": "SDA"
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/microDepositVerifications',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/accountVerifications/microDepositVerifications',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/accountVerifications/microDepositVerifications', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/microDepositVerifications");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accountVerifications/microDepositVerifications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new micro-deposit verification resource
POST /microDepositVerifications
This operation is used to verify an account using micro-deposits. The verification must contain full unmasked account numbers.
Body parameter
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/createMicroDepositVerification/v1.0.0/profile.json",
"routingNumber": "054100318",
"accountNumbers": {
"full": "7432172992"
},
"ifxType": "SDA"
}
Parameters
Parameter | Description |
---|---|
body (body) |
createMicroDepositVerification (required) The data necessary to create a new account verification. |
Try It
Example responses
201 Response
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"_id": "string",
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-28T10:19:24.000Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
Responses
Status | Description |
---|---|
201 | Created |
Created | |
Schema: microDepositVerification |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. 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 |
Status | Description |
---|---|
409 | Conflict |
Conflict. An account verification that matches the request already exists. The This error response may have one of the following |
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. |
getMicroDepositVerification
Code samples
# You can also use wget
curl -X GET /accountVerifications/microDepositVerifications/{verificationId} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/microDepositVerifications/{verificationId} HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/microDepositVerifications/{verificationId}',
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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/microDepositVerifications/{verificationId}',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/microDepositVerifications/{verificationId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/microDepositVerifications/{verificationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/microDepositVerifications/{verificationId}");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/microDepositVerifications/{verificationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this micro-deposit verification resource
GET /microDepositVerifications/{verificationId}
Return a HAL representation of this account verification resource.
Parameters
Parameter | Description |
---|---|
verificationId (path) |
string (required) The unique identifier of this account verificaton. 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. |
Try It
Example responses
200 Response
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"_id": "string",
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-28T10:19:24.000Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: microDepositVerification |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such account verification resource at the specified This error response may have one of the following | |
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 institution resource. |
patchMicroDepositVerification
Code samples
# You can also use wget
curl -X PATCH /accountVerifications/microDepositVerifications/{verificationId} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PATCH /accountVerifications/microDepositVerifications/{verificationId} 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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/microDepositVerifications/{verificationId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/microDepositVerifications/{verificationId}',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch '/accountVerifications/microDepositVerifications/{verificationId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('/accountVerifications/microDepositVerifications/{verificationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/microDepositVerifications/{verificationId}");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/accountVerifications/microDepositVerifications/{verificationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this micro-deposit verification resource
PATCH /microDepositVerifications/{verificationId}
Perform a partial update of this micro-deposit verification resource. To associate this account verification with an external account resource, include an apiture:externalAccount
link inside the _links
collection, with the link's href
set to that external account's URL.
Body parameter
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
Parameters
Parameter | Description |
---|---|
verificationId (path) |
string (required) The unique identifier of this account verificaton. 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) |
microDepositVerification (required) The data necessary to update a micro-deposit verification resource. |
Try It
Example responses
200 Response
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"_id": "string",
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-28T10:19:24.000Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: microDepositVerification |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The user is not entitled to the target external account. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such account verification resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
500 | Internal Server Error |
Server Error. Fatal error has occurred. | |
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 institution resource. |
verifyMicroDepositAmounts
Code samples
# You can also use wget
curl -X POST /accountVerifications/microDepositVerifications/{verificationId} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST /accountVerifications/microDepositVerifications/{verificationId} 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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/microDepositVerifications/{verificationId}',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"amounts": [
{
"value": ".02",
"currency": "USD",
"baseType": "credit"
},
{
"value": ".04",
"currency": "USD",
"baseType": "credit"
},
{
"value": ".06",
"currency": "USD",
"baseType": "debit"
}
]
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/microDepositVerifications/{verificationId}',
{
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',
'If-Match' => 'string',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/accountVerifications/microDepositVerifications/{verificationId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/accountVerifications/microDepositVerifications/{verificationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/microDepositVerifications/{verificationId}");
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"},
"If-Match": []string{"string"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accountVerifications/microDepositVerifications/{verificationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Verify micro-deposit amounts
POST /microDepositVerifications/{verificationId}
Complete the verification by providing the amount values from the micro-deposit transactions.
Body parameter
{
"amounts": [
{
"value": ".02",
"currency": "USD",
"baseType": "credit"
},
{
"value": ".04",
"currency": "USD",
"baseType": "credit"
},
{
"value": ".06",
"currency": "USD",
"baseType": "debit"
}
]
}
Parameters
Parameter | Description |
---|---|
verificationId (path) |
string (required) The unique identifier of this account verificaton. 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) |
microDepositVerificationAmounts (required) The amounts from a micro-deposit. |
Try It
Example responses
200 Response
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"_id": "string",
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-28T10:19:24.000Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: microDepositVerification |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such account verification resource at the specified This error response may have one of the following | |
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 institution resource. |
getMicroDepositVerificationAccounts
Code samples
# You can also use wget
curl -X GET /accountVerifications/microDepositVerifications/{verificationId}/accounts \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/microDepositVerifications/{verificationId}/accounts HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/microDepositVerifications/{verificationId}/accounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/microDepositVerifications/{verificationId}/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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/microDepositVerifications/{verificationId}/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/microDepositVerifications/{verificationId}/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/microDepositVerifications/{verificationId}/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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/microDepositVerifications/{verificationId}/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Returns a collection of external accounts related to this verification resource
GET /microDepositVerifications/{verificationId}/accounts
Once a verification is successful, this operation retrieves the accounts associated with it. The response includes the external account entities pertaining to the verification.
Parameters
Parameter | Description |
---|---|
verificationId (path) |
string (required) The unique identifier of this account verificaton. This is an opaque string. |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/simpleExternalAccounts/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
}
},
"externalAccounts": [
{
"id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"name": "My account at 3rdParty Bank",
"_profile": "https://api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.0.0/profile.json",
"ifxType": "SDA",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: simpleExternalAccounts |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. 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 |
Status | Description |
---|---|
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 |
getInstantVerifications
Code samples
# You can also use wget
curl -X GET /accountVerifications/instantVerifications \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/instantVerifications HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/instantVerifications',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/instantVerifications',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/instantVerifications',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/instantVerifications', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/instantVerifications");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/instantVerifications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of instant verifications
GET /instantVerifications
Return a paginated sortable filterable searchable collection of account verifications. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first instant verification item to include in this page. The default 0 denotes the beginning of the collection. |
limit (query) |
integer(int32) The maximum number of instant verification representations to return in this page. Default: 100 |
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. |
externalAccount (query) |
string Return verifications for the external account identified by this query parameter. The value is the unique _id or URL of an external account. |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/instantVerifications/v1.0.0/profile.json"
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: instantVerifications |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. 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 |
Status | Description |
---|---|
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 |
createInstantVerification
Code samples
# You can also use wget
curl -X POST /accountVerifications/instantVerifications \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST /accountVerifications/instantVerifications HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/instantVerifications',
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/accountVerifications/createInstantVerification/v1.0.0/profile.json",
"_links": {
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"authenticationFields": [
{
"username": {
"value": "user123"
}
},
{
"password": {
"value": "pass123"
}
},
{
"pin": {
"value": 123
}
}
]
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/instantVerifications',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/accountVerifications/instantVerifications',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/accountVerifications/instantVerifications', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/instantVerifications");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accountVerifications/instantVerifications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new instant verification resource
POST /instantVerifications
This type of verification requires to send encrypted login fields to initiate an authentication process with the external financial institution. A GET
to /institutions/{institutionId}/authenticationFields
must be executed to retrieve the required login fields. This operation returns a verification resource with a pending
status. In order to check for status updates, a client must continuously poll the resource via GET
to the /instantVerifications
endpoint.
Body parameter
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/createInstantVerification/v1.0.0/profile.json",
"_links": {
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"authenticationFields": [
{
"username": {
"value": "user123"
}
},
{
"password": {
"value": "pass123"
}
},
{
"pin": {
"value": 123
}
}
]
}
Parameters
Parameter | Description |
---|---|
body (body) |
createInstantVerification (required) The data necessary to create a new account verification. |
Try It
Example responses
201 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:externalAccounts": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
},
"apiture:verificationReport": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
},
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
},
"apiture:externalAccount": {
"href": "https://api.devbank.apiture.comaccountVerifications/accounts/externalAccounts/ee406e5b-d2c1-4198-a770-7d25326663fb"
}
},
"state": "pending",
"mfaRequired": true,
"mfaPrompt": [
{
"key": 1,
"type": "TEXT",
"value": "Send code to",
"choices": [
{
"key": 1,
"value": "Mobile XXX-XXX-9771"
},
{
"key": 2,
"value": "Mobile XXX-XXX-9881"
}
]
}
]
}
Responses
Status | Description |
---|---|
201 | Created |
Created | |
Schema: instantVerification |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
500 | Internal Server Error |
Server Error. Fatal error has occurred. | |
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. |
getInstantVerification
Code samples
# You can also use wget
curl -X GET /accountVerifications/instantVerifications/{verificationId} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/instantVerifications/{verificationId} HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/instantVerifications/{verificationId}',
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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/instantVerifications/{verificationId}',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/instantVerifications/{verificationId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/instantVerifications/{verificationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/instantVerifications/{verificationId}");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/instantVerifications/{verificationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this instant verification resource
GET /instantVerifications/{verificationId}
Return a HAL representation of this account verification resource.
Parameters
Parameter | Description |
---|---|
verificationId (path) |
string (required) The unique identifier of this account verificaton. 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. |
Try It
Example responses
200 Response
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:externalAccounts": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
},
"apiture:verificationReport": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
},
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
},
"apiture:externalAccount": {
"href": "https://api.devbank.apiture.comaccountVerifications/accounts/externalAccounts/ee406e5b-d2c1-4198-a770-7d25326663fb"
}
},
"state": "pending",
"mfaRequired": true,
"mfaPrompt": [
{
"key": 1,
"type": "TEXT",
"value": "Send code to",
"choices": [
{
"key": 1,
"value": "Mobile XXX-XXX-9771"
},
{
"key": 2,
"value": "Mobile XXX-XXX-9881"
}
]
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: instantVerification |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such account verification resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
500 | Internal Server Error |
Server Error. Fatal error has occurred. | |
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 instant verification resource. |
updateInstantVerification
Code samples
# You can also use wget
curl -X PATCH /accountVerifications/instantVerifications/{verificationId} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PATCH /accountVerifications/instantVerifications/{verificationId} 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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/instantVerifications/{verificationId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://api.apiture.com/schemas/accountVerifications/updateInstantVerification/v1.0.0/profile.json",
"_links": {
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/institutions/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"mfa": {
"answers": [
{
"key": 1,
"value": "Mobile XXX-XXX-9771"
}
]
}
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/instantVerifications/{verificationId}',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch '/accountVerifications/instantVerifications/{verificationId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('/accountVerifications/instantVerifications/{verificationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/instantVerifications/{verificationId}");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "/accountVerifications/instantVerifications/{verificationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this instant verification resource
PATCH /instantVerifications/{verificationId}
This operation must be used to update a verification resource waiting for user input, that is when the mfaRequired
field is set to true and the state of the resource is pending
. To associate this account verification with an external account resource, include an apiture:externalAccount
link inside the _links
collection, with the link's href
set to that external account's URL.
Body parameter
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/updateInstantVerification/v1.0.0/profile.json",
"_links": {
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/institutions/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"mfa": {
"answers": [
{
"key": 1,
"value": "Mobile XXX-XXX-9771"
}
]
}
}
Parameters
Parameter | Description |
---|---|
verificationId (path) |
string (required) The unique identifier of this account verificaton. 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) |
updateInstantVerification (required) The data necessary to update an instant verification resource. |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:externalAccounts": {
"href": "https://api.devbank.apiture.com/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
},
"apiture:verificationReport": {
"href": "https://api.devbank.apiture.comaccountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:externalAccount": {
"href": "https://api.devbank.apiture.comaccountVerifications/accounts/externalAccounts/ee406e5b-d2c1-4198-a770-7d25326663fb"
}
},
"state": "pending",
"mfaRequired": true,
"mfaPrompt": [
{
"key": 1,
"type": "TEXT",
"value": "Input the received code"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: Inline |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
403 | Forbidden |
Forbidden. The user is not entitled to the target external account. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such account verification resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
500 | Internal Server Error |
Server Error. Fatal error has occurred. | |
Schema: errorResponse |
Response Schema
Status Code 200
Property 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. |
»» Link (v1.0.0) | 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. This schema was resolved from common/link . |
»»» 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. |
»» _embedded | object The objects which participate in this verification resource. |
»» _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. |
»»» 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 Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type . |
»»»» Attribute Value (v2.0.0) | attributeValue The data associated with this attribute. This schema was resolved from common/attributeValue . |
»»» remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
»»» errors | [error] An optional array of nested error objects. This property is not always present. |
»»»» Error (v2.0.0) | error Describes an error in an API request or in a service called via the API. This schema was resolved from common/error . |
»»»»» 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 Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type . |
»»»»»» Attribute Value (v2.0.0) | attributeValue The data associated with this attribute. This schema was resolved from common/attributeValue . |
»»»»» remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
»»»»» errors | [error] An optional array of nested error objects. This property is not always present. |
»»»»» _links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links . |
»»»»»» Link (v1.0.0) | 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. This schema was resolved from common/link . |
»»»»» _links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links . |
»»»» _id | string The unique identifier for this resource. This is an immutable opaque string. |
»»»» state | string The state of the verification, one of the following: * pending - account verification is pending * mfaPending - multi-factor authentication is pending * mfaSubmitted - multi-factor authentication has been submitted * verified - the account verification succeeded * failed - the account verification failed |
»»»» completedAt | string(date-time) An ISO 8601 UTC time stamp indicating when the verification completed (has a status different from pending). |
»»»» createdAt | string(date-time) An ISO 8601 UTC time stamp indicating when the verification report was created. |
»»»» mfaRequired | boolean Indicates if multi-factor authentication (MFA) is required. |
»»»» mfaPrompt | [question] Representation of a multi-factor authentication challenge. |
»»»»» MFA Question (v1.0.0) | question Representation of a multi-factor authentication question. The supported question formats are text and image, in which case the encoded payload is available under the content field. |
»»»»»» key | string (required) The unique key for this question's fields. |
»»»»»» content | string The question's content: the token value, or image URI. |
»»»»»» _links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links . |
»»»»»» choices | [choice] Optional array of choices for this question. |
»»»»»»» MFA Choice (v1.0.0) | choice Representation of question choice. |
»»»»»»»» type | string The user interface type of choice. |
»»»»»»»» key | string The choice's unique key. |
»»»»»»»» value | string The choice's value. |
»»»»»»»» content | string The content specific to this choice. |
»»»»»»»» _links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links . |
»»»»»»» type | string The question type. |
»»»»»»» value | string The question text. |
»»»»»» stateMessages | [object] An array of messages providing aditional information of the status of the verification. |
Enumerated Values
Property | Value |
---|---|
state | pending |
state | mfaPending |
state | mfaSubmitted |
state | verified |
state | failed |
type | image |
type | text |
type | option |
type | checkbox |
type | radio |
type | question |
type | token |
type | image |
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 instant verification resource. |
getInstantVerificationAccounts
Code samples
# You can also use wget
curl -X GET /accountVerifications/instantVerifications/{verificationId}/accounts \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/instantVerifications/{verificationId}/accounts HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/instantVerifications/{verificationId}/accounts',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/instantVerifications/{verificationId}/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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/instantVerifications/{verificationId}/accounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/instantVerifications/{verificationId}/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/instantVerifications/{verificationId}/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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/instantVerifications/{verificationId}/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Returns a collection of external accounts related to this verification resource
GET /instantVerifications/{verificationId}/accounts
Once a verification is successful, this operation retrieves the accounts associated with it. The response includes an array of embeded external account entities pertaining to the verified FI account.
Parameters
Parameter | Description |
---|---|
verificationId (path) |
string (required) The unique identifier of this account verificaton. This is an opaque string. |
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
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/simpleExternalAccounts/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
}
},
"externalAccounts": [
{
"id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"name": "My account at 3rdParty Bank",
"_profile": "https://api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.0.0/profile.json",
"ifxType": "SDA",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: simpleExternalAccounts |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such account verification resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
500 | Internal Server Error |
Server Error. Fatal error has occurred. | |
Schema: errorResponse |
Verification Report
Account Verification Reports
createVerificationReport
Code samples
# You can also use wget
curl -X POST /accountVerifications/verificationReports?verification=string \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST /accountVerifications/verificationReports?verification=string HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/verificationReports',
method: 'post',
data: '?verification=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/verificationReports?verification=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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post '/accountVerifications/verificationReports',
params: {
'verification' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('/accountVerifications/verificationReports', params={
'verification': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/verificationReports?verification=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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/accountVerifications/verificationReports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new verification report resource
POST /verificationReports
A verification report is an additional layer of validation that can be run against a verification resource. It uses available account aggregation data from an external provider to generate a pass/fail result based on pre-configured risk factors. This operation does not create a new persisent resource; the report is transient and returned in the response body only.
Parameters
Parameter | Description |
---|---|
verification (query) |
string (required) A string which identifies a specific verification resource. The value may be a {verificationId} or a verification URI. |
Try It
Example responses
200 Response
{
"state": "failed",
"accountRiskFactors": [
{
"riskCode": 101,
"description": "Account owner first name does not match"
},
{
"riskCode": 102,
"description": "Account owner last name does not match"
},
{
"riskCode": 103,
"description": "Account owner zip code does not match"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: verificationReport |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no resource at the specified This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
500 | Internal Server Error |
Server Error. Fatal error has occurred. | |
Schema: errorResponse |
Institutions
Information about Financial Institutions
getInstitutions
Code samples
# You can also use wget
curl -X GET /accountVerifications/institutions \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/institutions HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/institutions',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/institutions',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/institutions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/institutions', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/institutions");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/institutions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of institutions
GET /institutions
Return a paginated sortable filterable searchable collection of registered external financial institutions. This list is supplied by a third party and is immutable (there are no operations to add, modify, or remove institutions). The links in the response include pagination links.
In adition to the standard sorting mechanisms, it is possible to sort institutions by popularity by using the popularity
criteria, such as ?sortBy=popularity
.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first institution item to include in this page. The default 0 denotes the beginning of the collection. |
limit (query) |
integer(int32) The maximum number of financial institution representations to return in this page. Default: 100 |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 .This collection may be sorted by following properties: • name • label |
filter (query) |
string Optional filter criteria. See filtering. This collection may be filtered by following properties and functions: • Property name using functions eq , ne , lt , le , gt , ge , startsWith , endsWith , contains , search • Property label using functions eq , ne , lt , le , gt , ge , startsWith , endsWith , contains , search • Property _id using functions eq , in • Property featured using functions eq |
q (query) |
string Optional search string. See searching. |
name (query) |
string Subset the institutions collection to those with this name value. Use | to separate multiple values. For example, ?name=Bartell will match only items whose name is Bartell; ?name=Bartell|kirsten will match items whose name is Bartell or kirsten. This is combined with an implicit and with other filters if they are used. See filtering. |
label (query) |
string Subset the institutions collection to those with this label value. Use | to separate multiple values. For example, ?label=email_verification matches only items whose label is email_verification ; ?label=email_verification|account_verification will match items whose label is email_verification or account_verification . This is combined with an implicit and with other filters if they are used. See filtering. |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/institutions/v1.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "external institutions",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions?start=10&limit=10"
},
"first": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions?start=0&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions?start=20&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"name": "Example Banks, Inc",
"_profile": "https://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
"label": "Banks",
"featured": true,
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
},
"icon": {
"href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
},
"home": {
"href": "https://bank.example.com/"
}
}
},
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365d",
"name": "Example Bank.",
"_profile": "https://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
"label": "Example Bank",
"featured": true,
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
},
"icon": {
"href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
},
"home": {
"href": "https://bank.example.com/"
}
}
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: institutions |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The This error response may have one of the following | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
getInstitution
Code samples
# You can also use wget
curl -X GET /accountVerifications/institutions/{institutionId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/institutions/{institutionId} HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/institutions/{institutionId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/institutions/{institutionId}',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/institutions/{institutionId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/institutions/{institutionId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/institutions/{institutionId}");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/institutions/{institutionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this external financial institution
GET /institutions/{institutionId}
Return a HAL representation of this external financial institution resource.
The links in an institution may contain the following:
home
- Home URL of the financial website.icon
- URL referencing an institution icon. The possible image formats are SVG and PNG.
Parameters
Parameter | Description |
---|---|
institutionId (path) |
string (required) The unique identifier of this institution resource. This is an opaque string. |
Try It
Example responses
200 Response
{
"name": "Example Bank Bancshares, Inc.",
"label": "Example Bank",
"featured": true,
"_profile": "https://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
},
"icon": {
"href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
},
"home": {
"href": "https://www.bank.example.bank/"
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: institution |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no institution resource at the specified This error response may have one of the following | |
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 institution resource. |
getInstitutionFields
Code samples
# You can also use wget
curl -X GET /accountVerifications/institutions/{institutionId}/authenticationFields \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/institutions/{institutionId}/authenticationFields HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/institutions/{institutionId}/authenticationFields',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/institutions/{institutionId}/authenticationFields',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/institutions/{institutionId}/authenticationFields',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/institutions/{institutionId}/authenticationFields', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/institutions/{institutionId}/authenticationFields");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/institutions/{institutionId}/authenticationFields", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return descriptions of the fields required to authenticate with the external institution
GET /institutions/{institutionId}/authenticationFields
This endpoint returns descriptions of the fields required to authenticate with the external institution.
Parameters
Parameter | Description |
---|---|
institutionId (path) |
string (required) The unique identifier of this institution resource. This is an opaque string. |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/authenticationFieldsResponse/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c/authenticationFields"
}
},
"fields": [
{
"username": {
"title": "Online ID",
"value": "user123",
"type": "string"
}
},
{
"password": {
"title": "Password",
"value": "pass123",
"type": "string"
}
},
{
"pin": {
"title": "PIN",
"value": 123,
"type": "string"
}
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: authenticationFieldsResponse |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no institution resource at the specified This error response may have one of the following | |
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 institution resource. |
Configuration
Account Verifications Service Configuration
getConfiguration
Code samples
# You can also use wget
curl -X GET /accountVerifications/configurations \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/configurations HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/configurations',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/configurations', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/configurations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Configuration definition for this API
GET /configurations
Returns the configuration for this API
Try It
Example responses
200 Response
{
"_links": {
"self": {
"href": "/configurations/configurations/"
},
"apiture:groups": {
"href": "/configurations/configurations/groups"
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: configuration |
getConfigurationGroups
Code samples
# You can also use wget
curl -X GET /accountVerifications/configurations/groups \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/configurations/groups HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations/groups',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations/groups',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/configurations/groups',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/configurations/groups', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations/groups");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/configurations/groups", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of configuration groups
GET /configurations/groups
Return a paginated sortable filterable searchable collection of configuration groups. The links in the response include pagination links.
Try It
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "configurationGroups",
"_links": {
"self": {
"href": "/configurations/configurations/groups?start=10&limit=10"
},
"first": {
"href": "/configurations/configurations/groups?start=0&limit=10"
},
"next": {
"href": "/configurations/configurations/groups?start=20&limit=10"
},
"collection": {
"href": "/configurations/configurations/groups"
}
},
"_embedded": {
"items": [
{
"_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/configurations/groups/basic"
}
},
"name": "basic",
"label": "Basic Settings",
"description": "The basic settings for the Transfers API"
},
{
"_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/configurations/groups/calendar"
}
},
"name": "calendar",
"label": "Calendar",
"description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: configurationGroups |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. 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 |
Status | Description |
---|---|
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 |
getConfigurationGroup
Code samples
# You can also use wget
curl -X GET /accountVerifications/configurations/groups/{groupName} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/configurations/groups/{groupName} HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations/groups/{groupName}',
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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations/groups/{groupName}',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/configurations/groups/{groupName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/configurations/groups/{groupName}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations/groups/{groupName}");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/configurations/groups/{groupName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this configuration group
GET /configurations/groups/{groupName}
Return a HAL representation of this configuration group resource.
Parameters
Parameter | Description |
---|---|
groupName (path) |
string (required) The unique name of this configuration group. |
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. |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/configurations/groups/basic"
}
},
"name": "basic",
"label": "Basic Settings",
"description": "The basic settings for the Transfers API",
"schema": {
"type": "object",
"properties": {
"dailyLimit": {
"type": "number",
"description": "The daily limit for the number of transfers"
},
"cutoffTime": {
"type": "string",
"format": "time",
"description": "The cutoff time for scheduling transfers for the current day"
}
}
},
"values": {
"dailyLimit": 5,
"cutoffTime": "17:30:00"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: configurationGroup |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such configuration group resource at the specified {groupName} 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 may be provided in an If-None-Match request header for GET operations for this configuration group resource. |
getConfigurationGroupSchema
Code samples
# You can also use wget
curl -X GET /accountVerifications/configurations/groups/{groupName}/schema \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/configurations/groups/{groupName}/schema HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations/groups/{groupName}/schema',
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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations/groups/{groupName}/schema',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/configurations/groups/{groupName}/schema',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/configurations/groups/{groupName}/schema', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations/groups/{groupName}/schema");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/configurations/groups/{groupName}/schema", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch the schema for this configuration group
GET /configurations/groups/{groupName}/schema
Return a HAL representation of this configuration group schema resource.
Parameters
Parameter | Description |
---|---|
groupName (path) |
string (required) The unique name of this configuration group. |
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. |
Try It
Example responses
200 Response
{
"type": "object",
"properties": {
"dailyLimit": {
"type": "number",
"description": "The daily limit for the number of transfers"
},
"cutoffTime": {
"type": "string",
"format": "time",
"description": "The cutoff time for scheduling transfers for the current day"
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: configurationSchema |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such configuration group resource at the specified {groupName} 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 |
getConfigurationGroupValues
Code samples
# You can also use wget
curl -X GET /accountVerifications/configurations/groups/{groupName}/values \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/configurations/groups/{groupName}/values HTTP/1.1
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations/groups/{groupName}/values',
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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations/groups/{groupName}/values',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/configurations/groups/{groupName}/values',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'If-None-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/configurations/groups/{groupName}/values', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations/groups/{groupName}/values");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/configurations/groups/{groupName}/values", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch the values for the specified configuration group
GET /configurations/groups/{groupName}/values
Return a representation of this configuration group values resource.
Parameters
Parameter | Description |
---|---|
groupName (path) |
string (required) The unique name of this configuration group. |
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. |
Try It
Example responses
200 Response
{
"dailyLimit": 5,
"cutoffTime": 63000
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: configurationValues |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such configuration group resource at the specified {groupName} 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 |
updateConfigurationGroupValues
Code samples
# You can also use wget
curl -X PUT /accountVerifications/configurations/groups/{groupName}/values \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'If-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PUT /accountVerifications/configurations/groups/{groupName}/values 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',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations/groups/{groupName}/values',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"dailyLimit": 5,
"cutoffTime": 63000
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations/groups/{groupName}/values',
{
method: 'PUT',
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/accountVerifications/configurations/groups/{groupName}/values',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'If-Match': 'string',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/accountVerifications/configurations/groups/{groupName}/values', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations/groups/{groupName}/values");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/accountVerifications/configurations/groups/{groupName}/values", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update the values for the specified configuration group
PUT /configurations/groups/{groupName}/values
Perform a complete replacement of this set of values
Body parameter
{
"dailyLimit": 5,
"cutoffTime": 63000
}
Parameters
Parameter | Description |
---|---|
groupName (path) |
string (required) The unique name of this configuration group. |
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) |
configurationValues (required) |
Try It
Example responses
200 Response
{
"type": "object",
"properties": {
"dailyLimit": {
"type": "number",
"description": "The daily limit for the number of transfers"
},
"cutoffTime": {
"type": "string",
"format": "time",
"description": "The cutoff time for scheduling transfers for the current day"
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: configurationSchema |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. 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 |
Status | Description |
---|---|
403 | Forbidden |
Access denied. Only user allowed to update configurations is an admin. | |
Schema: errorResponse |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
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 |
getConfigurationGroupValue
Code samples
# You can also use wget
curl -X GET /accountVerifications/configurations/groups/{groupName}/values/{valueName} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET /accountVerifications/configurations/groups/{groupName}/values/{valueName} HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
{
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get '/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/accountVerifications/configurations/groups/{groupName}/values/{valueName}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations/groups/{groupName}/values/{valueName}");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/configurations/groups/{groupName}/values/{valueName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a single value associated with the specified configuration group
GET /configurations/groups/{groupName}/values/{valueName}
Fetch a single value associated with this configuration group. This provides convenient access to individual values of the configuration group.
The response is always a JSON value which can be parsed with a strict JSON parser. The response may be
- a primitive number, boolean, or quoted JSON string.
- a JSON array.
- a JSON object.
null
.
Examples:
"a string configuration value"
120
true
null
{ "borderWidth": 8, "foregroundColor": "blue" }
To update a specific value, use PUT /accountVerifications/configurations/groups/{groupName}/values/{valueName}
(operation updateConfigurationGroupValue
).
Parameters
Parameter | Description |
---|---|
groupName (path) |
string (required) The unique name of this configuration group. |
valueName (path) |
string (required) The unique name of a value in a configuration group. This is the name of the value in the schema . A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']* |
Try It
Example responses
200 Response
"string"
Responses
Status | Description |
---|---|
200 | OK |
OK. The value of the named configuraton value as a JSON string, number, boolean, array, or object. | |
Schema: string |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is either no such configuration group resource at the specified This error response may have one of the following | |
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 configuration group resource. |
updateConfigurationGroupValue
Code samples
# You can also use wget
curl -X PUT /accountVerifications/configurations/groups/{groupName}/values/{valueName} \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
PUT /accountVerifications/configurations/groups/{groupName}/values/{valueName} HTTP/1.1
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = 'string';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
{
method: 'PUT',
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',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put '/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('/accountVerifications/configurations/groups/{groupName}/values/{valueName}', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/configurations/groups/{groupName}/values/{valueName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
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"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "/accountVerifications/configurations/groups/{groupName}/values/{valueName}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update a single value associated with the specified configuration group
PUT /configurations/groups/{groupName}/values/{valueName}
Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration group as defined in the configuration group's schema
. The request body must conform to the configuration group's schema for the named {valueName}
. This operation is idempotent.
The request body must be a JSON value which can be parsed with a strict JSON parser. The response may be
- a primitive number, boolean, or quoted JSON string.
- a JSON array.
- a JSON object.
null
.
Examples:
"a string configuration value"
120
true
null
{ "borderWidth": 8, "foregroundColor": "blue" }
To fetch specific value, use GET /accountVerifications/configurations/groups/{groupName}/values/{valueName}
(operation getConfigurationGroupValue
).
Body parameter
"string"
Parameters
Parameter | Description |
---|---|
groupName (path) |
string (required) The unique name of this configuration group. |
valueName (path) |
string (required) The unique name of a value in a configuration group. This is the name of the value in the schema . A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']* |
body (body) |
string (required) The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or object. |
Try It
Example responses
200 Response
"string"
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: string |
Status | Description |
---|---|
403 | Forbidden |
Access denied. Only user allowed to update configurations is an admin. | |
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 configuration group resource. |
API
the Account Verifications API
getApi
Code samples
# You can also use wget
curl -X GET /accountVerifications/ \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
GET /accountVerifications/ HTTP/1.1
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
$.ajax({
url: '/accountVerifications/',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
fetch('/accountVerifications/',
{
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',
'API-Key' => 'API_KEY'
}
result = RestClient.get '/accountVerifications/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY'
}
r = requests.get('/accountVerifications/', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/");
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"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/", 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.
Try It
Example responses
200 Response
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
"_links": {}
}
Responses
getApiDoc
Code samples
# You can also use wget
curl -X GET /accountVerifications/apiDoc \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
GET /accountVerifications/apiDoc HTTP/1.1
Accept: application/json
var headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
$.ajax({
url: '/accountVerifications/apiDoc',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
fetch('/accountVerifications/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',
'API-Key' => 'API_KEY'
}
result = RestClient.get '/accountVerifications/apiDoc',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'API-Key': 'API_KEY'
}
r = requests.get('/accountVerifications/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("/accountVerifications/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"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/accountVerifications/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
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: Inline |
Response Schema
Schemas
abstractRequest
{
"_profile": "https://api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/applications/"
}
}
}
Abstract Request (v2.0.0)
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error
defined in abstractResource
.
This schema was resolved from common/abstractRequest
.
Properties
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. |
abstractResource
{
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
}
}
}
Abstract Resource (v2.0.0)
An abstract schema used to define other schemas for request and response bodies. This is a 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
.
This schema was resolved from common/abstractResource
.
Properties
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. |
accountNumbers
{
"masked": "*************3210",
"full": "9876543210"
}
Account Numbers (v1.0.0)
Different representations of an account number.
This schema was resolved from common/accountNumbers
.
Properties
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. read-only
minLength: 8
maxLength: 32
|
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. This value is derived and immutable.
read-only
minLength: 4
maxLength: 17
|
attributeValue
{}
Attribute Value (v2.0.0)
The data associated with this attribute.
This schema was resolved from common/attributeValue
.
Properties
attributes
{
"property1": {},
"property2": {}
}
Attributes (v2.0.0)
An optional map of name/value pairs which contains additional dynamic data about the resource.
This schema was resolved from common/attributes
.
Properties
Name | Description |
---|---|
additionalProperties | attributeValue The data associated with this attribute. This schema was resolved from |
authenticationField
{
"title": "Online ID",
"type": "string",
"value": "wellphunded1984"
}
Authentication Field (v1.0.0)
Description an authentication field used to authenticate against a financial institution. This service does not persist the user's responses to these field prompts.
Properties
Name | Description |
---|---|
title | string User readable title or label for this prompt/field. |
type | string Type of this field. |
value | string The data value the user entered for this field. |
format | string JSON schema format for this field.
|
authenticationFields
{
"username": {
"title": "Online ID",
"value": "user123",
"type": "string"
},
"password": {
"title": "Password",
"value": "pass123",
"type": "string",
"format": "password"
},
"pin": {
"title": "PIN",
"value": "123",
"type": "string"
}
}
Authentication Fields (v1.0.0)
A set of authentication fields necessary to authenticate against the external financial institution. The keys in this object are field names. The values describe each field prompt. The client application prompts the user for values for these fields. The underlying account verification service uses but does not persist the values of these fields to authenticate.
Properties
Name | Description |
---|---|
additionalProperties | authenticationField Description an authentication field used to authenticate against a financial institution. This service does not persist the user's responses to these field prompts. |
authenticationFieldsResponse
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/authenticationFieldsResponse/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c/authenticationFields"
}
},
"fields": [
{
"username": {
"title": "Online ID",
"value": "user123",
"type": "string"
}
},
{
"password": {
"title": "Password",
"value": "pass123",
"type": "string"
}
},
{
"pin": {
"title": "PIN",
"value": 123,
"type": "string"
}
}
]
}
Authentication Fields Response (v1.0.0)
Map of authentication fields.
Properties
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. |
fields | authenticationFields A set of authentication fields necessary to authenticate against the external financial institution. The keys in this object are field names. The values describe each field prompt. The client application prompts the user for values for these fields. The underlying account verification service uses but does not persist the values of these fields to authenticate. |
authorizationType
"primary"
Account Authorization type (v1.0.0)
The type of this account access authorization.
primary
the person is the primary owner of a personal account. There may be only one primary owner.joint
the person is a non-primary joint owner of a personal account.authorizedSigner
the person is an authorized signer for all business accounts owned by the organization.
authorizationType
strings may have one of the following enumerated values:
Value | Description |
---|---|
primary | Primary Account Holder: The primary account holder of a personal account. There may be only one primary owner. |
joint | Joint Account Holder: A non-primary joint account holder of a personal account. |
authorizedSigner | Authorized Signer: Authorized Signer of a business account. |
These enumeration values are further described by the label group named authorizationType
in the response from the getLabels
operation.
This schema was resolved from contacts/authorizationType
.
Type: string
Enumerated values: primary
joint
authorizedSigner
choice
{
"type": "image",
"key": "string",
"value": "string",
"content": "string",
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
}
}
MFA Choice (v1.0.0)
Representation of question choice.
Properties
Name | Description |
---|---|
type | string The user interface type of choice.
|
key | string The choice's unique key. |
value | string The choice's value. |
content | string The content specific to this choice. |
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
collection
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"count": 0,
"start": 0,
"limit": 0,
"name": "string"
}
Collection (v2.0.0)
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.
This schema was resolved from common/collection
.
Properties
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. |
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
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. |
configuration
{
"_links": {
"self": {
"href": "/configurations/configurations/"
},
"apiture:groups": {
"href": "/configurations/configurations/groups"
}
}
}
Configuration
Represents the configuration for various services.
This schema was resolved from configurations/configuration
.
Properties
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. This schema was resolved from |
configurationGroup
{
"_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/configurations/groups/basic"
}
},
"name": "basic",
"label": "Basic Settings",
"description": "The basic settings for the Transfers API",
"schema": {
"type": "object",
"properties": {
"dailyLimit": {
"type": "number",
"description": "The daily limit for the number of transfers"
},
"cutoffTime": {
"type": "string",
"format": "time",
"description": "The cutoff time for scheduling transfers for the current day"
}
}
},
"values": {
"dailyLimit": 5,
"cutoffTime": "17:30:00"
}
}
Configuration Group
Represents a configuration group.
This schema was resolved from configurations/configurationGroup
.
Properties
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. |
name | string The name of this configuration group, must be unique within the set of all resources of this type. minLength: 1
maxLength: 48
pattern: [a-zA-Z][-\w_]*
|
label | string The text label for this resource, suitable for presentation to the client. minLength: 1
maxLength: 128
|
description | string The full description for this resource, suitable for presentation to the client. minLength: 1
maxLength: 4096
|
schema | configurationSchema The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]* . This is implicitly a schema for The This schema was resolved from |
values | configurationValues The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema . Note: the For example, multiple configurations may use the same schema that defines values This schema was resolved from |
configurationGroupSummary
{
"_profile": "https://api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/configurations/groups/basic"
}
},
"name": "basic",
"label": "Basic Settings",
"description": "The basic settings for the Transfers API"
}
Configuration Group Summary (v2.0.0)
A summary of the data contained within a configuration group resource.
This schema was resolved from configurations/configurationGroupSummary
.
Properties
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. |
name | string The name of this configuration group, must be unique within the set of all resources of this type. minLength: 1
maxLength: 48
pattern: [a-zA-Z][-\w_]*
|
label | string The text label for this resource, suitable for presentation to the client. minLength: 1
maxLength: 128
|
description | string The full description for this resource, suitable for presentation to the client. minLength: 1
maxLength: 4096
|
configurationGroups
{
"_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "configurationGroups",
"_links": {
"self": {
"href": "/configurations/configurations/groups?start=10&limit=10"
},
"first": {
"href": "/configurations/configurations/groups?start=0&limit=10"
},
"next": {
"href": "/configurations/configurations/groups?start=20&limit=10"
},
"collection": {
"href": "/configurations/configurations/groups"
}
},
"_embedded": {
"items": [
{
"_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/configurations/groups/basic"
}
},
"name": "basic",
"label": "Basic Settings",
"description": "The basic settings for the Transfers API"
},
{
"_profile": "https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/configurations/groups/calendar"
}
},
"name": "calendar",
"label": "Calendar",
"description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
}
]
}
}
Configuration Group Collection
Collection of configuration groups. 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
).
This schema was resolved from configurations/configurationGroups
.
Properties
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 Embedded objects. |
» items | [configurationGroupSummary] An array containing a page of configuration group items. |
_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. |
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
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. |
configurationSchema
{
"type": "object",
"properties": {
"dailyLimit": {
"type": "number",
"description": "The daily limit for the number of transfers"
},
"cutoffTime": {
"type": "string",
"format": "time",
"description": "The cutoff time for scheduling transfers for the current day"
}
}
}
Configuration Schema (v2.0.1)
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*
.
This is implicitly a schema for type: object
and contains the properties.
The values
in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.
This schema was resolved from configurations/configurationSchema
.
Properties
Name | Description |
---|---|
additionalProperties | configurationSchemaValue The data associated with this configuration schema. This schema was resolved from |
configurationSchemaValue
{}
Configuration Schema Value (v2.0.0)
The data associated with this configuration schema.
This schema was resolved from configurations/configurationSchemaValue
.
Properties
configurationValue
{}
Configuration Value (v2.0.0)
The data associated with this configuration.
This schema was resolved from configurations/configurationValue
.
Properties
configurationValues
{
"dailyLimit": 5,
"cutoffTime": 63000
}
Configuration Values (v2.0.0)
The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema
.
Note: the schema
may also contain default
values which, if present, are used if a value is not set in the definition's values
.
For example, multiple configurations may use the same schema that defines values a
, b
, and c
, but each configuration may have their own unique values for a
, b
, and c
which is separate from the schema.
This schema was resolved from configurations/configurationValues
.
Properties
Name | Description |
---|---|
additionalProperties | configurationValue The data associated with this configuration. This schema was resolved from |
createInstantVerification
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/createInstantVerification/v1.0.0/profile.json",
"_links": {
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"authenticationFields": [
{
"username": {
"value": "user123"
}
},
{
"password": {
"value": "pass123"
}
},
{
"pin": {
"value": 123
}
}
]
}
Create Instant Verification (v1.0.0)
Representation used to create a new instant verification resource. The _links
on a createInstantVerification must include the following: apiture:*institution
An institution must be provided to authenticate and retreive data from the financial institution provider. apiture:*contact
The contact associated to the account to verify.
Properties
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. |
authenticationFields | authenticationFields A set of authentication fields necessary to authenticate against the external financial institution. The keys in this object are field names. The values describe each field prompt. The client application prompts the user for values for these fields. The underlying account verification service uses but does not persist the values of these fields to authenticate. |
createMicroDepositVerification
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/createMicroDepositVerification/v1.0.0/profile.json",
"routingNumber": "054100318",
"accountNumbers": {
"full": "7432172992"
},
"ifxType": "SDA"
}
Create Micro Deposit Verification (v1.0.0)
Representation used to create a micro-deposit verification resource.
Properties
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. |
routingNumber | string (required) 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: 9
|
accountNumbers | accountNumbers (required) Different representations of an account number. This schema was resolved from |
ifxType | ifxType (required) A code which identifies the product type. This is one of the IFX AcctType values. |
error
{
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
}
Error (v2.0.0)
Describes an error in an API request or in a service called via the API.
This schema was resolved from common/error
.
Properties
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. read-only
|
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 Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type .
|
remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
errors | [error] An optional array of nested error objects. This property is not always present. |
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
errorResponse
{
"_profile": "https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"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": "https://api.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Error Response (v2.0.0)
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error
object contains the error details.
This schema was resolved from common/errorResponse
.
Properties
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. |
externalAccountNumbers
{
"masked": "*************3210",
"full": "9876543210"
}
External Account Numbers (v1.0.0)
The account numbers necessary to link an external account.
This schema was resolved from accounts/externalAccountNumbers
.
Properties
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. read-only
minLength: 8
maxLength: 32
|
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: 4
maxLength: 17
|
externalAccountOwner
{
"firstName": "Steven",
"middleName": "Benjamin",
"lastName": "Storey",
"fullName": "Steven B. Storey",
"type": "primary"
}
External Account Owner (v1.0.0)
An external account owner. Since this is a small finite set, this is not a paginated collection, just an array.
This schema was resolved from accounts/externalAccountOwner
.
Properties
Name | Description |
---|---|
firstName | string The person's first name (or given name). |
middleName | string The person's middle name. |
lastName | string The person's last name (or surname). |
fullName | string The account owner's full name (first name and last name). maxLength: 128
|
type | authorizationType The account owner's ownership type. |
externalAccountState
"active"
External Account State
The state of an external (linked) banking account. This field is immutable and derived.
pending
: A new external account that has not been verifiedverifying
: A new account that is being verified. This state only applies to external accounts.failed
: A external account which has failed account verification.active
: An account which is active and available for use and for making new transactions.inactive
: An account which is marked inactive and not available for new transactions. Inactive accounts may be changed back to active.frozen
: An account which is frozen and not eligible for new transactions. This is typically the result of suspicious activity or fraud detection. The user must contact their financial institution to unfreeze the account (by changing the state back toactive
) or the financial institution may opt to close the account.closed
: An account that is closed and removed from use. Closed accounts are not eligible for transactions or to become active. Such accounts are retained for historical purposes because some transactions may refer to it. Users do not see closed accounts when they view their accounts.underReview
: A new account that is being under review. This state only applies to external accounts.
To change the state of an account, POST
the account ID to the corresponding resource endpoints, using the corresponding link on the account resource. To activate an account, use the apiture:activate
link to POST
to /accounts/activeAccounts
. To deactivate an account, use the apiture:deactivate
link to POST
to /accounts/inactiveAccounts
. To freeze an account, use the apiture:freeze
link to POST
to /accounts/frozenAccounts
. To close an account, use the apiture:close
link to POST
to /accounts/closedAccounts
. To under review an account, use the apiture:review
link to POST
to /accounts/externalAccountsUnderReview
.
This schema was resolved from accounts/externalAccountState
.
Type: string
Enumerated values: pending
verifying
failed
active
inactive
frozen
closed
underReview
ifxType
"CCA"
IFX Account Type (v1.0.0)
A code which identifies the product type. This is one of the IFX AcctType values. Labels and descriptions for the enumeration values are in the ifxType
key in the response of the getLabels
operation.
ifxType
strings may have one of the following enumerated values:
Value | Description |
---|---|
CCA | Credit card account |
CDA | Certificate of deposit account (CD) |
CLA | Commercial loan account |
CMA | Cash management account |
DDA | Demand deposit account |
EQU | Home equity loan |
GLA | General ledger account |
ILA | Installment loan account |
INV | Investment account |
IRA | Individual retirement account |
IRL | Accounts held in Ireland |
LOC | Consumer line of credit |
MLA | Military Lending Account: Credit facility held by former US service member |
MMA | Money market account |
PBA | Packaged bank Account: Account with additional benefits that charges a fixed monthly fee. |
PPA | Private pension administrator |
RWD | Reward accounts |
SDA | Savings deposit account |
These enumeration values are further described by the label group named ifxType
in the response from the getLabels
operation.
This schema was resolved from products/ifxType
.
Type: string
Enumerated values: CCA
CDA
CLA
CMA
DDA
EQU
GLA
ILA
INV
IRA
IRL
LOC
MLA
MMA
PBA
PPA
RWD
SDA
instantVerification
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:externalAccounts": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
},
"apiture:verificationReport": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
},
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
},
"apiture:externalAccount": {
"href": "https://api.devbank.apiture.comaccountVerifications/accounts/externalAccounts/ee406e5b-d2c1-4198-a770-7d25326663fb"
}
},
"state": "pending",
"mfaRequired": true,
"mfaPrompt": [
{
"key": 1,
"type": "TEXT",
"value": "Send code to",
"choices": [
{
"key": 1,
"value": "Mobile XXX-XXX-9771"
},
{
"key": 2,
"value": "Mobile XXX-XXX-9881"
}
]
}
]
}
Instant Verification (v1.0.0)
Representation of an instant verification resource.
Properties
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 The objects which participate in this verification resource. |
_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. |
_id | string The unique identifier for this resource. This is an immutable opaque string. read-only
|
state | string The state of the verification, one of the following:
|
completedAt | string(date-time) An ISO 8601 UTC time stamp indicating when the verification completed (has a status different from pending). |
createdAt | string(date-time) An ISO 8601 UTC time stamp indicating when the verification report was created. |
mfaRequired | boolean Indicates if multi-factor authentication (MFA) is required. |
mfaPrompt | mfaPrompt Representation of a multi-factor authentication challenge. |
stateMessages | [object] An array of messages providing aditional information of the status of the verification. |
instantVerificationFields
{}
Instant Verification Fields (v1.0.0)
Common fields of an instant verification resource.
Properties
instantVerifications
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/instantVerifications/v1.0.0/profile.json"
}
Instant Verification Collection (v1.0.0)
Collection of account verification. 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
).
Properties
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 Embedded objects. |
» items | [summaryInstantVerification] An array containing a page of account verification items. |
_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. |
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
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. |
institution
{
"name": "Example Bank Bancshares, Inc.",
"label": "Example Bank",
"featured": true,
"_profile": "https://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
},
"icon": {
"href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
},
"home": {
"href": "https://www.bank.example.bank/"
}
}
}
Institution (v1.0.0)
The links in a institution may contain the following: * home
- Home URL of the finantial website * icon
- URL referencing an instution icon. The possible image formats are SVG, PNG or JPEG. The maximum aspect ratio for the image is 250*100.
Properties
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. |
_id | string The unique identifier for this resource. This is an immutable opaque string. read-only
|
name | string Name of the financial institution. maxLength: 128
|
label | string Display name of the institution maxLength: 128
|
featured | boolean indicates whether the institution is highlighted as one of the top most popular institutions. |
institutions
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/institutions/v1.0.0/profile.json",
"start": 10,
"limit": 10,
"count": 67,
"name": "external institutions",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions?start=10&limit=10"
},
"first": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions?start=0&limit=10"
},
"next": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions?start=20&limit=10"
},
"collection": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions"
}
},
"_embedded": {
"items": [
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"name": "Example Banks, Inc",
"_profile": "https://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
"label": "Banks",
"featured": true,
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
},
"icon": {
"href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
},
"home": {
"href": "https://bank.example.com/"
}
}
},
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365d",
"name": "Example Bank.",
"_profile": "https://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
"label": "Example Bank",
"featured": true,
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
},
"icon": {
"href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
},
"home": {
"href": "https://bank.example.com/"
}
}
}
]
}
}
Institutions (v1.0.0)
Collection of external financial institutions. This list is supplied by a third party and is immutable (there are no operations to add, modify, or remove institutions). The items in the collection are ordered in the _embedded.items
array; the name
is institutions
. The top-level _links
object may contain pagination links (self
, next
, prev
, first
, last
, collection
).
Properties
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 Embedded objects. |
» items | [institution] [The links in a institution may contain the following: * home - Home URL of the finantial website * icon - URL referencing an instution icon. The possible image formats are SVG, PNG or JPEG. The maximum aspect ratio for the image is 250*100.]
|
_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. |
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
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. |
link
{
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
Link (v1.0.0)
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.
This schema was resolved from common/link
.
Properties
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. |
links
{
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
}
Links (v1.0.0)
An optional map of links, mapping each link relation to a link object. This model defines the _links
object of HAL representations.
This schema was resolved from common/links
.
Properties
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. This schema was resolved from |
mfaPrompt
[
{
"key": "1",
"type": "question",
"value": "What is the name of your state?",
"choices": [
{
"key": "1",
"value": "North Carolina"
},
{
"key": "2",
"value": "South Carolina"
}
]
},
{
"key": "2",
"type": "question",
"value": "Send code to",
"choices": [
{
"key": "1",
"value": "Mobile XXX-XXX-9771"
},
{
"key": "2",
"value": "Mobile XXX-XXX-9881"
}
]
},
{
"key": "3",
"type": "question",
"value": "Input the received code"
}
]
MFA Challenge (v1.0.0)
Representation of a multi-factor authentication challenge.
mfaPrompt
is an array schema.
Array Elements
Name | Description |
---|---|
MFA Challenge (v1.0.0) | [question] Representation of a multi-factor authentication challenge. |
mfaResponse
{
"answers": [
{
"key": "string",
"value": "string"
}
]
}
MFA Response (v1.0.0)
Representation of a multi-factor authentication (MFA) response.
Properties
Name | Description |
---|---|
answers | [questionResponse] The answers provided for this MFA request. |
microDeposit
{
"value": "string",
"currency": "string",
"baseType": "credit"
}
Micro-Deposit (v1.0.0)
A micro-deposit.
Properties
Name | Description |
---|---|
value | string (required) Numeric value for the micro-deposit. Must include a leading zero and two decimal places. This value will always be between 0.01 and 0.99. |
currency | string (required) ISO 4217 currency code of the micro-deposit. Currently the only supported currency is USD. |
baseType | string (required) Type of micro-deposit transaction.
|
microDepositVerification
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"_id": "string",
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-28T10:19:24.000Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
Micro Deposit Verification (v1.0.0)
Representation of a micro-deposit verification resource.
Properties
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 The objects which participate in this verification resource. |
_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. |
_id | string The unique identifier for this resource. This is an immutable opaque string. read-only
|
state | string The state of the micro-deposit verification, one of the following:
|
completedAt | string(date-time) An ISO 8601 UTC time stamp indicating when the verification completed (has a status different from pending). |
expiresAt | string(date-time) The date-time when the account verification expires. This is in [RFC 3339] (https://tools.ietf.org/html/rfc3339) UTC date-time format ( YYYY-MM-DDThh:mm:ss.sssZ ).
read-only
|
createdAt | string(date-time) An ISO 8601 UTC time stamp indicating when the verification report was created. |
stateMessages | [object] An array of messages providing aditional information of the status of the verification. |
microDepositVerificationAmounts
{
"amounts": [
{
"value": ".02",
"currency": "USD",
"baseType": "credit"
},
{
"value": ".04",
"currency": "USD",
"baseType": "credit"
},
{
"value": ".06",
"currency": "USD",
"baseType": "debit"
}
]
}
Update Micro Deposits Verification (v1.0.0)
Representation used to update a micro-deposit verification resource.
Properties
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. |
amounts | [microDeposit] (required) An array containing a page of account verification items. |
microDepositVerifications
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {
"items": [
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"_id": "string",
"state": "pending",
"completedAt": "2019-08-24T14:15:22Z",
"expiresAt": "2019-08-28T10:19:24.000Z",
"createdAt": "2019-08-24T14:15:22Z",
"stateMessages": [
{}
]
}
]
},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"count": 0,
"start": 0,
"limit": 0,
"name": "string"
}
Micro Deposit Verification Collection (v1.0.0)
Collection of micro-deposit verifications. 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
).
Properties
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 Embedded objects. |
» items | [microDepositVerification] An array containing a page of account verification items. |
_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. |
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
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. |
question
{
"key": "string",
"content": "string",
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"choices": [
{
"type": "image",
"key": "string",
"value": "string",
"content": "string",
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
}
}
],
"type": "question",
"value": "string"
}
MFA Question (v1.0.0)
Representation of a multi-factor authentication question. The supported question formats are text and image, in which case the encoded payload is available under the content field.
Properties
Name | Description |
---|---|
key | string (required) The unique key for this question's fields. |
content | string The question's content: the token value, or image URI. |
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
choices | [choice] Optional array of choices for this question. |
type | string The question type.
|
value | string The question text. |
questionFields
{
"key": "string"
}
MFA Question Fields (v1.0.0)
Common question and answer fields.
Properties
Name | Description |
---|---|
key | string (required) The unique key for this question's fields. |
questionResponse
{
"key": "string",
"value": "string"
}
MFA Question Answer (v1.0.0)
Representation of a multi-factor authentication question answer.
Properties
Name | Description |
---|---|
key | string (required) The unique key for this question's fields. |
value | string (required) User provided value for this question. |
riskFactor
{
"riskCode": "string",
"description": "string",
"attributes": {
"value": "string",
"expected": [
"string"
]
}
}
Risk Factor (v1.0.0)
A risk factor indicates a mismatch between user data and available account data.
Properties
Name | Description |
---|---|
riskCode | string The risk factor risk code |
description | string The risk code description |
attributes | riskFactorAttributes Details of the data used to determine a risk factor. |
riskFactorAttributes
{
"value": "string",
"expected": [
"string"
]
}
Risk Factor Attributes (v1.0.0)
Details of the data used to determine a risk factor.
Properties
Name | Description |
---|---|
value | string Supplied value for risk factor analysis |
expected | [string] Known values referenced for risk factor analysis |
root
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
"_links": {}
}
API Root (v2.0.0)
A HAL response, with hypermedia _links
for the top-level resources and operations in API.
This schema was resolved from common/root
.
Properties
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. |
_id | string This API's unique ID. read-only
|
name | string This API's name. |
apiVersion | string This API's version. |
simpleExternalAccount
{
"id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.0.0/profile.json",
"name": "My account at 3rdParty Bank",
"ifxType": "SDA",
"state": "active",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210",
"full": "999999999"
},
"accountOwners": [
{
"firstName": "Steven",
"middleName": "Benjamin",
"lastName": "Storey",
"fullName": "Steven B. Storey",
"type": "primary"
}
]
}
External Account (v1.0.0)
Simple representation of an external account resource.
Properties
Name | Description |
---|---|
id | string The unique identifier for this external account resource. This is an immutable opaque string. |
name | string The user-assigned name of this external account. maxLength: 128
|
state | externalAccountState The state of the external account. read-only
|
ifxType | ifxType A code which identifies the product type. This is one of the IFX AcctType values. |
accountOwners | [externalAccountOwner] The array of account owners. This may be an empty array (0 items) but is always present. |
routingNumber | string The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's configuration. read-only
minLength: 9
maxLength: 9
|
accountNumbers | externalAccountNumbers The masked and full account number. |
simpleExternalAccounts
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/simpleExternalAccounts/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
}
},
"externalAccounts": [
{
"id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"name": "My account at 3rdParty Bank",
"_profile": "https://api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.0.0/profile.json",
"ifxType": "SDA",
"routingNumber": "021000021",
"accountNumbers": {
"masked": "*************3210"
}
}
]
}
External Accounts (v1.0.0)
A list of of external accounts related to this verification resource. Since this is a small finite set, this is not a paginated collection, just an array.
Properties
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. |
externalAccounts | [simpleExternalAccount] (required) A list of external accounts. |
summaryInstantVerification
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/accountVerifications/summaryInstantVerification/v1.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"apiture:externalAccounts": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
},
"apiture:verificationReport": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
},
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
},
"state": "pending",
"mfaRequired": true
}
Summary Instant Verification (v1.0.0)
Summary representation of an instant verification resource.
Properties
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. |
_id | string The unique identifier for this resource. This is an immutable opaque string. read-only
|
state | string The state of an instant account verification, one of the following:
|
featured | boolean indicates whether the institution resource is highlighted as one of the top most popular institutions. |
updateInstantVerification
{
"_profile": "https://api.apiture.com/schemas/accountVerifications/updateInstantVerification/v1.0.0/profile.json",
"_links": {
"apiture:institution": {
"href": "https://api.devbank.apiture.comaccountVerifications/institutions/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c"
},
"apiture:contact": {
"href": "https://api.devbank.apiture.comaccountVerifications/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
},
"mfa": {
"answers": [
{
"key": 1,
"value": "Mobile XXX-XXX-9771"
}
]
}
}
Update Instant Verification (v1.0.0)
Representation used to update an instant verification resource.
Properties
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. |
mfa | mfaResponse Representation of a multi-factor authentication (MFA) response. |
verificationReport
{
"state": "failed",
"accountRiskFactors": [
{
"riskCode": 101,
"description": "Account owner first name does not match"
},
{
"riskCode": 102,
"description": "Account owner last name does not match"
},
{
"riskCode": 103,
"description": "Account owner zip code does not match"
}
]
}
Verification Report (v1.0.0)
A verification report is an additional layer of validation that can be run against an instant verification resource. It uses available account aggregation data to generate a pass/fail result based on configured risk factors.
Properties
Name | Description |
---|---|
state | string The state of a verification report. passed indicates that the verification does not conain any risk factors based upon the user and account information, failed indicates that the verification contains one or more risk factors.
|
accountRiskFactors | [riskFactor] Risk factors associated with the account verification. |