Shell HTTP Node.JS JavaScript Ruby Python Java Go

Apiture Digital Banking v0.126.1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

APIs for digital banking client applications.

Customer Accounts

Customer-level API for listing banking accounts, balances, and other account-specific data.

Clients may use this API to:

Financial Institutions

Operations related to bank and credit union financial institutions (FIs). This API provides the following features

  1. Calculating upcoming dates for transfer schedules, factoring in weekends, non-business days, and banking holidays as determined by the institution,
  2. Provide a list of transfer date restrictions: dates when users should not schedule transfers, based on transfer parameters,
  3. Look up a financial institution by an FI locator value: either an ABA routing and transit number, an IBAN account number, or a SWIFT/BIC code,
  4. Fetching Cutoff times for FI money movement requests.

Some of the operations in this API require an institutionId path parameter. This is the unique alphanumeric code that uniquely identifies a financial institution.

Account Transactions

The Transactions API allows bank customers to view the transactions history associated with a banking account. The client may filter the transaction history by date, amount, transaction type, and other criteria. The transaction response is paginated since there may be many thousands of transactions for an account.

Transactions have a type which indicates if the item is a balance transaction which establishes the account's balance, or a debit, or a credit transaction. Examples of debit transactions are checks drawn against an account, withdrawals, transfers from the account, fees, and adjustments. Examples of credit transactions are deposits, transfers to the account, interest, and adjustments. Check transactions include the check number and links to the check front and back images.

Some transactions, such as ACH transfers or debit card payments, include information about the merchant, such as the merchant name, the merchant's website URL, and logo URL if available.

Transactions also have a memo descriptive field which the customer can change. Each non-balance transaction can also be assigned to a category. The customer can edit their list of custom transaction categories. There is also a pre-defined list of fixed categories. (Category management is to be designed.)

Note: The financial institution may limit transaction history to the last 12 months of data.

Account to Account Transfers

Schedule and manage account to account transfers.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

License: Apiture API License

Authentication

Accounts

Banking Accounts

listAccounts

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/accounts \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/accounts HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/accounts',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

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

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

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

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/banking/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/json"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

List Accounts

GET https://api.apiture.com/banking/accounts

Return a paginated list of the customer's accounts, consisting of internal accounts at this financial institution and accounts at other financial institutions, if any.

Parameters

ParameterDescription
productType array[string]
Include only accounts whose product.type is in pipe-delimited set. For example, to list only savings, checking, and CD accounts, use
?productType=savings|checking|cd.
unique items
minItems: 1
pipe-delimited
items:
» enum values: savings, checking, cd, ira, loan, creditCard
location string
Filter accounts to just a subset of internal or external accounts (per the location property on the accountItem schema).
enum values: internal, external
allows array[string]
Filter the result to accounts that have corresponding true values in account.allows. For example ?allows=transferTo,transferFrom,view returns only accounts where account.allows.transferTo, account.allows.transferFrom, and account.allows.view are all true for the caller.
unique items
minItems: 1
comma-delimited
items:
» enum values: billPay, transferFrom, transferTo, mobileCheckDeposit, view, viewCards, manageCards
start string
The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url.
Default: ""
maxLength: 256
limit integer(int32)
The maximum number of items to return in this paged response.
Default: 100
minimum: 0
maximum: 1000

Example responses

200 Response

{
  "start": "1922a8531e8384cfa71b",
  "limit": 100,
  "nextPage_url": "https://production.api.apiture.com/banking/accounts?start=641f62296ecbf1882c84?limit=100?allows=view=true",
  "count": 6,
  "items": [
    {
      "id": "bf23bc970b78d27691e8",
      "title": "Max Pike",
      "nickname": "Payroll Checking",
      "label": "Payroll Checking *1008",
      "product": {
        "type": "checking",
        "code": "DDA",
        "label": "Business Checking",
        "description": "Basic business checking accounts"
      },
      "maskedNumber": "*1008",
      "location": "internal",
      "allows": {
        "transferFrom": false,
        "transferTo": true,
        "billPay": false,
        "mobileCheckDeposit": true,
        "view": true,
        "viewCards": true,
        "manageCards": false
      }
    },
    {
      "id": "b78d27691e8bf23bc970",
      "title": "Max Pike",
      "nickname": "College CD",
      "label": "College CD *2017",
      "product": {
        "type": "cd",
        "code": "CDA",
        "label": "24 Month CD",
        "description": "24 Month certificate of deposit"
      },
      "maskedNumber": "*2017",
      "location": "internal",
      "allows": {
        "transferFrom": false,
        "transferTo": false,
        "billPay": false,
        "mobileCheckDeposit": false,
        "view": true,
        "viewCards": true,
        "manageCards": false
      }
    }
  ]
}

Responses

StatusDescription
200 OK
OK. A page from the full list of the customer's accounts. This list contains only accounts that the customer is entitled to access. While the nextPage_url property is present in the response, the client can fetch the next page of accounts by performing a GET on that URL.
Schema: accounts
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

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

Schema: problemResponse

getAccount

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/accounts/{accountId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/accounts/{accountId} HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/accounts/{accountId}',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/accounts/{accountId}',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.apiture.com/banking/accounts/{accountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.apiture.com/banking/accounts/{accountId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Get an Account

GET https://api.apiture.com/banking/accounts/{accountId}

Return details of the customer's internal account.

Parameters

ParameterDescription
accountId resourceId (required)
The unique identifier of this account resource. This is an opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

Example responses

200 Response

{
  "id": "bf23bc970b78d27691e8",
  "location": "internal",
  "title": "Max Pike",
  "nickname": "Payroll Checking",
  "label": "Payroll Checking *1008",
  "product": {
    "type": "checking",
    "code": "DDA",
    "label": "Business Checking",
    "description": "Business checking account"
  },
  "maskedNumber": "*1008",
  "allows": {
    "transferFrom": false,
    "transferTo": true,
    "billPay": false,
    "mobileCheckDeposit": true,
    "view": true,
    "viewCards": true,
    "manageCards": false
  },
  "electronicStatements": true
}

Responses

StatusDescription
200 OK
OK. The response is a representation of the customer's account.
Schema: account
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such banking account resource at the specified {accountId}. The response body contains details about the request error.
Schema: problemResponse

listAccountBalances

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/accountBalances \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/accountBalances HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/accountBalances',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

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

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

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

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

List Account Balances

GET https://api.apiture.com/banking/accountBalances

Return a list of the requested internal accounts' balances. The accounts query parameter is a list of account IDs which typically comes from the getAccounts operation response. The returned list does not include external accounts. The caller must have entitlements to view each account's details, as indicated by a true value for account.allows.view. Requests to list balances for accounts the user is not allowed to read results in a 403 Forbidden response.

The response may be incomplete. Given a Retry-After response header, the client can retry the operation after a short delay, requesting only the accounts which are incomplete; see the 202 Accepted response for details.

Parameters

ParameterDescription
accounts accountIds
The unique account identifiers of one or more internal accounts. (Internal accounts are those with location value of internal.) If omitted, this operation uses the accounts for which the customer has view permissions but is limited to at most 1000 accounts. Note: The account IDs are unrelated to the account number.
unique items
minItems: 1
maxItems: 1000
comma-delimited
items:
» minLength: 6
» maxLength: 48
» pattern: ^[-_:.~$a-zA-Z0-9]+$
retryCount integer
When retrying the operation, pass the retryCount from the incompleteAccountBalances response.
minimum: 1
maximum: 10

Example responses

200 Response

{
  "items": [
    {
      "id": "05d00d7d-d630",
      "available": "3208.20",
      "current": "3448.72",
      "currentWithPending": "3448.72",
      "updatedAt": "2022-05-02T06:51:19.375Z",
      "incomplete": false
    },
    {
      "id": "cb5d67ea-a5c3",
      "available": "1750.80",
      "current": "1956.19",
      "currentWithPending": "1956.19",
      "updatedAt": "2022-05-02T06:51:19.375Z",
      "incomplete": false
    }
  ]
}

422 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/invalidAccountId/v1.0.0",
  "title": "Unprocessable Entity",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "No such account exists for the given account ID.",
  "instance": "https://production.api.apiture.com/banking/accountBalances?accounts=bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/invalidAccountId/v1.0.0",
  "title": "Unprocessable Entity",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "No such account exists for the given account ID.",
  "instance": "https://production.api.apiture.com/banking/accountBalances?accounts=bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK. The response contains the balances for all the accounts in the ?accounts= query parameter.
Schema: accountBalances
202 Accepted
Accepted. The service accepted the request but could not provide balances for all the requested accounts and returned an incomplete response. Try the call again after the time in the Retry-After response header has passed, and request only those accounts which are incomplete. If there is no Retry-After response header, the client has reached its maximum number of tries and should not retry the operation.
Schema: incompleteAccountBalances
HeaderRetry-After
string

Indicates an absolute time, in HTTP date-time format, UTC or a delay in seconds (a non-negative integer) after which the client may retry the operation. See RFC7231: Retry-After

Examples:

  • Retry-After: 5
  • Retry-After: Mon, 03 May 2022 23:59:59 GMT
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

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

Schema: problemResponse
StatusDescription
429 Too Many Requests

Too Many Requests. The client has sent too many requests in a given amount of time.

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

Schema: problemResponse
StatusDescription
503 Service Unavailable
Service Unavailable. Could not fetch the account balance from the banking core.
Schema: problemResponse

listEligibleAchAccounts

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/achEligibleAccounts?allows=billPay&secCode=arc \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/achEligibleAccounts?allows=billPay&secCode=arc HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/achEligibleAccounts?allows=billPay&secCode=arc',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/achEligibleAccounts',
  method: 'get',
  data: '?allows=billPay&secCode=arc',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.apiture.com/banking/achEligibleAccounts',
  params: {
  'allows' => 'array[string]',
'secCode' => '[achSecCode](#schemaachseccode)'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.apiture.com/banking/achEligibleAccounts', params={
  'allows': [
  "billPay"
],  'secCode': 'arc'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

List Eligible ACH Accounts

GET https://api.apiture.com/banking/achEligibleAccounts

Return a paginated list of a customer's accounts that are eligible for ACH transfers based on allowed privileges.

Optionally, an agent can access a business customer's ACH accounts when acting on behalf of that business customer via the optional customerId query parameter.

Parameters

ParameterDescription
allows array[string] (required)
Filter the result to accounts that have corresponding true values in account.allows. For example ?allows=transferTo,transferFrom,view returns only accounts where account.allows.transferTo, account.allows.transferFrom, and account.allows.view are all true for the caller.
unique items
minItems: 1
comma-delimited
items:
» enum values: billPay, transferFrom, transferTo, mobileCheckDeposit, view, viewCards, manageCards
secCode achSecCode (required)
Filter the result to accounts that allow ACH transfers of the given Standard Entry Class (SEC) codes.
enum values: arc, boc, ccd, cie, ctx, pop, ppd, rck, tel, web
customerId resourceId
The optional identifier of a business customer. This is an opaque string. An agent who is operating on behalf of a business can use this to access the resources of that business customer. The agent must have entitlements to act on behalf of the business; if not, the operation returns a 403 Forbidden response. For other situations, omit this value, else this must match the authenticated caller's customer ID (not their access ID).
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
start string
The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url.
Default: ""
maxLength: 256
limit integer(int32)
The maximum number of items to return in this paged response.
Default: 100
minimum: 0
maximum: 1000

Example responses

200 Response

{
  "start": "1922a8531e8384cfa71b",
  "limit": 100,
  "nextPage_url": "https://production.api.apiture.com/banking/accounts?start=641f62296ecbf1882c84?limit=100?allows=view=true",
  "count": 6,
  "items": [
    {
      "id": "bf23bc970b78d27691e8",
      "title": "Max Pike",
      "nickname": "Payroll Checking",
      "label": "Payroll Checking *1008",
      "product": {
        "type": "checking",
        "code": "DDA",
        "label": "Business Checking",
        "description": "Basic business checking accounts"
      },
      "maskedNumber": "*1008",
      "location": "internal",
      "allows": {
        "transferFrom": false,
        "transferTo": true,
        "billPay": false,
        "mobileCheckDeposit": true,
        "view": true,
        "viewCards": true,
        "manageCards": false
      }
    },
    {
      "id": "b78d27691e8bf23bc970",
      "title": "Max Pike",
      "nickname": "College CD",
      "label": "College CD *2017",
      "product": {
        "type": "cd",
        "code": "CDA",
        "label": "24 Month CD",
        "description": "24 Month certificate of deposit"
      },
      "maskedNumber": "*2017",
      "location": "internal",
      "allows": {
        "transferFrom": false,
        "transferTo": false,
        "billPay": false,
        "mobileCheckDeposit": false,
        "view": true,
        "viewCards": true,
        "manageCards": false
      }
    }
  ]
}

Responses

StatusDescription
200 OK
OK. A page from the full list of the customer's ACH-eligible accounts. This list contains only accounts that the customer is entitled to access. While the nextPage_url property is present in the response, the client can fetch the next page of accounts by performing a GET on that URL.
Schema: accounts
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

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

Schema: problemResponse

Institutions

Banking Institutions

lookUpInstitutionByLocator

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/institutionByLocator?locator=string&locatorType=abaRoutingNumber&countryCode=US \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/institutionByLocator?locator=string&locatorType=abaRoutingNumber&countryCode=US HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/institutionByLocator?locator=string&locatorType=abaRoutingNumber&countryCode=US',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/institutionByLocator',
  method: 'get',
  data: '?locator=string&locatorType=abaRoutingNumber&countryCode=US',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.apiture.com/banking/institutionByLocator',
  params: {
  'locator' => 'string',
'locatorType' => '[institutionLocatorType](#schemainstitutionlocatortype)',
'countryCode' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.apiture.com/banking/institutionByLocator', params={
  'locator': 'string',  'locatorType': 'abaRoutingNumber',  'countryCode': 'US'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/banking/institutionByLocator?locator=string&locatorType=abaRoutingNumber&countryCode=US");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Look up institution by routing number, IBAN, or SWIFT/BIC code

GET https://api.apiture.com/banking/institutionByLocator

Look up a financial institution by their country code and either American Bankers Association routing number, by International Bank Account Number (IBAN), or by SWIFT Business Identifier Code (BIC) code. Optionally, include a list of intermediary institutions that may be necessary to complete international wire transfers.

Parameters

ParameterDescription
locator string (required)
The financial institution lookup key (routing number, IBAN, or SWIFT/BIC), as indicated by the locatorType query parameter.
maxLength: 36
locatorType institutionLocatorType (required)
Indicates what type of value the locator query parameter is.
enum values: abaRoutingNumber, swiftBicCode, ibanAccountNumber
countryCode string (required)
The country code in which to search for institutions. For the US, the locatorType must be abaRoutingNumber. For non-US countries, the locatorType must be swiftBicCode or ibanAccountNumber.
minLength: 2
maxLength: 2
includeIntermediaryInstitutions boolean
If looking up a beneficiary institution for a wire transfer beneficiary institution, request the response also include a list of intermediary institutions.

Example responses

200 Response

{
  "found": true,
  "institution": {
    "name": "First Bank of Andalasia",
    "address": {
      "address1": "239 West Princess Ave.",
      "locality": "Andalasia",
      "regionCode": "NC",
      "countryCode": "US",
      "postalCode": "28407"
    },
    "locator": "503000196",
    "locatorType": "abaRoutingNumber"
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: institutionLookupResult
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.

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

Schema: problemResponse

Schedules

Schedules

listTransferSchedule

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule?startsOn=2022-07-04&direction=debit&frequency=once \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule?startsOn=2022-07-04&direction=debit&frequency=once HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule?startsOn=2022-07-04&direction=debit&frequency=once',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule',
  method: 'get',
  data: '?startsOn=2022-07-04&direction=debit&frequency=once',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule',
  params: {
  'startsOn' => 'string(date)',
'direction' => '[transferScheduleDirection](#schematransferscheduledirection)',
'frequency' => '[transferFrequency](#schematransferfrequency)'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule', params={
  'startsOn': '2022-07-04',  'direction': 'debit',  'frequency': 'once'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule?startsOn=2022-07-04&direction=debit&frequency=once");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return this institution's list of upcoming transfer schedule dates

GET https://api.apiture.com/banking/institutions/{institutionId}/transferSchedule

Return a transfer schedule list for this institution.

Parameters

ParameterDescription
institutionId institutionId (required)
The unique identifier of a financial institution.
minLength: 2
maxLength: 9
pattern: ^[A-Z0-9_]{2,8}$
startsOn string(date) (required)
The date to use to begin calculations of the transfer schedule in YYYY-MM-DD RFC 3339 date format.
endsOn string(date)
The date to use to conclude calculations of the transfer schedule in YYYY-MM-DD RFC 3339 date format.
direction transferScheduleDirection (required)
The direction of the transfer from the institution to the customer used for adjusting transfer dates due to banking holidays. For debit, dates are adjusted to the next business day. For credit, dates are adjusted to the previous business day.
enum values: debit, credit, both
count integer(int32)
The maximum amount of dates to calculate and include in the response. If an end date is provided, the total count may be lower than the requested count.
Default: 6
minimum: 1
maximum: 12
frequency transferFrequency (required)
The interval at which the money movement recurs.
enum values: once, daily, weekly, biweekly, semimonthly, monthly, monthlyFirstDay, monthlyLastDay, bimonthly, quarterly, semiyearly, yearly

Example responses

200 Response

{
  "items": [
    {
      "scheduledOn": "2022-06-27",
      "effectiveOn": "2022-06-27"
    },
    {
      "scheduledOn": "2022-07-04",
      "effectiveOn": "2022-07-05"
    },
    {
      "scheduledOn": "2022-07-11",
      "effectiveOn": "2022-07-11"
    },
    {
      "scheduledOn": "2022-07-18",
      "effectiveOn": "2022-07-18"
    },
    {
      "scheduledOn": "2022-07-25",
      "effectiveOn": "2022-07-25"
    },
    {
      "scheduledOn": "2022-08-01",
      "effectiveOn": "2022-07-01"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: transferSchedules
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found

Not found. There is no such resource at the request URL.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.
Schema: problemResponse

getCutoffTimes

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/institutions/{institutionId}/cutoffTimes \
  -H 'Accept: application/json' \
  -H 'If-None-Match: string' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/institutions/{institutionId}/cutoffTimes HTTP/1.1
Host: api.apiture.com
Accept: application/json
If-None-Match: string

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/banking/institutions/{institutionId}/cutoffTimes");
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"},
        "If-None-Match": []string{"string"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Return the financial institution's cutoff times for products

GET https://api.apiture.com/banking/institutions/{institutionId}/cutoffTimes

Return daily cutoff times for different money movement processes at a financial institution. Money movement requests (account to account transfers, ACH, wire transfers, etc.) must be submitted before the cutoff time in order for the financial institution to begin processing the request that day. Some cutoff time types may have multiple cutoff times per day.

Cutoff times are very slowly changing data. This is a conditional operation when the If-None-Match header is used. If the client has a getCutoffTimes response and the ETag returned from a previous call to this operation, this operation returns a 304 Not Modified when called again if the cutoff times have not changed.

Parameters

ParameterDescription
institutionId institutionId (required)
The unique identifier of a financial institution.
minLength: 2
maxLength: 9
pattern: ^[A-Z0-9_]{2,8}$
timeZoneId timeZoneId
Identifies the time zone for formatting time values in the response. If omitted, time values are formatting in the local timezone of the financial institution.
maxLength: 36
pattern: ^America\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)*
If-None-Match string
The entity tag that was returned in the ETag response header of a previous call. If the resource's current entity tag value matches this header value, the GET will return 304 (Not Modified) and no response body, else the current resource representation and updated ETag is returned.
maxLength: 512

Example responses

200 Response

{
  "timeZoneId": "America/New_York",
  "items": [
    {
      "type": "ach",
      "time": "13:45"
    },
    {
      "type": "ach",
      "time": "16:45"
    },
    {
      "type": "sameDayAch",
      "time": "16:45"
    },
    {
      "type": "domesticWireTransfer",
      "time": "16:45"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: cutoffTimes
HeaderETag
string
The value of this resource's entity tag, to be passed with If-Match and If-None-Match request headers in other conditional API calls for this resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found

Not found. There is no such resource at the request URL.

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

Schema: problemResponse
StatusDescription
412 Precondition Failed

Precondition Failed. One or more conditions given in the request header fields evaluated to false when tested on the server.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.
Schema: problemResponse

getTransferDateRestrictions

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/institutions/{institutionId}/transferDateRestrictions \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.apiture.com/banking/institutions/{institutionId}/transferDateRestrictions HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/banking/institutions/{institutionId}/transferDateRestrictions");
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.apiture.com/banking/institutions/{institutionId}/transferDateRestrictions", data)
    req.Header = headers

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

Return the financial institution's transfer dates restrictions

GET https://api.apiture.com/banking/institutions/{institutionId}/transferDateRestrictions

Return the transfer date restrictions for a date range and transfer parameters. The result is a list of days and dates that the financial institution does not allow scheduling specific types of transfers.

This information provides hints to clients, allowing bank customers to select transfer dates from a calendar picker. However, these dates are not strictly enforced; a transfer can still be scheduled to occur on restricted dates but the financial institution may shift the date when funds are drafted to account for holidays, closures, or to adjust based on the risk level of the funding account.

Parameters

ParameterDescription
institutionId institutionId (required)
The unique identifier of a financial institution.
minLength: 2
maxLength: 9
pattern: ^[A-Z0-9_]{2,8}$
startsOn string(date)
The start of the range of dates to include in the response, in YYYY-MM-DD RFC 3339 date format. While start dates far in the future are allowed, bank holiday schedules are only available for a small number of years ahead. The default is the current date.
endsOn string(date)
The end of the range of dates to include in the response. in YYYY-MM-DD RFC 3339 date format. The default is at least one year from the startOn date and is limited to a four year interval.
type transferTypeForDateRestrictions
Describes the type of transfer. This determines what business rules and adjustments to make to the date restrictions. Note ACH transfers (including CTX and PPD), that Credit and Debit here are relative to the account at the external financial institution.
Default: "internal"
enum values: internal, ach, achDebit, achCredit, domesticWireTransfer, internationalWireTransfer
risk achAccountRisk
The primary account's risk level. This determines what business rules and adjustments to make to the date restrictions. This parameter only applies to ACH credit transfers (funds credited to an external account) and is ignored for others.
enum values: early, normal, float, sameDay

Example responses

200 Response

{
  "restrictedDates": [
    {
      "occursOn": "2022-10-01",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-02",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-03",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-04",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-05",
      "reason": "pastCutoffTime"
    },
    {
      "occursOn": "2022-10-06",
      "reason": "riskRestricted"
    },
    {
      "occursOn": "2022-10-07",
      "reason": "riskRestricted"
    },
    {
      "occursOn": "2022-10-08",
      "reason": "closure",
      "debitsOn": "2022-10-07T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-09",
      "reason": "closure",
      "debitsOn": "2022-10-07T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-10",
      "reason": "holiday",
      "debitsOn": "2022-10-07T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-15",
      "reason": "closure",
      "debitsOn": "2022-10-14T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-16",
      "reason": "closure",
      "debitsOn": "2022-10-14T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-22",
      "reason": "closure",
      "debitsOn": "2022-10-21T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-23",
      "reason": "closure",
      "debitsOn": "2022-10-21T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-29",
      "reason": "closure",
      "debitsOn": "2022-10-28T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-30",
      "reason": "closure",
      "debitsOn": "2022-10-28T00:00:00.000Z"
    }
  ],
  "accuracyEndsOn": "2026-12-31T00:00:00.000Z"
}

Responses

StatusDescription
200 OK
OK.
Schema: transferDateRestrictions
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found

Not found. There is no such resource at the request URL.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

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

Schema: problemResponse

Transactions

Banking Account Transactions

listTransactions

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/accounts/{accountId}/transactions \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/accounts/{accountId}/transactions HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/accounts/{accountId}/transactions',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/accounts/{accountId}/transactions',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.apiture.com/banking/accounts/{accountId}/transactions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.apiture.com/banking/accounts/{accountId}/transactions', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a collection of transactions

GET https://api.apiture.com/banking/accounts/{accountId}/transactions

Return a paginated collection of transaction history for this internal account. The nextPage_url link in the response, if present, is a pagination link to the next page of transactions for the given filters.

This operation returns a 403 Forbidden error if the customer does not have view permissions in the account.allows object, or a 422 Unprocessable Entity if called on an external account.

The default response lists only recent transactions. Normally, this is transactions for the most recent 30 days, although for high-volume accounts, it may be a shorter period.

Parameters

ParameterDescription
start string
The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url.
Default: ""
maxLength: 256
limit integer(int32)
The maximum number of items to return in this paged response.
Default: 100
minimum: 0
maximum: 10000
occurredOn string
Return only transactions whose occurredOn date is in this date range. Dates ranges use dates expressed in YYYY-MM-DD RFC 3339 date format. Each account has an implicit default transaction history range of n days. This is normally 30 days but may be shorter for accounts with high activity. This n day period is applied to any unbounded date ranges. The default date range is the most recent n days. Example date ranges:
  • 2023-05-19 match transactions occurring on May 19, 2023.
  • [2023-05-01,2023-05-31] match transactions occurring between May 1 and 31, 2023, inclusive
  • [2023-05-01,2023-06-01) match transactions occurring in May, 2023 (on or after May 1, but before June 1)
  • [2023-05-09,] match transactions n days on or after May 9, 2023
  • (2023-05-09,) match transactions n days after May 9, 2023
  • [,2023-05-09] match transactions n days on or before May 9, 2023
  • (,2023-05-09) match transactions n days before but excluding May 9, 2023

pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$
posted boolean
Limit transactions in the response based on the transaction's posted value. If true, include only posted transactions. If false, include only non-posted transactions. If omitted, do not filter based on posted.
createdOn dateRange
Return only transactions whose createdOn date is in this date range. Example date ranges are the same format as the occurredOn query parameter.
Warning: The parameter createdOn was deprecated on version v0.6.0 of the API. Use the ?occurredOn= query parameter instead. createdOn will be removed on version v0.9.0 of the API.
pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$
postedOn dateRange
Return only transactions whose postedOn date is in this date range. Example date ranges are the same format as the occurredOn query parameter.
Warning: The parameter postedOn was deprecated on version v0.6.0 of the API. Use the ?occurredOn= query parameter instead. postedOn will be removed on version v0.9.0 of the API.
pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$
category array[string]
Filter transactions to only those whose category is in this pipe-separated list. Categories are set by a transaction cleansing service or assigned by the account holder. Categories can include names such as "Shopping", "Deposit", "Bill", "Transfer", or "Other".
unique items
minItems: 1
maxItems: 16
pipe-delimited
items:
» minLength: 1
» maxLength: 64
type array[string]
Filter transactions to only those whose type is in this pipe-separated list.
unique items
minItems: 1
maxItems: 4
pipe-delimited
items:
» enum values: balance, debit, credit
subtype array[string]
Filter transactions to only those whose subtype is in this pipe-separated list.
unique items
minItems: 1
maxItems: 2
pipe-delimited
items:
» enum values: check, other
amount amountRange
Return only transactions whose amount is in this numeric range. This compares only the absolute value of the transaction. That is, the value [1000.00,1100.00) will match either a debit of -1070.25 or a credit of 1021.90.
Some examples of specifying an amount range:
  • 1200.50 match the dollar amount 1,200.50 exactly
  • [1000.00,1200.00) matches items where 1000.00 <= amount < 1200.00
  • [1000.00,1199.99] matches items where 1000.00 <= amount <= 1199.99
  • (999.99,1200.00] matches items where 999.99 < amount <= 1200.00
  • [1200.50,] matches items where amount >= 1200.50
  • (1200.50,) matches items where amount > 1200.50
  • [,1200.50] matches items where amount <= 1200.50
  • (,1200.50) matches items where amount < 1200.50

pattern: ^((\d+(\.\d{0,2})?)|([\[\(](((\d+(\.\d{0,2})?),((\d+(\.\d{0,2})?))?)|(,(\d+(\.\d{0,2})?)))[\]\)]))$
checkNumber checkNumberRange
Return only transactions whose check.number is in this integer range. Examples:
  • 1200 match the integer 1,200 exactly
  • [1000,1200) matches items where 1000 <= number < 1200
  • [1000,1199] matches items where 1000 <= number <= 1199
  • (999,1200] matches items where 999 < number <= 1200
  • [1200,] matches items where number >= 1200
  • (1200,) matches items where number > 1200
  • [,1200] matches items where number <= 1200
  • (,1200) matches items where number < 1200

pattern: ^\d+|([[(](\d+,(\d+)?|,\d+)[)\]])$
retryCount integer
When retrying the operation, pass the retryCount from the incompleteTransactions response.
minimum: 1
maximum: 10
accountId resourceId (required)
The unique identifier of this account resource. This is an opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

Example responses

200 Response

{
  "start": "d1b48af913464aa49fcb07065dcc0616",
  "limit": 10,
  "nextPage_url": "https://production.api.apiture.com/banking/accounts/c9fc25b47d52916fc9ad/transactions?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
  "count": 2381,
  "items": [
    {
      "id": "d62c0701-0d74",
      "type": "balance",
      "occurredOn": "2023-06-18",
      "amount": "0.00",
      "posted": true,
      "balance": "8509.38"
    },
    {
      "id": "88f5bf17-ecc4",
      "type": "debit",
      "subtype": "check",
      "occurredOn": "2023-06-18",
      "memo": "Paid electric bill",
      "merchant": {
        "name": "B&T's Excellent Electric Co.",
        "website_url": "https://BillTedsExcellentElectricCompany.example.com/",
        "logo_url": "https://BillTedsExcellentElectricCompany.example.com/img/logos/medium.png"
      },
      "amount": "1276.21",
      "posted": true,
      "balance": "8509.38",
      "category": {
        "label": "Utilities",
        "id": "127"
      },
      "check": {
        "number": 8412,
        "imageFront_url": "/accounts/1d16e438-18e0/transactions/88f5bf17-ecc4/images/front/content",
        "imageBack_url": "/accounts/1d16e438-18e0/transactions/88f5bf17-ecc4/images/back/content"
      }
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: transactions
202 Accepted
Accepted. The service accepted the request but could not list the transactions for the date range in a reasonable amount of time. The system continues fetching the transactions so that they are available after one or more retries. Try the call again after the time in the Retry-After response header has passed, passing the value of the retryCount from the incompleteTransactions response as retryCount query parameter with. If there is no Retry-After response header, the client has reached its maximum number of tries and should not retry the operation. If the system is unable to fetch the transactions after several attempts, the call returns 504 Gateway Timeout.
Schema: incompleteTransactions
HeaderRetry-After
string

Indicates an absolute time, in HTTP date-time format, UTC or a delay in seconds (a non-negative integer) after which the client may retry the operation. See RFC7231: Retry-After

Examples:

  • Retry-After: 5
  • Retry-After: Mon, 03 May 2022 23:59:59 GMT
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such banking account resource at the specified {accountId} or the customer does not have entitlement to that account.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.

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

Schema: problemResponse
StatusDescription
429 Too Many Requests

Too Many Requests. The client has sent too many requests in a given amount of time.

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

Schema: problemResponse
StatusDescription
504 Gateway Time-out

Gateway Timeout. The server did not receive a timely response from an upstream server it needed to access in order to complete the request.

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

Schema: problemResponse

Transaction Categories

Banking Account Transaction Categories

listTransactionCategories

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/transactionCategories \
  -H 'Accept: application/json' \
  -H 'If-None-Match: string' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/transactionCategories HTTP/1.1
Host: api.apiture.com
Accept: application/json
If-None-Match: string

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

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

};

fetch('https://api.apiture.com/banking/transactionCategories',
{
  method: 'GET',

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.apiture.com/banking/transactionCategories");
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"},
        "If-None-Match": []string{"string"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Return a collection of transaction categories

GET https://api.apiture.com/banking/transactionCategories

Return a collection of transaction categories. The response is limited to 1,000 categories.

This is a conditional operation when the If-None-Match header is used. If the client has a transactionCategories response and the ETag returned from a previous call, this operation returns a 304 Not Modified if called again when the categories collection has not changed.

Parameters

ParameterDescription
If-None-Match string
The entity tag that was returned in the ETag response header of a previous call. If the resource's current entity tag value matches this header value, the GET will return 304 (Not Modified) and no response body, else the current resource representation and updated ETag is returned.
maxLength: 512

Example responses

200 Response

{
  "items": [
    {
      "id": "ef7958260dce34abddb7",
      "label": "Groceries",
      "type": "debit"
    },
    {
      "id": "f24096860ebf1383e202",
      "label": "Dining",
      "type": "debit"
    },
    {
      "id": "33c3d38ca0a744b8d903",
      "label": "Entertainment",
      "type": "debit"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: transactionCategories
HeaderETag
string
The value of this resource's entity tag, to be passed with If-Match and If-None-Match request headers in other conditional API calls for this resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.
Schema: problemResponse

Transfers

Banking Transfers

listTransfers

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/transfers \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/transfers HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/transfers',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

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

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

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

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a collection of transfers

GET https://api.apiture.com/banking/transfers

Return a paginated collection of transfers. The nextPage_url in the response is a pagination link.

Parameters

ParameterDescription
scheduledOn dateRange
Return only transactions whose scheduledOn date is in this date range. Dates ranges use dates expressed in YYYY-MM-DD RFC 3339 date format. Example date ranges:
  • 2022-05-19 match only transfers scheduled on May 19, 2022.
  • [2022-05-01,2022-06-01) in May, 2022: on or after May 1, but before June 1
  • (2022-05-01,2022-06-01) in May, 2022 (on or after May 1, but before June 1)
  • [2022-05-09,] on or after May 9, 2022
  • (2022-05-09,) after May 9, 2022
  • [,2022-05-09] on or before May 9, 2022
  • (,2022-05-09) before May 9, 2022

pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$
historical boolean
If true, list only historical (state is processed) transfers. If false, list only transfers that have not yet finished processing. If omitted, list all transfers.
start string
The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url.
Default: ""
maxLength: 256
limit integer(int32)
The maximum number of items to return in this paged response.
Default: 100
minimum: 0
maximum: 1000

Example responses

200 Response

{
  "start": "d1b48af913464aa49fcb07065dcc0616",
  "limit": 10,
  "nextPage_url": "https://production.api.apiture.com/transfers/transfers?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
  "items": [
    {
      "id": "0399abed-fd3d",
      "amount": "275.00",
      "memo": "Cover check for car repair",
      "sourceAccount": {
        "id": "bd9b7af2-6f9b",
        "label": "Premiere Checking *6789",
        "type": "checking",
        "location": "internal"
      },
      "targetAccount": {
        "id": "88b1ca3e-d0f3",
        "label": "Personal Savings *4567",
        "type": "savings",
        "location": "internal"
      },
      "schedule": {
        "scheduledOn": "2022-06-28",
        "frequency": "once"
      }
    },
    {
      "id": "d62c0701-0d74",
      "amount": "100.00",
      "memo": "cover check for school books",
      "sourceAccount": {
        "id": "bd9b7af2-6f9b",
        "label": "Checking *6789",
        "type": "checking",
        "location": "internal"
      },
      "targetAccount": {
        "id": "c8396f59-624b",
        "label": "Checking *3456",
        "type": "checking",
        "location": "internal"
      },
      "schedule": {
        "scheduledOn": "2022-06-28",
        "frequency": "once"
      }
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: transfers
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.
Schema: problemResponse

createTransfer

Code samples

# You can also use wget
curl -X POST https://api.apiture.com/banking/transfers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.apiture.com/banking/transfers HTTP/1.1
Host: api.apiture.com
Content-Type: application/json
Accept: application/json

const fetch = require('node-fetch');
const inputBody = '{
  "amount": "275.00",
  "memo": "Cover check for car repair",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

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

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/transfers',
  method: 'post',

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

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.apiture.com/banking/transfers',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.apiture.com/banking/transfers', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new transfer

POST https://api.apiture.com/banking/transfers

Create a new transfer within the transfers collection.

Body parameter

{
  "amount": "275.00",
  "memo": "Cover check for car repair",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  }
}

Parameters

ParameterDescription
body newTransfer (required)
The data necessary to create a new transfer.

Example responses

201 Response

{
  "amount": "275.00",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "label": "Premiere Checking *6789",
    "type": "checking",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "label": "Personal Savings *4567",
    "type": "savings",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  },
  "processedAt": "2022-06-27T021:00:00.000Z",
  "updatedBy": "James Bond",
  "id": "0399abed-fd3d",
  "memo": "Cover check for car repair"
}

Responses

StatusDescription
201 Created
Created.
Schema: transfer
HeaderLocation
string uri-reference
The URI of the new transfer.
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The user's permissions do not allow the transfer.

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

Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.

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

Schema: problemResponse

getTransfer

Code samples

# You can also use wget
curl -X GET https://api.apiture.com/banking/transfers/{transferId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.apiture.com/banking/transfers/{transferId} HTTP/1.1
Host: api.apiture.com
Accept: application/json

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

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/transfers/{transferId}',
{
  method: 'GET',

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

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/transfers/{transferId}',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.apiture.com/banking/transfers/{transferId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.apiture.com/banking/transfers/{transferId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this transfer

GET https://api.apiture.com/banking/transfers/{transferId}

Return the JSON representation of this transfer resource.

Parameters

ParameterDescription
transferId resourceId (required)
The unique identifier of this transfer. This is an opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

Example responses

200 Response

{
  "amount": "275.00",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "label": "Premiere Checking *6789",
    "type": "checking",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "label": "Personal Savings *4567",
    "type": "savings",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  },
  "processedAt": "2022-06-27T021:00:00.000Z",
  "updatedBy": "James Bond",
  "id": "0399abed-fd3d",
  "memo": "Cover check for car repair"
}

Responses

StatusDescription
200 OK
OK.
Schema: transfer
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such transfer resource at the specified {transferId}.
Schema: problemResponse

patchTransfer

Code samples

# You can also use wget
curl -X PATCH https://api.apiture.com/banking/transfers/{transferId} \
  -H 'Content-Type: application/merge-patch+json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.apiture.com/banking/transfers/{transferId} HTTP/1.1
Host: api.apiture.com
Content-Type: application/merge-patch+json
Accept: application/json

const fetch = require('node-fetch');
const inputBody = '{
  "amount": "275.00",
  "targetAccount": {
    "id": "88b1ca3e-d0f3"
  },
  "schedule": {
    "scheduledOn": "2022-06-28"
  }
}';
const headers = {
  'Content-Type':'application/merge-patch+json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/transfers/{transferId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Content-Type':'application/merge-patch+json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/transfers/{transferId}',
  method: 'patch',

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

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/merge-patch+json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.apiture.com/banking/transfers/{transferId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/merge-patch+json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.apiture.com/banking/transfers/{transferId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/merge-patch+json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Update this transfer

PATCH https://api.apiture.com/banking/transfers/{transferId}

Perform a partial update of this transfer as per JSON Merge Patch format and processing rules. Only fields in the request body are updated on the resource; fields which are omitted are not updated.

Body parameter

{
  "amount": "275.00",
  "targetAccount": {
    "id": "88b1ca3e-d0f3"
  },
  "schedule": {
    "scheduledOn": "2022-06-28"
  }
}

Parameters

ParameterDescription
body transferPatch (required)
The fields to update within the transfer.
transferId resourceId (required)
The unique identifier of this transfer. This is an opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

Example responses

200 Response

{
  "amount": "275.00",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "label": "Premiere Checking *6789",
    "type": "checking",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "label": "Personal Savings *4567",
    "type": "savings",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  },
  "processedAt": "2022-06-27T021:00:00.000Z",
  "updatedBy": "James Bond",
  "id": "0399abed-fd3d",
  "memo": "Cover check for car repair"
}

Responses

StatusDescription
200 OK
OK.
Schema: transfer
StatusDescription
400 Bad Request

Bad Request. The request body, request headers, and/or query parameters are not well-formed.

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

Schema: problemResponse
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such transfer resource at the specified {transferId}.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.

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

Schema: problemResponse

deleteTransfer

Code samples

# You can also use wget
curl -X DELETE https://api.apiture.com/banking/transfers/{transferId} \
  -H 'Accept: application/problem+json' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.apiture.com/banking/transfers/{transferId} HTTP/1.1
Host: api.apiture.com
Accept: application/problem+json

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

const headers = {
  'Accept':'application/problem+json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.apiture.com/banking/transfers/{transferId}',
{
  method: 'DELETE',

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

var headers = {
  'Accept':'application/problem+json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.apiture.com/banking/transfers/{transferId}',
  method: 'delete',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/problem+json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://api.apiture.com/banking/transfers/{transferId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/problem+json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://api.apiture.com/banking/transfers/{transferId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://api.apiture.com/banking/transfers/{transferId}", data)
    req.Header = headers

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

Delete this transfer resource

DELETE https://api.apiture.com/banking/transfers/{transferId}

Delete this transfer resource and any resources that are owned by it. Only transfers that have not been processed may be deleted.

Parameters

ParameterDescription
transferId resourceId (required)
The unique identifier of this transfer. This is an opaque string.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

Example responses

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
  "title": "Account Not Found",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "No account exists for the given account reference",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
204 No Content
No Content. The operation succeeded but returned no response body.
StatusDescription
401 Unauthorized

Unauthorized. The operation require authentication but none was given.

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

Schema: problemResponse
HeaderWWW-Authenticate
string
Optionally indicates the authentication scheme(s) and parameters applicable to the target resource/operation. This normally occurs if the request requires authentication but no authentication was passed. A 401 Unauthorized response may also be used for operations that have valid credentials but which require step-up authentication.
StatusDescription
403 Forbidden

Forbidden. The authenticated caller is not authorized to perform the requested operation.

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

Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such transfer resource at the specified {transferId}.
Schema: problemResponse
StatusDescription
409 Conflict

Conflict.

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

Schema: problemResponse

Schemas

account

{
  "id": "bf23bc970b78d27691e8",
  "location": "internal",
  "title": "Max Pike",
  "nickname": "Payroll Checking",
  "label": "Payroll Checking *1008",
  "product": {
    "type": "checking",
    "code": "DDA",
    "label": "Business Checking",
    "description": "Business checking account"
  },
  "maskedNumber": "*1008",
  "allows": {
    "transferFrom": false,
    "transferTo": true,
    "billPay": false,
    "mobileCheckDeposit": true,
    "view": true,
    "viewCards": true,
    "manageCards": false
  },
  "electronicStatements": true
}

Account (v1.2.0)

An internal customer account.

Properties

NameDescription
id string: readOnlyResourceId (required)
The unique identifier for this account resource. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
title string (required)
The financial institution assigned title for the account, derived from the account owner's name.
Warning: The property title was deprecated on version v1.2.0 of the schema. Use none (this field is not supported) instead. title will be removed on version v2.0.0 of the schema.
read-only
deprecated
maxLength: 80
label string (required)
The human-readable label for this account. This is either the nickname (if assigned for the current customer), or the product.label concatenated with the maskedNumber.
read-only
maxLength: 80
nickname string: accountNickname
The nickname (friendly name) the customer has given this account. Each customer can define their own nickname for the same account. If omitted, the customer has not set a nickname.
maxLength: 50
maskedNumber string: maskedAccountNumber (required)
A masked account number: an asterisk * followed by one to four characters of the fullAccountNumber.
minLength: 2
maxLength: 5
pattern: ^\*[- _a-zA-Z0-9.]{1,4}$
allows object: accountPermissions (required)
Flags which indicate the permissions the current authorized user has on this account resource. Most of these properties may only be true for internal accounts.
product object: productReference (required)
A reference to a banking product.
location string: accountLocation (required)
Indicates where an account is held.
enum values: internal, external, outside
electronicStatements boolean (required)
If true, the customer has opted in to receive account statements electronically.

accountAllowsFilter

"billPay"

Account Allows Filter (v1.0.0)

Values for the ?allows= filter in listAccounts.

accountAllowsFilter strings may have one of the following enumerated values:

ValueDescription
billPayBill Pay:

Include each account where the caller is allowed to use the bill pay feature.

transferFromTransfer From:

Include each account where the caller is allowed to transfer money from the account.

transferToTransfer To:

Include each account where the caller is allowed to transfer money into the account.

mobileCheckDepositMobile Check Deposit:

Include each account where the caller is allowed to deposit mobile checks.

viewView:

Include each account where the caller is allowed to view full account details (balances, full account number, transactions, etc).

viewCardsView Cards:

Include each account where the caller is allowed to view debit card details.

manageCardsManage Cards:

Include each account where the caller is allowed to manage debit card details.

Type: string
enum values: billPay, transferFrom, transferTo, mobileCheckDeposit, view, viewCards, manageCards

accountBalance

{
  "id": "05d00d7d-d630",
  "available": "3208.20",
  "current": "3448.72",
  "currentWithPending": "3448.72",
  "updatedAt": "2022-05-02T06:51:19.375Z",
  "incomplete": false
}

Account Balance (v1.0.0)

The current balances of the given account.

Properties

NameDescription
id string: readOnlyResourceId (required)
The account ID.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
available string: creditOrDebitValue
The available balance: the funds available for use. This is the string representation of the exact decimal amount.
read-only
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
current string: creditOrDebitValue
The current balance. This is the balance at the end of the previous business day. This is the string representation of the exact decimal amount.
read-only
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
updatedAt string(date-time): readOnlyTimestamp
The time when the balance values were last updated from the banking core.
read-only
minLength: 20
maxLength: 30
currentWithPending string: creditOrDebitValue
The current balance, with posted transactions. This is the string representation of the exact decimal amount.
read-only
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
incomplete boolean (required)
If true, the response is incomplete and the client may re-try the operation after the Retry-After time in order to fetch balances for any incomplete accounts in the items. The retry operation should only pass in accounts that are incomplete.

accountBalances

{
  "items": [
    {
      "id": "05d00d7d-d630",
      "available": "3208.20",
      "current": "3448.72",
      "currentWithPending": "3448.72",
      "updatedAt": "2022-05-02T06:51:19.375Z",
      "incomplete": false
    },
    {
      "id": "cb5d67ea-a5c3",
      "available": "1750.80",
      "current": "1956.19",
      "currentWithPending": "1956.19",
      "updatedAt": "2022-05-02T06:51:19.375Z",
      "incomplete": false
    }
  ]
}

Account Balances (v1.1.0)

An array of account balances by account ID.

Properties

NameDescription
items array: [accountBalance] (required)
An array of items, one for each of the ?accounts= in the request, returned in the same order.

accountIds

[
  "string"
]

Account IDs (v1.1.0)

An array of account IDs.

accountIds is an array schema.

Array Elements

NameDescription
Account IDs (v1.1.0) array: [resourceId]
An array of account IDs.
unique items
minItems: 1
maxItems: 1000

accountItem

{
  "id": "bf23bc970b78d27691e8",
  "location": "internal",
  "title": "Max Pike",
  "nickname": "Payroll Checking",
  "label": "Payroll Checking *1008",
  "product": {
    "type": "checking",
    "code": "DDA",
    "label": "Business Checking",
    "description": "Basic business checking account"
  },
  "maskedNumber": "*1008",
  "allows": {
    "transferFrom": false,
    "transferTo": true,
    "billPay": false,
    "mobileCheckDeposit": true,
    "view": true,
    "viewCards": true,
    "manageCards": true
  }
}

Account Item (v1.2.0)

An account item in a list items in the accounts schema.

Properties

NameDescription
id string: readOnlyResourceId (required)
The unique identifier for this account resource. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
title string (required)
The financial institution assigned title for the account, derived from the account owner's name.
Warning: The property title was deprecated on version v1.2.0 of the schema. Use none (this field is not supported) instead. title will be removed on version v2.0.0 of the schema.
read-only
deprecated
maxLength: 80
label string (required)
The human-readable label for this account. This is either the nickname (if assigned for the current customer), or the product.label concatenated with the maskedNumber.
read-only
maxLength: 80
nickname string: accountNickname
The nickname (friendly name) the customer has given this account. Each customer can define their own nickname for the same account. If omitted, the customer has not set a nickname.
maxLength: 50
maskedNumber string: maskedAccountNumber (required)
A masked account number: an asterisk * followed by one to four characters of the fullAccountNumber.
minLength: 2
maxLength: 5
pattern: ^\*[- _a-zA-Z0-9.]{1,4}$
allows object: accountPermissions (required)
Flags which indicate the permissions the current authorized user has on this account resource. Most of these properties may only be true for internal accounts.
product object: productReference (required)
A reference to a banking product.
location string: accountLocation (required)
Indicates where an account is held.
enum values: internal, external, outside

accountLocation

"internal"

Account Location (v1.0.0)

Indicates where an account is held:

Type: string
enum values: internal, external, outside

accountNickname

"Payroll Checking"

Account Nickname (v1.1.0)

The nickname (friendly name) the customer has given this account. Each customer can define their own nickname for the same account. If omitted, the customer has not set a nickname.

Type: string
maxLength: 50

accountPermissions

{
  "billPay": false,
  "mobileCheckDeposit": true,
  "transferFrom": true,
  "transferTo": true,
  "view": true,
  "viewCards": true,
  "manageCards": false
}

Account Permissions (v0.3.0)

Flags which indicate the permissions the current authorized user has on this account resource. Most of these properties may only be true for internal accounts.

Properties

NameDescription
billPay boolean (required)
If true, the customer may use this account for Bill Pay.
mobileCheckDeposit boolean (required)
If true, the customer may use this account for mobile check deposits.
transferFrom boolean (required)
If true, the customer may use this account as the target (deposit) account for account-to-account transfers.
transferTo boolean (required)
If true, the customer may use this account as the source (debit) account for account-to-account transfers.
view boolean (required)
If true, the customer may view the details of this account, including the account balance and transactions.
viewCards boolean (required)
If true, the customer may view debit cards associated with this account.
manageCards boolean (required)
If true, the customer may manage debit cards associated with this account. This includes locking and unlocking cards, changing card controls, ordering cards, or canceling cards.

accountRoutingNumber

"123123123"

Account Routing Number (v1.0.0)

An account ABA routing and transit number.

Type: string
minLength: 9
maxLength: 9
pattern: ^[0-9]{9}$

accounts

{
  "start": "1922a8531e8384cfa71b",
  "limit": 100,
  "nextPage_url": "https://production.api.apiture.com/banking/accounts?start=641f62296ecbf1882c84?limit=100?allows=view=true",
  "count": 6,
  "items": [
    {
      "id": "bf23bc970b78d27691e8",
      "title": "Max Pike",
      "nickname": "Payroll Checking",
      "label": "Payroll Checking *1008",
      "product": {
        "type": "checking",
        "code": "DDA",
        "label": "Business Checking",
        "description": "Basic business checking accounts"
      },
      "maskedNumber": "*1008",
      "location": "internal",
      "allows": {
        "transferFrom": false,
        "transferTo": true,
        "billPay": false,
        "mobileCheckDeposit": true,
        "view": true,
        "viewCards": true,
        "manageCards": false
      }
    },
    {
      "id": "b78d27691e8bf23bc970",
      "title": "Max Pike",
      "nickname": "College CD",
      "label": "College CD *2017",
      "product": {
        "type": "cd",
        "code": "CDA",
        "label": "24 Month CD",
        "description": "24 Month certificate of deposit"
      },
      "maskedNumber": "*2017",
      "location": "internal",
      "allows": {
        "transferFrom": false,
        "transferTo": false,
        "billPay": false,
        "mobileCheckDeposit": false,
        "view": true,
        "viewCards": true,
        "manageCards": false
      }
    }
  ]
}

Accounts (v1.3.0)

A paginated list of the customer's accounts. This list contains internal banking accounts and external banking accounts. and outside fund accounts. The location property indicates where the account is held. Items in the list contain url links to the actual account resource which are in the accounts, externalAccounts or outsideAccounts collections.

Properties

NameDescription
limit integer(int32) (required)
The number of items requested for this page response. The length of the items array may be less that limit.
Default: 100
minimum: 0
nextPage_url string(uri-reference)
The URL of the next page of accounts. If this URL is omitted, there are no more accounts.
read-only
maxLength: 256
start string
The opaque cursor that specifies the starting location of this page of items.
maxLength: 256
items array: [accountItem] (required)
The array of items in this page of accounts. This array may be empty.
read-only
count integer
The total number of accounts for which the user has access. This value ignores any filters. This value is optional and may be omitted if the count is not computable efficiently.
minimum: 0
primaryAccountId string: readOnlyResourceId
The id of the customer's primary account. This property only exists for retail customers, and only if the customer has designated a primary account.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

achAccountRisk

"early"

ACH Account Risk (v1.0.0)

Describes the risk level of a payment batch's settlement account.

achAccountRisk strings may have one of the following enumerated values:

ValueDescription
earlyEarly:

The account is debited three business days before the ACH transfer's effective date. The account balance is also checked for sufficient funds before the account is debited. A risk limit may apply for commercial accounts with an early risk level.

normalNormal:

The account is debited two business days before the ACH transfer's effective date. The account balance is also checked for sufficient funds before the account is debited. A risk limit may apply for commercial accounts with a normal risk level.

floatFloat:

The account is debited on the ACH transfer's effective date. The account balance is not checked for sufficient funds before the account is debited. A risk limit applies for commercial accounts with a float risk level.

sameDaySame Day:

The account is credited on the ACH transfer's effective day. The account balance is not checked because sameDay is used for credit. A risk limit and per-transaction limit applies.

Type: string
enum values: early, normal, float, sameDay

achSecCode

"arc"

ACH SEC Code (v1.0.0)

The ACH transfer type

achSecCode strings may have one of the following enumerated values:

ValueDescription
arcAccounts Receivable
bocBack Office Conversion
ccdCredit or Debit
cieCustomer-Initiated
ctxCorporate Trade Exchange
popPoint of Purchase
ppdPrearranged Payment and Deposit
rckRe-Presented Check
telTelephone-initiated
webInternet-initiated/Mobile

Type: string
enum values: arc, boc, ccd, cie, ctx, pop, ppd, rck, tel, web

address

{
  "address1": "1805 Tiburon Dr.",
  "address2": "Building 14, Suite 1500",
  "locality": "Wilmington",
  "regionName": "North Carolina",
  "countryCode": "US",
  "postalCode": "28412"
}

Address (v1.1.0)

A postal address that can hold a US address or an international (non-US) postal addresses.

Properties

NameDescription
address1 string (required)
The first line of the postal address. In the US, this typically includes the building number and street name.
maxLength: 35
address2 string
The second line of the street address. This should only be used if it has a value. Typical values include building numbers, suite numbers, and other identifying information beyond the first line of the postal address.
maxLength: 35
locality string (required)
The city/town/municipality of the address.
maxLength: 20
countryCode string (required)
The ISO-3611 alpha-2 value for the country associated with the postal address.
minLength: 2
maxLength: 2
regionName string
The state, district, or outlying area of the postal address. This is required if countryCode is not US. regionCode and regionName are mutually exclusive.
minLength: 2
maxLength: 20
regionCode string
The state, district, or outlying area of the postal address. This is required if countryCode is US regionCode and regionName are mutually exclusive.
minLength: 2
maxLength: 2
postalCode string (required)
The postal code, which varies in format by country. If countryCode is US, this should be a five digit US ZIP code or ten character ZIP+4.
minLength: 5
maxLength: 10

amountRange

"[1000.00,1200.00)"

Amount Range (v1.2.1)

A monetary amount range, supporting inclusive or exclusive endpoints. The value may have the following forms:

Type: string
pattern: ^((\d+(.\d{0,2})?)|([([])]))$

apiProblem

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/accountNotFound/v1.0.0",
  "title": "Account Not Found",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "No account exists at the given account_url",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

API Problem (v1.1.0)

API problem or error, as per RFC 7807 application/problem+json.

Properties

NameDescription
type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
title string
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
detail string
A human-readable explanation specific to this occurrence of the problem.
instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
id string: readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
occurredAt string(date-time): readOnlyTimestamp
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
read-only
minLength: 20
maxLength: 30
problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

checkNumberRange

"[1000,1200)"

Check Number Range (v1.0.0)

A numeric range for a checking account check number.

Type: string
pattern: ^\d+|([([)]])$

creditOrDebitValue

"3456.78"

Credit Or Debit Value (v1.0.0)

The monetary value representing a credit (positive amounts with no prefix or a + prefix) or debit (negative amounts with a - prefix). The numeric value is represented as a string so that it can be exact with no loss of precision.
The schema creditOrDebitValue was added on version 0.4.0 of the API.

Type: string
pattern: ^(-|+)?(0|[1-9][0-9]*).[0-9][0-9]$

cutoffTime

{
  "type": "ach",
  "time": "16:45"
}

Cutoff Time (v1.0.0)

A representation of a cutoff time for a money movement process at a financial institution.

Properties

NameDescription
type string: cutoffTimeType (required)

Indicates the type of a cutoff time.

cutoffTimeType strings may have one of the following enumerated values:

ValueDescription
achACH
sameDayAchSame Day ACH
domesticWireTransferDomestic Wire Transfer
internationalWireTransferInternational Wire Transfer
internalTransferInternal Account Transfer:

A transfer between accounts at the same financial institution

externalTransferExternal Account Transfer:

A transfer to or from an account at an external financial institution

billPayBill Pay

enum values: ach, sameDayAch, domesticWireTransfer, internationalWireTransfer, internalTransfer, externalTransfer, billPay
time string (required)
The cutoff time for a product formatted in RFC 3339 time format: hh:mm. The time is expressed in 24 hour time and is set to the local time zone of the financial institution.
pattern: ^(?[0-2][0-9]):(?[0-5][0-9])$

cutoffTimeType

"ach"

Cutoff type Type (v1.0.0)

Indicates the type of a cutoff time.

cutoffTimeType strings may have one of the following enumerated values:

ValueDescription
achACH
sameDayAchSame Day ACH
domesticWireTransferDomestic Wire Transfer
internationalWireTransferInternational Wire Transfer
internalTransferInternal Account Transfer:

A transfer between accounts at the same financial institution

externalTransferExternal Account Transfer:

A transfer to or from an account at an external financial institution

billPayBill Pay

Type: string
enum values: ach, sameDayAch, domesticWireTransfer, internationalWireTransfer, internalTransfer, externalTransfer, billPay

cutoffTimes

{
  "timeZoneId": "America/New_York",
  "items": [
    {
      "type": "ach",
      "time": "13:45"
    },
    {
      "type": "ach",
      "time": "16:45"
    },
    {
      "type": "sameDayAch",
      "time": "16:45"
    },
    {
      "type": "domesticWireTransfer",
      "time": "16:45"
    }
  ]
}

Cutoff Times (v1.0.0)

A representation of financial institution cutoff times for different money movement processes. A money movement process can have multiple cutoff times. The cutoff times are sorted in ascending chronological order by money movement process.

Properties

NameDescription
timeZoneId string: timeZoneId (required)
The identifier of the time zone for which all of the items[].time are returned in. The client can use this value to localize the items[].time values to the local time zone of the customer, as well as for formatting to localized names, such as EST and EDT.
maxLength: 36
pattern: ^America\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)*
items array: [cutoffTime] (required)
A list of cutoff times for a financial institution.
maxLength: 50

dateRange

"2022-05-19"

Date Range (v1.0.0)

A date range, supporting inclusive or exclusive endpoints. Dates ranges use dates expressed in YYYY-MM-DD RFC 3339 date format. The value may have the following forms:

Type: string
pattern: ^\d{4}-\d{2}-\d{2}|([([)]])$

externalAccountVerificationMethod

"instant"

External Account Verification Method (v1.1.0)

The method used to verify the customer has access to the external account.

externalAccountVerificationMethod strings may have one of the following enumerated values:

ValueDescription
instantInstant Account Verification:

Access to the external account is verified via integration with an account verification service provider.

microDepositsMicro-Deposits:

Access to the external account is verified via verifying a set of micro-deposits.

manualManual:

Access to the external account is verified manually by the financial institution.

Type: string
enum values: instant, microDeposits, manual

fullAccountNumber

"123456789"

Full Account Number (v1.0.0)

A full account number. This is the number that the customer uses to reference the account within the financial institution.

Type: string
minLength: 1
maxLength: 32
pattern: ^[- a-zA-Z0-9.]{1,32}$

incompleteAccountBalances

{
  "items": [
    {
      "id": "05d00d7d-d630",
      "available": "3208.20",
      "current": "3448.72",
      "currentWithPending": "3448.72",
      "updatedAt": "2022-05-02T06:51:19.375Z",
      "incomplete": false
    },
    {
      "id": "cb5d67ea-a5c3",
      "available": "1750.80",
      "current": "1956.19",
      "currentWithPending": "1956.19",
      "updatedAt": "2022-05-02T06:51:19.375Z",
      "incomplete": false
    },
    {
      "id": "b5a4f178-2baf",
      "incomplete": true
    },
    {
      "id": "959908db-fd40",
      "incomplete": true
    },
    {
      "id": "97e6166a-2a4c",
      "incomplete": true
    }
  ],
  "incompleteAccounts": [
    "b5a4f178-2baf",
    "959908db-fd40",
    "97e6166a-2a4c"
  ],
  "retryCount": 1
}

Incomplete Account Balance (v1.1.0)

An array of account balances by account ID, some of which are incomplete. Use the values in incompleteAccounts and retryCount to retry the listAccountBalances operation.

Properties

NameDescription
items array: [accountBalance] (required)
An array of items, one for each of the ?accounts= in the request, returned in the same order.
maxItems: 256
incompleteAccounts array: accountIds (required)
Pass these values as the ?accounts= query parameter on the next retry of the listAccountBalances operation. This value is empty if the client has reached the retry limit.
unique items
minItems: 1
maxItems: 1000
retryCount integer (required)
Pass this value as the as the ?retryCount= parameter with the next retry of the listAccountBalances operation.
minimum: 1
maximum: 10

incompleteTransactions

{}

Incomplete Transactions (v1.0.0)

Response when requesting transactions that are not yet available.

Properties

NameDescription
retryCount integer (required)
Pass this value as the as the ?retryCount= parameter with the next retry of the listTransactions operation.
minimum: 1
maximum: 10

institutionId

"TIBURON"

Institution ID (v1.0.0)

The unique immutable identifier of a financial institution.

Type: string
minLength: 2
maxLength: 9
pattern: ^[A-Z0-9_]{2,8}$

institutionLocatorType

"abaRoutingNumber"

institution Locator Type (v1.0.0)

Indicates the type of the institution locator.

institutionLocatorType strings may have one of the following enumerated values:

ValueDescription
abaRoutingNumberABA Routing Number:

The American Bankers Association routing number of a financial institution

swiftBicCodeswiftBicCode:

The SWIFT Business Identifier Code (BIC) code of a financial institution

ibanAccountNumberIBAN:

International Bank Account Number (IBAN)

Type: string
enum values: abaRoutingNumber, swiftBicCode, ibanAccountNumber

institutionLookupResult

{
  "found": true,
  "institution": {
    "name": "First Bank of Andalasia",
    "address": {
      "address1": "239 West Princess Ave.",
      "locality": "Andalasia",
      "regionCode": "NC",
      "countryCode": "US",
      "postalCode": "28407"
    },
    "locator": "503000196",
    "locatorType": "abaRoutingNumber"
  }
}

Institution Lookup Result (v1.0.1)

Successful institution lookup result.

Properties

NameDescription
found boolean (required)
true if a financial institution was found matching the requested FI locator, false if none was found.
institution object: simpleInstitution
The name and other information about the financial institution, if found.
intermediaryInstitutions array: [simpleInstitution]
Optional intermediary institutions, if requested and if intermediary institutions are required for for international wire transfers to the beneficiary institution. This array is omitted if there none are required.
minLength: 1
maxLength: 8

maskedAccountNumber

"*1008"

Masked Account Number (v1.0.1)

A masked account number: an asterisk * followed by one to four characters of the fullAccountNumber.

Type: string
minLength: 2
maxLength: 5
pattern: ^*[- _a-zA-Z0-9.]{1,4}$

monetaryValue

"3456.78"

Monetary Value (v1.0.0)

The monetary value, supporting only positive amounts. The numeric value is represented as a string so that it can be exact with no loss of precision.
The schema monetaryValue was added on version 0.4.0 of the API.

Type: string
pattern: ^(0|[1-9][0-9]*).[0-9][0-9]$

newTransfer

{
  "amount": "275.00",
  "memo": "Cover check for car repair",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  }
}

New Transfer (v2.1.1)

Representation used to create a new transfer.

Properties

NameDescription
schedule object: transferSchedule (required)
When the transfer should occur and any recurrence.
amount string: monetaryValue (required)
The amount of money to transfer between accounts.
pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$
sourceAccount object: transferAccountReference (required)
The source account where the funds are withdrawn.
destinationAccount object: transferAccountReference (required)
The destination account where the funds are deposited.
memo string
A customer-defined memo to describe the transfer.
maxLength: 80

positiveIntegerRange

"[1000,1200)"

Positive Integer Range (v1.1.0)

A positive integer range, supporting inclusive or exclusive endpoints. The value may have the following forms:

Type: string
pattern: ^\d+|([([)]])$

problemResponse

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/noSuchAccount/v1.0.0",
  "title": "Account Not Found",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "No account exists for the given account reference",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Problem Response (v0.3.0)

API problem or error response, as per RFC 7807 application/problem+json.

Properties

NameDescription
type string(uri-reference)
A URI reference (RFC3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be "about:blank".
title string
A short, human-readable summary of the problem type. The title is usually the same for all problem with the same type.
status integer(int32)
The HTTP status code for this occurrence of the problem.
minimum: 100
maximum: 599
detail string
A human-readable explanation specific to this occurrence of the problem.
instance string(uri-reference)
A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
id string: readOnlyResourceId
The unique identifier for this problem. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
occurredAt string(date-time): readOnlyTimestamp
The timestamp when the problem occurred, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC.
read-only
minLength: 20
maxLength: 30
problems array: [apiProblem]
Optional root-causes if there are multiple problems in the request or API call processing.
attributes object
Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.

productReference

{
  "type": "cd",
  "code": "180D_CDA",
  "label": "180 Day CD",
  "description": "Certificate of Deposit with a 180 day term"
}

Product Reference (v1.0.0)

A reference to a banking product.

Properties

NameDescription
type string: productType (required)
The type of account.
enum values: savings, checking, cd, ira, loan, creditCard
code string (required)
The product's product code. Codes are unique to the financial institution.
maxLength: 16
label string (required)
A human-readable label for this banking product.
maxLength: 48
description string(markdown) (required)
A human-readable description of this banking product.
maxLength: 400

productType

"savings"

Product Type (v2.0.0)

The type (or category) of bank account.

productType strings may have one of the following enumerated values:

ValueDescription
savingsSavings:

Savings Account

checkingChecking:

Checking Account

cdCD:

Certificate of Deposit Account

iraIRA:

Individual Retirement Account

loanLoan:

Loan Account

creditCardCredit Card:

Credit Card Account

Type: string
enum values: savings, checking, cd, ira, loan, creditCard

readOnlyResourceId

"string"

Read-only Resource Identifier (v1.0.0)

The unique, opaque system-assigned identifier for a resource. This case-sensitive ID is also used in URLs as path parameters or in other properties or parameters that reference a resource by ID rather than URL. Resource IDs are immutable.

Type: string
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

readOnlyTimestamp

"2021-10-30T19:06:04.250Z"

Read-Only Timestamp (v1.0.0)

A readonly or derived timestamp (an instant in time) formatted in RFC 3339 date-time UTC format: YYYY-MM-DDThh:mm:ss.sssZ.
The schema readOnlyTimestamp was added on version 0.4.0 of the API.

Type: string(date-time)
read-only
minLength: 20
maxLength: 30

resourceId

"string"

Resource Identifier (v1.0.0)

The unique, opaque system identifier for a resource. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference a resource by ID rather than URL.

Type: string
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$

simpleInstitution

{
  "name": "First Bank of Andalasia",
  "address": {
    "address1": "239 West Princess Ave.",
    "locality": "Andalasia",
    "regionCode": "NC",
    "countryCode": "US",
    "postalCode": "28407"
  },
  "locator": "503000196",
  "locatorType": "abaRoutingNumber"
}

Simple Institution (v1.0.1)

A simple representation of a financial institution.

Properties

NameDescription
name string (required)
The financial institution's name.
maxLength: 35
address object: address (required)
The financial institution's postal mailing address.
locator string (required)
The American Bankers Association routing number, SWIFT Business Identifier Code (BIC) code, or IBAN account number of the institution. The form of this institution locator string is set with the locatorType property.
maxLength: 36
locatorType string: institutionLocatorType (required)
Indicates the type of this institution's locator.
enum values: abaRoutingNumber, swiftBicCode, ibanAccountNumber

timeZoneId

"America/New_York"

The identifier of a time zone, as described by RFC 7808. This value corresponds with the tzid value described in RFC 5545 and defined by the IANA Time Zone Database.

Type: string
maxLength: 36
pattern: ^America/[a-zA-Z_]+(?😕[a-zA-Z_]+)*

transactionCategories

{
  "items": [
    {
      "id": "ef7958260dce34abddb7",
      "label": "Groceries",
      "type": "debit"
    },
    {
      "id": "f24096860ebf1383e202",
      "label": "Dining",
      "type": "debit"
    },
    {
      "id": "33c3d38ca0a744b8d903",
      "label": "Entertainment",
      "type": "debit"
    }
  ]
}

Transaction Category Collection (v1.1.0)

Collection of transaction categories. The list contains both financial institution defined immutable categories and customer defined categories.

Properties

NameDescription
items array: [transactionCategory] (required)
An array containing transaction category items.
maxItems: 1000

transactionCategorization

{
  "label": "string",
  "id": "string"
}

Transaction Categorization (v1.2.1)

The transaction categorization.

Properties

NameDescription
label string: transactionCategoryLabel (required)
The label of a transaction category, such as "Shopping", "Deposit", "Bill", "Transfer", or "Other".
minLength: 1
maxLength: 64
id string (required)
The unique ID of this transaction's category.
read-only
minLength: 1
maxLength: 32
pattern: ^[-_:.~$a-zA-Z0-9]{1,32}$

transactionCategory

{
  "id": "0399abed-fd3d",
  "type": "debit",
  "label": "Dining"
}

Transaction Category (v1.1.0)

Representation of transaction category resources.

Properties

NameDescription
label string: transactionCategoryLabel (required)
The label of a transaction category, such as "Shopping", "Deposit", "Bill", "Transfer", or "Other".
minLength: 1
maxLength: 64
id string (required)
The unique ID of this transaction's category.
read-only
minLength: 1
maxLength: 32
pattern: ^[-_:.~$a-zA-Z0-9]{1,32}$
type string: transactionCategoryType (required)

Classifies a transaction category as applying to either debit or credit transactions.

transactionCategoryType strings may have one of the following enumerated values:

ValueDescription
creditCredit:

This transaction category applies to credit (expense) transactions.

debitDebit:

This transaction category applies to debit (income) transactions.


enum values: credit, debit

transactionCategoryLabel

"string"

Transaction Category Label (v1.1.0)

The label of a transaction category, such as "Shopping", "Deposit", "Bill", "Transfer", or "Other".

Type: string
minLength: 1
maxLength: 64

transactionCategoryType

"credit"

Transaction Category (v1.0.0)

Classifies a transaction category as applying to either debit or credit transactions.

transactionCategoryType strings may have one of the following enumerated values:

ValueDescription
creditCredit:

This transaction category applies to credit (expense) transactions.

debitDebit:

This transaction category applies to debit (income) transactions.

Type: string
enum values: credit, debit

transactionCheck

{
  "number": 1,
  "imageFront_url": "../dictionary",
  "imageBack_url": "../dictionary"
}

Transaction Check (v2.0.0)

Describes a check associated with a transaction for a checking account. This object is only present if the transaction type is debit and the subtype is check.

Properties

NameDescription
number integer (required)
The check number.
minimum: 1
imageFront_url string(uri-reference)
The URL for downloading the image of the front of the check.
maxLength: 400
imageBack_url string(uri-reference)
The URL for downloading the image of the front of the check.
maxLength: 400

transactionItem

{
  "id": "88f5bf17-ecc4",
  "type": "debit",
  "subtype": "check",
  "occurredOn": "2023-05-18",
  "memo": "Paid electric bill",
  "merchant": {
    "name": "B&T's Excellent Electric Co.",
    "website_url": "https://BillTedsExcellentElectricCompany.example.com/",
    "logo_url": "https://BillTedsExcellentElectricCompany.example.com/img/logos/medium.png"
  },
  "amount": "1276.21",
  "posted": true,
  "balance": "8509.38",
  "category": {
    "label": "Utilities",
    "id": "127"
  },
  "check": {
    "number": 8412,
    "imageFront_url": "/accounts/1d16e438-18e0/transactions/88f5bf17-ecc4/images/front/content",
    "imageBack_url": "/accounts/1d16e438-18e0/transactions/88f5bf17-ecc4/images/back/content"
  }
}

Transaction Item (v2.1.1)

Summary representation of a transaction resource in transactions collections.

Properties

NameDescription
id string (required)
This transaction's unique identifier.
read-only
minLength: 6
maxLength: 128
pattern: ^[-_:,.~$a-zA-Z0-9]{6,128}$
type string: transactionType (required)
The transaction type. If the type is debit or credit, the subtype conveys further transaction type details.
enum values: balance, debit, credit
subtype string: transactionSubType (required)
The transaction's kind of debit or credit.
enum values: check, other
occurredOn string(date) (required)
The date of the transaction in YYYY-MM-DD RFC 3339 date format. This is derived and immutable.
read-only
createdOn string(date)
The date when the transaction occurred in YYYY-MM-DD RFC 3339 date format. This is derived and immutable.
Warning: The property createdOn was deprecated on version v2.1.0 of the schema. Use the occurredOn property instead. createdOn will be removed on version v3.0.0 of the schema.
read-only
deprecated
postedOn string(date)
The date when this transaction was posted (cleared and applied to the account balance) in RFC 3339 date YYYY-MM-DD format, UTC. This is derived and immutable and only present if posted is true.
Warning: The property postedOn was deprecated on version v2.1.0 of the schema. Use the occurredOn property instead. postedOn will be removed on version v3.0.0 of the schema.
read-only
deprecated
amount string: creditOrDebitValue (required)
The transaction amount in dollars. This value is negative if the transaction is a debit and positive if it is a credit.
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
posted boolean (required)
If true, the transaction has been posted (cleared) and applied to the account. If false, the transaction is still pending and might be canceled.
balance string: creditOrDebitValue
The account's running current balance as of this transaction. The balance may be omitted if the request includes filters which preclude the inclusion of a running balance.
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
memo string
The user-settable transaction memo.
maxLength: 128
description string
The transaction description assigned by the transaction cleansing service.
maxLength: 128
category object: transactionCategorization
The transaction category, if assigned.
merchant object: transactionMerchant
Describes the merchant associated with a transaction.
check object: transactionCheck
Describes a check associated with a transaction for a checking account. This object is only present if the transaction type is debit and the subtype is check.

transactionMerchant

{
  "name": "string",
  "website_url": "../dictionary",
  "logo_url": "../dictionary"
}

Transaction Merchant (v1.0.0)

Describes the merchant associated with a transaction.

Properties

NameDescription
name string
The merchant's name.
maxLength: 32
website_url string(uri-reference)
The merchant's website URL.
maxLength: 400
logo_url string(uri-reference)
The optional URL of the merchant's logo. This image must be an image resource (SVG, PNG, GIF, JPEG image) that does not require any authentication. The URL may contain query parameters.
maxLength: 400

transactionSubType

"check"

Transaction Subtype (v1.0.0)

If the type is debit or credit, the subtype conveys further transaction type details.

transactionSubType strings may have one of the following enumerated values:

ValueDescription
checkCheck:

A check drawn from a checking account.

otherOther:

Some other transaction type.

Type: string
enum values: check, other

transactionType

"balance"

Transaction Type (v2.0.0)

Distinguishes between balance, debit, or credit transactions.

transactionType strings may have one of the following enumerated values:

ValueDescription
balanceBalance:

A pseudo-transaction that conveys the account balance.

debitDebit:

A debit against the account.

creditCredit:

A credit transaction.

Type: string
enum values: balance, debit, credit

transactions

{
  "start": "d1b48af913464aa49fcb07065dcc0616",
  "limit": 10,
  "nextPage_url": "https://production.api.apiture.com/banking/accounts/c9fc25b47d52916fc9ad/transactions?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
  "count": 2381,
  "items": [
    {
      "id": "d62c0701-0d74",
      "type": "balance",
      "occurredOn": "2023-06-18",
      "amount": "0.00",
      "posted": true,
      "balance": "8509.38"
    },
    {
      "id": "88f5bf17-ecc4",
      "type": "debit",
      "subtype": "check",
      "occurredOn": "2023-06-18",
      "memo": "Paid electric bill",
      "merchant": {
        "name": "B&T's Excellent Electric Co.",
        "website_url": "https://BillTedsExcellentElectricCompany.example.com/",
        "logo_url": "https://BillTedsExcellentElectricCompany.example.com/img/logos/medium.png"
      },
      "amount": "1276.21",
      "posted": true,
      "balance": "8509.38",
      "category": {
        "label": "Utilities",
        "id": "127"
      },
      "check": {
        "number": 8412,
        "imageFront_url": "/accounts/1d16e438-18e0/transactions/88f5bf17-ecc4/images/front/content",
        "imageBack_url": "/accounts/1d16e438-18e0/transactions/88f5bf17-ecc4/images/back/content"
      }
    }
  ]
}

Transaction Collection (v2.1.1)

Collection of transactions. The items in the collection are ordered in the items array. The response object may contain the nextPage_url pagination link.

Properties

NameDescription
limit integer(int32) (required)
The number of items requested for this page response. The length of the items array may be less that limit.
Default: 100
minimum: 0
nextPage_url string(uri-reference)
The URL of the next page of resources. If this URL is omitted, there are no more resources in the collection.
read-only
maxLength: 8000
start string
The opaque cursor that specifies the starting location of this page of items.
maxLength: 256
items array: [transactionItem] (required)
An array containing a page of transaction items.
count integer(int32)
The total number of transactions which satisfy the request filters. This is optional and only included if the service can calculate it.
minimum: 0

transfer

{
  "amount": "275.00",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b",
    "label": "Premiere Checking *6789",
    "type": "checking",
    "location": "internal"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "label": "Personal Savings *4567",
    "type": "savings",
    "location": "internal"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  },
  "processedAt": "2022-06-27T021:00:00.000Z",
  "updatedBy": "James Bond",
  "id": "0399abed-fd3d",
  "memo": "Cover check for car repair"
}

Transfer (v2.2.1)

Representation of a transfer resource.

Properties

NameDescription
schedule object: transferSchedule (required)
When the transfer should occur and any recurrence.
amount string: monetaryValue (required)
The amount of money to transfer between accounts.
pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$
sourceAccount object: transferAccountReference (required)
The source account where the funds are withdrawn.
destinationAccount object: transferAccountReference (required)
The destination account where the funds are deposited.
memo string
A customer-defined memo to describe the transfer.
maxLength: 80
createdAt string(date-time)
The date-time when this resource was created, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.
read-only
updatedAt string(date-time)
The date-time when the resource was last updated, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.
read-only
id string: readOnlyResourceId (required)
The unique identifier for this transfer resource. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
state string: transferState (required)
The state of this transfer resource.
read-only
enum values: pendingApproval, scheduled, processing, processed, suspended
processedAt string(date-time)
The date the transfer was processed.
read-only
updatedBy string
The full name of the banking customer who last updated the transfer.
read-only
maxLength: 48

transferAccountReference

{
  "id": "e821ce54-c715",
  "label": "Premiere Checking *6789",
  "type": "checking",
  "location": "internal"
}

Transfer Account Reference (v2.0.0)

A reference to a banking account used within an account to account transfer. This object may be set from an account's account.reference object.

Properties

NameDescription
id string: resourceId (required)
The unique ID of a banking account.
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
label string
The human-readable label for this account. This is either the nickname (if assigned for the current customer), or the product.label concatenated with the maskedNumber.
read-only
maxLength: 80
type string: productType
The product type of the account.
enum values: savings, checking, cd, ira, loan, creditCard
location string: accountLocation
Indicates where an account is held.
enum values: internal, external, outside

transferDateRestriction

{
  "occursOn": "2022-10-10",
  "reason": "holiday",
  "debitOn": "2022-10-07"
}

Transfer Date Restriction (v1.0.0)

A date where a transfer restriction occurs, and the reason it is restricted. If the reason is holiday, closure and the transfer is an ACH transfer, the object also contains either a debitOn or creditOn date or both.

Properties

NameDescription
occursOn string(date) (required)
The date that a transfers restriction occurs, is in the ISO 8601 Date format, yyyy-mm-dd.
reason string: transferDateRestrictionType (required)
Indicates why this date is restricted.
enum values: pastDate, pastCutoffTime, riskRestricted, holiday, closure, other
creditOn string(date)
The date the local financial institution account is credited in RFC 3339 YYYY-MM-DD date format. This is derived from the date based on the risk level. The credit-on date normally falls one business day after the restricted date. This property is only returned if the payment type is achDebit or ach.
debitOn string(date)
The date the local financial institution account is debited in RFC 3339 YYYY-MM-DD date format. This is derived from the date based on the risk level and the transfer direction (achDebit or achCredit). The debit-on date normally falls one to three business days before the restricted date. This property is only returned if the payment type is achCredit or ach.

transferDateRestrictionType

"pastDate"

Transfer Date Restriction Type (v1.0.0)

Indicates why a transfer date is restricted.

transferDateRestrictionType strings may have one of the following enumerated values:

ValueDescription
pastDatePast Date:

The transfer date is in the past

pastCutoffTimePast Cutoff Time:

Transfers disallowed because the current time is past the financial institutions' cutoff time

riskRestrictedRisk Restricted:

The date is restricted because the risk level requires one or more days for a debit to clear

holidayHoliday:

A Federal Reserve System observed holiday

closureClosure:

Financial institution closure, such as a weekend or other planned closure

otherOther:

Other

Type: string
enum values: pastDate, pastCutoffTime, riskRestricted, holiday, closure, other

transferDateRestrictions

{
  "restrictedDates": [
    {
      "occursOn": "2022-10-01",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-02",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-03",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-04",
      "reason": "pastDate"
    },
    {
      "occursOn": "2022-10-05",
      "reason": "pastCutoffTime"
    },
    {
      "occursOn": "2022-10-06",
      "reason": "riskRestricted"
    },
    {
      "occursOn": "2022-10-07",
      "reason": "riskRestricted"
    },
    {
      "occursOn": "2022-10-08",
      "reason": "closure",
      "debitsOn": "2022-10-07T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-09",
      "reason": "closure",
      "debitsOn": "2022-10-07T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-10",
      "reason": "holiday",
      "debitsOn": "2022-10-07T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-15",
      "reason": "closure",
      "debitsOn": "2022-10-14T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-16",
      "reason": "closure",
      "debitsOn": "2022-10-14T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-22",
      "reason": "closure",
      "debitsOn": "2022-10-21T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-23",
      "reason": "closure",
      "debitsOn": "2022-10-21T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-29",
      "reason": "closure",
      "debitsOn": "2022-10-28T00:00:00.000Z"
    },
    {
      "occursOn": "2022-10-30",
      "reason": "closure",
      "debitsOn": "2022-10-28T00:00:00.000Z"
    }
  ],
  "accuracyEndsOn": "2026-12-31T00:00:00.000Z"
}

Transfer Date Restrictions (v1.0.0)

A list of the financial institution's transfer date restrictions. This is a list of weekdays and specific dates when the institution cannot perform the requested transfers. The response may include dates prior to requested the start date, as that is useful for populating a calendar that shows the current month and the last few days of the previous month.

Properties

NameDescription
restrictedDates array: [transferDateRestriction]
A list of restricted transfer dates as determined by the requested transfer parameters, holidays, and scheduled closures. This includes dates that correspond to normal day-of-week restrictions as listed in restrictedDays.
maxItems: 500
accuracyEndsOn string(date)
The service only knows bank holidays for about two to four years in advance. This date is the end of that known holiday schedule, although the requested dates may extend well beyond this date. Any dates in the response beyond this date may omit holidays but may include other restricted dates based on the financial institution's normal scheduled closures such as Saturdays and Sundays.

transferFrequency

"once"

Transfer Frequency (v1.0.0)

For recurring transfers, the interval at which the money movement recurs.

transferFrequency strings may have one of the following enumerated values:

ValueDescription
onceonce:

Transfer does not repeat

dailydaily:

Repeat daily on business days

weeklyweekly:

Repeat weekly

biweeklybiweekly:

Repeat every two weeks (26 times a year)

semimonthlysemimonthly:

Repeat twice a month (24 times a year)

monthlymonthly:

Repeat monthly

monthlyFirstDaymonthlyFirstDay:

Repeat on the first business day of the month

monthlyLastDaymonthlyLastDay:

Repeat on the last business day of the month

bimonthlybimonthly:

Repeat every other month

quarterlyquarterly:

Repeat quarterly (four times a year)

semiyearlysemiyearly:

Repeat every six months (twice a year)

yearlyyearly:

Repeat once every year

Type: string
enum values: once, daily, weekly, biweekly, semimonthly, monthly, monthlyFirstDay, monthlyLastDay, bimonthly, quarterly, semiyearly, yearly

transferItem

{
  "amount": "275.00",
  "sourceAccount": {
    "id": "bd9b7af2-6f9b"
  },
  "targetAccount": {
    "id": "88b1ca3e-d0f3",
    "label": "Personal Savings *4567",
    "type": "savings"
  },
  "schedule": {
    "scheduledOn": "2022-06-28",
    "frequency": "once"
  },
  "processedAt": "2022-06-27T021:00:00.000Z",
  "updatedBy": "James Bond"
}

Transfer Item (v2.2.1)

Summary representation of a transfer resource in transfers collections. To fetch the full representation of this transfer, use the getTransfer operation, passing this item's id field as the transferId path parameter.

Properties

NameDescription
schedule object: transferSchedule (required)
When the transfer should occur and any recurrence.
amount string: monetaryValue (required)
The amount of money to transfer between accounts.
pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$
sourceAccount object: transferAccountReference (required)
The source account where the funds are withdrawn.
destinationAccount object: transferAccountReference (required)
The destination account where the funds are deposited.
memo string
A customer-defined memo to describe the transfer.
maxLength: 80
createdAt string(date-time)
The date-time when this resource was created, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.
read-only
updatedAt string(date-time)
The date-time when the resource was last updated, in RFC 3339 date-time YYYY-MM-DDThh:mm:ss.sssZ format, UTC. This is derived and immutable.
read-only
id string: readOnlyResourceId (required)
The unique identifier for this transfer resource. This is an immutable opaque string.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
state string: transferState (required)
The state of this transfer resource.
read-only
enum values: pendingApproval, scheduled, processing, processed, suspended
processedAt string(date-time)
The date the transfer was processed.
read-only
updatedBy string
The full name of the banking customer who last updated the transfer.
read-only
maxLength: 48

transferPatch

{
  "amount": "275.00",
  "targetAccount": {
    "id": "88b1ca3e-d0f3"
  },
  "schedule": {
    "scheduledOn": "2022-06-28"
  }
}

Transfer Patch Request (v2.1.1)

Representation used to patch an existing transfer using the JSON Merge Patch format and processing rules.

Properties

NameDescription
schedule object: transferSchedule
When the transfer should occur and any recurrence.
amount string: monetaryValue
The amount of money to transfer between accounts.
pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$
sourceAccount object: transferAccountReference
The source account where the funds are withdrawn.
destinationAccount object: transferAccountReference
The destination account where the funds are deposited.
memo string
A customer-defined memo to describe the transfer.
maxLength: 80

transferRecurrenceType

"fixed"

Transfer Recurrence Type (v1.0.0)

Describes whether the transfer amount in the transfer varies or is fixed when the transfer recurs. This is ignored if the transfer frequency is once.

transferRecurrenceType strings may have one of the following enumerated values:

ValueDescription
fixedFixed:

The transfer amounts are the same each time a transfer recurs

variablevariable:

The transfer amounts vary and must be entered/verified each time a transfer recurs

Type: string
enum values: fixed, variable

transferSchedule

{
  "scheduledOn": "2022-06-28",
  "frequency": "once"
}

Transfer Schedule (v1.1.1)

The scheduled date when the transfer should be completed, the recurrence, if any, and other derived dates based on the scheduled date.

For recurring transfer schedules, endsOn, count, and amountLimit are mutually exclusive.

Properties

NameDescription
scheduledOn string(date)
The transfer's target completion date, in YYYY-MM-DD RFC 3339 date format.
recurrenceType string: transferRecurrenceType

Describes whether the transfer amount in the transfer varies or is fixed when the transfer recurs. This is ignored if the transfer frequency is once.

transferRecurrenceType strings may have one of the following enumerated values:

ValueDescription
fixedFixed:

The transfer amounts are the same each time a transfer recurs

variablevariable:

The transfer amounts vary and must be entered/verified each time a transfer recurs


enum values: fixed, variable
frequency string: transferFrequency (required)

For recurring transfers, the interval at which the money movement recurs.

transferFrequency strings may have one of the following enumerated values:

ValueDescription
onceonce:

Transfer does not repeat

dailydaily:

Repeat daily on business days

weeklyweekly:

Repeat weekly

biweeklybiweekly:

Repeat every two weeks (26 times a year)

semimonthlysemimonthly:

Repeat twice a month (24 times a year)

monthlymonthly:

Repeat monthly

monthlyFirstDaymonthlyFirstDay:

Repeat on the first business day of the month

monthlyLastDaymonthlyLastDay:

Repeat on the last business day of the month

bimonthlybimonthly:

Repeat every other month

quarterlyquarterly:

Repeat quarterly (four times a year)

semiyearlysemiyearly:

Repeat every six months (twice a year)

yearlyyearly:

Repeat once every year


enum values: once, daily, weekly, biweekly, semimonthly, monthly, monthlyFirstDay, monthlyLastDay, bimonthly, quarterly, semiyearly, yearly
endsOn string(date)
The optional date when the recurring transfer schedule ends, in YYYY-MM-DD RFC 3339 date format. Subsequent recurring transfers may be scheduled up to and including this date, but not after. This property is ignored if frequency is once.
count integer
For recurring schedules (frequency is not once), this is the total number of transfers to make, including the first transfer. This property is ignored if frequency is once.
Default: 1
minimum: 1
amountLimit integer
For recurring schedules (frequency is not once), this is the total dollar amount limit including the first transfer. No transfers are scheduled if they would exceed this amount. This property is ignored if frequency is once.
Default: 1
minimum: 1

transferScheduleDirection

"debit"

Transfer Schedule Direction (v1.0.0)

Provides the direction in which a transfer flows.

transferScheduleDirection strings may have one of the following enumerated values:

ValueDescription
debitDebit:

Money is transferred from a payer to the financial institution

creditCredit:

Money is transferred from the financial institution to a payee

bothBoth:

Money is transferred both to and from a payee/payer

Type: string
enum values: debit, credit, both

transferScheduleItem

{
  "scheduledOn": "2022-07-04",
  "effectiveOn": "2022-07-05"
}

Transfer Schedule Item (v1.0.0)

Summary representation of a transfer schedule resource in transfer schedule list.

Properties

NameDescription
scheduledOn string(date) (required)
The scheduled date of the calculated calendar recurrence in YYYY-MM-DD RFC 3339 date format.
effectiveOn string(date) (required)
The effective date of the recurrence in YYYY-MM-DD RFC 3339 date format. When the effective date differs from the scheduled date, it is due to a banking holiday, weekend, or other non-business day. The date is adjusted to before the scheduled date when the transfer direction is credit and adjusted to after the scheduled date when the transfer direction is debit.

transferSchedules

{
  "items": [
    {
      "scheduledOn": "2022-06-27",
      "effectiveOn": "2022-06-27"
    },
    {
      "scheduledOn": "2022-07-04",
      "effectiveOn": "2022-07-05"
    },
    {
      "scheduledOn": "2022-07-11",
      "effectiveOn": "2022-07-11"
    },
    {
      "scheduledOn": "2022-07-18",
      "effectiveOn": "2022-07-18"
    },
    {
      "scheduledOn": "2022-07-25",
      "effectiveOn": "2022-07-25"
    },
    {
      "scheduledOn": "2022-08-01",
      "effectiveOn": "2022-07-01"
    }
  ]
}

Transfer Schedule List (v1.0.0)

List of transfer methods. The items in the list are ordered in the items array.

Properties

NameDescription
items array: [transferScheduleItem] (required)
An array containing upcoming transfer schedule items.

transferState

"pendingApproval"

Transfer State (v1.0.0)

The state of a transfer resource.

Type: string
enum values: pendingApproval, scheduled, processing, processed, suspended

transferTypeForDateRestrictions

"internal"

Transfer Restriction Transfer Type (v1.0.0)

Indicates the type of transfer. This determines what business rules and adjustments to make to the date restrictions.

transferTypeForDateRestrictions strings may have one of the following enumerated values:

ValueDescription
internalInternal:

Internal account to internal account transfer

achACH:

An ACH transfer that includes both debit and credit transfers

achCreditACH Credit:

An ACH transfer debiting an internal account and crediting an external account

achDebitACH Debit:

An ACH transfer debiting an external account and crediting an internal account

domesticWireTransferDomestic Wire Transfer
internationalWireTransferInternational Wire Transfer

Type: string
Default: "internal"
enum values: internal, ach, achDebit, achCredit, domesticWireTransfer, internationalWireTransfer

transfers

{
  "start": "d1b48af913464aa49fcb07065dcc0616",
  "limit": 10,
  "nextPage_url": "https://production.api.apiture.com/transfers/transfers?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10",
  "items": [
    {
      "id": "0399abed-fd3d",
      "amount": "275.00",
      "memo": "Cover check for car repair",
      "sourceAccount": {
        "id": "bd9b7af2-6f9b",
        "label": "Premiere Checking *6789",
        "type": "checking",
        "location": "internal"
      },
      "targetAccount": {
        "id": "88b1ca3e-d0f3",
        "label": "Personal Savings *4567",
        "type": "savings",
        "location": "internal"
      },
      "schedule": {
        "scheduledOn": "2022-06-28",
        "frequency": "once"
      }
    },
    {
      "id": "d62c0701-0d74",
      "amount": "100.00",
      "memo": "cover check for school books",
      "sourceAccount": {
        "id": "bd9b7af2-6f9b",
        "label": "Checking *6789",
        "type": "checking",
        "location": "internal"
      },
      "targetAccount": {
        "id": "c8396f59-624b",
        "label": "Checking *3456",
        "type": "checking",
        "location": "internal"
      },
      "schedule": {
        "scheduledOn": "2022-06-28",
        "frequency": "once"
      }
    }
  ]
}

Transfer Collection (v2.2.1)

Collection of transfers. The items in the collection are ordered in the items array. The response object may contain the nextPage_url pagination link..

Properties

NameDescription
limit integer(int32) (required)
The number of items requested for this page response. The length of the items array may be less that limit.
Default: 100
minimum: 0
nextPage_url string(uri-reference)
The URL of the next page of resources. If this URL is omitted, there are no more resources in the collection.
read-only
maxLength: 8000
start string
The opaque cursor that specifies the starting location of this page of items.
maxLength: 256
items array: [transferItem] (required)
An array containing a page of transfer items.

wireTransferInstitution

{
  "name": "First Bank of Andalasia",
  "address": {
    "address1": "239 West Princess Ave.",
    "locality": "Andalasia",
    "regionCode": "NC",
    "countryCode": "US",
    "postalCode": "28407"
  },
  "locator": "503000196",
  "locatorType": "abaRoutingNumber"
}

Wire Transfer Institution (v1.0.0)

A representation of a financial institution used for wire transfers.

Properties

NameDescription
name string (required)
The financial institution's name.
maxLength: 35
address object: address (required)
The financial institution's postal mailing address.
locator string (required)
The American Bankers Association routing number, SWIFT Business Identifier Code (BIC) code, or IBAN account number of the institution. The form of this institution locator string is set with the locatorType property.
maxLength: 36
locatorType string: institutionLocatorType (required)
Indicates the type of this institution's locator.
enum values: abaRoutingNumber, swiftBicCode, ibanAccountNumber
localClearingCode string([a-zA-Z0-9]{3,12})
The clearing code used to identify the financial institution for select countries.
minLength: 3
maxLength: 12