Shell HTTP JavaScript Node.JS Ruby Python Java Go

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

This method may also be supported by a user experience (UX) widget via an instant account verification provider. Clients can use the createAccountVerificationProviderParameters to get the client connection parameters for embedding that UX control, and then use createAccountVerification to process the external account verification through that provider. When that completes successfully, the response includes the linked external accounts.

Micro-Deposit Verification (MD)

This is an alternative verification method for institutions that don't support IAV. When this verification is

initiated, Apiture creates two deposits (typically less than $0.99) to the customer account to be verified, followed by a debit which balances those deposits. Once the transactions post to the user account, the account owner should find the deposits on their external account and submit the two amounts to the micro-deposits resources. This verifies that the user has ownership or access to the external account. Please note that the micro-deposit transactions may take up to two business days to be reflected on the external financial institution.

Error Types

Error responses in this API may have one of the type values described below. See Errors for more information on error responses and error types.

duplicateAccountVerification

Description: A verification resource with the same account number and routing number already exists.
Remediation: Try verifying a different account.

groupNotFound

Description: No Groups were found for the specified groupName.
Remediation: Check to make sure that the supplied groupName corresponds to an apiture group resource.

ineligibleAccount

Description: This account is ineligible to be linked.
Remediation: Try to use a different routing number.

invalidContactId

Description: No contact was found for the specified contact URI.
Remediation: Check to make sure that the supplied contact URI corresponds to an apiture contact resource.

invalidInstitutionId

Description: No institution was found for the specified institutionId.
Remediation: Check to make sure the supplied institutionId corresponds to an Apiture institution resource.

invalidLimitParam

Description: The supplied limit query parameter is invalid.
Remediation: pass a valid numeric pagination limit (and integer from 1 to 1000).

invalidProviderParameters

Description: The provider parameter do not match the data for this account verification provider.
Remediation: Do not alter the received provider parameters before passing them in requests.

invalidStartParam

Description: The supplied start query parameter is invalid.
Remediation: pass a valid numeric pagination start index (and integer, 0 or greater).

invalidState

Description: The current state of the resource is not valid to perform the operation.
Remediation: Retry the operation when the condition is met.

invalidUnmaskedQueryParam

Description: Only the values of false or true can be supplied with the unmasked query parameter.
Remediation: Resubmit the operation without the query parameter or check the documentation for valid query params.

invalidVerificationId

Description: No Verification instance was found for the specified verificationId.
Remediation: Check to make sure that the supplied verificationId corresponds to an apiture verification resource.

malformedLimitParam

Description: The supplied limit query parameter is malformed.
Remediation: Ensure the value of the supplied limit query parameter is a valid integer.

malformedRequestBody

Description: The supplied request body was malformed.
Remediation: Check to make sure that your request body exists and that it does not contain syntax errors.

malformedRequestBodyMissingContactUri

Description: The supplied request body did not contain the expected Contact URI.
Remediation: Check to make sure that your request body exists, that it does not contain syntax errors and has the contact URI in _links.

malformedStartParam

Description: The supplied start query parameter is malformed.
Remediation: Ensure the value of the supplied start query parameter is a valid integer.

missingAccountAuthenticationHeader

Description: The apiture-account-authentication header is missing.
Remediation: Check to make sure that you are passing the apiture-account-authentication header and try the request again.

noVerificationIdGivenForReport

Description: No verification query parameter was given for the verification report generation.
Remediation: Resubmit the operation with a verificationId in the query parameter, i.e. ?verification={verificationId}.

providerAccountNotReturned

Description: No account was returned by the provider. This is usually because the providerAccount did not pass login or MFA.
Remediation: Verify that the instantVerification for the given account was successful.

valueNotFound

Description: No Group values were found for the specified groupName and valueName.
Remediation: Check to make sure that the supplied groupName and valueName corresponds to an apiture group and value resource.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
banking/read Read access to (behavior TBD).
banking/write Write (update) access to (behavior TBD).
banking/delete Delete access to (behavior TBD).
banking/full Full access to (behavior TBD).

Account Verification

Creation and Retrieval of Account Verifications

createAccountVerificationProviderParameters

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

POST https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters',
  method: 'post',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

fetch('https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY'
}

result = RestClient.post 'https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY'
}

r = requests.post('https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/accountVerifications/accountVerificationProviderParameters", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Generate account provider parameters

POST /accountVerificationProviderParameters

This operation generates parameters to allow integration with a client-embedded secure account verification provider application component. The response is based on the current user and configured provider. There is no request body for this operation. The operation may take several seconds, so this operation may continue to process the request asynchronously, returning a 202 response code and Retry-After. After that retry delay, the client should try again until the operation returns a 200 response.

Try It

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/accountVerificationProviderParameters/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "issuer": "yodlee",
  "parameters": {
    "0": {
      "name": "widgetUrl",
      "value": "https://int-widgets.moneydesktop.com/md/connections/qfnp2wzqg9rthAp8tv70fb6pzqZ8v9xfzn3by2k2"
    }
  }
}

Responses

StatusDescription
201 Created
Created. The response contains the parameters to integrate with the account verification provider components.
Schema: accountVerificationProviderParameters
202 Accepted
Accepted. The request has been accepted but could not complete in a timely manner. Retry the operation after waiting the number of seconds specified in the Retry-After response header. The returned response body has an empty parameters array.
Schema: accountVerificationProviderParameters
StatusDescription
400 Bad Request
Bad Request. The parameters are not well-formed.
Schema: errorResponse

Response Headers

StatusDescription
202 Retry-After string
Indicates a suggested delay in seconds after which the client should retry the operation.
Example: Retry-After: 5

createAccountVerification

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/accountVerifications/providerAccountVerification \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

POST https://api.devbank.apiture.com/accountVerifications/providerAccountVerification HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/providerAccountVerification',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "providerParameters": {
    "issuer": "mx",
    "parameters": [
      {
        "name": "widgetUrl",
        "value": "https://int-widgets.moneydesktop.com/md/connections/qfnp2wzqg9rthAp8tv70fb6pzqZ8v9xfzn3by2k2"
      },
      {
        "name": "context",
        "value": "BC67FAA048724BA1994B336CC934A917"
      }
    ]
  },
  "state": "verified",
  "accounts": [
    {
      "id": "03abd-30f65c",
      "name": "My account at 3rdParty Bank",
      "ifxType": "SDA",
      "state": "active",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "********9999",
        "full": "999999999"
      },
      "accountOwners": [
        {
          "firstName": "Steven",
          "middleName": "Benjamin",
          "lastName": "Storey",
          "fullName": "Steven B. Storey",
          "type": "primary"
        }
      ],
      "providerAccountId": "a4e48fba-a737-4f75-b703-3e1149b1ea45",
      "verificationReport": {
        "state": "passed",
        "accountRiskFactors": []
      }
    }
  ]
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

fetch('https://api.devbank.apiture.com/accountVerifications/providerAccountVerification',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY'
}

result = RestClient.post 'https://api.devbank.apiture.com/accountVerifications/providerAccountVerification',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accountVerifications/providerAccountVerification', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/providerAccountVerification");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/accountVerifications/providerAccountVerification", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Create account data from the interactive instant account verification provider

POST /providerAccountVerification

Start the instant account verification provider to get account verification. The providerParameters in the initial request body should be the parameters returned from the createAccountVerificationProviderParameters.

The operation may take more than a few seconds, so this operation may continue to process the request asynchronously, returning a 202 response code and Retry-After. After that retry delay, the client should try this operation again until the operation returns a 201 response. The client must pass providerAccountVerification response body from the 202 response to the retry operation as the request body.

Body parameter

{
  "providerParameters": {
    "issuer": "mx",
    "parameters": [
      {
        "name": "widgetUrl",
        "value": "https://int-widgets.moneydesktop.com/md/connections/qfnp2wzqg9rthAp8tv70fb6pzqZ8v9xfzn3by2k2"
      },
      {
        "name": "context",
        "value": "BC67FAA048724BA1994B336CC934A917"
      }
    ]
  },
  "state": "verified",
  "accounts": [
    {
      "id": "03abd-30f65c",
      "name": "My account at 3rdParty Bank",
      "ifxType": "SDA",
      "state": "active",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "********9999",
        "full": "999999999"
      },
      "accountOwners": [
        {
          "firstName": "Steven",
          "middleName": "Benjamin",
          "lastName": "Storey",
          "fullName": "Steven B. Storey",
          "type": "primary"
        }
      ],
      "providerAccountId": "a4e48fba-a737-4f75-b703-3e1149b1ea45",
      "verificationReport": {
        "state": "passed",
        "accountRiskFactors": []
      }
    }
  ]
}

Parameters

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

Try It

Example responses

201 Response

{
  "providerParameters": {
    "issuer": "mx",
    "parameters": [
      {
        "name": "widgetUrl",
        "value": "https://int-widgets.moneydesktop.com/md/connections/qfnp2wzqg9rthAp8tv70fb6pzqZ8v9xfzn3by2k2"
      },
      {
        "name": "context",
        "value": "BC67FAA048724BA1994B336CC934A917"
      }
    ]
  },
  "state": "verified",
  "accounts": [
    {
      "id": "03abd-30f65c",
      "name": "My account at 3rdParty Bank",
      "ifxType": "SDA",
      "state": "active",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "********9999",
        "full": "999999999"
      },
      "accountOwners": [
        {
          "firstName": "Steven",
          "middleName": "Benjamin",
          "lastName": "Storey",
          "fullName": "Steven B. Storey",
          "type": "primary"
        }
      ],
      "providerAccountId": "a4e48fba-a737-4f75-b703-3e1149b1ea45",
      "verificationReport": {
        "state": "passed",
        "accountRiskFactors": []
      }
    }
  ]
}

Responses

StatusDescription
201 Created
Created. The account verification provider either completed the external account verification (state is verified), or the verification has failed (state is failed).
Schema: providerAccountVerification
202 Accepted
Accepted. The request has been accepted but could not complete in a timely manner. Retry the operation after waiting the number of seconds specified in the Retry-After response header. The client must save the response body to pass as the request body on the retry.
Schema: providerAccountVerification
StatusDescription
400 Bad Request
Bad Request. The request body is not well-formed.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The data in the request was well formed is invalid and could not be processed.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
202 Retry-After string
Indicates a suggested delay in seconds after which the client should retry the operation.
Example: Retry-After: 5

getMicroDepositVerifications

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/microDepositVerifications \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/microDepositVerifications HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/microDepositVerifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/microDepositVerifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Return a collection of micro-deposit verification resources

GET /microDepositVerifications

Return a paginated sortable filterable searchable collection of micro-deposit verifications. The links in the response include pagination links.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first institution item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of institution representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.
externalAccount
(query)
string
Return verifications for the external account identified by this query parameter. The value is the unique _id or URL of an external account.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: microDepositVerifications
StatusDescription
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
StatusDescription
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
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

createMicroDepositVerification

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/accountVerifications/microDepositVerifications \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/accountVerifications/microDepositVerifications HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/createMicroDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    }
  },
  "routingNumber": "054100318",
  "accountNumbers": {
    "full": "7432172992"
  },
  "ifxType": "SDA"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/microDepositVerifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/accountVerifications/microDepositVerifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Create a new micro-deposit verification resource

POST /microDepositVerifications

This operation is used to verify an account using micro-deposits. The verification must contain full unmasked account numbers.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/createMicroDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    }
  },
  "routingNumber": "054100318",
  "accountNumbers": {
    "full": "7432172992"
  },
  "ifxType": "SDA"
}

Parameters

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

Try It

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/03abd-30f65c"
    }
  },
  "state": "verified"
}

Responses

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

Conflict. An account verification that matches the request already exists. The _error field in the response will contain details about the request error.

This error response may have one of the following type values:

StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
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.

getMicroDepositVerification

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/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 verification. This is an opaque string.
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/03abd-30f65c"
    }
  },
  "state": "verified"
}

Responses

StatusDescription
200 OK
OK.
Schema: microDepositVerification
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

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 https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/03abd-30f65c"
    }
  },
  "state": "verified"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Update this micro-deposit verification resource

PATCH /microDepositVerifications/{verificationId}

Perform a partial update of this micro-deposit verification resource. To associate this account verification with an external account resource, include an apiture:externalAccount link inside the _links collection, with the link's href set to that external account's URL.

Body parameter

{
  "_profile": "https://production.api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/03abd-30f65c"
    }
  },
  "state": "verified"
}

Parameters

Parameter Description
verificationId
(path)
string (required)
The unique identifier of this account verification. This is an opaque string.
If-Match
(header)
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body
(body)
microDepositVerification (required)
The data necessary to update a micro-deposit verification resource.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/03abd-30f65c"
    }
  },
  "state": "verified"
}

Responses

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

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
403 Forbidden
Forbidden. The user is not entitled to the target external account.
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

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.

verifyMicroDepositAmounts

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "amounts": {
    "0": {
      "value": ".02",
      "currency": "USD",
      "baseType": "credit"
    },
    "1": {
      "value": ".04",
      "currency": "USD",
      "baseType": "credit"
    },
    "2": {
      "value": ".06",
      "currency": "USD",
      "baseType": "debit"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Verify micro-deposit amounts

POST /microDepositVerifications/{verificationId}

Complete the verification by providing the amount values from the micro-deposit transactions.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "amounts": {
    "0": {
      "value": ".02",
      "currency": "USD",
      "baseType": "credit"
    },
    "1": {
      "value": ".04",
      "currency": "USD",
      "baseType": "credit"
    },
    "2": {
      "value": ".06",
      "currency": "USD",
      "baseType": "debit"
    }
  }
}

Parameters

Parameter Description
verificationId
(path)
string (required)
The unique identifier of this account verification. This is an opaque string.
If-Match
(header)
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body
(body)
microDepositVerificationAmounts (required)
The amounts from a micro-deposit.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/03abd-30f65c"
    }
  },
  "state": "verified"
}

Responses

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

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

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.

getMicroDepositVerificationAccounts

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}/accounts \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}/accounts HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}/accounts',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}/accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}/accounts', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/microDepositVerifications/{verificationId}/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/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 verification. This is an opaque string.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccounts/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c/accounts"
    }
  },
  "externalAccounts": {
    "0": {
      "id": "03abd-30f65c",
      "name": "My account at 3rdParty Bank",
      "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.1.0/profile.json",
      "ifxType": "SDA",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: simpleExternalAccounts
StatusDescription
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
StatusDescription
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
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

getInstantVerifications

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/instantVerifications \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/instantVerifications HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/instantVerifications',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/instantVerifications',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/instantVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/instantVerifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/instantVerifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/instantVerifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Return a collection of instant verifications

GET /instantVerifications

Return a paginated sortable filterable searchable collection of account verifications. The links in the response include pagination links.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first instant verification item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of instant verification representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.
externalAccount
(query)
string
Return verifications for the external account identified by this query parameter. The value is the unique _id or URL of an external account.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/instantVerifications/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: instantVerifications
StatusDescription
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
StatusDescription
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 https://api.devbank.apiture.com/accountVerifications/instantVerifications \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/accountVerifications/instantVerifications HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/instantVerifications',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/createInstantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/961ffc1e-27671e"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contact/03abd-30f65c"
    }
  },
  "authenticationFields": {
    "0": {
      "username": {
        "value": "user123"
      }
    },
    "1": {
      "password": {
        "value": "pass123"
      }
    },
    "2": {
      "pin": {
        "value": "123"
      }
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/instantVerifications',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/accountVerifications/instantVerifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/accountVerifications/instantVerifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/instantVerifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/accountVerifications/instantVerifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Create a new instant verification resource

POST /instantVerifications

This type of verification requires to send encrypted login fields to initiate an authentication process with the external financial institution. A GET to /institutions/{institutionId}/authenticationFields must be executed to retrieve the required login fields. This operation returns a verification resource with a pending status. In order to check for status updates, a client must continuously poll the resource via GET to the /instantVerifications endpoint.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/createInstantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/961ffc1e-27671e"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contact/03abd-30f65c"
    }
  },
  "authenticationFields": {
    "0": {
      "username": {
        "value": "user123"
      }
    },
    "1": {
      "password": {
        "value": "pass123"
      }
    },
    "2": {
      "pin": {
        "value": "123"
      }
    }
  }
}

Parameters

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

Try It

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/instantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/961ffc1e-27671e"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/ee406e5b-7d63fb"
    }
  },
  "_id": "03abd-30f65c",
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": {
    "0": {
      "key": 1,
      "type": "TEXT",
      "value": "Send code to",
      "choices": {
        "0": {
          "key": 1,
          "value": "Mobile XXX-XXX-9771"
        },
        "1": {
          "key": 2,
          "value": "Mobile XXX-XXX-9881"
        }
      }
    }
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: instantVerification
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
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 https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/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 verification. This is an opaque string.
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/instantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/961ffc1e-27671e"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/ee406e5b-7d63fb"
    }
  },
  "_id": "03abd-30f65c",
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": {
    "0": {
      "key": 1,
      "type": "TEXT",
      "value": "Send code to",
      "choices": {
        "0": {
          "key": 1,
          "value": "Mobile XXX-XXX-9771"
        },
        "1": {
          "key": 2,
          "value": "Mobile XXX-XXX-9881"
        }
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: instantVerification
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse

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 https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/updateInstantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/institutions/institutions/03abd-30f65c"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contact/03abd-30f65c"
    }
  },
  "mfa": {
    "answers": {
      "0": {
        "key": 1,
        "value": "Mobile XXX-XXX-9771"
      }
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Update this instant verification resource

PATCH /instantVerifications/{verificationId}

This operation must be used to update a verification resource waiting for user input, that is when the mfaRequired field is set to true and the state of the resource is pending. To associate this account verification with an external account resource, include an apiture:externalAccount link inside the _links collection, with the link's href set to that external account's URL.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/updateInstantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/institutions/institutions/03abd-30f65c"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contact/03abd-30f65c"
    }
  },
  "mfa": {
    "answers": {
      "0": {
        "key": 1,
        "value": "Mobile XXX-XXX-9771"
      }
    }
  }
}

Parameters

Parameter Description
verificationId
(path)
string (required)
The unique identifier of this account verification. This is an opaque string.
If-Match
(header)
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body
(body)
updateInstantVerification (required)
The data necessary to update an instant verification resource.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/instantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/instantVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/instantVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/ee406e5b-7d63fb"
    }
  },
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": [
    {
      "key": 1,
      "type": "TEXT",
      "value": "Input the received code"
    }
  ]
}

Responses

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

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
403 Forbidden
Forbidden. The user is not entitled to the target external account.
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse

Response Schema

Status Code 200

Property Name Description
» _links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links.
»» Link (v1.0.0) link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property. This schema was resolved from common/link.
»»» href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
»»» type string
The media type for the resource.
»»» templated boolean
If true, the link's href is a URI template.
»»» title string
An optional human-readable localized title for the link.
»»» deprecation string(uri)
If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.
»»» profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.
»» _embedded object
The objects which participate in this verification resource.
»» _profile string(uri)
The URI of a resource profile which describes the representation.
»» _error error
An object which describes an error. This value is omitted if the operation succeeded without error.
»»» message string (required)
A localized message string describing the error condition.
»»» _id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
»»» statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
»»» type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
»»» occurredAt string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
»»» attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
»»» remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
»»» errors [error]
An optional array of nested error objects. This property is not always present.
»»»» Error (v2.1.0) error
Describes an error in an API request or in a service called via the API. This schema was resolved from common/error.
»»»»» message string (required)
A localized message string describing the error condition.
»»»»» _id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
»»»»» statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
»»»»» type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
»»»»» occurredAt string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
»»»»» attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
»»»»» remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
»»»»» errors [error]
An optional array of nested error objects. This property is not always present.
»»»»» _links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links.
»»»» _links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links.
»»» _id string
The unique identifier for this resource. This is an immutable opaque string.
»»» state string
The state of the verification, one of the following: * pending - account verification is pending * mfaPending - multi-factor authentication is pending * mfaSubmitted - multi-factor authentication has been submitted * verified - the account verification succeeded * failed - the account verification failed
»»» completedAt string(date-time)
An ISO 8601 UTC time stamp indicating when the verification completed (has a status different from pending).
»»» createdAt string(date-time)
An ISO 8601 UTC time stamp indicating when the verification report was created.
»»» mfaRequired boolean
Indicates if multi-factor authentication (MFA) is required.
»»» mfaPrompt [question]
Representation of a multi-factor authentication challenge.
»»»» MFA Question (v1.0.0) question
Representation of a multi-factor authentication question. The supported question formats are text and image, in which case the encoded payload is available under the content field.
»»»»» key string (required)
The unique key for this question's fields.
»»»»» content string
The question's content: the token value, or image URI.
»»»»» _links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links.
»»»»» choices [choice]
Optional array of choices for this question.
»»»»»» MFA Choice (v1.0.0) choice
Representation of question choice.
»»»»»»» type string
The user interface type of choice.
»»»»»»» key string
The choice's unique key.
»»»»»»» value string
The choice's value.
»»»»»»» content string
The content specific to this choice.
»»»»»»» _links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from common/links.
»»»»»» type string
The question type.
»»»»»» value string
The question text.
»»»»» stateMessages [object]
An array of messages providing additional information of the status of the verification.

Enumerated Values

Property Value
state pending
state mfaPending
state mfaSubmitted
state verified
state failed
type image
type text
type option
type checkbox
type radio
type question
type token
type image

Response Headers

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 https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}/accounts \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}/accounts HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}/accounts',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}/accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}/accounts', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/instantVerifications/{verificationId}/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/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 embedded external account entities pertaining to the verified FI account.

Parameters

Parameter Description
verificationId
(path)
string (required)
The unique identifier of this account verification. This is an opaque string.
unmasked
(query)
boolean
When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccounts/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c/accounts"
    }
  },
  "externalAccounts": {
    "0": {
      "id": "03abd-30f65c",
      "name": "My account at 3rdParty Bank",
      "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.1.0/profile.json",
      "ifxType": "SDA",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    }
  }
}

Responses

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

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
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
StatusDescription
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

Verification Report

Account Verification Reports

createVerificationReport

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/accountVerifications/verificationReports?verification=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/accountVerifications/verificationReports?verification=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/verificationReports',
  method: 'post',
  data: '?verification=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/verificationReports?verification=string',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/accountVerifications/verificationReports',
  params: {
  'verification' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/accountVerifications/verificationReports', params={
  'verification': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/verificationReports?verification=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/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 persistent resource; the report is transient and returned in the response body only.

Parameters

Parameter Description
verification
(query)
string (required)
A string which identifies a specific verification resource. The value may be a {verificationId} or a verification URI.

Try It

Example responses

200 Response

{
  "state": "failed",
  "accountRiskFactors": {
    "0": {
      "riskCode": 101,
      "description": "Account owner first name does not match"
    },
    "1": {
      "riskCode": 102,
      "description": "Account owner last name does not match"
    },
    "2": {
      "riskCode": 103,
      "description": "Account owner zip code does not match"
    }
  }
}

Responses

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

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
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
StatusDescription
500 Internal Server Error
Server Error. Fatal error has occurred.
Schema: errorResponse
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

Institutions

Information about Financial Institutions

getInstitutions

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/institutions \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/institutions HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/institutions',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/institutions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/institutions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/institutions', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/institutions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/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 addition to the standard sorting mechanisms, it is possible to sort institutions by popularity by using the popularity criteria, such as ?sortBy=popularity.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first institution item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of financial institution representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
name
label.
filter
(query)
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property name using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property label using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property _id using functions eq, in
• Property featured using functions eq.
q
(query)
string
Optional search string. See searching.
name
(query)
string
Subset the institutions collection to those with this name value. Use | to separate multiple values. For example, ?name=Bartell will match only items whose name is Bartell; ?name=Bartell|kirsten will match items whose name is Bartell or kirsten. This is combined with an implicit and with other filters if they are used. See filtering.
label
(query)
string
Subset the institutions collection to those with this label value. Use | to separate multiple values. For example, ?label=email_verification matches only items whose label is email_verification; ?label=email_verification|account_verification will match items whose label is email_verification or account_verification. This is combined with an implicit and with other filters if they are used. See filtering.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institutions/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "external institutions",
  "_embedded": {
    "items": {
      "0": {
        "_id": "03abd-30f65c",
        "name": "Example Banks, Inc",
        "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institution/v1.1.0/profile.json",
        "label": "Banks",
        "featured": true,
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institution/0399abed-30f35d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://bank.example.com/"
          }
        }
      },
      "1": {
        "_id": "0399abed-30f35d",
        "name": "Example Bank.",
        "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institution/v1.1.0/profile.json",
        "label": "Example Bank",
        "featured": true,
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institution/0399abed-30f35d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://bank.example.com/"
          }
        }
      }
    }
  }
}

Responses

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

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
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
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

getInstitution

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId} \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/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.

Parameters

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

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institution/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institution/0399abed-30f35d"
    },
    "icon": {
      "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
    },
    "home": {
      "href": "https://www.bank.example.bank/"
    }
  },
  "name": "Example Bank Bancshares, Inc.",
  "label": "Example Bank",
  "featured": true
}

Responses

StatusDescription
200 OK
OK.
Schema: institution
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

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.

getInstitutionFields

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/institutions/{institutionId}/authenticationFields", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Return descriptions of the fields required to authenticate with the external institution

GET /institutions/{institutionId}/authenticationFields

This endpoint returns descriptions of the fields required to authenticate with the external institution.

Parameters

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

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/authenticationFieldsResponse/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/03abd-30f65c/authenticationFields"
    }
  },
  "fields": {
    "0": {
      "username": {
        "title": "Online ID",
        "value": "user123",
        "type": "string"
      }
    },
    "1": {
      "password": {
        "title": "Password",
        "value": "pass123",
        "type": "string"
      }
    },
    "2": {
      "pin": {
        "title": "PIN",
        "value": "123",
        "type": "string"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: authenticationFieldsResponse
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
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.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
501 Not Implemented
The financial institution has disabled API verification. Use the user interface integration instead.
Schema: errorResponse

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.

Configuration

Account Verifications Service Configuration

getConfigurationGroups

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/configurations/groups \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/configurations/groups HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/configurations/groups',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/configurations/groups',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/configurations/groups',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/configurations/groups', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/configurations/groups");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/configurations/groups", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Return a collection of configuration groups

GET /configurations/groups

Return a paginated sortable filterable searchable collection of configuration groups. The links in the response include pagination links.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/configurations/groups?start=10&limit=10"
    },
    "first": {
      "href": "/configurations/configurations/groups?start=0&limit=10"
    },
    "next": {
      "href": "/configurations/configurations/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/configurations/configurations/groups"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_embedded": {
    "items": {
      "0": {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/basic"
          }
        },
        "name": "basic",
        "label": "Basic Settings",
        "description": "The basic settings for the Transfers API"
      },
      "1": {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/calendar"
          }
        },
        "name": "calendar",
        "label": "Calendar",
        "description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: configurationGroups
StatusDescription
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
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

getConfigurationGroup

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Fetch a representation of this configuration group

GET /configurations/groups/{groupName}

Return a HAL representation of this configuration group resource.

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API",
  "schema": {
    "type": "object",
    "properties": {
      "dailyLimit": {
        "type": "number",
        "description": "The daily limit for the number of transfers"
      },
      "cutoffTime": {
        "type": "string",
        "format": "time",
        "description": "The cutoff time for scheduling transfers for the current day"
      }
    }
  },
  "values": {
    "dailyLimit": 5,
    "cutoffTime": 63000
  }
}

Responses

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

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for GET operations for this configuration group resource.

getConfigurationGroupSchema

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/schema", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Fetch the schema for this configuration group

GET /configurations/groups/{groupName}/schema

Return a HAL representation of this configuration group schema resource.

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Try It

Example responses

200 Response

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Responses

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

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT

getConfigurationGroupValues

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Fetch the values for the specified configuration group

GET /configurations/groups/{groupName}/values

Return a representation of this configuration group's values.

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Try It

Example responses

200 Response

{
  "dailyLimit": 5,
  "cutoffTime": 63000
}

Responses

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

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT

updateConfigurationGroupValues

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "dailyLimit": 5,
  "cutoffTime": 63000
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Update the values for the specified configuration group

PUT /configurations/groups/{groupName}/values

Perform a complete replacement of this set of configuration values.

Body parameter

{
  "dailyLimit": 5,
  "cutoffTime": 63000
}

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
If-Match
(header)
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body
(body)
configurationValues (required)

Try It

Example responses

200 Response

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: configurationSchema
StatusDescription
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
StatusDescription
403 Forbidden
Access denied. Only user allowed to update configurations is an admin.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT

getConfigurationGroupValue

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName} \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Fetch a single value associated with the specified configuration group

GET /configurations/groups/{groupName}/values/{valueName}

Fetch a single value associated with this configuration group. This provides convenient access to individual values of the configuration group.

The response is always a JSON value which can be parsed with a strict JSON parser. The response may be

Examples:

To update a specific value, use PUT /accountVerifications/configurations/groups/{groupName}/values/{valueName} (operation updateConfigurationGroupValue).

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
valueName
(path)
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*.

Try It

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK. The value of the named configuration value as a JSON string, number, boolean, array, or object.
Schema: string
StatusDescription
404 Not Found

Not Found. There is either no such configuration group resource at the specified {groupName} or no such value at the specified {valueName}. The _error field in the response will contain details about the request error.

This error response may have one of the following type values:

Schema: errorResponse

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 configuration group resource.

updateConfigurationGroupValue

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = 'string';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.devbank.apiture.com/accountVerifications/configurations/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Update a single value associated with the specified configuration group

PUT /configurations/groups/{groupName}/values/{valueName}

Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration group as defined in the configuration group's schema. The request body must conform to the configuration group's schema for the named {valueName}. This operation is idempotent.

The request body must be a JSON value which can be parsed with a strict JSON parser. The response may be

Examples:

To fetch specific value, use GET /accountVerifications/configurations/groups/{groupName}/values/{valueName} operation getConfigurationGroupValue).

Body parameter

"string"

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
valueName
(path)
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*.
body
(body)
string (required)
The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or object.

Try It

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK.
Schema: string
StatusDescription
403 Forbidden
Access denied. Only user allowed to update configurations is an admin.
Schema: errorResponse

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 configuration group resource.

API

the Account Verifications API

getApi

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/accountVerifications/ HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

fetch('https://api.devbank.apiture.com/accountVerifications/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Top-level resources and operations in this API

GET /

Return links to the top-level resources and operations in this API.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

Responses

StatusDescription
200 OK
OK.
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accountVerifications/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/accountVerifications/apiDoc HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json

var headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accountVerifications/apiDoc',
  method: 'get',

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

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'

};

fetch('https://api.devbank.apiture.com/accountVerifications/apiDoc',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.devbank.apiture.com/accountVerifications/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'API-Key': 'API_KEY'
}

r = requests.get('https://api.devbank.apiture.com/accountVerifications/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accountVerifications/apiDoc");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accountVerifications/apiDoc", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Return API definition document

GET /apiDoc

Return the OpenAPI document that describes this API.

Try It

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK.
Schema: Inline

Response Schema

Schemas

abstractRequest

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    }
  }
}

Abstract Request (v2.0.0)

An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

This schema was resolved from common/abstractRequest.

Properties

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.

This schema was resolved from common/links.

_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.
read-only

abstractResource

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}

Abstract Resource (v2.1.0)

An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

This schema was resolved from common/abstractResource.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

accountNumbers

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

Account Numbers (v1.0.0)

Different representations of an account number.

This schema was resolved from common/accountNumbers.

Properties

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.
read-only
minLength: 8
maxLength: 32
full string
The full account number. This value only appears when ?unmasked=true is passed on the GET request. Not included in the summary representation of the account that is included in account collection responses. This value is derived and immutable.
read-only
minLength: 4
maxLength: 17

accountVerificationProviderParameter

{
  "name": "widgetUrl",
  "value": "https://int-widgets.moneydesktop.com/md/connections/qfnp2wzqg9rthAp8tv70fb6pzqZ8v9xfzn3by2k2"
}

Account Verification Provider Parameter (v1.0.0)

A single name/value parameter that the client passes to the account verification provider user interface component. This is an element of paymentProviderParameters.

Properties

NameDescription
name string (required)
The parameter name.
minLength: 4
maxLength: 32
pattern: ^[a-zA-Z][-a-zA-Z0-9_]{3,31}
value string (required)
The parameter value.
maxLength: 256

accountVerificationProviderParameters

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/accountVerificationProviderParameters/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "issuer": "yodlee",
  "parameters": {
    "0": {
      "name": "widgetUrl",
      "value": "https://int-widgets.moneydesktop.com/md/connections/qfnp2wzqg9rthAp8tv70fb6pzqZ8v9xfzn3by2k2"
    }
  }
}

Account Verification Provider Parameters (v1.1.0)

Parameters that the client passes to the account verification provider user interface component. The set of parameter names is dynamic and not defined by a schema, as providers may be deployed after the API has been deployed.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
issuer string (required)
The name of the account verification provider associated with the parameters
parameters [accountVerificationProviderParameter] (required)
An array of individual account verification provider parameters.

accountVerificationProviderState

"blockedForAccountSelection"

Provider Account Verification State (v1.0.0)

The possible states of the instant account verification provider's account verification.

accountVerificationProviderState strings may have one of the following enumerated values:

ValueDescription
blockedForAccountSelectionBlocked for Account Selection: The external account verification provider is blocked, waiting for the banking customer to select the financial institution, external account, or other input.
verifyingAccountsVerifying Accounts: The external account verification provider is verifying the external accounts for the banking user.
accountsVerifiedAccounts Verified: The external account verification provider has successfully verified the external accounts for the banking user.
blockedForIdentityVerificationBlocked for Identity Verification: The external account verification provider is blocked, awaiting the account holder to enter information required by the financial institution in order for the provider to verify the account holder's identity.
verifyingIdentityVerifying Identity: The external account verification provider is verifying the account holder identity with the financial institution.
verifiedVerified: The external account verification provider verified the account and account holder.
failedFailed: The external account verification provider failed to verify the external accounts for the banking user.

Type: string
Enumerated values:
blockedForAccountSelection
verifyingAccounts
accountsVerified
blockedForIdentityVerification
verifyingIdentity
verified
failed

address

{
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US",
  "_id": "ha5",
  "type": "home"
}

Address (v1.0.0)

A postal address with the address type and an identifier.

This schema was resolved from contacts/address.

Properties

NameDescription
addressLine1 string
The first street address line of the address, normally a house number and street name.
minLength: 4
maxLength: 128
addressLine2 string
The optional second street address line of the address.
maxLength: 128
city string
The name of the city or municipality.
minLength: 2
maxLength: 128
regionCode string
The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: ^[a-zA-Z]{2}$
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
minLength: 5
maxLength: 10
pattern: ^[0-9]{5}(?:-[0-9]{4})?$
countryCode string
The ISO 3166-1 alpha-2 country code. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: ^[a-zA-Z]{2}$
type addressType (required)
The type of this address.
label string
A text label, suitable for presentation to the end user. This is derived from type or from otherType if type is other
read-only
minLength: 4
maxLength: 32
otherType string
The actual address type if type is other.
minLength: 4
maxLength: 32
_id string
An identifier for this address, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all addresses within the addresses array.
minLength: 1
maxLength: 8
pattern: ^[-a-zA-Z0-9_]{1,8}$

addressType

"unknown"

Address Type (v1.0.0)

The type of a postal address.

Warning: The enum list will be removed in a future release.

The allowed values for this property are defined at runtime in the label group named addressType in the response from the getLabels operation.

This schema was resolved from contacts/addressType.

Type: string
Enumerated values:
unknown
home
prior
work
school
mailing
vacation
shipping
billing
headquarters
commercial
site
property
other
notApplicable

attributes

{}

Attributes (v2.1.0)

An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.

Properties

authenticationField

{
  "title": "Online ID",
  "type": "string",
  "value": "wellphunded1984"
}

Authentication Field (v1.0.0)

Description an authentication field used to authenticate against a financial institution. This service does not persist the user's responses to these field prompts.

Properties

NameDescription
title string
User readable title or label for this prompt/field.
type string
Type of this field.
value string
The data value the user entered for this field.
format string
JSON schema format for this field.

authenticationFields

{
  "username": {
    "title": "Online ID",
    "value": "user123",
    "type": "string"
  },
  "password": {
    "title": "Password",
    "value": "pass123",
    "type": "string",
    "format": "password"
  },
  "pin": {
    "title": "PIN",
    "value": "123",
    "type": "string"
  }
}

Authentication Fields (v1.0.0)

A set of authentication fields necessary to authenticate against the external financial institution. The keys in this object are field names. The values describe each field prompt. The client application prompts the user for values for these fields. The underlying account verification service uses but does not persist the values of these fields to authenticate.

Properties

NameDescription
additionalProperties authenticationField
Description an authentication field used to authenticate against a financial institution. This service does not persist the user's responses to these field prompts.

authenticationFieldsResponse

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/authenticationFieldsResponse/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/03abd-30f65c/authenticationFields"
    }
  },
  "fields": {
    "0": {
      "username": {
        "title": "Online ID",
        "value": "user123",
        "type": "string"
      }
    },
    "1": {
      "password": {
        "title": "Password",
        "value": "pass123",
        "type": "string"
      }
    },
    "2": {
      "pin": {
        "title": "PIN",
        "value": "123",
        "type": "string"
      }
    }
  }
}

Authentication Fields Response (v1.1.0)

Map of authentication fields.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
fields authenticationFields
A set of authentication fields necessary to authenticate against the external financial institution. The keys in this object are field names. The values describe each field prompt. The client application prompts the user for values for these fields. The underlying account verification service uses but does not persist the values of these fields to authenticate.

authorizationType

"primary"

Account Authorization type (v1.0.0)

The type of this account access authorization.

authorizationType strings may have one of the following enumerated values:

ValueDescription
primaryPrimary Account Holder: The primary account holder of a personal account. There may be only one primary owner.
jointJoint Account Holder: A non-primary joint account holder of a personal account.
authorizedSignerAuthorized Signer: Authorized Signer of a business account.

These enumeration values are further described by the label group named authorizationType in the response from the getLabels operation.

This schema was resolved from contacts/authorizationType.

Type: string
Enumerated values:
primary
joint
authorizedSigner

choice

{
  "type": "image",
  "key": "string",
  "value": "string",
  "content": "string",
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  }
}

MFA Choice (v1.0.0)

Representation of question choice.

Properties

NameDescription
type string
The user interface type of choice.


Enumerated values:
image
text
option
checkbox
radio

key string
The choice's unique key.
value string
The choice's value.
content string
The content specific to this choice.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

collection

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}

Collection (v2.1.0)

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

This schema was resolved from common/collection.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

configurationGroup

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API",
  "schema": {
    "type": "object",
    "properties": {
      "dailyLimit": {
        "type": "number",
        "description": "The daily limit for the number of transfers"
      },
      "cutoffTime": {
        "type": "string",
        "format": "time",
        "description": "The cutoff time for scheduling transfers for the current day"
      }
    }
  },
  "values": {
    "dailyLimit": 5,
    "cutoffTime": 63000
  }
}

Configuration Group (v2.1.0)

Represents a configuration group.

This schema was resolved from configurations/configurationGroup.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: [a-zA-Z][-\w_]*
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096
schema configurationSchema
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

values configurationValues
The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

configurationGroupSummary

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API"
}

Configuration Group Summary (v2.1.0)

A summary of the data contained within a configuration group resource.

This schema was resolved from configurations/configurationGroupSummary.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: [a-zA-Z][-\w_]*
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096

configurationGroups

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/configurations/groups?start=10&limit=10"
    },
    "first": {
      "href": "/configurations/configurations/groups?start=0&limit=10"
    },
    "next": {
      "href": "/configurations/configurations/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/configurations/configurations/groups"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_embedded": {
    "items": {
      "0": {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/basic"
          }
        },
        "name": "basic",
        "label": "Basic Settings",
        "description": "The basic settings for the Transfers API"
      },
      "1": {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/calendar"
          }
        },
        "name": "calendar",
        "label": "Calendar",
        "description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
      }
    }
  }
}

Configuration Group Collection (v2.1.0)

Collection of configuration groups. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

This schema was resolved from configurations/configurationGroups.

Properties

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.

This schema was resolved from common/links.

_embedded configurationGroupsEmbedded
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

configurationGroupsEmbedded

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.1.0/profile.json",
      "_links": {
        "self": {
          "href": "/configurations/groups/basic"
        }
      },
      "name": "basic",
      "label": "Basic Settings",
      "description": "The basic settings for the Transfers API"
    }
  ]
}

Configuration Groups Embedded Objects (v1.1.0)

Objects embedded in the configurationGroupscollection.

This schema was resolved from configurations/configurationGroupsEmbedded.

Properties

NameDescription
items [configurationGroupSummary]
An array containing a page of configuration group items.

configurationSchema

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Configuration Schema (v2.1.0)

The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

Properties

NameDescription
additionalProperties configurationSchemaValue
The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

configurationSchemaValue

{}

Configuration Schema Value (v2.0.0)

The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

Properties

configurationValue

{}

Configuration Value (v2.0.0)

The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

Properties

configurationValues

{
  "dailyLimit": 5,
  "cutoffTime": 63000
}

Configuration Values (v2.0.0)

The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

Properties

NameDescription
additionalProperties configurationValue
The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

createInstantVerification

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/createInstantVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/961ffc1e-27671e"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contact/03abd-30f65c"
    }
  },
  "authenticationFields": {
    "0": {
      "username": {
        "value": "user123"
      }
    },
    "1": {
      "password": {
        "value": "pass123"
      }
    },
    "2": {
      "pin": {
        "value": "123"
      }
    }
  }
}

Create Instant Verification (v1.0.0)

Representation used to create a new instant verification resource. The _links on a createInstantVerification must include the following: apiture:*institution An institution must be provided to authenticate and retrieve data from the financial institution provider. apiture:*contact The contact associated to the account to verify.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
authenticationFields authenticationFields
A set of authentication fields necessary to authenticate against the external financial institution. The keys in this object are field names. The values describe each field prompt. The client application prompts the user for values for these fields. The underlying account verification service uses but does not persist the values of these fields to authenticate.

createMicroDepositVerification

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/createMicroDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    }
  },
  "routingNumber": "054100318",
  "accountNumbers": {
    "full": "7432172992"
  },
  "ifxType": "SDA"
}

Create Micro Deposit Verification (v1.0.0)

Representation used to create a micro-deposit verification resource.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
routingNumber string (required)
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
minLength: 9
maxLength: 9
accountNumbers accountNumbers (required)
Different representations of an account number.

This schema was resolved from common/accountNumbers.

ifxType ifxType (required)
A code which identifies the product type. This is one of the IFX AcctType values.

error

{
  "_id": "2eae46e1575c0a7b0115a4b3",
  "message": "Descriptive error message...",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [
    {
      "_id": "ccdbe2c5c938a230667b3827",
      "message": "An optional embedded error"
    },
    {
      "_id": "dbe9088dcfe2460f229338a3",
      "message": "Another optional embedded error"
    }
  ],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}

Error (v2.1.0)

Describes an error in an API request or in a service called via the API.

This schema was resolved from common/error.

Properties

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.
read-only
statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
occurredAt string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors [error]
An optional array of nested error objects. This property is not always present.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

errorResponse

{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": {}
    }
  }
}

Error Response (v2.1.0)

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

This schema was resolved from common/errorResponse.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

externalAccountNumbers

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

External Account Numbers (v1.0.0)

The account numbers necessary to link an external account.

This schema was resolved from accounts/externalAccountNumbers.

Properties

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 included when accounts are embedded in collections or other resources. This value is derived and immutable.
read-only
minLength: 8
maxLength: 32
full string
The full account number. This value only appears when ?unmasked=true is passed on the GET request for an account. Not included in the summary representation of the account that is included in account collection responses. Pass in this value when linking an external account. This field can be updated whenever the account is still in the pending state.
minLength: 4
maxLength: 17

externalAccountOwner

{
  "firstName": "Steven",
  "middleName": "Benjamin",
  "lastName": "Storey",
  "fullName": "Steven B. Storey",
  "type": "primary",
  "addresses": {
    "0": {
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401",
      "countryCode": "US"
    }
  }
}

External Account Owner (v1.1.0)

An external account owner. Since this is a small finite set, this is not a paginated collection, just an array.

This schema was resolved from accounts/externalAccountOwner.

Properties

NameDescription
firstName string
The person's first name (or given name).
middleName string
The person's middle name.
lastName string
The person's last name (or surname).
fullName string
The account owner's full name (first name and last name or owning business name).
maxLength: 128
type authorizationType
The account owner's ownership type.
addresses [address]
The owner's addresses; addresses[0] is the primary mailing address of the owning individual or business.

externalAccountState

"active"

External Account State (v1.1.0)

The state of an external (linked) banking account. This field is immutable and derived.

To change the state of an account, POST the account ID to the corresponding resource endpoints, using the corresponding link on the external account resource:

externalAccountState strings may have one of the following enumerated values:

ValueDescription
pendingPending: A new external account that has not been verified.
verifyingVerifying: A new account that is being verified. This state only applies to external accounts.
failedFailed: A external account which has failed account verification.
activeActive: An account which is active and available for use and for making new transactions.
inactiveInactive: An account which is marked inactive and not available for new transactions. Inactive accounts may be changed back to active.
frozenFrozen: 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.
closedClosed: 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 accounts.
underReviewUnder Review: A new external account that under is review.
microDepositsRequestedMicro-deposits Requested: A new external account that is starting micro deposits verification. This state only applies to external accounts.

These enumeration values are further described by the label group named externalAccountState in the response from the getLabels operation.

This schema was resolved from accounts/externalAccountState.

Type: string
Enumerated values:
pending
verifying
failed
active
inactive
frozen
closed
underReview
microDepositsRequested

ifxType

"CCA"

IFX Account Type (v1.0.0)

A code which identifies the product type. This is one of the IFX AcctType values. Labels and descriptions for the enumeration values are in the ifxType key in the response of the getLabels operation.

ifxType strings may have one of the following enumerated values:

ValueDescription
CCACredit card account
CDACertificate of deposit account (CD)
CLACommercial loan account
CMACash management account
DDADemand deposit account
EQUHome equity loan
GLAGeneral ledger account
ILAInstallment loan account
INVInvestment account
IRAIndividual retirement account
IRLAccounts held in Ireland
LOCConsumer line of credit
MLAMilitary Lending Account: Credit facility held by former US service member
MMAMoney market account
PBAPackaged bank Account: Account with additional benefits that charges a fixed monthly fee.
PPAPrivate pension administrator
RWDReward accounts
SDASavings deposit account

These enumeration values are further described by the label group named ifxType in the response from the getLabels operation.

This schema was resolved from products/ifxType.

Type: string
Enumerated values:
CCA
CDA
CLA
CMA
DDA
EQU
GLA
ILA
INV
IRA
IRL
LOC
MLA
MMA
PBA
PPA
RWD
SDA

instantVerification

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/instantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/961ffc1e-27671e"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/ee406e5b-7d63fb"
    }
  },
  "_id": "03abd-30f65c",
  "state": "pending",
  "mfaRequired": true,
  "mfaPrompt": {
    "0": {
      "key": 1,
      "type": "TEXT",
      "value": "Send code to",
      "choices": {
        "0": {
          "key": 1,
          "value": "Mobile XXX-XXX-9771"
        },
        "1": {
          "key": 2,
          "value": "Mobile XXX-XXX-9881"
        }
      }
    }
  }
}

Instant Verification (v1.1.0)

Representation of an instant verification resource.

Properties

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.

This schema was resolved from common/links.

_embedded object
The objects which participate in this verification resource.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
The unique identifier for this resource. This is an immutable opaque string.
read-only
state string

The state of the verification, one of the following:

  • pending - account verification is pending
  • mfaPending - multi-factor authentication is pending
  • mfaSubmitted - multi-factor authentication has been submitted
  • verified - the account verification succeeded
  • failed - the account verification failed


Enumerated values:
pending
mfaPending
mfaSubmitted
verified
failed

completedAt string(date-time)
An ISO 8601 UTC time stamp indicating when the verification completed (has a status different from pending).
createdAt string(date-time)
An ISO 8601 UTC time stamp indicating when the verification report was created.
mfaRequired boolean
Indicates if multi-factor authentication (MFA) is required.
mfaPrompt mfaPrompt
Representation of a multi-factor authentication challenge.
stateMessages [object]
An array of messages providing additional information of the status of the verification.

instantVerificationFields

{}

Instant Verification Fields (v1.0.0)

Common fields of an instant verification resource.

Properties

instantVerifications

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/instantVerifications/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}

Instant Verification Collection (v1.1.0)

Collection of account verification. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

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.

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items [summaryInstantVerification]
An array containing a page of account verification items.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

institution

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institution/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institution/0399abed-30f35d"
    },
    "icon": {
      "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
    },
    "home": {
      "href": "https://www.bank.example.bank/"
    }
  },
  "name": "Example Bank Bancshares, Inc.",
  "label": "Example Bank",
  "featured": true
}

Institution (v1.1.0)

A financial institution where a user may hold external accounts.

Response and request bodies using this institution schema may contain the following links:

RelSummaryMethod
home HomeGET
icon IconGET

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
The unique identifier for this resource. This is an immutable opaque string.
read-only
name string
Name of the financial institution.
maxLength: 128
label string
Display name of the institution
maxLength: 128
featured boolean
indicates whether the institution is highlighted as one of the top most popular institutions.

institutions

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institutions/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "external institutions",
  "_embedded": {
    "items": {
      "0": {
        "_id": "03abd-30f65c",
        "name": "Example Banks, Inc",
        "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institution/v1.1.0/profile.json",
        "label": "Banks",
        "featured": true,
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institution/0399abed-30f35d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://bank.example.com/"
          }
        }
      },
      "1": {
        "_id": "0399abed-30f35d",
        "name": "Example Bank.",
        "_profile": "https://production.api.apiture.com/schemas/accountVerifications/institution/v1.1.0/profile.json",
        "label": "Example Bank",
        "featured": true,
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institution/0399abed-30f35d"
          },
          "icon": {
            "href": "http://d111111abcdef8.cloudfront.net/images/image2.jpg"
          },
          "home": {
            "href": "https://bank.example.com/"
          }
        }
      }
    }
  }
}

Institutions (v1.1.0)

Collection of external financial institutions. This list is supplied by a third party and is immutable (there are no operations to add, modify, or remove institutions). The items in the collection are ordered in the _embedded.items array; the name is institutions. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

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.

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items [institution]

[A financial institution where a user may hold external accounts.

Response and request bodies using this institution schema may contain the following links:

RelSummaryMethod
home HomeGET
icon IconGET
]
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

{
  "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Application"
}

Link (v1.0.0)

Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

This schema was resolved from common/link.

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.

{
  "property1": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  },
  "property2": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  }
}

Links (v1.0.0)

An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

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.

This schema was resolved from common/link.

mfaPrompt

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

MFA Challenge (v1.0.0)

Representation of a multi-factor authentication challenge.

mfaPrompt is an array schema.

Array Elements

NameDescription
MFA Challenge (v1.0.0) [question]
Representation of a multi-factor authentication challenge.

mfaResponse

{
  "answers": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}

MFA Response (v1.0.0)

Representation of a multi-factor authentication (MFA) response.

Properties

NameDescription
answers [questionResponse]
The answers provided for this MFA request.

microDeposit

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

Micro-Deposit (v1.0.0)

A micro-deposit.

Properties

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.
baseType string (required)
Type of micro-deposit transaction.


Enumerated values:
credit
debit

microDepositVerification

{
  "_profile": "https://production.api.apiture.com/accountVerifications/microDepositVerification/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/microDepositVerifications/03abd-30f65c/accounts"
    },
    "apiture:verificationReport": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
    },
    "apiture:externalAccount": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accounts/externalAccounts/03abd-30f65c"
    }
  },
  "state": "verified"
}

Micro Deposit Verification (v1.1.0)

Representation of a micro-deposit verification resource.

Properties

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.

This schema was resolved from common/links.

_embedded object
The objects which participate in this verification resource.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
The unique identifier for this resource. This is an immutable opaque string.
read-only
state string

The state of the micro-deposit verification, one of the following:

  • pending - account verification is pending
  • mfaPending - multi-factor authentication is pending
  • mfaSubmitted - multi-factor authentication has been submitted
  • deposited - the provider has applied the micro-deposits transactions
  • verified - the account verification succeeded
  • failed - the account verification failed
  • expired - the account verification expired


Enumerated values:
pending
mfaPending
mfaSubmitted
deposited
verified
failed
expired

completedAt string(date-time)
An ISO 8601 UTC time stamp indicating when the verification completed (has a status different from pending).
expiresAt string(date-time)
The date-time when the account verification expires. This is in [RFC 3339] (https://tools.ietf.org/html/rfc3339) UTC date-time format (YYYY-MM-DDThh:mm:ss.sssZ).
read-only
createdAt string(date-time)
An ISO 8601 UTC time stamp indicating when the verification report was created.
stateMessages [object]
An array of messages providing additional information of the status of the verification.

microDepositVerificationAmounts

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "amounts": {
    "0": {
      "value": ".02",
      "currency": "USD",
      "baseType": "credit"
    },
    "1": {
      "value": ".04",
      "currency": "USD",
      "baseType": "credit"
    },
    "2": {
      "value": ".06",
      "currency": "USD",
      "baseType": "debit"
    }
  }
}

Update Micro Deposits Verification (v1.1.0)

Representation used to update a micro-deposit verification resource.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
amounts [microDeposit] (required)
An array containing a page of account verification items.
minItems: 1

microDepositVerifications

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}

Micro Deposit Verification Collection (v1.1.0)

Collection of micro-deposit verifications. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

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.

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items [microDepositVerification]
An array containing a page of account verification items.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

providerAccountVerification

{
  "providerParameters": {
    "issuer": "mx",
    "parameters": [
      {
        "name": "widgetUrl",
        "value": "https://int-widgets.moneydesktop.com/md/connections/qfnp2wzqg9rthAp8tv70fb6pzqZ8v9xfzn3by2k2"
      },
      {
        "name": "context",
        "value": "BC67FAA048724BA1994B336CC934A917"
      }
    ]
  },
  "state": "verified",
  "accounts": [
    {
      "id": "03abd-30f65c",
      "name": "My account at 3rdParty Bank",
      "ifxType": "SDA",
      "state": "active",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "********9999",
        "full": "999999999"
      },
      "accountOwners": [
        {
          "firstName": "Steven",
          "middleName": "Benjamin",
          "lastName": "Storey",
          "fullName": "Steven B. Storey",
          "type": "primary"
        }
      ],
      "providerAccountId": "a4e48fba-a737-4f75-b703-3e1149b1ea45",
      "verificationReport": {
        "state": "passed",
        "accountRiskFactors": []
      }
    }
  ]
}

Provider Account Verification (v1.1.0)

Data used by the instant account verification provider to to validate external accounts on behalf of the banking user, and the result of that verification.

Properties

NameDescription
providerParameters accountVerificationProviderParameters (required)
The banking user's parameters for this instant account verification provider.
state accountVerificationProviderState (required)
The state of the instant account verification provider's account and identity verification.
read-only
accounts [providerExternalAccount]
When state is passed, this is the list of eligible accounts the banking user holds at the financial institution.
read-only

providerExternalAccount

{
  "id": "03abd-30f65c",
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.1.0/profile.json",
  "name": "My account at 3rdParty Bank",
  "ifxType": "SDA",
  "state": "active",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "********9999",
    "full": "999999999"
  },
  "accountOwners": {
    "0": {
      "firstName": "Steven",
      "middleName": "Benjamin",
      "lastName": "Storey",
      "fullName": "Steven B. Storey",
      "type": "primary"
    }
  },
  "providerAccountId": "a4e48fba-a737-4f75-b703-3e1149b1ea45",
  "verificationReport": {
    "state": "passed",
    "accountRiskFactors": {}
  }
}

Provider External Account (v1.0.0)

An eligible account the banking user holds at the financial institution, as discovered by the external account verification provider.

Properties

NameDescription
id string
The unique identifier for this external account resource. This is an immutable opaque string.
name string
The user-assigned name of this external account.
maxLength: 128
state externalAccountState
The state of the external account.
read-only
ifxType ifxType
A code which identifies the product type. This is one of the IFX AcctType values.
accountOwners [externalAccountOwner]
The array of account owners. This may be an empty array (0 items) but is always present.
routingNumber string
The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's configuration.
read-only
minLength: 9
maxLength: 9
accountNumbers externalAccountNumbers
The masked and full account number.
attributes attributes
Additional attributes created by the account verification provider. These attributes may be copied to the final external account resource in the Accounts API to preserve the connection between the provider and the account.
providerAccountId string
The provider's unique opaque identifier for the account. Note that this is not related to the external account ID in the Accounts API.
minLength: 4
maxLength: 48
verificationReport verificationReport
An optional verification report and risk factors generated from the instant account verification provider. This is only available when state is failed or verified.
read-only

question

{
  "key": "string",
  "content": "string",
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "choices": [
    {
      "type": "image",
      "key": "string",
      "value": "string",
      "content": "string",
      "_links": {
        "property1": {
          "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
          "title": "Application"
        },
        "property2": {
          "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
          "title": "Application"
        }
      }
    }
  ],
  "type": "question",
  "value": "string"
}

MFA Question (v1.0.0)

Representation of a multi-factor authentication question. The supported question formats are text and image, in which case the encoded payload is available under the content field.

Properties

NameDescription
key string (required)
The unique key for this question's fields.
content string
The question's content: the token value, or image URI.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

choices [choice]
Optional array of choices for this question.
type string
The question type.


Enumerated values:
question
token
image

value string
The question text.

questionFields

{
  "key": "string"
}

MFA Question Fields (v1.0.0)

Common question and answer fields.

Properties

NameDescription
key string (required)
The unique key for this question's fields.

questionResponse

{
  "key": "string",
  "value": "string"
}

MFA Question Answer (v1.0.0)

Representation of a multi-factor authentication question answer.

Properties

NameDescription
key string (required)
The unique key for this question's fields.
value string (required)
User provided value for this question.

riskFactor

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

Risk Factor (v1.0.0)

A risk factor indicates a mismatch between user data and available account data.

Properties

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 (v1.0.0)

Details of the data used to determine a risk factor.

Properties

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

root

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

API Root (v2.1.0)

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

This schema was resolved from common/root.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
This API's version.

simpleAddress

{
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US"
}

Simple Address (v1.0.0)

A postal address.

This schema was resolved from contacts/simpleAddress.

Properties

NameDescription
addressLine1 string
The first street address line of the address, normally a house number and street name.
minLength: 4
maxLength: 128
addressLine2 string
The optional second street address line of the address.
maxLength: 128
city string
The name of the city or municipality.
minLength: 2
maxLength: 128
regionCode string
The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: ^[a-zA-Z]{2}$
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
minLength: 5
maxLength: 10
pattern: ^[0-9]{5}(?:-[0-9]{4})?$
countryCode string
The ISO 3166-1 alpha-2 country code. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: ^[a-zA-Z]{2}$

simpleExternalAccount

{
  "id": "03abd-30f65c",
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.1.0/profile.json",
  "name": "My account at 3rdParty Bank",
  "ifxType": "SDA",
  "state": "active",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210",
    "full": "999999999"
  },
  "accountOwners": {
    "0": {
      "firstName": "Steven",
      "middleName": "Benjamin",
      "lastName": "Storey",
      "fullName": "Steven B. Storey",
      "type": "primary"
    }
  }
}

External Account (v1.1.0)

Simple representation of an external account resource.

Properties

NameDescription
id string
The unique identifier for this external account resource. This is an immutable opaque string.
name string
The user-assigned name of this external account.
maxLength: 128
state externalAccountState
The state of the external account.
read-only
ifxType ifxType
A code which identifies the product type. This is one of the IFX AcctType values.
accountOwners [externalAccountOwner]
The array of account owners. This may be an empty array (0 items) but is always present.
routingNumber string
The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's configuration.
read-only
minLength: 9
maxLength: 9
accountNumbers externalAccountNumbers
The masked and full account number.
attributes attributes
Additional attributes created by the account verification provider. These attributes may be copied to the final external account resource in the Accounts API to preserve the connection between the provider and the account.

simpleExternalAccounts

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccounts/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c/accounts"
    }
  },
  "externalAccounts": {
    "0": {
      "id": "03abd-30f65c",
      "name": "My account at 3rdParty Bank",
      "_profile": "https://production.api.apiture.com/schemas/accountVerifications/simpleExternalAccount/v1.1.0/profile.json",
      "ifxType": "SDA",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    }
  }
}

External Accounts (v1.1.0)

A list of of external accounts related to this verification resource. Since this is a small finite set, this is not a paginated collection, just an array.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
externalAccounts [simpleExternalAccount] (required)
A list of external accounts.

summaryInstantVerification

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/summaryInstantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c"
    }
  },
  "_id": "03abd-30f65c",
  "apiture:externalAccounts": {
    "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/instantVerifications/03abd-30f65c/accounts"
  },
  "apiture:verificationReport": {
    "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/verificationReports?verification=03abd-30f65c"
  },
  "apiture:contact": {
    "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contacts/ef039bdb-5605-4802-b163-d2f7cdbd28ab"
  },
  "apiture:institution": {
    "href": "https://api.devbank.apiture.com/accountVerifications/accountVerifications/institutions/961ffc1e-27671e"
  },
  "state": "pending",
  "mfaRequired": true
}

Summary Instant Verification (v1.1.0)

Summary representation of an instant verification resource.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
The unique identifier for this resource. This is an immutable opaque string.
read-only
state string

The state of an instant account verification, one of the following:

  • pending - account verification is pending
  • mfaPending - multi-factor authentication is pending
  • mfaSubmitted - multi-factor authentication has been submitted
  • verified - the account verification succeeded
  • failed - the account verification failed


Enumerated values:
pending
mfaPending
mfaSubmitted
verified
failed

featured boolean
indicates whether the institution resource is highlighted as one of the top most popular institutions.

updateInstantVerification

{
  "_profile": "https://production.api.apiture.com/schemas/accountVerifications/updateInstantVerification/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    },
    "apiture:institution": {
      "href": "https://api.devbank.apiture.com/accountVerifications/institutions/institutions/03abd-30f65c"
    },
    "apiture:contact": {
      "href": "https://api.devbank.apiture.com/accountVerifications/contacts/contact/03abd-30f65c"
    }
  },
  "mfa": {
    "answers": {
      "0": {
        "key": 1,
        "value": "Mobile XXX-XXX-9771"
      }
    }
  }
}

Update Instant Verification (v1.1.0)

Representation used to update an instant verification resource.

Properties

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.

This schema was resolved from common/links.

_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.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
mfa mfaResponse
Representation of a multi-factor authentication (MFA) response.

verificationReport

{
  "state": "failed",
  "accountRiskFactors": {
    "0": {
      "riskCode": 101,
      "description": "Account owner first name does not match"
    },
    "1": {
      "riskCode": 102,
      "description": "Account owner last name does not match"
    },
    "2": {
      "riskCode": 103,
      "description": "Account owner zip code does not match"
    }
  }
}

Verification Report (v1.0.0)

A verification report is an additional layer of validation that can be run against an instant verification resource. It uses available account aggregation data to generate a pass/fail result based on configured risk factors.

Properties

NameDescription
state string
The state of a verification report. passed indicates that the verification does not contain any risk factors based upon the user and account information, failed indicates that the verification contains one or more risk factors.


Enumerated values:
passed
failed

accountRiskFactors [riskFactor]
Risk factors associated with the account verification.