NAV Navigation
Shell HTTP JavaScript Node.JS Ruby Python Java Go

External Account Verification v0.1.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.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

API

Endpoints which describe this API

getApi

Code samples

# You can also use wget
curl -X GET /accountVerifications/ \
  -H 'Accept: application/hal+json'

GET /accountVerifications/ HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "0.0.1-SNAPSHOT",
  "_profile": "https://api.apiture.com/schema/apiRoot/v1.0.0/profile.json",
  "_links": {}
}

Responses

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET /accountVerifications/apiDoc \
  -H 'Accept: application/json'

GET /accountVerifications/apiDoc HTTP/1.1

Accept: application/json

var headers = {
  'Accept':'application/json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

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"},
        
    }

    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

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

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'

GET /accountVerifications/microDepositVerifications HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/microDepositVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

start

limit

sortBy

filter

q

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schema/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string",
  "_embedded": {
    "items": [
      {
        "_profile": "http://api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:externalAccounts": {
            "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
          },
          "apiture:verificationReport": {
            "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "state": "verified"
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: microDepositVerifications
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
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'

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'

};

$.ajax({
  url: '/accountVerifications/microDepositVerifications',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "routingNumbers": {
    "full": "054100318"
  },
  "accountNumbers": {
    "full": "7432172992"
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json'

};

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'
}

result = RestClient.post '/accountVerifications/microDepositVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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

{
  "routingNumbers": {
    "full": "054100318"
  },
  "accountNumbers": {
    "full": "7432172992"
  }
}

Parameters

Parameter Description
body
(body)
any (required)
The data necessary to create a new account verification.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

201 Response

{
  "_profile": "http://api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "verified"
}

Responses

StatusDescription
201 Created
Created
Schema: Inline
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
409 Conflict

Conflict. A conflict can occur for several reasons:

  • An account verification that matches the request already exists. The service does not allow duplicate account verifications, which probably reflects accidental duplicate POST operations from the client.
  • The source or target accounts do not allow the transfer.
Schema: error

Response Schema

Status Code 201

Property Name Description
Micro Deposit Verification any
Representation of a micro-deposit verification resource.

Response Headers

StatusDescription
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'

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'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/microDepositVerifications/{verificationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string'
}

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"},
        
    }

    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

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* verificationId

If-None-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "verified"
}

Responses

StatusDescription
200 OK
OK
Schema: Inline
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
404 Not Found
Not Found. There is no such account verification resource at the specified {verificationId} The _error field in the response will contain details about the request error.
Schema: error

Response Schema

Status Code 200

Property Name Description
Micro Deposit Verification any
Representation of a micro-deposit verification resource.

Response Headers

StatusDescription
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-None-Match: string'

PATCH /accountVerifications/microDepositVerifications/{verificationId} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
If-None-Match: string

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-None-Match':'string'

};

$.ajax({
  url: '/accountVerifications/microDepositVerifications/{verificationId}',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "amount1": {
    "value": ".02",
    "currency": "USD"
  },
  "amount2": {
    "value": ".04",
    "currency": "USD"
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-None-Match':'string'

};

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-None-Match' => 'string'
}

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-None-Match': 'string'
}

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-None-Match": []string{"string"},
        
    }

    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 verification resource. This operation must be used to complete the verification by providing the amount values from the micro-deposit transactions.

Body parameter

{
  "amount1": {
    "value": ".02",
    "currency": "USD"
  },
  "amount2": {
    "value": ".04",
    "currency": "USD"
  }
}

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.
body
(body)
any (required)
The data necessary to update a microdeposit verification resource.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPATCH
* URL
* API Key
* Access Token

* verificationId

If-None-Match

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "verified"
}

Responses

StatusDescription
200 OK
OK
Schema: Inline
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
404 Not Found
Not Found. There is no such account verification resource at the specified {verificationId} The _error field in the response will contain details about the request error.
Schema: error

Response Schema

Status Code 200

Property Name Description
Micro Deposit Verification any
Representation of a micro-deposit verification resource.

Response Headers

StatusDescription
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.

getMicroDeposit_Ver_Accounts

Code samples

# You can also use wget
curl -X GET /accountVerifications/microDepositVerifications/{verificationId}/accounts \
  -H 'Accept: application/hal+json'

GET /accountVerifications/microDepositVerifications/{verificationId}/accounts HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/microDepositVerifications/{verificationId}/accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* verificationId

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/collection/externalAccount/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My account at 3rdParty Bank",
        "_profile": "http://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
        "type": "savings",
        "state": "active",
        "primaryUserName": "Lucille Wellphunded",
        "institutionName": "3rdParty Bank",
        "verifiedAt": "2018-01-20T18:13:33.375Z",
        "createdAt": "2018-01-20T05:54:52.375Z",
        "routingNumber": "021000021",
        "accountNumbers": {
          "masked": "*************3210"
        },
        "transactionTypes": [
          "credit",
          "debit"
        ],
        "_links": {
          "self": {
            "href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: Inline
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
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

Response Schema

Status Code 200

Property Name Description
External Account Collection any
Collection of external accounts associated to this verification resource.

getInstantVerifications

Code samples

# You can also use wget
curl -X GET /accountVerifications/instantVerifications \
  -H 'Accept: application/hal+json'

GET /accountVerifications/instantVerifications HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/instantVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

start

limit

sortBy

filter

q

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerifications/v1.0.0/profile.json"
}

Responses

StatusDescription
200 OK
OK
Schema: instantVerifications
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
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 'Authentication: string'

POST /accountVerifications/instantVerifications HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
Authentication: string

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'Authentication':'string'

};

$.ajax({
  url: '/accountVerifications/instantVerifications',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "_links": {
    "apiture:institution": {
      "href": "/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
    },
    "apiture:contact": {
      "href": "/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'Authentication':'string'

};

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',
  'Authentication' => 'string'
}

result = RestClient.post '/accountVerifications/instantVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'Authentication': 'string'
}

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"},
        "Authentication": []string{"string"},
        
    }

    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 the send user credentials as part of the Authentication header to initiate an authentication process with the external financial institution. 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

{
  "_links": {
    "apiture:institution": {
      "href": "/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
    },
    "apiture:contact": {
      "href": "/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Parameters

Parameter Description
Authentication
(header)
string (required)
Base64 encoded account username and password.
body
(body)
any (required)
The data necessary to create a new account verification.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* Authentication

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

201 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:contact": {
      "href": "/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
    },
    "apiture:institution": {
      "href": "/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
    }
  },
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": null,
  "questions": {
    "question": [
      {
        "key": 1,
        "type": "TEXT",
        "value": "Send code to",
        "choices": [
          {
            "key": 1,
            "value": "Mobile XXX-XXX-9771"
          },
          {
            "key": 2,
            "value": "Mobile XXX-XXX-9881"
          }
        ]
      }
    ]
  }
}

Responses

StatusDescription
201 Created
Created
Schema: instantVerification
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
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse

Response Headers

StatusDescription
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'

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'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/instantVerifications/{verificationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string'
}

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"},
        
    }

    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

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* verificationId

If-None-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:contact": {
      "href": "/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
    },
    "apiture:institution": {
      "href": "/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
    }
  },
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": null,
  "questions": {
    "question": [
      {
        "key": 1,
        "type": "TEXT",
        "value": "Send code to",
        "choices": [
          {
            "key": 1,
            "value": "Mobile XXX-XXX-9771"
          },
          {
            "key": 2,
            "value": "Mobile XXX-XXX-9881"
          }
        ]
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: Inline
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
404 Not Found
Not Found. There is no such account verification resource at the specified {verificationId} The _error field in the response will contain details about the request error.
Schema: error
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse

Response Schema

Status Code 200

Property Name Description
Instant Verification any
Representation of an instant verification resource.

Response Headers

StatusDescription
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-None-Match: string'

PATCH /accountVerifications/instantVerifications/{verificationId} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
If-None-Match: string

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-None-Match':'string'

};

$.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": "http://api.apiture.com/schemas/accountVerifications/instantVerifications/v1.0.0/profile.json",
  "_links": {
    "apiture:institution": {
      "href": "/institutions/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:contact": {
      "href": "/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-None-Match':'string'

};

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-None-Match' => 'string'
}

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-None-Match': 'string'
}

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-None-Match": []string{"string"},
        
    }

    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.

Body parameter

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerifications/v1.0.0/profile.json",
  "_links": {
    "apiture:institution": {
      "href": "/institutions/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:contact": {
      "href": "/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-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.
body
(body)
any (required)
The data necessary to update an instant verification resource.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPATCH
* URL
* API Key
* Access Token

* verificationId

If-None-Match

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": null,
  "questions": {
    "question": [
      {
        "key": 1,
        "type": "TEXT",
        "value": "Input the received code"
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: Inline
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
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
404 Not Found
Not Found. There is no such account verification resource at the specified {verificationId} The _error field in the response will contain details about the request error.
Schema: error
428 Precondition Required
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource.
Schema: errorResponse
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse

Response Schema

Status Code 200

Property Name Description
Instant Verification any
Representation of an instant verification resource.

Response Headers

StatusDescription
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'

GET /accountVerifications/instantVerifications/{verificationId}/accounts HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/instantVerifications/{verificationId}/accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* verificationId

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/collection/externalAccount/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My account at 3rdParty Bank",
        "_profile": "http://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
        "type": "savings",
        "state": "active",
        "primaryUserName": "Lucille Wellphunded",
        "institutionName": "3rdParty Bank",
        "verifiedAt": "2018-01-20T18:13:33.375Z",
        "createdAt": "2018-01-20T05:54:52.375Z",
        "routingNumber": "021000021",
        "accountNumbers": {
          "masked": "*************3210"
        },
        "transactionTypes": [
          "credit",
          "debit"
        ],
        "_links": {
          "self": {
            "href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: Inline
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
404 Not Found
Not Found. There is no such account verification resource at the specified {verificationId} The _error field in the response will contain details about the request error.
Schema: error
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
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse

Response Schema

Status Code 200

Property Name Description
External Account Collection any
Collection of external accounts associated to this verification resource.

Verification Report

Generating reports of a verification resource

createVerificationReport

Code samples

# You can also use wget
curl -X POST /accountVerifications/verificationReports?verification=string \
  -H 'Accept: application/hal+json'

POST /accountVerifications/verificationReports?verification=string HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.post '/accountVerifications/verificationReports',
  params: {
  'verification' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* verification

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

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

StatusDescription
200 OK
OK
Schema: Inline
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
404 Not Found
Not Found. There is no resource at the specified {Id} The _error field in the response will contain details about the request error.
Schema: error
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
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse

Response Schema

Status Code 200

Property 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]
[A risk factor indicates a mismatch between user data and available account data.]
»» Risk Factor object
A risk factor indicates a mismatch between user data and available account data.
»»» riskCode string
The risk factor risk code
»»» description string
The risk code description
»»» attributes object
Details of the data used to determine a risk factor
»»»» value string
Supplied value for risk factor analysis
»»»» expected [string]
Known values referenced for risk factor analysis

Enumerated Values

Property Value
state passed
state failed

Institutions

Information about financial institutions

getInstitutions

Code samples

# You can also use wget
curl -X GET /accountVerifications/institutions \
  -H 'Accept: application/hal+json'

GET /accountVerifications/institutions HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/institutions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

start

limit

sortBy

filter

q

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/externalInstitutions/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "external institutions",
  "_links": {
    "self": {
      "href": "/accountVerifications/institutions?start=10&limit=10"
    },
    "first": {
      "href": "/accountVerifications/institutions?start=0&limit=10"
    },
    "next": {
      "href": "/accountVerifications/institutions?start=20&limit=10"
    },
    "collection": {
      "href": "/accountVerifications/institutions"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "SunTrust Banks, Inc",
        "_profile": "http://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
        "label": "Suntrust",
        "featured": true,
        "_links": {
          "self": {
            "href": "/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://www.liveoak.bank/"
          }
        }
      },
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365d",
        "name": "Live Oak Bancshares, Inc.",
        "_profile": "http://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
        "label": "Live Oak Bank",
        "featured": true,
        "_links": {
          "self": {
            "href": "/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://www.liveoak.bank/"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: institutions
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
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'

GET /accountVerifications/institutions/{institutionId} HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.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'

};

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'
}

result = RestClient.get '/accountVerifications/institutions/{institutionId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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"},
        
    }

    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:

Parameters

Parameter Description
institutionId
(path)
string (required)
The unique identifier of this institution resource. This is an opaque string.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* institutionId

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "name": "Live Oak Bancshares, Inc.",
  "label": "Live Oak Bank",
  "featured": true,
  "_profile": "http://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
    },
    "icon": {
      "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
    },
    "home": {
      "href": "https://www.liveoak.bank/"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: Inline
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
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
404 Not Found
Not Found. There is no institution resource at the specified {institutionId} The _error field in the response will contain details about the request error.
Schema: error

Response Schema

Status Code 200

Property Name Description
Institution any
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.

Response Headers

StatusDescription
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.

Schemas

institutions

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/externalInstitutions/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "external institutions",
  "_links": {
    "self": {
      "href": "/accountVerifications/institutions?start=10&limit=10"
    },
    "first": {
      "href": "/accountVerifications/institutions?start=0&limit=10"
    },
    "next": {
      "href": "/accountVerifications/institutions?start=20&limit=10"
    },
    "collection": {
      "href": "/accountVerifications/institutions"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "SunTrust Banks, Inc",
        "_profile": "http://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
        "label": "Suntrust",
        "featured": true,
        "_links": {
          "self": {
            "href": "/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://www.liveoak.bank/"
          }
        }
      },
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365d",
        "name": "Live Oak Bancshares, Inc.",
        "_profile": "http://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
        "label": "Live Oak Bank",
        "featured": true,
        "_links": {
          "self": {
            "href": "/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://www.liveoak.bank/"
          }
        }
      }
    ]
  }
}

Institutions

Properties

Schema NameDescription
Institutions any
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.)

allOf

Schema NameDescription
anonymous collection
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

and

Schema NameDescription
anonymous object
undefined
_embedded object
undefined
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.]

institution

{
  "name": "Live Oak Bancshares, Inc.",
  "label": "Live Oak Bank",
  "featured": true,
  "_profile": "http://api.apiture.com/schemas/accountVerifications/institution/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/institution/0399abed-fd3d-4830-a88b-30f38b8a365d"
    },
    "icon": {
      "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
    },
    "home": {
      "href": "https://www.liveoak.bank/"
    }
  }
}

Institution

Properties

Schema NameDescription
Institution any
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.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this resource. This is an immutable opaque string.
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.

createMicroDepositVerification

{
  "routingNumbers": {
    "full": "054100318"
  },
  "accountNumbers": {
    "full": "7432172992"
  }
}

Create Micro Deposit Verification

Properties

Schema NameDescription
Create Micro Deposit Verification abstractResource
Representation used to create a micro-deposit verification resource.
routingNumbers accountNumbers (required)
Different representations of an account number.
accountNumbers accountNumbers (required)
Different representations of an account number.
accountType string (required)
undefined

Enumerated Values

Property Value
accountType checking
accountType savings

updateMicroDepositVerification

{
  "amount1": {
    "value": ".02",
    "currency": "USD"
  },
  "amount2": {
    "value": ".04",
    "currency": "USD"
  }
}

Update Micro Deposits Verification

Properties

Schema NameDescription
Update Micro Deposits Verification abstractResource
Representation used to update a micro-deposit verification resource.
amount1 microDeposit (required)
undefined
amount2 microDeposit (required)
undefined

microDeposit

{
  "value": "string",
  "currency": "string"
}

Micro Deposit

Properties

Schema NameDescription
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

microDepositVerification

{
  "_profile": "http://api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "verified"
}

Micro Deposit Verification

Properties

Schema NameDescription
Micro Deposit Verification any
Representation of a micro-deposit verification resource.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this resource. This is an immutable opaque string.
state string
The state of the verification. pending indicates that it is in progress, verified indicates the verification succeeded, failed that it was unsuccessful.
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.
_embedded object
The objects which participate in this verification resource

Enumerated Values

Property Value
state pending
state verified
state failed

microDepositVerifications

{
  "_profile": "http://api.apiture.com/schema/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string",
  "_embedded": {
    "items": [
      {
        "_profile": "http://api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:externalAccounts": {
            "href": "/accountVerifications/microDepositVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
          },
          "apiture:verificationReport": {
            "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "state": "verified"
      }
    ]
  }
}

Micro Deposit Verification Collection

Properties

Schema NameDescription
Micro Deposit Verification Collection any
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.)

allOf

Schema NameDescription
anonymous collection
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

and

Schema NameDescription
anonymous object
undefined
_embedded object
undefined
items [microDepositVerification]
An array containing a page of account verification items.

instantVerificationFields

{}

Instant Verification Fields

Properties

No properties

instantVerification

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:contact": {
      "href": "/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
    },
    "apiture:institution": {
      "href": "/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
    }
  },
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": null,
  "questions": {
    "question": [
      {
        "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

Properties

Schema NameDescription
Instant Verification any
Representation of an instant verification resource.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous instantVerificationFields
Common fields of an instant verification resource

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this resource. This is an immutable opaque string.
state string
The state of the verification. pending indicates that it is in progress, verified indicates the verification succeeded, failed that it was unsuccessful.
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 [any]
undefined
_embedded object
The objects which participate in this verification resource

Enumerated Values

Property Value
state pending
state verified
state failed

updatedInstantVerification

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:externalAccounts": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    },
    "apiture:verificationReport": {
      "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": null,
  "questions": {
    "question": [
      {
        "key": 1,
        "type": "TEXT",
        "value": "Input the received code"
      }
    ]
  }
}

Instant Verification

Properties

Schema NameDescription
Instant Verification any
Representation of an instant verification resource.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous instantVerificationFields
Common fields of an instant verification resource

and

Schema NameDescription
anonymous instantVerification
Representation of an instant verification resource.

summaryInstantVerification

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "apiture:externalAccounts": {
    "href": "/accountVerifications/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
  },
  "apiture:verificationReport": {
    "href": "/accountVerifications/verificationReports?verification=0399abed-fd3d-4830-a88b-30f38b8a365c"
  },
  "apiture:contact": {
    "href": "/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
  },
  "apiture:institution": {
    "href": "/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
  },
  "state": "pending",
  "mfaRequired": true
}

Summary Instant Verification

Properties

Schema NameDescription
Summary Instant Verification any
Summary representation of an instant verification resource.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous instantVerificationFields
Common fields of an instant verification resource

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this resource. This is an immutable opaque string.
state string
States of an instant account verification: verified failed pending
featured boolean
indicates whether the institution resource is highlighted as one of the top most popular institutions.

Enumerated Values

Property Value
state pending
state verified
state failed

instantVerifications

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerifications/v1.0.0/profile.json"
}

Instant Verification Collection

Properties

Schema NameDescription
Instant Verification Collection any
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.)

allOf

Schema NameDescription
anonymous collection
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

and

Schema NameDescription
anonymous object
undefined
_embedded object
undefined
items [summaryInstantVerification]
An array containing a page of account verification items.

createInstantVerification

{
  "_links": {
    "apiture:institution": {
      "href": "/accountVerifications/institutions/961ffc1e-e1f1-11e8-8366-274c0a4e671e"
    },
    "apiture:contact": {
      "href": "/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Create Instant Verification

Properties

Schema NameDescription
Create Instant Verification any
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.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined

updateInstantVerification

{
  "_profile": "http://api.apiture.com/schemas/accountVerifications/instantVerifications/v1.0.0/profile.json",
  "_links": {
    "apiture:institution": {
      "href": "/institutions/institutions/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:contact": {
      "href": "/contacts/contact/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "mfa": {
    "answers": [
      {
        "key": 1,
        "value": "Mobile XXX-XXX-9771"
      }
    ]
  }
}

Update Instant Verification

Properties

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined
mfa mfaResponse
Representation of a multi-factor authentication response.

mfaPrompt

{
  "questions": {
    "question": [
      {
        "key": 1,
        "type": "TEXT",
        "value": "What is the name of your state?",
        "choices": [
          {
            "key": 1,
            "value": "North Carolina"
          },
          {
            "key": 2,
            "value": "South Carolina"
          }
        ]
      },
      {
        "key": 2,
        "type": "TEXT",
        "value": "Send code to",
        "choices": [
          {
            "key": 1,
            "value": "Mobile XXX-XXX-9771"
          },
          {
            "key": 2,
            "value": "Mobile XXX-XXX-9881"
          }
        ]
      },
      {
        "key": 3,
        "type": "TEXT",
        "value": "Input the received code"
      }
    ]
  }
}

MFA Challenge

Properties

Schema NameDescription
MFA Challenge [any]
Representation of a multi-factor authentication challenge
questions 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. #TODO pending yodlee defining encoding format

questionFields

{
  "key": "string"
}

MFA Question Fields

Properties

Schema NameDescription
key string (required)
undefined

question

{
  "key": "string",
  "content": "string",
  "_links": {
    "property1": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    },
    "property2": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    }
  },
  "choices": [
    {
      "type": "IMAGE",
      "key": 0,
      "value": "string",
      "content": "string",
      "_links": {
        "property1": {
          "href": "http://example.com",
          "type": "string",
          "templated": true,
          "title": "string",
          "deprecation": "http://example.com",
          "profile": "http://example.com"
        },
        "property2": {
          "href": "http://example.com",
          "type": "string",
          "templated": true,
          "title": "string",
          "deprecation": "http://example.com",
          "profile": "http://example.com"
        }
      }
    }
  ],
  "type": "QUESTION",
  "value": "string"
}

MFA Question

Properties

Schema NameDescription
MFA Question any
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. #TODO pending yodlee defining encoding format

allOf

Schema NameDescription
anonymous questionFields
Common question and answer fields.

and

Schema NameDescription
anonymous object
undefined
content string
undefined
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
choices [choice]
[Representation of question choice.]
type string
undefined
value string
undefined

Enumerated Values

Property Value
type QUESTION
type TOKEN
type IMAGE

questionResponse

{
  "title": "MFA Answer",
  "description": "Representation of a multi-factor authentication question answer.",
  "type": "array",
  "required": [
    "value"
  ],
  "allOf": [
    {
      "title": "MFA Question Fields",
      "description": "Common question and answer fields.",
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string"
        }
      }
    },
    {
      "type": "array",
      "properties": {
        "value": {
          "type": "string"
        }
      },
      "items": {}
    }
  ],
  "items": {}
}

MFA Answer

Properties

Schema NameDescription
MFA Answer [any]
Representation of a multi-factor authentication question answer.

allOf

Schema NameDescription
anonymous questionFields
Common question and answer fields.

and

Schema NameDescription
anonymous [any]
undefined
value string
undefined

choice

{
  "type": "IMAGE",
  "key": 0,
  "value": "string",
  "content": "string",
  "_links": {
    "property1": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    },
    "property2": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    }
  }
}

MFA Choice

Properties

Schema NameDescription
type string
undefined
key integer(int64)
undefined
value string
undefined
content string
undefined
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

Enumerated Values

Property Value
type IMAGE
type TEXT
type OPTION
type CHECKBOX
type RADIO

mfaResponse

{
  "title": "MFA Response",
  "description": "Representation of a multi-factor authentication response.",
  "allOf": [
    {
      "type": "object"
    },
    {
      "properties": {
        "answers": {
          "title": "MFA Answer",
          "description": "Representation of a multi-factor authentication question answer.",
          "type": "array",
          "required": [
            "value"
          ],
          "allOf": [
            {
              "title": "MFA Question Fields",
              "description": "Common question and answer fields.",
              "required": [
                "key"
              ],
              "properties": {
                "key": {
                  "type": "string"
                }
              }
            },
            {
              "type": "array",
              "properties": {
                "value": {
                  "type": "string"
                }
              },
              "items": {}
            }
          ],
          "items": {}
        }
      }
    }
  ]
}

MFA Response

Properties

Schema NameDescription
MFA Response any
Representation of a multi-factor authentication response.

allOf

Schema NameDescription
anonymous object
undefined

and

Schema NameDescription
anonymous object
undefined
answers questionResponse
Representation of a multi-factor authentication question answer.

externalAccounts

{
  "_profile": "http://api.apiture.com/schemas/collection/externalAccount/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/instantVerifications/0399abed-fd3d-4830-a88b-30f38b8a365c/accounts"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My account at 3rdParty Bank",
        "_profile": "http://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
        "type": "savings",
        "state": "active",
        "primaryUserName": "Lucille Wellphunded",
        "institutionName": "3rdParty Bank",
        "verifiedAt": "2018-01-20T18:13:33.375Z",
        "createdAt": "2018-01-20T05:54:52.375Z",
        "routingNumber": "021000021",
        "accountNumbers": {
          "masked": "*************3210"
        },
        "transactionTypes": [
          "credit",
          "debit"
        ],
        "_links": {
          "self": {
            "href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      }
    ]
  }
}

External Account Collection

Properties

Schema NameDescription
External Account Collection any
Collection of external accounts associated to this verification resource.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined
_embedded object
undefined
items [summaryExternalAccount]
An array containing the external account items.
count integer
The number of items in the full collection.
name string
The name of the collection.

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

Properties

Schema NameDescription
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]
[A risk factor indicates a mismatch between user data and available account data.]

Enumerated Values

Property Value
state passed
state failed

riskFactor

{
  "riskCode": "string",
  "description": "string",
  "attributes": {
    "value": "string",
    "expected": [
      "string"
    ]
  }
}

Risk Factor

Properties

Schema NameDescription
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

Properties

Schema NameDescription
value string
Supplied value for risk factor analysis
expected [string]
Known values referenced for risk factor analysis

summaryExternalAccount

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/externalAccount/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "institutionName": "3rd Party Bank"
}

External Account Summary

Properties

Schema NameDescription
External Account Summary any
Summary representation of an external account resource in external accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined
_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
verifiedAt string(date-time)
The date-time when the external account was most recently verified. This is in ISO 8601 format, UTC.
createdAt string(date-time)
The date-time when the external account was created. This is in ISO 8601 format, UTC. This is derived and immutable.
state string

The state of the external account. This field is immutable and derived.

  • pending : A new external account that has not been verified
  • verifying : A new account that is being verified. This state only applies to external accounts.
  • failed : An 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 to active) or the financial institution may opt to close the account.
  • closed : An account that is closed and removed from use. Closed accounts are not eligble 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 acocunts. To change the state of an account, POST the account URI 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.
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
minLength: 9
maxLength: 32
accountNumbers accountNumbers
Different representations of an account number.
attributes attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.

Enumerated Values

Property Value
state pending
state verifying
state failed
state active
state inactive
state frozen
state closed

accountNumbers

{
  "masked": "*************3210",
  "full": "9876543210"
}

Account Numbers

Properties

Schema NameDescription
masked string
A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is derived and immutable.

TODO Move this model schema to common-fin-models where it can be used in accountverifications and payments APIs
minLength: 9
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.
minLength: 9
maxLength: 32

collection

{
  "_profile": "http://api.apiture.com/schema/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection

Properties

Schema NameDescription
Collection any
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined
count integer
The number of items in the full collection.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

abstractResource

{
  "_profile": "http://api.apiture.com/schema/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

Abstract Resource

Properties

Schema NameDescription
_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.

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "0.0.1-SNAPSHOT",
  "_profile": "https://api.apiture.com/schema/apiRoot/v1.0.0/profile.json",
  "_links": {}
}

API Root

Properties

Schema NameDescription
API Root any
A HAL response, with hypermedia _links for the top-level resources and operations in API.

allOf

Schema NameDescription
anonymous abstractResource
An augmented HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

and

Schema NameDescription
anonymous object
undefined
_id string
This API's unique ID.
name string
This API's name.
apiVersion string
This API's version.

errorResponse

{
  "_profile": "http://api.apiture.com/schema/error/v1.0.0/profile.json",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "_profile": "https://api.apiture.com/schema/error/v1.0.0/profile.json",
    "message": "The value for deposit must be greater than 0.",
    "statusCode": 422,
    "type": "positiveNumberRequired",
    "attributes": {
      "value": -125.5
    },
    "remediation": "Provide a value which is greater than 0",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "http://doc.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response

Properties

Schema NameDescription
Error Response abstractResource
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

error

{
  "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
  "_profile": "https://api.apiture.com/schema/error/v1.0.0/profile.json",
  "message": "The value for deposit must be greater than 0.",
  "statusCode": 422,
  "type": "positiveNumberRequired",
  "attributes": {
    "value": -125.5
  },
  "remediation": "Provide a value which is greater than 0",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "_links": {
    "describedby": {
      "href": "http://doc.apiture.com/errors/positiveNumberRequired"
    }
  },
  "_embedded": {
    "errors": []
  }
}

Error

Properties

Schema NameDescription
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 ISO 8601 UTC time stamp indicating when the error occurred.
attributes attributes
Data attribute associated with the error, such as values or constraints.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
_embedded object
Optional embedded array of errors. This field may not exist if the error does not have nested errors.
items [errorResponse]
An array of error objects.

attributes

{}

Attributes

Properties

No properties

{
  "property1": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  },
  "property2": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  }
}

Links

Properties

Schema NameDescription
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.

{
  "href": "http://example.com",
  "type": "string",
  "templated": true,
  "title": "string",
  "deprecation": "http://example.com",
  "profile": "http://example.com"
}

Link

Properties

Schema NameDescription
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.