Shell HTTP Node.JS JavaScript Ruby Python Java Go

Apiture Digital Banking v0.36.1

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

APIs for digital banking client applications.

Customer Accounts

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

Clients may use this API to:

Account Transactions

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

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

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

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

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

Account to Account Transfers

Schedule and manage account to account transfers.

Error Types

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

ambiguousOriginatorAddress

Type: https://production.api.apiture.com/errors/ambiguousOriginatorAddress/v1.0.0
Description: A wire transfer originator may not have both a US and international address.
Remediation: Set the unneeded originator address to null when patching the wire transfer payment batch.

cannotTransferFrom

Type: https://production.api.apiture.com/errors/cannotTransferFrom/v1.0.0
Description: The customer does not have transferFrom entitlement on the source account.
Remediation: Choose a source account that allows transfers from.

cannotTransferTo

Type: https://production.api.apiture.com/errors/cannotTransferTo/v1.0.0
Description: user does not have transferTo entitlement on the destination account.
Remediation: Choose a destination account that allows transfers to.

duplicatePaymentInstruction

Type: https://production.api.apiture.com/errors/duplicatePaymentInstruction/v1.0.0
Description: There is already another payment instruction that matches the request.
Remediation: Enter unique data for this payment instruction.

duplicatePaymentMethod

Type: https://production.api.apiture.com/errors/duplicatePaymentMethod/v1.0.0
Description: There is already another payment method that matches the request.
Remediation: Enter unique data for this payment method.

immutablePaymentBatchState

Type: https://production.api.apiture.com/errors/immutablePaymentBatchState/v1.0.0
Description: The payment batch is not mutable.
Remediation: To update a scheduled batch, first remove approvals to move it back to pending or pendingApprovals state.

insufficientFundsForTransfer

Type: https://production.api.apiture.com/errors/insufficientFundsForTransfer/v1.0.0
Description: The source account has insufficient funds.
Remediation: Reduce the transfer amount to less than the available balance.

invalidAccountId

Type: https://production.api.apiture.com/errors/invalidAccountId/v0.2.0
Description: The named accountId does not exist or the user is not entitled to access the account.
Remediation: Pass the id of an existing account the caller has access to.

invalidAchInstructionAccountNumber

Type: https://production.api.apiture.com/errors/invalidAchInstructionAccountNumber/v1.0.0
Description: The ach.accountNumber is not a valid bank account number.
Remediation: Enter a valid 9 digit account number, fully padded.

invalidAchInstructionRoutingNumber

Type: https://production.api.apiture.com/errors/invalidAchInstructionRoutingNumber/v1.0.0
Description: The ach.routingNumber is not a valid bank routing number.
Remediation: Enter a valid 9 digit financial institution routing number.

invalidAchPaymentBatchDetails

Type: https://production.api.apiture.com/errors/invalidAchPaymentBatchDetails/v1.0.0
Description: The batch type was ach but the request did not include the ach property.
Remediation: Include a valid ach object in the new payment batch request.

invalidDirectionForWireTransfer

Type: https://production.api.apiture.com/errors/invalidDirectionForWireTransfer/v1.0.0
Description: If a payment batch is a wire transfer, the direction must be credit.
Remediation: Set the direction to credit in the request.

invalidInstructionForBatch

Type: https://production.api.apiture.com/errors/invalidInstructionForBatch/v1.0.0
Description: The payment instruction type does not match the payment batch type.
Remediation: Add only matching instructions to a patch (i.e. ach instructions to an ach batch, wireTransfer instructions to a wireTransfer batch).

invalidPaymentBatchForCopy

Type: https://production.api.apiture.com/errors/invalidPaymentBatchForCopy/v1.0.0
Description: The payment batch referenced by the paymentBatchId is not eligible for copying, or the customer does not have the copy permission.
Remediation: Pass an eligible payment batch ID.

invalidSettlementAccount

Type: https://production.api.apiture.com/errors/invalidSettlementAccount/v1.0.0
Description: The chosen settlement account does not exist, is not accessible, or is not entitled for the chosen money movement direction.
Remediation: Choose an available account that supports debit or credits that match the batch's money movement direction.

noSuchAccount

Type: https://production.api.apiture.com/errors/noSuchAccount/v1.0.0
Description: No such account was found or accessible for the given {accountId}.
Remediation: Specify the ID of an available account.

noSuchConfidentialCustomer

Type: https://production.api.apiture.com/errors/noSuchConfidentialCustomer/v1.0.0
Description: There is no such customer for the given confidentialCustomers[i].id.
Remediation: Pass a valid customer ID.

noSuchContact

Type: https://production.api.apiture.com/errors/noSuchContact/v1.0.0
Description: There is no such contact resource for the given contactId.
Remediation: Pass a valid contact ID or omit the contactId from the request.

noSuchInstruction

Type: https://production.api.apiture.com/errors/noSuchInstruction/v1.0.0
Description: There is no such payment instruction for the given paymentInstructionId.
Remediation: Pass a valid payment instruction ID.

noSuchPaymentBatch

Type: https://production.api.apiture.com/errors/noSuchPaymentBatch/v1.0.0
Description: There is no such payment batch for the given paymentBatchId.
Remediation: Pass a valid payment batch ID.

noSuchPaymentBatchCompany

Type: https://production.api.apiture.com/errors/noSuchPaymentBatchCompany/v1.0.0
Description: No such company was found or accessible for the given company id and type.
Remediation: Enter the correct company ID and type that the user is entitled to use for payment batches.

noSuchPaymentMethod

Type: https://production.api.apiture.com/errors/noSuchPaymentMethod/v1.0.0
Description: There is no such contact resource for the given paymentMethodId.
Remediation: Pass a valid payment method ID or omit the paymentMethodId from the request.

noSuchTransaction

Type: https://production.api.apiture.com/errors/noSuchTransaction/v1.0.0
Description: No such transaction was found or accessible for the given {transactionId}.
Remediation: Specify the ID of a valid transaction for the account.

nonPositiveAmount

Type: https://production.api.apiture.com/errors/nonPositiveAmount/v1.0.0
Description: Transfer amount may not be 0.00.
Remediation: Set the transfer amount to a positive number.

sameSourceAndDestinationTransferAccounts

Type: https://production.api.apiture.com/errors/sameSourceAndDestinationTransferAccounts/v1.0.0
Description: Source and destination account are the same.
Remediation: Choose different source and destination accounts.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

License: Apiture API License

Authentication

Accounts

Banking Accounts

listAccounts

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

List Accounts

GET /accounts

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

Parameters

ParameterDescription
location accountLocation
Filter accounts to just a subset of internal, external, or outside accounts.
enum values: internal, external, outside
allows array[string]
Filter the result to just accounts which have corresponding true values in account.allows. For example ?allows=transferTo,transferFrom,view returns only accounts where account.allows.transferTo, account.allows.transferFrom, and account.allows.view are all true for the caller.
unique items
minItems: 1
comma-delimited
items:
» enum values: billPay, transferFrom, transferTo, mobileCheckDeposit, view, viewCards, manageCards
start string
The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url.
Default: ""
maxLength: 256
limit integer(int32)
The maximum number of items to return in this page response.
Default: 100
minimum: 0
maximum: 1000

Example responses

200 Response

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

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

422 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unprocessableEntity/v1.0.0",
  "title": "Unprocessable Entity",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request body and/or query parameters were well-formed but otherwise invalid.",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unprocessableEntity/v1.0.0",
  "title": "Unprocessable Entity",
  "status": 422,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request body and/or query parameters were well-formed but otherwise invalid.",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK. A page from the full list of the customer's accounts. This list contains only accounts that the customer is entitled to access. While the nextPage_url property is present in the response, the client can fetch the next page of accounts by performing a GET on that URL. Also note the 202 response is returned instead of 200 OK if one or more items in the response are incomplete.
Schema: accounts
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.
Schema: problemResponse

Response Headers

StatusDescription
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

getAccount

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Get an Account

GET /accounts/{accountId}

Return details of the customer's internal account.

Parameters

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

Example responses

200 Response

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

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK. The response is a representation of the customer's account.
Schema: account
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such banking account resource at the specified {accountId}. The response body contains details about the request error.
Schema: problemResponse

Response Headers

StatusDescription
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

listAccountBalances

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

List Account Balances

GET /accountBalances

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

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

Parameters

ParameterDescription
accounts accountIds
The unique account identifiers of one or more accounts. Note: The account IDs are unrelated to the account number.
unique items
minItems: 1
maxItems: 100
comma-delimited
items:
» minLength: 6
» maxLength: 48
» pattern: ^[-_:.~$a-zA-Z0-9]+$
retryCount integer
When retrying the operation, pass the retryCount from the incompleteAccountBalances response.
minimum: 1
maximum: 10

Example responses

200 Response

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

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

422 Response

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

429 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/tooManyRequests/v1.0.0",
  "title": "Too Many Requests",
  "status": 429,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The user has sent too many requests in a given amount of time.",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/tooManyRequests/v1.0.0",
  "title": "Too Many Requests",
  "status": 429,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The user has sent too many requests in a given amount of time.",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK. The response contains the balances for all the accounts in the ?accounts= query parameter.
Schema: accountBalances
202 Accepted
Accepted. The service accepted the request but could not provide balances for all the requested accounts and returned an incomplete response. Try the call again after the time in the Retry-After response header has passed, and request only those accounts which are incomplete. If there is no Retry-After response header, the client has reached its maximum number of tries and should not retry the operation.
Schema: incompleteAccountBalances
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity

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

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

Schema: problemResponse
StatusDescription
429 Too Many Requests
Too Many Requests. The client has sent too many requests in a given amount of time.
Schema: problemResponse
StatusDescription
503 Service Unavailable
Service Unavailable. Could not fetch the account balance from the banking core or from the external account.
Schema: problemResponse

Response Headers

StatusDescription
202 Retry-After string

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

Examples:

  • Retry-After: 5
  • Retry-After: Mon, 03 May 2022 23:59:59 GMT
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

Transactions

Banking Account Transactions

listTransactions

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a collection of transactions

GET /accounts/{accountId}/transactions

Return a paginated collection of transaction history for this account. The nextPage_url in the response is a pagination link.

Parameters

ParameterDescription
start string
The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the ?start= parameter on the nextPage_url.
Default: ""
maxLength: 256
limit integer(int32)
The maximum number of items to return in this page response.
Default: 100
minimum: 0
maximum: 1000
postedOn dateRange
Return only transactions whose postedOn date is in this date range. Dates ranges use dates expressed in YYYY-MM-DD RFC 3339 date format. Example date ranges:
  • 2022-05-19
  • match only transactions made on May 19, 2022.
  • [2022-05-01,2022-05-31] in between May 1 and 31, 2022, inclusive
  • (2022-05-01,2022-06-01) in May, 2022 (on or after May 1, but before June 1)
  • [2022-05-09,] on or after May 9, 2022
  • (2022-05-09,) after May 9, 2022
  • [,2022-05-09] on or before May 9, 2022
  • (,2022-05-09) before May 9, 2022

pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$
createdOn dateRange
Return only transactions whose createdOn date is in this date range. Example date ranges are the same format as the postedOn query parameter.
pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$
categories array[string]
Filter transactions to only those whose category is in this pipe-separated list. Categories are set by the transaction cleansing service and can include names such as "Shopping", "Deposit", "Bill", "Transfer", or "Other".
minItems: 1
maxItems: 16
pipe-delimited
items:
» minLength: 1
» maxLength: 16
type array[string]
Filter transaction only those whose type is in this pipe-separated list.
unique items
minItems: 1
maxItems: 4
pipe-delimited
items:
» enum values: balance, debit, credit, check
amount amountRange
Return only transactions whose amount is in this numeric range. This compares only the absolute value of the transaction. That is, the value [1000.00,1100.00) will match either a debit of -1070.25 or a credit of 1021.90.
Some examples of specifying an amount range:
  • 1200.50 match the the dollar amount 1,200.50 exactly
  • [1000.00,1200.00) matches items where 1000.00 <= amount < 1200.00
  • [1000.00,1199.99] matches items where 1000.00 <= amount <= 1199.99
  • (999.99,1200.00] matches items where 999.99 < amount <= 1200.00
  • [1200.50,] matches items where amount >= 1200.50
  • (1200.50,) matches items where amount > 1200.50
  • [,1200.50] matches items where amount <= 1200.50
  • (,1200.50) matches items where amount < 1200.50

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

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

Example responses

200 Response

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

400 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK.
Schema: transactions
StatusDescription
400 Bad Request
Bad Request. The request body, request headers, and/or query parameters are not well-formed.
Schema: problemResponse
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.
Schema: problemResponse

Response Headers

StatusDescription
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

Transfers

Banking Transfers

listTransfers

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a collection of transfers

GET /transfers

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

Parameters

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

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

Example responses

200 Response

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

400 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK.
Schema: transfers
StatusDescription
400 Bad Request
Bad Request. The request body, request headers, and/or query parameters are not well-formed.
Schema: problemResponse
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The request body and/or query parameters were well formed but otherwise invalid.
Schema: problemResponse

Response Headers

StatusDescription
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

createTransfer

Code samples

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

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

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

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new transfer

POST /transfers

Create a new transfer within the transfers collection.

Body parameter

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

Parameters

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

Example responses

201 Response

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

400 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
201 Created
Created.
Schema: transfer
StatusDescription
400 Bad Request
Bad Request. The request body, request headers, and/or query parameters are not well-formed.
Schema: problemResponse
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity

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

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

Schema: problemResponse

Response Headers

StatusDescription
201 Location string uri-reference
The URI of the new transfer.
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

getTransfer

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this transfer

GET /transfers/{transferId}

Return the JSON representation of this transfer resource.

Parameters

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

Example responses

200 Response

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

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK.
Schema: transfer
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such transfer resource at the specified {transferId}.
Schema: problemResponse

Response Headers

StatusDescription
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

patchTransfer

Code samples

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

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

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

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Update this transfer

PATCH /transfers/{transferId}

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

Body parameter

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

Parameters

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

Example responses

200 Response

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

400 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/badRequest/v1.0.0",
  "title": "Bad Request",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "Input did not parse as JSON",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

Responses

StatusDescription
200 OK
OK.
Schema: transfer
StatusDescription
400 Bad Request
Bad Request. The request body, request headers, and/or query parameters are not well-formed.
Schema: problemResponse
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such transfer resource at the specified {transferId}.
Schema: problemResponse
StatusDescription
422 Unprocessable Entity

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

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

Schema: problemResponse

Response Headers

StatusDescription
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

deleteTransfer

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Delete this transfer resource

DELETE /transfers/{transferId}

Delete this transfer resource and any resources that are owned by it.

Parameters

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

Example responses

401 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 400,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/unauthorized/v1.0.0",
  "title": "Unauthorized",
  "status": 401,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request lacks valid authentication credentials",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

403 Response

{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}
{
  "id": "3fbad566-be86-4b22-9ba6-3ca99fdc0799",
  "type": "https://production.api.apiture.com/errors/forbidden/v1.0.0",
  "title": "Forbidden",
  "status": 403,
  "occurredAt": "2022-04-25T12:42:21.375Z",
  "detail": "The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation",
  "instance": "https://production.api.apiture.com/banking/transfers/bb709151-575041fcd617"
}

404 Response

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

Responses

StatusDescription
204 No Content
No Content. The operation succeeded but returned no response body.
StatusDescription
401 Unauthorized
Unauthorized. The operation require authentication but none was given.
Schema: problemResponse
StatusDescription
403 Forbidden
Forbidden. The authenticated caller is not authorized to perform the requested operation.
Schema: problemResponse
StatusDescription
404 Not Found
Not Found. There is no such transfer resource at the specified {transferId}.
Schema: problemResponse

Response Headers

StatusDescription
403 WWW-Authenticate string
Indicates the additional authentication scheme(s) and parameters applicable to the target resource/operation.

Schemas

account

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

Account (v0.4.2)

An internal customer account.

Properties

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

accountAllowsFilter

"billPay"

Account Allows Filter (v1.0.0)

Values for the ?allows= filter in listAccounts.

accountAllowsFilter strings may have one of the following enumerated values:

ValueDescription
billPayBill Pay: Include each account where the caller is allowed to use the bill pay feature.
transferFromTransfer From: Include each account where the caller is allowed to transfer money from the account.
transferToTransfer To: Include each account where the caller is allowed to transfer money into the account.
mobileCheckDepositMobile Check Deposit: Include each account where the caller is allowed to deposit mobile checks.
viewView: Include each account where the caller is allowed to view full account details (balances, full account number, transactions, etc).
viewCardsView Cards: Include each account where the caller is allowed to view debit card details.
manageCardsManage Cards: Include each account where the caller is allowed to manage debit card details.

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

accountBalance

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

Account Balance (v1.0.0)

The current balances of the given account.

Properties

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

accountBalances

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

Account Balances (v1.0.0)

An array of account balances by account ID.

Properties

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

accountIds

[
  "string"
]

Account IDs (v1.0.0)

An array of account IDs.

accountIds is an array schema.

Array Elements

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

accountItem

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

Account Item (v0.4.2)

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

Properties

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

accountLocation

"internal"

Account Location (v1.0.0)

Indicates where an account is held:

Type: string
enum values: internal, external, outside

accountLocation1

"internal"

Account Location (v1.0.0)

Indicates where an account is held:

Type: string
enum values: internal, external, outside

accountNickname

"Payroll Checking"

Account Nickname (v1.0.0)

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

Type: string
maxLength: 80

accountPermissions

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

Account Permissions (v0.3.0)

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

Properties

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

accountRoutingNumber

"stringstr"

Account Routing Number (v1.0.0)

A reusable type for an account routing number.

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

accounts

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

Accounts (v0.4.3)

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

Properties

NameDescription
items array: [accountItem] (required)
The array of items in this page of accounts. This array may be empty.
read-only
primaryAccountId string: readOnlyResourceId
The id of the customer's primary account. This property only exists for retail customers, and only if the customer has designated a primary account.
read-only
minLength: 6
maxLength: 48
pattern: ^[-_:.~$a-zA-Z0-9]+$
nextPage_url string(uri)
The URL of the next page of accounts. If this URL is omitted, there are no more accounts.
read-only
maxLength: 256

amountRange

"[1000.00,1200.00)"

Amount Range (v1.2.0)

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

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

apiProblem

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

API Problem (v1.1.0)

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

Properties

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

checkNumberRange

"[1000,1200)"

Check Number Range (v1.0.0)

A numeric range for a checking account check number.

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

creditOrDebitValue

"3456.78"

Credit Or Debit Value (v1.0.0)

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

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

dateRange

"2022-05-19"

Date Range (v1.0.0)

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

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

fullAccountNumber

"123456789"

Full Account Number (v1.0.0)

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

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

incompleteAccountBalances

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

Incomplete Account Balance (v1.0.0)

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

Properties

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

maskedAccountNumber

"*1008"

Masked Account Number (v1.0.0)

A masked account number: an asterisk * followed by up to four digits.

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

monetaryValue

"3456.78"

Monetary Value (v1.0.0)

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

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

newTransfer

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

New Transfer (v1.1.0)

Representation used to create a new transfer.

Properties

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

positiveIntegerRange

"[1000,1200)"

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

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

problemResponse

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

Problem Response (v0.3.0)

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

Properties

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

productReference

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

Product Reference (v0.2.0)

A reference to a banking product.

Properties

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

productType

"savings"

Product Type (v1.0.0)

The type (or category) of bank account.

productType strings may have one of the following enumerated values:

ValueDescription
savingsSavings: Savings Account
checkingChecking: Checking Account
cdCD: Certificate of Deposit Account
iraIRA: Individual Retirement Account
loanLoan: Loan Account
creditCardCredit Card: Credit Card Account
settlementSettlement: Settlement Account

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

readOnlyResourceId

"string"

Read-only Resource Identifier (v1.0.0)

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

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

readOnlyTimestamp

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

Read-Only Timestamp (v1.0.0)

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

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

resourceId

"string"

Resource Identifier (v1.0.0)

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

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

transaction

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

Transaction (v1.1.0)

Representation of transaction resources.

Properties

NameDescription
id string (required)
The unique identifier for this transaction resource. This is an immutable opaque string. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference a resource by ID rather than URL.
minLength: 6
maxLength: 120
pattern: ^[-_:.~$a-zA-Z0-9]+$
type string: transactionType (required)
The transaction type.
enum values: balance, debit, credit, check
createdOn string(date) (required)
The date when this resource was created, in YYYY-MM-DD RFC 3339 date format. This is derived and immutable.
read-only
postedOn string(date)
The date when this transaction was posted (cleared and applied to the account balance), in RFC 3339 date YYYY-MM-DD format, UTC. This is derived and immutable.
read-only
amount string: creditOrDebitValue (required)
The transaction amount in dollars. This value is negative if the transaction is a debit and positive if it is a credit.
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
posted boolean (required)
If true, the transaction has been posted (cleared) and applied to the account. If false, the transaction is still pending and may be canceled.
balance string: creditOrDebitValue
The account's running current balance as of this transaction.
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
memo string
The user-settable transaction memo.
maxLength: 80
description string
The transaction description assigned by the transaction cleansing service.
maxLength: 80
category object: transactionCategorization
The transaction categorization.
merchant object: transactionMerchant
Describes the merchant associated with a transaction.
check object: transactionCheck
Describes a check associated with a transaction for a checking account.

transactionCategorization

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

Transaction Categorization (v1.0.0)

The transaction categorization.

Properties

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

transactionCategoryLabel

"string"

Transaction Category Label (v1.0.0)

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

Type: string
minLength: 1
maxLength: 16

transactionCheck

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

Transaction Check (v1.0.0)

Describes a check associated with a transaction for a checking account.

Properties

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

transactionItem

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

Transaction Item (v1.1.0)

Summary representation of a transaction resource in transactions collections.

Properties

NameDescription
id string (required)
The unique identifier for this transaction resource. This is an immutable opaque string. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference a resource by ID rather than URL.
minLength: 6
maxLength: 120
pattern: ^[-_:.~$a-zA-Z0-9]+$
type string: transactionType (required)
The transaction type.
enum values: balance, debit, credit, check
createdOn string(date) (required)
The date when this resource was created, in YYYY-MM-DD RFC 3339 date format. This is derived and immutable.
read-only
postedOn string(date)
The date when this transaction was posted (cleared and applied to the account balance), in RFC 3339 date YYYY-MM-DD format, UTC. This is derived and immutable.
read-only
amount string: creditOrDebitValue (required)
The transaction amount in dollars. This value is negative if the transaction is a debit and positive if it is a credit.
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
posted boolean (required)
If true, the transaction has been posted (cleared) and applied to the account. If false, the transaction is still pending and may be canceled.
balance string: creditOrDebitValue
The account's running current balance as of this transaction.
pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
memo string
The user-settable transaction memo.
maxLength: 80
description string
The transaction description assigned by the transaction cleansing service.
maxLength: 80
category object: transactionCategorization
The transaction categorization.
merchant object: transactionMerchant
Describes the merchant associated with a transaction.
check object: transactionCheck
Describes a check associated with a transaction for a checking account.

transactionMerchant

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

Transaction Merchant (v1.0.0)

Describes the merchant associated with a transaction.

Properties

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

transactionType

"balance"

Transaction Type (v1.0.0)

Distinguishes between balance transactions, debit, credit, or check transactions.

transactionType strings may have one of the following enumerated values:

ValueDescription
balanceBalance: A transaction that establishes the account balance.
debitDebit: A non-check debit against the account.
creditCredit: A credit transaction.
checkCheck: A check drawn from a checking account

Type: string
enum values: balance, debit, credit, check

transactions

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

Transaction Collection (v1.1.0)

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

Properties

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

transfer

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

Transfer (v1.1.0)

Representation of a transfer resource.

Properties

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

transferAccountReference

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

Transfer Account Reference (v1.0.0)

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

Properties

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

transferFrequency

"once"

Transfer Frequency (v1.0.0)

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

transferFrequency strings may have one of the following enumerated values:

ValueDescription
onceonce: Transfer does not repeat
dailydaily: Repeat daily on business days
weeklyweekly: Repeat weekly
biweeklybiweekly: Repeat every two weekly (26 times a year)
semimonthlysemimonthly: Repeat twice a month (24 times a year)
monthlymonthly: Repeat monthly
monthlyFirstDaymonthlyFirstDay: Repeat on the first business day of the month
monthLastDaymonthLastDay: Repeat on the last business day of the month
bimonthlybimonthly: Repeat every other month
quarterlyquarterly: Repeat quarterly (four times a year)
semiyearlysemiyearly: Repeat every six months (twice a year)
yearlyyearly: Repeat once every year

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

transferItem

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

Transfer Item (v1.1.0)

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

Properties

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

transferPatch

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

Transfer Patch Request (v1.1.0)

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

Properties

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

transferRecurrenceType

"fixed"

Transfer Recurrence Type (v1.0.0)

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

transferRecurrenceType strings may have one of the following enumerated values:

ValueDescription
fixedFixed: The transfer amounts are the same each time a transfer recurs
variablevariable: The transfer amounts vary and must be entered/verified each time a transfer recurs

Type: string
enum values: fixed, variable

transferSchedule

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

Transfer Schedule (v1.1.0)

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

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

Properties

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

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

transferRecurrenceType strings may have one of the following enumerated values:

ValueDescription
fixedFixed: The transfer amounts are the same each time a transfer recurs
variablevariable: The transfer amounts vary and must be entered/verified each time a transfer recurs

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

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

transferFrequency strings may have one of the following enumerated values:

ValueDescription
onceonce: Transfer does not repeat
dailydaily: Repeat daily on business days
weeklyweekly: Repeat weekly
biweeklybiweekly: Repeat every two weekly (26 times a year)
semimonthlysemimonthly: Repeat twice a month (24 times a year)
monthlymonthly: Repeat monthly
monthlyFirstDaymonthlyFirstDay: Repeat on the first business day of the month
monthLastDaymonthLastDay: Repeat on the last business day of the month
bimonthlybimonthly: Repeat every other month
quarterlyquarterly: Repeat quarterly (four times a year)
semiyearlysemiyearly: Repeat every six months (twice a year)
yearlyyearly: Repeat once every year

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

transferState

"pendingApproval"

Transfer State (v1.0.0)

The state of a transfer resource.

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

transfers

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

Transfer Collection (v1.1.0)

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

Properties

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