Shell HTTP JavaScript Node.JS Ruby Python Java Go

Transactions v0.16.6

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

The Transactions API provides read-only access to banking account transactions for bank customers.

The Transactions API returns transactions for accounts held at the current financial institution. Transactions are debits and credits to accounts, such as depostis, transfers, processed checks, fees, interest, reversals, etc. The /transactions collection lists all transactions, both pending and completed. For accounts with completed transaction history, the user can view those transactions via the getHistory operation. Pending transactions are managed in a separate collection, accessed via the getPendingTransactions operation.

Note that the queries to filter transactions, such as

   GET /transactions/history?account={accounId}

do not filter by the actual account numbers. For security, these queries only filter based on the opaque account resource ID, which is decoupled from the account number. (The {accountId} is the account's _id from the Accounts API.) Thus, actual customer account numbers do not appear in the request URLs or in web traffic logs.

Some transactions have check images associated with them, such as a cashed check photograph acptured for remote check deposit, or a written check drafted against the account. If there is a check, the transaction object contains two links to the check image content, one for the check front and one for the back (typically JPEG or PNG image).

Error Types

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

invalidCheckId

Description: No checks images were found for the specified checkId or check side.
Remediation: Use the check image links on a transaction.

transactionNotFound

Description: No transactions were found for the specified transactionId.
Remediation: Check to make sure that the supplied transactionId corresponds to an apiture transaction resource.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
banking/read Read access to accounts and account-related resources such as transfers and transactions.
banking/write Write (update) access to accounts and account-related resources such as transfers and transactions.
banking/delete Delete access to deletable accounts and account-related resources such as transfers.
banking/readBalance Read access to account balances. This must be granted in addition to the banking/read scope in order to view balances, but is included in the banking/full scope.
banking/full Full access to accounts and account-related resources such as transfers and transactions.

Transactions

Bank Account Transactions

getTransactions

Code samples

# You can also use wget
curl -X GET /transactions/transactions \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /transactions/transactions HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/transactions/transactions',
  method: 'get',

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

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

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

};

fetch('/transactions/transactions',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('/transactions/transactions', params={

}, headers = headers)

print r.json()

URL obj = new URL("/transactions/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/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/transactions", data)
    req.Header = headers

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

Return a collection of pending and completed transactions.

GET /transactions

Return a paginated sortable filterable searchable collection of pending and completed transactions. The links in the response include pagination links.

The default will show transactions for all accounts that the user has access to. The default sort order is by descending effectiveAt.

Parameters

Parameter Description
checkNumber
(query)
string
Specify one or more check numbers or check number ranges. This is a comma-separated or | separated list of number or ranges. Ranges have the form number-number. For example, the value 201,202,210-213 matches the transactions where the check number is 201, 202, 210, 211, 212, or 213; this may also be expressed as 201|202|210-213.
holdState
(query)
string
Subset the transactions collection to those whose holdState matches this value. Use | to separate multiple values. For example, ?holdState=active will match only items whose holdState is active; ?holdState=active|expired will match items whose holdState is active or expired. This is combined with an implicit and with other filters if they are used. See filtering.
Default: "none"
start
(query)
integer(int64)
The zero-based index of the first transaction in this page. The default, 0, represents the first page of the collection.
limit
(query)
integer(int32)
The maximum number of transaction representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by following properties:
checkNumber
description
type
effectiveAt
postedOn
reversedOn
filter
(query)
string
Optional filter criteria. See filtering.
This collection may be filtered by following properties and functions:
• Property checkNumber using functions in, le, ge
• Property state using functions eq, contains
• Property type using functions eq, contains
• Property description using functions eq, contains
• Property network using functions eq
• Property amount.value using functions eq, contains
• Property balance.current using functions eq, contains
• Property postedOn using functions eq, gt, ge, lt, le
• Property effectiveAt using functions eq, gt, ge, lt, le
q
(query)
string
Optional search string. See searching.
account
(query)
string
A list of server-supplied values which identify the account instances, i.e. ?account=acct1
disputeState
(query)
string
Subset the transactions collection to those whose disputeState matches this value. Use | to separate multiple values. For example, ?disputeState=resolved will match only items whose disputeState is resolved; ?disputeState=resolved|inProgress will match items whose disputeState is resolved or inProgress. This is combined with an implicit and with other filters if they are used. See filtering.
Default: "none"

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/transactions/transactions/v1.2.1/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "transactions",
  "_links": {
    "self": {
      "href": "/transactions/transactions?start=10&limit=10"
    },
    "first": {
      "href": "/transactions/transactions?start=0&limit=10"
    },
    "next": {
      "href": "/transactions/transactions?start=20&limit=10"
    },
    "collection": {
      "href": "/transactions/transactions"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/transaction/v1.2.0/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "35.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "gas station"
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/transactions/transaction/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/d62c0701-0d74-4836-83f9-ebf3709442ea"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "1000.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "donation"
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: transactions
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

getTransaction

Code samples

# You can also use wget
curl -X GET /transactions/transactions/{transactionId} \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /transactions/transactions/{transactionId} HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/transactions/transactions/{transactionId}',
  method: 'get',

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

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

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

};

fetch('/transactions/transactions/{transactionId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('/transactions/transactions/{transactionId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/transactions/{transactionId}", data)
    req.Header = headers

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

Fetch a representation of this transaction

GET /transactions/{transactionId}

Return a HAL representation of this transaction resource.

Parameters

Parameter Description
transactionId
(path)
string (required)
The unique identifier of this transaction. This is an opaque string. This string is not the same as the bank's core transaction ID; it is simply the resource ID for referencing the transaction resource via the API.
unmasked
(query)
boolean
When requesting a transaction, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.

Try It

Example responses

200 Response

{
  "_id": "969d61b1-2b49-4eb6-9b7d-356f242ca0aa",
  "_profile": "https://api.apiture.com/schemas/transactions/transaction/v1.2.1/profile.json",
  "amount": {
    "value": "327.50",
    "currency": "USD"
  },
  "balance": {
    "current": "2180.27",
    "currency": "USD"
  },
  "state": "completed",
  "type": "debit",
  "providerSummary": "check 1856 | Don't Bug Me Pest Control",
  "summary": "check 1856 | Don't Bug Me Pest Control",
  "description": "check 1856, processed May 10, 2019",
  "checkNumber": 1856,
  "sourceAccountNumbers": {
    "masked": "*************3210",
    "full": "9876543210"
  },
  "sourceAccountName": "My Personal Checking",
  "transactionCode": "D480",
  "postedOn": "2020-07-01",
  "effectiveAt": "2020-07-01T06:24:31.375Z",
  "network": "check",
  "disputeState": "resolved",
  "_links": {
    "self": {
      "href": "/transactions/transactions/969d61b1-2b49-4eb6-9b7d-356f242ca0aa"
    },
    "apiture:account": {
      "href": "/accounts/accounts/7e6acb45-71c0-4aa8-9fe4-a5f3b4298be7"
    },
    "apiture:checkFrontImage": {
      "href": "/vault/files/14361265-7837-4eab-8b74-3232c9716385/content"
    },
    "apiture:checkBackImage": {
      "href": "/vault/files/41c9daba-c4c6-412d-9faf-eb82bc76e2e1/content"
    },
    "apiture:sourceAccount": {
      "href": "/accounts/accounts/85efad52-14f6-494f-a52b-5b5960000766"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: transaction
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found

Not Found. There is no such transaction resource at the specified {transactionId}. The _error field in the response will contain details about the request error.

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

Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this resource.

Pending Transactions

Bank Account Pending Transactions

getPendingTransactions

Code samples

# You can also use wget
curl -X GET /transactions/pendingTransactions \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /transactions/pendingTransactions HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/transactions/pendingTransactions',
  method: 'get',

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

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

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

};

fetch('/transactions/pendingTransactions',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('/transactions/pendingTransactions', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/pendingTransactions", data)
    req.Header = headers

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

Return a collection of pending transactions

GET /pendingTransactions

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

The default will show pending transactions for all accounts that the user has access to.

Parameters

Parameter Description
checkNumber
(query)
string
Specify one or more check numbers or check number ranges. This is a comma-separated or | separated list of number or ranges. Ranges have the form number-number. For example, the value 201,202,210-213 matches the transactions where the check number is 201, 202, 210, 211, 212, or 213; this may also be expressed as 201|202|210-213.
holdState
(query)
string
Subset the transactions collection to those whose holdState matches this value. Use | to separate multiple values. For example, ?holdState=active will match only items whose holdState is active; ?holdState=active|expired will match items whose holdState is active or expired. This is combined with an implicit and with other filters if they are used. See filtering.
Default: "none"
start
(query)
integer(int64)
The zero-based index of the first transaction in this page. The default, 0, represents the first page of the collection.
limit
(query)
integer(int32)
The maximum number of transaction representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.
account
(query)
string
A list of server-supplied values which identify the account instances, i.e. ?account=acct1

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/transactions/transactions/v1.2.1/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "transactions",
  "_links": {
    "self": {
      "href": "/transactions/transactions?start=10&limit=10"
    },
    "first": {
      "href": "/transactions/transactions?start=0&limit=10"
    },
    "next": {
      "href": "/transactions/transactions?start=20&limit=10"
    },
    "collection": {
      "href": "/transactions/transactions"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/transaction/v1.2.0/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "35.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "gas station"
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/transactions/transaction/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/d62c0701-0d74-4836-83f9-ebf3709442ea"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "1000.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "donation"
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: transactions
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

History

Bank Account Past Transactions

getHistory

Code samples

# You can also use wget
curl -X GET /transactions/history \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /transactions/history HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/transactions/history',
  method: 'get',

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

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

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

};

fetch('/transactions/history',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('/transactions/history', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/history", data)
    req.Header = headers

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

Return a collection of past transactions

GET /history

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

Transactions in the history are immutable and not deletable.

The default will show transactions for all accounts that the user has access to.

Parameters

Parameter Description
checkNumber
(query)
string
Specify one or more check numbers or check number ranges. This is a comma-separated or | separated list of number or ranges. Ranges have the form number-number. For example, the value 201,202,210-213 matches the transactions where the check number is 201, 202, 210, 211, 212, or 213; this may also be expressed as 201|202|210-213.
holdState
(query)
string
Subset the transactions collection to those whose holdState matches this value. Use | to separate multiple values. For example, ?holdState=active will match only items whose holdState is active; ?holdState=active|expired will match items whose holdState is active or expired. This is combined with an implicit and with other filters if they are used. See filtering.
Default: "none"
start
(query)
integer(int64)
The zero-based index of the first transaction in this page. The default, 0, represents the first page of the collection.
limit
(query)
integer(int32)
The maximum number of transaction representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.
account
(query)
string
A list of server-supplied values which identify the account instances, i.e. ?account=acct1

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/transactions/transactions/v1.2.1/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "transactions",
  "_links": {
    "self": {
      "href": "/transactions/transactions?start=10&limit=10"
    },
    "first": {
      "href": "/transactions/transactions?start=0&limit=10"
    },
    "next": {
      "href": "/transactions/transactions?start=20&limit=10"
    },
    "collection": {
      "href": "/transactions/transactions"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/transaction/v1.2.0/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "35.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "gas station"
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/transactions/transaction/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/d62c0701-0d74-4836-83f9-ebf3709442ea"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "1000.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "donation"
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: transactions
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

API

The Transactions API

getLabels

Code samples

# You can also use wget
curl -X GET /transactions/labels \
  -H 'Accept: application/hal+json' \
  -H 'Accept-Language: string' \
  -H 'API-Key: API_KEY'

GET /transactions/labels HTTP/1.1

Accept: application/hal+json
Accept-Language: string

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

};

$.ajax({
  url: '/transactions/labels',
  method: 'get',

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

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

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

};

fetch('/transactions/labels',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('/transactions/labels', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/labels", data)
    req.Header = headers

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

Localized Labels

GET /labels

Return a JSON object which defines labels for enumeration types and choice groups defined by the schemas defined in this API. The labels in the response may not all match the requested language; some may be in the default language (en-us).

Parameters

Parameter Description
Accept-Language
(header)
string
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/common/labelGroups/v1.0.1/profile.json",
  "groups": {
    "structure": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "corporation": {
        "label": "Corporation",
        "code": "1",
        "variants": {
          "fr": {
            "label": "Soci\\u00e9t\\u00e9"
          }
        }
      },
      "partnership": {
        "label": "Partnership",
        "code": "2",
        "variants": {
          "fr": {
            "label": "Partenariat"
          }
        }
      },
      "llc": {
        "label": "Limited Liability Company",
        "code": "2",
        "variants": {
          "fr": {
            "label": "Soci\\u00e9t\\u00e9 \\u00e9 Responsabilit\\u00e9 Limit\\u00e9e"
          }
        }
      },
      "nonProfit": {
        "label": "Non Profit",
        "code": "4",
        "variants": {
          "fr": {
            "label": "Non Lucratif"
          }
        }
      },
      "financialInstitution": {
        "label": "Financial Institution",
        "code": "8",
        "variants": {
          "fr": {
            "label": "Institution financi\\u00e8re"
          }
        }
      },
      "soleProprietorship": {
        "label": "Sole Proprietorship",
        "code": "11",
        "variants": {
          "fr": {
            "label": "Entreprise individuelle"
          }
        }
      },
      "other": {
        "label": "Other",
        "code": "254",
        "variants": {
          "fr": {
            "label": "Autre"
          }
        }
      }
    },
    "estimatedAnnualRevenue": {
      "unknown": {
        "label": "Unknown",
        "code": "0"
      },
      "under1Million": {
        "label": "Under $1M",
        "code": "1",
        "range": "[0,1000000.00)"
      },
      "from1to10Million": {
        "label": "$1M to $10M",
        "code": "2",
        "range": "[1000000.00,10000000.00)"
      },
      "from10to100Million": {
        "label": "$10M to $100M",
        "code": "3",
        "range": "[10000000.00,100000000.00)"
      },
      "over100Million": {
        "label": "Over $100,000,000.00",
        "code": "4",
        "range": "[100000000.00,]"
      },
      "other": {
        "label": "Other",
        "code": "254"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: labelGroups

getApi

Code samples

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

GET /transactions/ HTTP/1.1

Accept: application/hal+json

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

};

$.ajax({
  url: '/transactions/',
  method: 'get',

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

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

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

};

fetch('/transactions/',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('/transactions/', params={

}, headers = headers)

print r.json()

URL obj = new URL("/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/hal+json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/", data)
    req.Header = headers

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

Top-level resources and operations in this API

GET /

Return links to the top-level resources and operations in this API. This API returns the following links: apiture:accounts : links to the collection of accounts held at this financial institution

Try It

Example responses

OK

{
  "id": "accounts",
  "name": "User Bank Accounts",
  "apiVersion": "0.1.0",
  "_profile": "https://api.apiture.com/schemas/common/root/v2.0.1/profile.json",
  "_links": {
    "apiture:transactions": {
      "href": "/transactions/transactions"
    }
  }
}

200 Response

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://api.apiture.com/schemas/common/root/v2.0.1/profile.json",
  "_links": {}
}

Responses

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET /transactions/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET /transactions/apiDoc HTTP/1.1

Accept: application/json

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

};

$.ajax({
  url: '/transactions/apiDoc',
  method: 'get',

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

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

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

};

fetch('/transactions/apiDoc',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('/transactions/apiDoc', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/apiDoc", data)
    req.Header = headers

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

Return API definition document

GET /apiDoc

Return the OpenAPI document that describes this API.

Try It

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

Checks Images

Check Images Attached to a Transaction

getCheckImage

Code samples

# You can also use wget
curl -X GET /transactions/checkImages/{checkId}/{side} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /transactions/checkImages/{checkId}/{side} HTTP/1.1

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

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

};

$.ajax({
  url: '/transactions/checkImages/{checkId}/{side}',
  method: 'get',

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

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

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

};

fetch('/transactions/checkImages/{checkId}/{side}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/transactions/checkImages/{checkId}/{side}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/transactions/checkImages/{checkId}/{side}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/transactions/checkImages/{checkId}/{side}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/checkImages/{checkId}/{side}", data)
    req.Header = headers

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

Image metadata for one side of check

GET /checkImages/{checkId}/{side}

Return the image metadata for one side of a check associated with a transaction. Use the apiture:content link in the response to GET the raw image content (typically JPEG). Valid check side values:

Parameters

Parameter Description
checkId
(path)
string (required)
The unique identifier of a check image. This is an opaque string.
side
(path)
string (required)
The side of the check. Allowed values are back and front.
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET returns 304 (Not Modified) and no response body, else the resource representation is returned.

Try It

Example responses

200 Response

{
  "_id": "f6c321e6-c628-419a",
  "_profile": "https://api.apiture.com/schemas/transactions/transactionCheckImage/v1.0.0/profile.json",
  "_links": {
    "apiture:content": {
      "href": "https://api.apiture.com/transactions/checkImages/f6c321e6-c628-419a/front/content"
    },
    "apiture:transaction": {
      "href": "https://api.apiture.com/transactions/transactions/bedfecb5-60a9-4f44-a53a-b6d86608434a'",
      "operationId": "getTransaction"
    }
  },
  "name": "f6c321e6-c628-419a-front.jpeg",
  "contentType": "image/jpeg",
  "description": "Front check image captured and uploaded from an iPhoneX.",
  "sizeBytes": 112800,
  "createdAt": "2020-01-04T07:00:49.375Z"
}

Responses

StatusDescription
200 OK
OK
Schema: transactionCheckImage
StatusDescription
404 Not Found

Not Found. No such check image metadata or content. The _error field in the response contains details about the request error.

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

Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this check deposit resource.

getCheckImageContent

Code samples

# You can also use wget
curl -X GET /transactions/checkImages/{checkId}/{side}/content \
  -H 'Accept: */*' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /transactions/checkImages/{checkId}/{side}/content HTTP/1.1

Accept: */*
If-None-Match: string

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

};

$.ajax({
  url: '/transactions/checkImages/{checkId}/{side}/content',
  method: 'get',

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

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

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

};

fetch('/transactions/checkImages/{checkId}/{side}/content',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/transactions/checkImages/{checkId}/{side}/content',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/transactions/checkImages/{checkId}/{side}/content', params={

}, headers = headers)

print r.json()

URL obj = new URL("/transactions/checkImages/{checkId}/{side}/content");
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{"*/*"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/transactions/checkImages/{checkId}/{side}/content", data)
    req.Header = headers

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

Raw image content for one side of a check

GET /checkImages/{checkId}/{side}/content

Return the raw image content for one side of a check associated with a transaction, as a stream of bytes. This image is described by the corresponding check image metadata.

This operation may return a 302 status code to redirect the caller to the actual URL where the file content is available.

Parameters

Parameter Description
checkId
(path)
string (required)
The unique identifier of a check image. This is an opaque string.
side
(path)
string (required)
The side of the check. Allowed values are back and front.
If-None-Match
(header)
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET returns 304 (Not Modified) and no response body, else the resource representation is returned.

Try It

Example responses

200 Response

404 Response

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

Responses

StatusDescription
200 OK
OK
Schema: string
StatusDescription
302 Found
Found. The URL where the file's content is located.
StatusDescription
404 Not Found

Not Found. No such check image metadata or content. The _error field in the response contains details about the request error.

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

Schema: errorResponse

Response Headers

StatusDescription
200 Content-Type string
The media type of the file content. The default image media type is image/jpeg, but this may change if additional file types are supported in the future.
302 Location string
The URL where the image content is located.

Schemas

abstractRequest

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

Abstract Request (v2.0.0)

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

This schema was resolved from common/abstractRequest.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.

abstractResource

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

Abstract Resource (v2.0.0)

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

This schema was resolved from common/abstractResource.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

ach

{
  "traceId": "1234567890"
}

Automated Clearing House Transfer (v1.0.0)

Representation of an automated clearing house transfer.

Properties

NameDescription
traceId string
ACH Trace ID (threadId).

address

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

Address (v1.0.0)

A postal address.

Properties

NameDescription
addressLine1 string
The first street address line of the address, normally a house number and street name.
addressLine2 string
The optional second street address line of the address.
city string
The name of the city or municipality.
regionCode string
The mailing address region code, such as state in the US, or a province in Canada.
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
countryCode string
The ISO 3166-1 country code.
minLength: 2
maxLength: 2

attributeValue

{}

Attribute Value (v2.0.0)

The data associated with this attribute.

This schema was resolved from common/attributeValue.

Properties

attributes

{
  "property1": {},
  "property2": {}
}

Attributes (v2.0.0)

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

This schema was resolved from common/attributes.

Properties

NameDescription
additionalProperties attributeValue
The data associated with this attribute.

This schema was resolved from common/attributeValue.

balance

{
  "current": "3450.30",
  "available": "3450.30",
  "currency": "USD"
}

Account Balance (v1.0.0)

The balance of the account. This is derived data and not mutable through the API. Balances may be negative, indicating a deficit or loan balance.

Properties

NameDescription
current string
The string representation of the current account balance. This is an exact decimal representation of the numeric balance value. The current balance does not include pending transactions.
read-only
value string
The current balance. Note: This property is deprecated. Use balance.current instead. This property will be removed in the next release of this service.
read-only
available string
The string representation of the exact decimal available balance. For deposit accounts, this reflects the amount that may be used for withdrawals or transfers. This field does not apply to debit accounts such as loans.
read-only
currency string
The ISO 4217 currency code for this balance.
read-only

checkImage

{
  "_id": "7dc00a42-76f9-4bbb-bda3-bd6ed203c01b",
  "_profile": "https://api.apiture.com/schemas/checkDeposits/checkImage/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front"
    },
    "apiture:content": {
      "href": "/checkDeposits/checkDeposits/f6c321e6-c628-419a-879e-ebcbc56b57fc/checks/999a1163-6e32-47fd-b9b8-085e198729b2/images/front/content"
    }
  },
  "name": "frontImage.jpeg",
  "contentType": "image/jpeg",
  "description": "Front check image captured and uploaded from an iPhoneX.",
  "sizeBytes": 112800,
  "createdAt": "2019-01-04T07:00:49.375Z"
}

Check Image (v1.0.0)

Representation of a check image file. The image may contain an apiture:uploadUrl link within the item's _links. The client should next PUT the file content to the upload URLs. The file must be an image with JPEG format. If file content has been uploaded, the image may have an apiture:content link to access the direct URI of the file's content.

This schema was resolved from checkDeposits/checkImage.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The file name, for identification purposes. File names may include file extensions such as .jpeg for JPEG images, although the system does not validate or ensure that extensions match the file content type. This is limited to 64 characters and may not contain certain special characters such as / or \. If omitted, the system will assign a name.
maxLength: 64
description string
A description of this file and its contents.
maxLength: 4096
contentType string
The media type for this file.
sizeBytes number
The file size in bytes. This is a derived property and cannot be modified in updates.
read-only
createdAt string(date-time)
The date-time when the image was created or uploaded.
read-only

collection

{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection (v2.0.0)

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

This schema was resolved from common/collection.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

disputeState

"none"

Dispute State (v1.0.0)

The current state of a dispute on the transaction.

Type: string
Enumerated values:
none
inProgress
resolved

electronicFundsTransfer

{
  "cashBackAmount": {
    "amount": "123.45",
    "currency": "USD"
  },
  "fee": "6.78",
  "merchantAddress": {
    "addressLine1": "100 Front St.",
    "city": "Wilmington",
    "regionCode": "NC",
    "postalCode": "28401",
    "countryCode": "US"
  },
  "panEntryMode": "manual"
}

Electronic Funds Transfer (v1.0.0)

Representation of an electronic funds transfer.

Properties

NameDescription
cashBackAmount money
The amount in which the buyer receives cash at the time of purchase.
fee string
Fees (if applicable).
merchantAddress address
Merchant's full address.
panEntryMode string
Indicates how the primary account number (PAN) was entered into the system. This value encodes ISO 8583 point of service PAN entry modes.

Warning: The enum list will be removed in a future version of this API.

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


Enumerated values:
unknown
manual
magneticStripe
barCode
ocr
iccCvv
contactlessEmv
fallbackFromIcc
magneticStripeTrackTwo
contactlessMagneticStripe
iccNoCvv
sameAsOriginalTransaction

error

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

Error (v2.0.0)

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

This schema was resolved from common/error.

Properties

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

This schema was resolved from common/links.

errorResponse

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

Error Response (v2.0.0)

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

This schema was resolved from common/errorResponse.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

holdState

"active"

Hold State (v1.0.0)

Indicates the hold state of the transaction. the holdState will be none if no hold is associated to the transaction; otherwise, the holdState will indicate if the hold is currently active or has expired.

Type: string
Enumerated values:
active
expired
none

labelGroup

{
  "unknown": {
    "label": "Unknown",
    "code": "0",
    "hidden": true
  },
  "under1Million": {
    "label": "Under $1M",
    "code": "1",
    "range": "[0,1000000.00)",
    "variants": {
      "fr": {
        "label": "Moins de $1M"
      }
    }
  },
  "from1to10Million": {
    "label": "$1M to $10M",
    "code": "2",
    "range": "[1000000.00,10000000.00)",
    "variants": {
      "fr": {
        "label": "$1M \\u00e0 $10M"
      }
    }
  },
  "from10to100Million": {
    "label": "$10M to $100M",
    "code": "3",
    "range": "[10000000.00,100000000.00)",
    "variants": {
      "fr": [
        "label $10M \\u00e0 $100M"
      ]
    }
  },
  "over100Million": {
    "label": "Over $100,000,000.00",
    "code": "4",
    "range": "[100000000.00,]",
    "variants": {
      "fr": {
        "label": "Plus de $10M"
      }
    }
  },
  "other": {
    "label": "Other",
    "code": 254
  }
}

Label Group (v1.0.0)

A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derivde from the labels in the example:

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

Properties

NameDescription
additionalProperties labelItem
An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

labelGroups

{
  "_profile": "https://api.apiture.com/schemas/common/labelGroups/v1.0.1/profile.json",
  "groups": {
    "structure": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "corporation": {
        "label": "Corporation",
        "code": "1",
        "variants": {
          "fr": {
            "label": "Soci\\u00e9t\\u00e9"
          }
        }
      },
      "partnership": {
        "label": "Partnership",
        "code": "2",
        "variants": {
          "fr": {
            "label": "Partenariat"
          }
        }
      },
      "llc": {
        "label": "Limited Liability Company",
        "code": "2",
        "variants": {
          "fr": {
            "label": "Soci\\u00e9t\\u00e9 \\u00e9 Responsabilit\\u00e9 Limit\\u00e9e"
          }
        }
      },
      "nonProfit": {
        "label": "Non Profit",
        "code": "4",
        "variants": {
          "fr": {
            "label": "Non Lucratif"
          }
        }
      },
      "financialInstitution": {
        "label": "Financial Institution",
        "code": "8",
        "variants": {
          "fr": {
            "label": "Institution financi\\u00e8re"
          }
        }
      },
      "soleProprietorship": {
        "label": "Sole Proprietorship",
        "code": "11",
        "variants": {
          "fr": {
            "label": "Entreprise individuelle"
          }
        }
      },
      "other": {
        "label": "Other",
        "code": "254",
        "variants": {
          "fr": {
            "label": "Autre"
          }
        }
      }
    },
    "estimatedAnnualRevenue": {
      "unknown": {
        "label": "Unknown",
        "code": "0"
      },
      "under1Million": {
        "label": "Under $1M",
        "code": "1",
        "range": "[0,1000000.00)"
      },
      "from1to10Million": {
        "label": "$1M to $10M",
        "code": "2",
        "range": "[1000000.00,10000000.00)"
      },
      "from10to100Million": {
        "label": "$10M to $100M",
        "code": "3",
        "range": "[10000000.00,100000000.00)"
      },
      "over100Million": {
        "label": "Over $100,000,000.00",
        "code": "4",
        "range": "[100000000.00,]"
      },
      "other": {
        "label": "Other",
        "code": "254"
      }
    }
  }
}

Label Groups (v1.0.1)

A set of named groups of labels, each of which contains multiple item labels.

The abbreviated example shows two groups, one named structure and one named estimatedAnnualRevenue. The first has items with names such as corporation, llc and soleProprietorship, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million has the label "$1M to $10M" and the range [1000000.00,10000000.00).

This schema was resolved from common/labelGroups.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
groups object
Groups of localized labels. This maps group namesa group of labels within that group.
» additionalProperties labelGroup
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derivde from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

labelItem

{
  "over100Million": {
    "label": "Over $100,000,000.00",
    "code": "4",
    "range": "[100000000.00,]",
    "variants": {
      "fr": {
        "label": "Plus de $10M"
      }
    }
  }
}

Label Item (v1.0.0)

An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

Properties

NameDescription
label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.
variants object
The language-specific variants of this label. The keys in this object are RFC 7231 language codes.
» additionalProperties simpleLabel
A text label and optional description.

This schema was resolved from common/simpleLabel.

code string
If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value.
minLength: 1
hidden boolean
If true, this item is normally hidden from the User Interface.
range string
The range of values, if the item describes a bounded numeric value. This is range notation such as [min,max], (exclusiveMin,max], [min,exclusiveMax), or (exclusiveMin,exclusiveMax). For example, [0,100) is the range greater than or equal to 0 and less than 100. If the min or max value are omitted, that end of the range is unbounded. For example, (,1000.00) means less than 1000.00 and [20000.00,] means 20000.00 or more. The ranges do not overlap or have gaps.
pattern: ^[\[\(](-?(0|[1-9][0-9]*)(\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\.[0-9]+)?)?[\]\)]$

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

Link (v1.0.0)

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

This schema was resolved from common/link.

Properties

NameDescription
href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
type string
The media type for the resource.
templated boolean
If true, the link's href is a URI template.
title string
An optional human-readable localized title for the link.
deprecation string(uri)
If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.
profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.

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

Links (v1.0.0)

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

This schema was resolved from common/links.

Properties

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

This schema was resolved from common/link.

money

{
  "value": "3456.78",
  "currency": "str"
}

Money (v1.0.0)

An amount of money in a specific currency.

Properties

NameDescription
value string
The net monetary value. A negative amount denotes a debit; a positive amount a credit. The numeric value is represented as a string so that it can be exact with no loss of precision.
currency string
The ISO 4217 currency code for this monetary value. This is always upper case ASCII. Note: ISO 4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
minLength: 3
maxLength: 3

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://api.apiture.com/schemas/common/root/v2.0.1/profile.json",
  "_links": {}
}

API Root (v2.0.1)

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

This schema was resolved from common/root.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
This API's version.

simpleLabel

{
  "label": "Board of Directors",
  "description": "string"
}

Simple Label (v1.0.0)

A text label and optional description.

This schema was resolved from common/simpleLabel.

Properties

NameDescription
label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.

transaction

{
  "_id": "969d61b1-2b49-4eb6-9b7d-356f242ca0aa",
  "_profile": "https://api.apiture.com/schemas/transactions/transaction/v1.2.1/profile.json",
  "amount": {
    "value": "327.50",
    "currency": "USD"
  },
  "balance": {
    "current": "2180.27",
    "currency": "USD"
  },
  "state": "completed",
  "type": "debit",
  "providerSummary": "check 1856 | Don't Bug Me Pest Control",
  "summary": "check 1856 | Don't Bug Me Pest Control",
  "description": "check 1856, processed May 10, 2019",
  "checkNumber": 1856,
  "sourceAccountNumbers": {
    "masked": "*************3210",
    "full": "9876543210"
  },
  "sourceAccountName": "My Personal Checking",
  "transactionCode": "D480",
  "postedOn": "2020-07-01",
  "effectiveAt": "2020-07-01T06:24:31.375Z",
  "network": "check",
  "disputeState": "resolved",
  "_links": {
    "self": {
      "href": "/transactions/transactions/969d61b1-2b49-4eb6-9b7d-356f242ca0aa"
    },
    "apiture:account": {
      "href": "/accounts/accounts/7e6acb45-71c0-4aa8-9fe4-a5f3b4298be7"
    },
    "apiture:checkFrontImage": {
      "href": "/vault/files/14361265-7837-4eab-8b74-3232c9716385/content"
    },
    "apiture:checkBackImage": {
      "href": "/vault/files/41c9daba-c4c6-412d-9faf-eb82bc76e2e1/content"
    },
    "apiture:sourceAccount": {
      "href": "/accounts/accounts/85efad52-14f6-494f-a52b-5b5960000766"
    }
  }
}

A transaction (v1.2.1)

An financial transaction, such as a deposit, a check payment, interest, fees, transaction reversals, etc.

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

RelSummaryMethod
apiture:account AccountGET
apiture:sourceAccount Source AccountGET
apiture:targetAccount Target AccountGET
apiture:checkFrontImageCheck Front Image ContentGET
apiture:checkBackImageCheck Back Image ContentGET
apiture:reversedByFetch a representation of this transactionGET
apiture:reversesFetch a representation of this transactionGET

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
The unique identifier for this transaction resource. This is an immutable opaque string.
read-only
amount money (required)
The amount of the transaction.
balance balance
The account's running balance as of this transaction. This property is optional and is omitted if not computable.
state transactionState (required)
state indicates the current state of the transaction.
type transactionType (required)

type should indicate the type of the transaction (not what is allowed for the account). i.e.

  • credit - the transaction was a credit posted to the account, such as the transfer of funds to this account or interested posted to the account

  • debit - the transaction debited funds from the account, such as a check written against an account.

subtype string
A subtype, more specific transaction type.
providerSummary string (required)
Human readable version of the transaction description.
summary string
A cleansed version of the providerSummary.
description string
This field contains additional descriptive information about the transaction.
checkNumber integer
If this transaction represents a check drafted against this account, this is the check number.
maximum: 4294967295
sourceAccountNumbers transactionAccountNumbers
If the transaction involves only one account, this is that account's number. If the transaction involves a transfer between accounts, this is the source account the money was transferred from.
sourceAccountName string
The name of the transaction's primary or source account.
targetAccountNumbers transactionAccountNumbers
If the transaction involves a transfer between accounts, this is the target account the money was transferred to.
targetAccountName string
The name of the transaction's target account.
transactionCode string (required)
The transaction code returned from the core.
postedOn string(date)
The date when the transaction processing completed. This property is set only if the state is completed. This is an RFC 3339 date in YYYY-MM-DD format.
effectiveAt string(date-time)
The date-time when the transaction was applied to the account balance. This may be before postedOn if the transaction was back-dated. This is an RFC 3369 date-time string in YYYY-MM-DDThh:mm:ss.sssZ format.
reversedOn string(date)
The date when the transaction was reversed. This property is set only if the state is reversed.
network string

The name of the settlement network that is the transaction source, one of:

  • check - the transaction was a check
  • eft - debit card transaction or other electronic funds transfer
  • ach - transfers and other Automated Clearing House transactions
  • core - transactions sourced within the bank core
holdState holdState
Indicates the hold state of the transaction. the holdState will be none if no hold is associated to the transaction; otherwise, the holdState will indicate if the hold is currently active or has expired.
holdAmount money
The amount of funds on hold.
holdExpiresAt string(date-time)
The date-time when the hold will expire. This is an RFC 3369 formatted date-time string, YYYY-MM-DDThh:mm:ss.sssZ.
eft electronicFundsTransfer
The electronic funds transfer. This property exists only if network is eft.
ach ach
The automated clearing house transfer. This property exists only if network is ach.
disputeState disputeState
The current state of a dispute on the transaction.

transactionAccountNumbers

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

Transaction Account Numbers (v1.0.1)

The account numbers associated with a transfer.

Properties

NameDescription
masked string
A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is derived and immutable.
minLength: 9
maxLength: 32
full string
The full account number. The full number is not included in the representation of the transaction that is included in transaction collection responses. This value only appears when passing ?unmasked=true on the GET /transaction/{transactionId} request.
minLength: 9
maxLength: 32

transactionCheckImage

{
  "_id": "f6c321e6-c628-419a",
  "_profile": "https://api.apiture.com/schemas/transactions/transactionCheckImage/v1.0.0/profile.json",
  "_links": {
    "apiture:content": {
      "href": "https://api.apiture.com/transactions/checkImages/f6c321e6-c628-419a/front/content"
    },
    "apiture:transaction": {
      "href": "https://api.apiture.com/transactions/transactions/bedfecb5-60a9-4f44-a53a-b6d86608434a'",
      "operationId": "getTransaction"
    }
  },
  "name": "f6c321e6-c628-419a-front.jpeg",
  "contentType": "image/jpeg",
  "description": "Front check image captured and uploaded from an iPhoneX.",
  "sizeBytes": 112800,
  "createdAt": "2020-01-04T07:00:49.375Z"
}

Transaction Check Image (v1.0.0)

Metadata for a check image associated with a transaction.

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

RelSummaryMethod
apiture:contentThe URL of the raw check image file, typically a JPEG imageGET
apiture:transactionThe transaction that contains this check imageGET

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The file name, for identification purposes. File names may include file extensions such as .jpeg for JPEG images, although the system does not validate or ensure that extensions match the file content type. This is limited to 64 characters and may not contain certain special characters such as / or \. If omitted, the system will assign a name.
maxLength: 64
description string
A description of this file and its contents.
maxLength: 4096
contentType string
The media type for this file.
sizeBytes number
The file size in bytes. This is a derived property and cannot be modified in updates.
read-only
createdAt string(date-time)
The date-time when the image was created or uploaded.
read-only
_id string
The unique ID of the check for this transaction. (The check ID is shared for the images of the front and back of check.)
read-only
minLength: 16
maxLength: 48

transactionState

"pending"

Transaction State (v1.0.0)

state indicates the current state of the transaction.

Type: string
Enumerated values:
pending
completed
reversed

transactionType

"debit"

Transaction Type (v1.0.0)

type should indicate the type of the transaction (not what is allowed for the account). i.e.

Type: string
Enumerated values:
debit
credit

transactions

{
  "_profile": "https://api.apiture.com/schemas/transactions/transactions/v1.2.1/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "transactions",
  "_links": {
    "self": {
      "href": "/transactions/transactions?start=10&limit=10"
    },
    "first": {
      "href": "/transactions/transactions?start=0&limit=10"
    },
    "next": {
      "href": "/transactions/transactions?start=20&limit=10"
    },
    "collection": {
      "href": "/transactions/transactions"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/transaction/v1.2.0/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "35.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "gas station"
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/transactions/transaction/v1.2.1/profile.json",
        "_links": {
          "self": {
            "href": "/transactions/transactions/d62c0701-0d74-4836-83f9-ebf3709442ea"
          },
          "apiture:account": {
            "href": "/transactions/accounts/86de587e-a5a7-11e8-98d0-529269fb1459"
          },
          "apiture:organization": {
            "href": "/transactions/organizations/86de587e-a5a7-11e8-98d0-529269fb1459"
          }
        },
        "amount": {
          "value": "1000.00",
          "currency": "USD"
        },
        "state": "pending",
        "type": "debit",
        "providerSummary": "donation"
      }
    ]
  }
}

Transaction Collection (v1.2.1)

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

When this response is used for the getPendingTransactions operation, the pagination links will reference /transactions/pendingTransactions; when this response is used for the getTransactions operation, the pagination links will reference /transactions/transactions; when this response is used for the getHistory operation, the pagination links will reference /transactions/history. The example shows the response for getTransactions.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded transactionsEmbedded
The transactions schema's embededed items collection.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

transactionsEmbedded

{
  "items": [
    {
      "_id": "969d61b1-2b49-4eb6-9b7d-356f242ca0aa",
      "_profile": "https://api.apiture.com/schemas/transactions/transaction/v1.2.1/profile.json",
      "amount": {
        "value": "327.50",
        "currency": "USD"
      },
      "balance": {
        "current": "2180.27",
        "currency": "USD"
      },
      "state": "completed",
      "type": "debit",
      "providerSummary": "check 1856 | Don't Bug Me Pest Control",
      "summary": "check 1856 | Don't Bug Me Pest Control",
      "description": "check 1856, processed May 10, 2019",
      "checkNumber": 1856,
      "sourceAccountNumbers": {
        "masked": "*************3210",
        "full": "9876543210"
      },
      "sourceAccountName": "My Personal Checking",
      "transactionCode": "D480",
      "postedOn": "2020-07-01",
      "effectiveAt": "2020-07-01T06:24:31.375Z",
      "network": "check",
      "disputeState": "resolved",
      "_links": {
        "self": {
          "href": "/transactions/transactions/969d61b1-2b49-4eb6-9b7d-356f242ca0aa"
        },
        "apiture:account": {
          "href": "/accounts/accounts/7e6acb45-71c0-4aa8-9fe4-a5f3b4298be7"
        },
        "apiture:checkFrontImage": {
          "href": "/vault/files/14361265-7837-4eab-8b74-3232c9716385/content"
        },
        "apiture:checkBackImage": {
          "href": "/vault/files/41c9daba-c4c6-412d-9faf-eb82bc76e2e1/content"
        },
        "apiture:sourceAccount": {
          "href": "/accounts/accounts/85efad52-14f6-494f-a52b-5b5960000766"
        }
      }
    }
  ]
}

Transactions Embedded Objects (v1.0.0)

Objects embedded in the transactions schema.

Properties

NameDescription
items [transaction]
An array containing a page of transaction items.