Accounts v0.77.0

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

The Accounts API manages banking accounts for bank customers. This API manages two primary types of resources:

  • Accounts (or internal accounts) are those controlled by the financial institution (FI). Account holders can perform a various operations on such accounts: Users may view balances and account details, open new accounts, inactivate internal accounts, blocking new banking activity on the account until they re-activate it. Users may also close accounts. The FI can freeze or unfreeze accounts if they suspect fraudulent or other malicious or suspicious activity. Users map also transfer money, view transactions, etc. using other Apiture APIs.
  • External Accounts are accounts controlled by an external financial institution. These are also known as linked accounts. The user can perform fewer operations on external accounts, primarily scheduling transfers between and an external account and an internal account, using other Apiture APIs.

Accounts are instances of a banking product (see the Products API). The product defines the type, rate, terms, attributes, and capabilities of accounts attached to the product. Accounts may be either personal accounts (also known as retail accounts) or business accounts (accounts for businesses, institutions, trusts, non-profits, etc., also known as commercial accounts).

A user can list their existing accounts and see the balances of those accounts (based on entitlements) and may have permission to change the account name and label and description. Each account has a primary user, which is a bank user (via the Users service). The primary user has full management and entitlements for the account, receives mailings such as statements or tax documents.

For personal (retail) accounts, an account has a primary owner and may have additional joint owners. The account owner can also view and update the account's beneficiaries. For business (commercial) accounts, the account owner is the business organization and one or more authorized signers who have account access entitlements or who may also delete authorized signers.

Because the account number is sensitive data, it is not included by default in account representations. The masked account number is returned in the accountNumbers object. To also receive the full account number when fetching an account, include the ?unmasked=true option. When linking an external account, the full account number should be in the accountNumbers.full property in the request. The accountNumbers.full property is included with the 201 response of creating an account.

Error Types

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

accountNotFound

Description: The {accountId} does not reference an existing account.
Remediation: Pass the ID of an account for which the user has access.

accountOwnerNotFound

Description: No joint owner was found for the specified {owner}.
Remediation: Ensure the supplied {owner} corresponds to an owner resource.

activeExternalAccountLimitReached

Description: The active external account limit has been reached.
Remediation: Deactivate a unused external account and try again.

applicationUriNotSupplied

Description: A link to the account application was not supplied for the account.
Remediation: Include a link to a valid Apiture account application in the _links object of your request.

authorizedSignerAlreadyExists

Description: The authorized signer already exists on the account.
Remediation: Add an authorized signer with a user not already associated as an authorized signer on the account.

authorizedSignerNotFound

Description: The {authorizedSignerId} does not reference an existing account.
Remediation: Pass the ID of one of the authorized signers on the account.

cannotDeleteSoleOwner

Description: The sole account owner cannot be deleted.
Remediation: Deleting account owners must leave at least one owner.

cannotPatchState

Description: The state field cannot be updated via PATCH.
Remediation: Resubmit the operation and leave state out of the request body.

cannotUpdateImmutableExternalAccountProperties

Description: Update operations may not change immutable properties of the external account unless the account state is pending.
Remediation: Remove immutable properties from the request.

The attributes object in the error may have the following properties:

Property Type Description
immutableProperties [string] Immutable properties that are in the request.

cannotUpdateImmutableInternalAccountProperties

Description: Update operations may not change immutable properties of the internal account.
Remediation: Remove immutable properties from the request.

The attributes object in the error may have the following properties:

Property Type Description
immutableProperties [string] Immutable properties that are in the request.

consentNotGiven

Description: The user has not given consent to the selected product’s terms and conditions.
Remediation: User must give consent to the selected product's terms and conditions first before changing products.

contactUriNotSupplied

Description: A link to the contact was not supplied for the account.
Remediation: Include a link to a valid Apiture contact in the _links object of your request.

duplicateExternalAccount

Description: An account resource with the same account number and routing number already exists.
Remediation: If the matching external account is closed or inactive, activate it.

duplicateTaxId

Description: A user with the given taxId already exists.
Remediation: Resubmit the operation with a unique taxId.

duplicateUser

Description: The owners or authorized signers contains a person more than one time.
Remediation: Remove duplicate users.

groupNotFound

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

incompleteBeneficiary

Description: Beneficiary's individual or organization data incomplete.
Remediation: Specify all required data for each beneficiary.

ineligibleAccount

Description: The account is not eligible to serve as an overdraft sweep account.
Remediation: Only select eligible accounts returned from the getEligibleOverdraftAccounts operation.

internalError

Description: An unexpected internal server error occurred.
Remediation: Retry the operation again.

This error type may be included in error responses for the following HTTP status code: 5xx

invalidAccount

Description: No Account was found for the specified id for the account context.
Remediation: Ensure that the supplied id corresponds to an Apiture account resource.

invalidAccountAuthorizationType

Description: The request includes an authorization type not allowed for this type of account.
Remediation: Owners for personal accounts must have the type joint or primary. Authorized signers for business accounts must all have the type authorizedSigner.

invalidAccountId

Description: No Accounts were found for the specified accountId.
Remediation: Ensure that the supplied accountId corresponds to an Apiture account resource.

invalidAccountReference

Description: The supplied account reference was malformed.
Remediation: Ensure that the supplied account parameter corresponds to an Apiture account resource.

The attributes object in the error may have the following properties:

Property Type Description
account string The malformed account parameter

invalidAccountState

Description: Actions on accounts may only be performed if they are in one of the required states.
Remediation: Check the state of your Account and the applicable allowed state transitions in the Accounts API documentation.

The attributes object in the error may have the following properties:

Property Type Description
currentState string The current state of the account.
Example: pending
requestedState string The new state value in the request.
Example: frozen
requiredStates [string] The set of states the account must be in for the requested state change to be valid.
Example: active

invalidAccountStateGrace

Description: The account is not active or it is not in the grace period.
Remediation: Ensure that the account is active and currently in the grace period.

invalidAccountType

Description: The account is not a CD and is thus not eligible for changing the banking product.
Remediation: Select an account that is a CD.

invalidApplication

Description: No account application resource was found for the specified apiture:application link.
Remediation: Ensure that the supplied application corresponds to an Apiture application resource.

invalidAuthorizedSigner

Description: The user parameter does not name an authorized signer on the account.
Remediation: Resubmit the operation with a valid user _id.

invalidBeneficiaryOrganizationType

Description: Beneficiary organizations must be trusts or charities.
Remediation: Specify an organization that is a trust or charity.

invalidConsentId

Description: The specified consent can not be found.
Remediation: Resubmit request with a valid consentId.

invalidContact

Description: No contact was found for the specified contact.
Remediation: Ensure that the supplied contactId corresponds to an Apiture contact resource.

invalidInterestTargetAccount

Description: The account designated for disbursing interest is an invalid URI or not an eligible account.
Remediation: Submit a request with a `apiture:interestTargetAccount link of an account that is active and is eligible for deposits.

The attributes object in the error may have the following properties:

Property Type Description
interestTargetUri string The URI of the transfer target account.

invalidOrganization

Description: No organization was found for the specified organization.
Remediation: Ensure that the supplied organization corresponds to an Apiture organization resource.

invalidOrganizationState

Description: An account may not be created with an organization that is not in an active state.
Remediation: Please contact your administrator regarding the non-active organization.

invalidOverdraftAccount

Description: No Accounts were found for the specified overdraftAccount query parameter.
Remediation: Ensure that the supplied overdraftAccount corresponds to an Apiture account resource.

invalidOverdraftAccountId

Description: No Accounts were found for the specified overdraftAccountId.
Remediation: Ensure that the supplied overdraftAccountId corresponds to an Apiture account resource.

invalidOverdraftProtectionEnrollment

Description: The product does not allow the selected overdraft protection options.
Remediation: Adhere to the product constraints for overdraft protection as per the planSelectionConstraints setting in the Products API overdraftProtection configuration group.

invalidProduct

Description: No Products were found for the specified product.
Remediation: Ensure that the supplied product corresponds to an Apiture product resource.

invalidProductId

Description: The specified product can not be found.
Remediation: Resubmit the request with an active product.

invalidProductTarget

Description: The product target (personal or business) does not match the current account.
Remediation: Select a product that matches the current type for the account.

invalidProductType

Description: The selected product is not an active CD product.
Remediation: Select an active CD product.

invalidQueryParameterCombination

Description: Do not use mutually exclusive query parameters.
Remediation: Use one or the other, but not both.

The attributes object in the error may have the following properties:

Property Type Description
mutuallyExclusiveQueryParameters [string] undefined
Example: state,openable

invalidRolloverProduct

Description: The rollover product is not an openable deposit account product.
Remediation: Submit a request with a rollover product that is openable (active and available for new account opening), and is eligible for deposits or initial funding.

The attributes object in the error may have the following properties:

Property Type Description
rolloverProductUri string The URI of the rollover product.

invalidRoutingNumber

Description: The routing number was malformed.
Remediation: Use the correct routing number of the financial institution.

invalidTransferTargetAccount

Description: The account designated for transferring principal and/or interest upon Certificate of Deposit (CD, a.k.a. Time Deposit) account maturity is an invalid URI or not a deposit account.
Remediation: Submit a request with a apiture:transferTargetAccount link to a target account that is active and is eligible for deposits or initial funding.

The attributes object in the error may have the following properties:

Property Type Description
transferTargetUri string The URI of the transfer target account

invalidUnmaskedQueryParam

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

invalidUser

Description: No user was found for the specified user.
Remediation: Ensure that the supplied userId corresponds to an Apiture user resource.

malformedRequestBody

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

maximumOverdraftAccountsReached

Description: The target account already has the maximum number of overdraft protection accounts assigned to it.
Remediation: Remove an existing overdraft protection account, then try again.

noBeneficiariesOnBusinessAccounts

Description: Business accounts do not have beneficiaries.
Remediation: Request beneficiaries only on personal accounts.

notExactlyOnePrimaryOwner

Description: The owners must contain exactly one primary owner.
Remediation: Retry the request with exactly one primary owner.

organizationUriNotSupplied

Description: A link to the organization was not supplied for the account.
Remediation: Include a link to a valid Apiture organization in the _links object of your request.

overdraftProtectionNotEnabled

Description: The account holder has not opted in for overdraft protection for this account, or overdraft protection is not supported.
Remediation: Only invoke this operation on accounts that have overdraft protection enabled.

percentagesNotEqual100

Description: If beneficiaries are listed, the sum of percentages should equal 100.
Remediation: Adjust the percentages to total 100.

productUriNotSupplied

Description: A link to the product was not supplied for the account.
Remediation: Include a link to a valid Apiture product in the _links object of your request.

unsatisfiedProductConstraints

Description: The account does not satisfy the minimum or maximum balance or other constraints of the selected product.
Remediation: Select a product with constraints that the account satisfies.

unverifiedUser

Description: A owner or authorized signers in the request is not a valid user or has not been verified.
Remediation: Retry the request with only valid, verified users.

userUriInvalid

Description: The user cannot be found or the URI is invalid.
Remediation: Check the URI is formed correctly and references a valid user resource.

userUriNotSupplied

Description: A link to the user was not supplied for the account.
Remediation: Include a link to a valid Apiture user in the _links object of your request.

valueNotFound

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

wrongConsent

Description: The consentId is not consent for the terms and conditions associated with the product.
Remediation: Resubmit the request with the correct consentId.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

  • API Key (apiKey)
    • header parameter: API-Key
    • API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the API-Key: {api-key} request header.

  • OAuth2 authentication (accessToken)
    • OAuth2 client access token authentication. The client authenticates against the server at authorizationUrl, passing the client's private clientId (and optional clientSecret) as part of this flow. The client obtains an access token from the server at tokenUrl. It then passes the received access token via the Authorization: Bearer {access-token} header in subsequent API calls. The authorization process also returns a refresh token which the client should use to renew the access token before it expires.
    • Flow: authorizationCode
    • Authorization URL = https://auth.devbank.apiture.com/auth/oauth2/authorize
    • Token URL = https://api.devbank.apiture.com/auth/oauth2/token
Scope Scope Description
banking/read Read access to accounts and account-related resources such as transfers and transactions.
banking/write Write (update) access to accounts and account-related resources such as transfers and transactions.
banking/delete Delete access to deletable accounts and account-related resources such as transfers.
banking/readBalance Read access to account balances. This must be granted in addition to the apiture/readBanking scope in order to view balances, but is included in the banking/full scope.
banking/full Full access to accounts and account-related resources such as transfers and transactions.

Accounts

Bank Accounts

createPaymentProviderParameters

Code samples

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

POST https://api.devbank.apiture.com/accounts/paymentProviderParameters?account=string&issuer=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

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

};

fetch('https://api.devbank.apiture.com/accounts/paymentProviderParameters?account=string&issuer=string',
{
  method: 'POST',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/paymentProviderParameters',
  method: 'post',
  data: '?account=string&issuer=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/paymentProviderParameters',
  params: {
  'account' => 'string',
'issuer' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/paymentProviderParameters', params={
  'account': 'string',  'issuer': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Generate payment provider parameters

POST https://api.devbank.apiture.com/accounts/paymentProviderParameters

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

Parameters

ParameterDescription
account
in: query
string (required)
The resource identifier of an existing, active account. This is the account's _id property, not the account number.
issuer
in: query
string (required)
The name of the payment provider, such as payrailz. This string is a lower camel case identifier. This determines which provider parameters to return to the client.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/paymentProviderParameters/v1.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "issuer": "payrailz",
  "parameters": [
    {
      "name": "ssoToken",
      "value": "cd8775f7f49a/408a|9afa-982a78bd08bd::7466c8c38489/4541|b695/af7ac2ba4537"
    },
    {
      "name": "refreshToken",
      "value": "130d1a7d_fa0c/453a|86a9_93c411a9df3a::5f1d4ade5c34/40e4|8098/493475dd0c92"
    },
    {
      "name": "fspId",
      "value": "cPsSsLTx-2982-zkztbwEP"
    },
    {
      "name": "payerId",
      "value": "05df5b59-83e4-4f79-8002-42ddbf415feb"
    }
  ]
}

Responses

StatusDescription
201 Created
Created. The response contains the parameters to integrate with the payment provider components.
Schema: paymentProviderParameters
202 Accepted
Accepted. The request has been accepted but could not complete in a timely manner. Retry the operation after waiting the number of seconds specified in the Retry-After response header. The returned response body has an empty parameters array.
Schema: paymentProviderParameters
HeaderRetry-After
string
Indicates a suggested delay in seconds after which the client should retry the operation.

Example: Retry-After: 5

StatusDescription
400 Bad Request
Bad Request. The parameters are not well-formed.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The parameters, while well-formed, are invalid.

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

Schema: errorResponse

getAccounts

Code samples

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

GET https://api.devbank.apiture.com/accounts/accounts HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Accept-Language: string

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a collection of accounts

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

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

By default, the items in the collection return a subset of the accounts fields, as described in the summaryAccount schema. To include all fields in an account, use the ?fields=* query parameter.

If ?embed=owners is used, each summary account representation in the _embedded.items array will embed the account owners or the authorized signers and owning organization.

Administrative applications may use searchAccounts to find accounts by account number.

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first account item to include in this page. The default 0 denotes the beginning of the collection.
format: int64
default: 0
limit
in: query
integer(int32)
The maximum number of account representations to return in this page.
format: int32
default: 100
sortBy
in: query
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
state
type
subtype
name
productName.
state
in: query
string
Subset the accounts or external accounts collection to those whose state matches this value. Use | to separate multiple values. For example, ?state=pending matches only items whose state is pending; ?state=removed|inactive matches items whose state is removed or inactive. This is combined with an implicit and with other filters if they are used. See filtering.
enum values: pending, active, inactive, frozen, closed
type
in: query
string
Subset the accounts or external accounts collection to those with this exact type value. Use | to separate multiple values. For example, ?type=Personal%20Savings matches only items whose type is Personal Savings; ?type=Personal%20Savings|Investment%20Account matches items whose type is Personal Savings or Investment Account. This is combined with an implicit and with other filters if they are used. See filtering.
subtype
in: query
string
Subset the accounts or external accounts collection to those with this exact subtype value. For example, ?subtype=true will limit the response to only product types which are subtypes. Use | to separate multiple values. For example, ?subtype=Basic%20Personal%20Savings matches only items whose subtype is Basic Personal Savings; ?subtype=Basic%20Personal%20Savings|Basic%20Investment%20Account matches items whose subtype is Basic Personal Savings or Basic Investment Account. This is combined with an implicit and with other filters if they are used. See filtering.
name
in: query
string
Subset the accounts or external accounts collection to those with this name value. Use | to separate multiple values. For example, ?name=Bartell matches only items whose name is Bartell; ?name=Bartell|kirsten matches items whose name is Bartell or kirsten. This is combined with an implicit and with other filters if they are used. See filtering.
productName
in: query
string
Subset the accounts collection to those with this productName value. Use | to separate multiple values. For example, ?productName=Basic%20Personal%20Savings matches only items whose productName is Basic Personal Savings; ?productName=Basic%20Personal%20Savings|Basic%20Investment%20Account matches items whose productName is Basic Personal Savings or inactive. This is combined with an implicit and with other filters if they are used. See filtering.
organization
in: query
string
Subset the accounts collection to those accounts owned by the organization represented by the uri organization value. This is combined with an implicit and with other filters if they are used. See filtering.
filter
in: query
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property state using functions eq, ne, in
• Property type using functions eq, ne, in
• Property subtype using functions eq, ne, in
• Property name using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property productName using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property _id using functions eq, in
• Property organization using functions eq
• Property user using functions eq, in.
q
in: query
string
Optional search string. See searching.
unmasked
in: query
boolean
When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.
default: false
fields
in: query
string
Select which fields to include in each account in the collection's _embedded.items array. By default, a subset of all the fields in the account are returned (detailed in the summaryAccount schema). Use the value * to request all the fields in the account. Note that there is a performance impact of requesting this, since the account balance and interest (year to date) may require additional computation.
default: ""
user
in: query
string
An operator or admin may use this to select a user in order to retrieve internal accounts owned by that user. The value is the _id of the User resource.
minLength: 16
maxLength: 48
activeBetween
in: query
string
Limit the response to only accounts that are (or were) active between two dates, inclusive. The format of the query parameter is start-date,end-date where each date is in RFC 3339 date format, YYYY-MM-DD. The response includes accounts which became active on or before the end date and which were not closed before the start date.
Example: ?activeBetween=2019-03-01,2019-03-31.
This option may be combined with ?embed=owners. Note: This option is limited to administrative use.
embed
in: query
array[string]
If set, each account in the _embedded.items array will include additional embedded objects. The embed query parameter specifies which related resources to include in the _embedded object in each account in response. embed supports the following values:
  • owners : for personal accounts, include the account owners in the _embedded.owners object; for business accounts, include authorized signers in the _embedded.authorizedSigners object and the owning business in the _embedded.owningBusiness object.
This option may be combined with ?activeBetween.
comma-delimited
items: string
» enum values: owners, beneficiaries, authorizedSigners, product
Accept-Language
in: header
string
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accounts/v2.12.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accounts/accounts"
    }
  },
  "start": "10",
  "limit": 10,
  "count": 67,
  "name": "accounts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.12.0/profile.json",
        "name": "My basic savings account",
        "title": "John Smith",
        "state": "active",
        "balance": {
          "current": "3450.30",
          "available": "3450.30",
          "primary": "3450.30",
          "primaryLabel": "Current Balance",
          "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
          "currency": "USD"
        },
        "accountNumbers": {
          "masked": "*************3210"
        },
        "paymentsEnabled": false,
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:product": {
            "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
          }
        }
      }
    ]
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. Query parameters are in conflict. Do not use both ?orderable= and ?state= query parameters.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

createAccount

Code samples

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accounts/createAccount/v1.3.0/profile.json",
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:organization": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/a1c9212c-0a5c-4779-a3fc-95e1c1e92e71"
    },
    "apiture:application": {
      "href": "https://api.devbank.apiture.com/accountApplications/applications/2f23b9fe-532f-4e82-943e-b079ea55aebc"
    }
  },
  "name": "My car savings account",
  "description": "My savings account used to save for a new car, opened in 2019. I try to put $550/month into this account.",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new account.

POST https://api.devbank.apiture.com/accounts/accounts

Create a new banking account. The request body must contain a link to an active product, user, organization (for a business account), and may contain an approved application. The required resource links are detailed in the createAccount schema used for the request body. The application will be linked to the account and can be identifiable with the account. The product provides specific banking information like the type of product and it's subtype; the new account will adopt the terms and attributes of that banking product. If a name is not included in the request, the product name will be used to provide a unique name for this user. The account will be created in the pending state (which allows deletion of the account). A successful operation returns the full account number.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/createAccount/v1.3.0/profile.json",
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:organization": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/a1c9212c-0a5c-4779-a3fc-95e1c1e92e71"
    },
    "apiture:application": {
      "href": "https://api.devbank.apiture.com/accountApplications/applications/2f23b9fe-532f-4e82-943e-b079ea55aebc"
    }
  },
  "name": "My car savings account",
  "description": "My savings account used to save for a new car, opened in 2019. I try to put $550/month into this account.",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  }
}

Parameters

ParameterDescription
body createAccount (required)
The data necessary to create a new account.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.12.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    }
  },
  "name": "My savings",
  "description": "My Basic savings account",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "SDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount."
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false
}

Responses

StatusDescription
201 Created
Created.
Schema: summaryAccount
HeaderLocation
string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource.
StatusDescription
400 Bad Request

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The request attempted to create an account when a dependent resource is not in a correct state, such as the organization being in a state other than active, or to set the overdraft protection settings in a manner not allowed by the financial institution's configuration.

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

Schema: errorResponse

getAccount

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accounts/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/hal+json"},
        "If-None-Match": []string{"string"},
        "Accept-Language": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Fetch a representation of this account

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

Return a HAL representation of this account resource.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
Accept-Language
in: header
string
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231.
unmasked
in: query
boolean
When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.
default: false
embed
in: query
array[string]
The embed query parameter specifies which related resources to include in the _embedded object in the response. embed supports the following comma-separated values:
  • owners : for personal accounts, include the account owners in the _embedded.owners object; for business accounts, include authorized signers in the _embedded.authorizedSigners object and the owning business in the _embedded.owningBusiness object.
  • beneficiaries : include the account beneficiaries (for personal accounts).
  • authorizedSigners : include the account's authorized signers (for business accounts).
  • product : include the banking product for this account. This is the default for embed if omitted, but if embed is specified explicitly, include products if you want it embedded.
(See the embeddedAccountObjects schema.)

For example, to embed both the owners and beneficiaries for personal accounts use GET .../accounts/{accountId}?embed=owners,beneficiaries. To embed the banking product, the owning business, authorized signers for business accounts, use GET .../accounts/{accountId}?embed=product,owners,authorizedSigners.


comma-delimited
items: string
» enum values: owners, beneficiaries, authorizedSigners, product

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: account
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse

patchAccount

Code samples

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Update this account

PATCH https://api.devbank.apiture.com/accounts/accounts/{accountId}

Perform a partial update of this account. Fields which are omitted from the request are not updated. Nested _embedded objects are ignored if included. This operation does not change the state property. To change the state of the account, use the POST operations activateAccount, deactivateAccount, freezeAccount, or closeAccount which are available in the _links on an account instance.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.
body account (required)

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: account
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
400 Bad Request

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds, or to change the overdraft protection settings in a manner not allowed by the financial institution's configuration.

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

Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

deleteAccount

Code samples

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

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accounts/accounts/{accountId}");
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/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Delete this account resource

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}

Delete this account resource and any resources that are owned by it. Note that only pending accounts may be deleted. Once an account has been activated, it cannot be deleted, only inactivated or closed.

Parameters

ParameterDescription
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.

Example responses

412 Response

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

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
409 Conflict

Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds.

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

StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

generateVerificationLetter

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/verificationLetter \
  -H 'Accept: application/pdf' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/verificationLetter HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/pdf

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Generate the account verification letter

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/verificationLetter

Generate the account verification letter for this internal account.

If the letter has not been generated, this returns 202 Accepted and no response body. The response will include a Retry-After response header with a recommended retry interval in seconds.

If the letter has been generated for this account, the operations returns 200 OK and the response body is the PDF formatted account verification letter.

For personal accounts, only the primary and joint owners may invoke this operation.

For business accounts, only the authorized signers associated with the owning business organization may invoke this operation.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
user
in: query
string
An operator or admin may use this to select an authorized signer in order to generate a letter on their behalf. The value is the _id of the User resource.
minLength: 16
maxLength: 48

Example responses

200 Response

403 Response

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

Responses

StatusDescription
200 OK
OK. The request has succeeded. The response body is the PDF formatted account verification letter for this account and indicated user.
Schema: string
202 Accepted
Accepted. The request has been accepted for processing, but the processing has not been completed.
HeaderRetry-After
string
Indicates a suggested delay in seconds after which the client should retry the operation. Example: Retry-After: 10
StatusDescription
403 Forbidden
Forbidden. The user is not authorized to perform this operation. If the user is an authorized signer, using the ?user= parameter is forbidden.
Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
406 Not Acceptable
Not Acceptable. Indicates that the server cannot produce a response matching the list of acceptable values defined in the request's headers. This operation only supports Accept: application/pdf.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The ?user= parameter is not allowed or invalid.

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

Schema: errorResponse

updateAccountProduct

Code samples

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

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/product HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {}
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Change the account's product

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/product

Change the account’s banking product. This applies only to personal and business CD accounts that are in their grace period (immediately following maturity). The new product must also be a CD product, and the account must satisfy the minimum and maximum balance and other constraints of the new product.

Body parameter

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

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
body updateAccountProduct (required)
The data necessary to update a product on an account.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: account
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
409 Conflict

Request conflict. The request conflicts with the required constraints for changing an account’s product. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse

addAccountTrackingIds

Code samples

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

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/trackingIds HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/common/createResourceTrackingIds/v1.1.1/profile.json",
  "_links": {},
  "trackingIds": [
    "2dd86cdb-2a50-4079-a246-6486135a0ca2"
  ]
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Add tracking IDs to an account

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/trackingIds

Add one or more tracking IDs to an account. Clients can add tracking IDs to associate an account with a promotion, campaign, or some other business process. Duplicate tracking IDs (within the input or already on this account) are ignored.

If adding new IDs would exceed the maximum of 150 per account, this operation removes the oldest tracking ID(s) to make room for the new ones.

The caller must have entitlements to update the accounts in order to add tracking IDs.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/common/createResourceTrackingIds/v1.1.1/profile.json",
  "_links": {},
  "trackingIds": [
    "2dd86cdb-2a50-4079-a246-6486135a0ca2"
  ]
}

Parameters

ParameterDescription
body createResourceTrackingIds
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/resourceTrackingIds/v1.1.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId/trackingIds"
    },
    "apiture:resource": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "trackingIds": [
    {
      "id": "476824ec-7f8a-4909-bad7-b05ee26aba0f",
      "createdAt": "2021-06-07T09:11:02.375Z"
    },
    {
      "id": "55c9141a-94d5-4ae8-b664-9ac4c9eaea2d",
      "createdAt": "2021-07-011T15:33:00.375Z"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: resourceTrackingIds
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for future GET operations which update this account resource.
StatusDescription
400 Bad Request

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse

getAccountTrackingIds

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch the account's tracking IDs

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

Return a HAL representation of the list of tracking IDs that have been added to this account via addAccountTrackingIds. The response includes an empty array if there are no tracking IDs. The IDs in the response are sorted chronologically from earliest to latest.

The caller must have entitlements to read the account in order to read tracking IDs.

Parameters

ParameterDescription
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/resourceTrackingIds/v1.1.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId/trackingIds"
    },
    "apiture:resource": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "trackingIds": [
    {
      "id": "476824ec-7f8a-4909-bad7-b05ee26aba0f",
      "createdAt": "2021-06-07T09:11:02.375Z"
    },
    {
      "id": "55c9141a-94d5-4ae8-b664-9ac4c9eaea2d",
      "createdAt": "2021-07-011T15:33:00.375Z"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: resourceTrackingIds
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for future GET operations which update this account resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found

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

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

Schema: errorResponse

searchAccounts

Code samples

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accountSearch/v1.0.1/profile.json",
  "_links": {},
  "accountNumber": "9876543210"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Find an account by account number.

POST https://api.devbank.apiture.com/accounts/accountSearch

Use this operation to find an account by the full banking account number. Each resource in the _embedded.items array is a summary representation of an account; use the getAccount operation on the summary's self link to get the full representation of the account and all available links. If no account matches, the response has an empty (but not null) _embedded.items array.

This operations uses a "GET over POST" pattern so that personally sensitive information (full account numbers) are transmitted securely in the request body and not in the request URL as query parameters. Like a GET, this operation is idempotent and safe.

This operation is only allowed for trusted services or administrators. For banking customers, use getAccounts with ?unmasked=true to list all accounts for the user, and the client can filter the small result set by account number.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accountSearch/v1.0.1/profile.json",
  "_links": {},
  "accountNumber": "9876543210"
}

Parameters

ParameterDescription
body accountSearch (required)
Account search parameters.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accounts/v2.12.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accounts/accounts"
    }
  },
  "start": "10",
  "limit": 10,
  "count": 67,
  "name": "accounts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.12.0/profile.json",
        "name": "My basic savings account",
        "title": "John Smith",
        "state": "active",
        "balance": {
          "current": "3450.30",
          "available": "3450.30",
          "primary": "3450.30",
          "primaryLabel": "Current Balance",
          "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
          "currency": "USD"
        },
        "accountNumbers": {
          "masked": "*************3210"
        },
        "paymentsEnabled": false,
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:product": {
            "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
          }
        }
      }
    ]
  }
}

Responses

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

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

searchExternalAccounts

Code samples

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accountSearch/v1.0.1/profile.json",
  "_links": {},
  "accountNumber": "9876543210"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Find an external account by account number.

POST https://api.devbank.apiture.com/accounts/externalAccountSearch

Use this operation to find an external account by the full banking account number. Each resource in the _embedded.items array is a summary representation of an account; use the getExternalAccount operation on the summary's self link to get the full representation of the external account and all available links. If no account matches, the response has an empty (but not null) _embedded.items array.

This operations uses a "GET over POST" pattern so that personally sensitive information (full account numbers) are transmitted securely in the request body and not in the request URL as query parameters. Like a GET, this operation is idempotent and safe.

This operation is only allowed for trusted services or administrators. For banking customers, use getExternalAccounts with ?unmasked=true to list all external accounts for the user, and the client can filter the small result set by account number.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accountSearch/v1.0.1/profile.json",
  "_links": {},
  "accountNumber": "9876543210"
}

Parameters

ParameterDescription
body accountSearch (required)
Account search parameters.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccounts/v1.3.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts"
    }
  },
  "start": "10",
  "limit": 10,
  "count": 67,
  "name": "external accounts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My account at 3rdParty Bank",
        "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
        "type": "savings",
        "ifxType": "SDA",
        "state": "active",
        "primaryUserName": "Lucille Wellphunded",
        "institutionName": "3rdParty Bank",
        "verifiedAt": "2018-01-20T18:13:33.375Z",
        "createdAt": "2018-01-20T05:54:52.375Z",
        "routingNumber": "021000021",
        "accountNumbers": {
          "masked": "*************3210"
        },
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      }
    ]
  }
}

Responses

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

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Account Actions

Actions on Bank Accounts

activateAccount

Code samples

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

POST https://api.devbank.apiture.com/accounts/activeAccounts?account=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/activeAccounts?account=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/activeAccounts',
  params: {
  'account' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/activeAccounts', params={
  'account': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Activate an account

POST https://api.devbank.apiture.com/accounts/activeAccounts

Activate an account, making it available for use. Customers can only activate internal accounts which are pending. Customers can only activate external accounts which are inactive if the user has not reached the maximum number of active external accounts. Administrators can activate internal accounts from any state except closed, and can activate external accounts in any state as long as the user has not reached the maximum number of active external accounts.

This operation is invoked from the apiture:activate link on an account, which only exists if the action is allowed. This changes the state to active. See also deactivateAccount. This operation is a no-op if the account is already active.

Parameters

ParameterDescription
account
in: query
string (required)
A server-supplied value which identifies the account instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

deactivateAccount

Code samples

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

POST https://api.devbank.apiture.com/accounts/inactiveAccounts?account=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/inactiveAccounts?account=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/inactiveAccounts',
  params: {
  'account' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/inactiveAccounts', params={
  'account': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Deactivate an account

POST https://api.devbank.apiture.com/accounts/inactiveAccounts

Deactivate an account that is eligible to be deactivated. Customer users may deactivate only external accounts which are ``active. Financial Institution administrators may deactivate internal accounts in any state except closed, or deactivate external accounts that are in any state. This operation is invoked from the apiture:deactivatelink on an account; the link only exists if the action is allowed. This changes thestatetoinactive. See also the [activateAccount`](#op-activateAccount) operation. This operation is a no-op if the account is already inactive.

Parameters

ParameterDescription
account
in: query
string (required)
A server-supplied value which identifies the account instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

freezeAccount

Code samples

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

POST https://api.devbank.apiture.com/accounts/frozenAccounts?account=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/frozenAccounts?account=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/frozenAccounts',
  params: {
  'account' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/frozenAccounts', params={
  'account': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Freeze an account

POST https://api.devbank.apiture.com/accounts/frozenAccounts

Freeze an account, blocking all banking activity on the account. Only administrators can freeze accounts, and only if the account state is not closed. This operation is invoked from the apiture:freeze link on an account; the link only exists if the action is allowed. This changes the state to frozen. Financial Institution administrators can unfreeze accounts with the activateAccount operation. This operation is a no-op if the account is already frozen.

Parameters

ParameterDescription
account
in: query
string (required)
A server-supplied value which identifies the account instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

closeAccount

Code samples

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

POST https://api.devbank.apiture.com/accounts/closedAccounts?account=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/closedAccounts?account=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/closedAccounts',
  params: {
  'account' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/closedAccounts', params={
  'account': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Close an account

POST https://api.devbank.apiture.com/accounts/closedAccounts

Close an account that is eligible to be closed. Only accounts which are active or inactive or frozen may be closed. This operation is invoked from the apiture:close link on an account; the link only exists if the action is allowed. This changes the state to closed. Closing an account will append the text " (Closed YYYY-MM-DDThh:mm:ssZ)" to the name, so that the previous name may be used for other accounts. This operation is a no-op if the account is already closed.

Parameters

ParameterDescription
account
in: query
string (required)
A server-supplied value which identifies the account instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

reviewAccount

Code samples

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

POST https://api.devbank.apiture.com/accounts/externalAccountsUnderReview?account=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/externalAccountsUnderReview?account=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/externalAccountsUnderReview',
  params: {
  'account' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/externalAccountsUnderReview', params={
  'account': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

The account is under review

POST https://api.devbank.apiture.com/accounts/externalAccountsUnderReview

Begin review of an account, if its state allows review. This changes the state to underReview. When an external account is under review, the financial institution reviews the account details and may approve or reject the account; this will set the state to active or frozen, respectively. Only accounts which are verifying may make this state transition, and review is normally triggered automatically if external account verification was successful and customer data does not match with the account's holders' information. This operation is invoked from the apiture:review link on an account, which only exists if the action is allowed to update an account state to under review. Only administrative or service applications may call this operation, not bank customers. This operation is a no-op if the account is already under review.

Parameters

ParameterDescription
account
in: query
string (required)
A server-supplied value which identifies the account instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

requestMicroDepositVerification

Code samples

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

POST https://api.devbank.apiture.com/accounts/externalAccountsNeedingMicroDepositVerification?account=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/externalAccountsNeedingMicroDepositVerification?account=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/externalAccountsNeedingMicroDepositVerification',
  params: {
  'account' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/externalAccountsNeedingMicroDepositVerification', params={
  'account': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Request micro-deposit verification

POST https://api.devbank.apiture.com/accounts/externalAccountsNeedingMicroDepositVerification

Start micro-deposit verification for an external account. This operation moves an account with state of failed or inactive to the state of microDepositsRequested. This lets the user reuse an external account when instant account verification fails. The micro-deposit verification flow must be completed as described in the Account Verification API. This operation is available via the apiture:requestMicroDepositVerification link on an external account if this operation is valid. Only administrative or service applications may call this operation, not bank customers. This operation is a no-op if the account's state is already microDepositsRequested.

Parameters

ParameterDescription
account
in: query
string (required)
A server-supplied value which identifies the account instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a closed account, or change a non-pending account to pending. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

bumpApyRate

Code samples

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

POST https://api.devbank.apiture.com/accounts/bumpedApyAccounts?account=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/bumpedApyAccounts?account=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/bumpedApyAccounts',
  params: {
  'account' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/bumpedApyAccounts', params={
  'account': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Bump the account's APY rate

POST https://api.devbank.apiture.com/accounts/bumpedApyAccounts

On some banking products (CD or time-deposit accounts), the financial institution (Financial Institution) may offer a new rate in the rates.bumpToApy property. The user can either accept that offer or defer accepting the offer in anticipation of a better APY offer in the future. Note: The FI may restrict the user to only one rate increase per term.

The client should call this operation when the user (an account holder) elects to accept the APY offer. There is no additional confirmation of this action; the new rate becomes effective and future rate bumps may not be allowed during the remainder of this account's term. The APY rate that was in effect before bump becomes the rates.originalApy, the rates.bumpToApy becomes the new apy, and rates.bumpToApy is dropped from the rates. The account's cd.apyBumpedAt records when the user accepted the bumped rate.

If and only if a new APY offer is available, this operation is listed in the accounts _links with the link relation apiture:bumpApyRate. This operation is limited to account holders and administrators.

Parameters

ParameterDescription
account
in: query
string (required)
A server-supplied value which identifies the account instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.

Example responses

202 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Responses

StatusDescription
202 Accepted
Accepted.
Schema: account
StatusDescription
400 Bad Request

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. This account type does not allow bumping the APY rate.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

External Accounts

External Bank Accounts

getExternalAccounts

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a collection of external accounts

GET https://api.devbank.apiture.com/accounts/externalAccounts

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

Administrative applications may use searchExternalAccounts to find accounts by account number.

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first external account item to include in this page. The default 0 denotes the beginning of the collection.
format: int64
default: 0
limit
in: query
integer(int32)
The maximum number of external account representations to return in this page.
format: int32
default: 100
sortBy
in: query
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
state
type
name
institutionName
verifiedAt
createdAt.
state
in: query
string
Subset the accounts or external accounts collection to those whose state matches this value. Use | to separate multiple values. For example, ?state=pending matches only items whose state is pending; ?state=removed|inactive matches items whose state is removed or inactive. This is combined with an implicit and with other filters if they are used. See filtering.
enum values: pending, active, inactive, frozen, closed
type
in: query
string
Subset the accounts or external accounts collection to those with this exact type value. Use | to separate multiple values. For example, ?type=Personal%20Savings matches only items whose type is Personal Savings; ?type=Personal%20Savings|Investment%20Account matches items whose type is Personal Savings or Investment Account. This is combined with an implicit and with other filters if they are used. See filtering.
name
in: query
string
Subset the accounts or external accounts collection to those with this name value. Use | to separate multiple values. For example, ?name=Bartell matches only items whose name is Bartell; ?name=Bartell|kirsten matches items whose name is Bartell or kirsten. This is combined with an implicit and with other filters if they are used. See filtering.
filter
in: query
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property state using functions eq, ne, in
• Property type using functions eq, ne, in
• Property name using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property _id using functions eq, in
• Property ownerId using functions eq
• Property user using functions eq, in.
q
in: query
string
Optional search string. See searching.
unmasked
in: query
boolean
When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.
default: false
user
in: query
string
An operator or admin may use this to select a user in order to retrieve external accounts owned by that user. The value is the _id of the User resource.
minLength: 16
maxLength: 48
embed
in: query
array[string]
If set, each external account in the _embedded.items array will include additional embedded objects. The embed query parameter specifies which related resources to include in the _embedded object in each account in response. embed supports the following values:
  • owners: for external accounts, include the account owners in the _embedded.accountOwners object. (See the externalAccountEmbeddedObjects schema.)

comma-delimited
items: string
» enum values: owners

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccounts/v1.3.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts"
    }
  },
  "start": "10",
  "limit": 10,
  "count": 67,
  "name": "external accounts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My account at 3rdParty Bank",
        "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
        "type": "savings",
        "ifxType": "SDA",
        "state": "active",
        "primaryUserName": "Lucille Wellphunded",
        "institutionName": "3rdParty Bank",
        "verifiedAt": "2018-01-20T18:13:33.375Z",
        "createdAt": "2018-01-20T05:54:52.375Z",
        "routingNumber": "021000021",
        "accountNumbers": {
          "masked": "*************3210"
        },
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      }
    ]
  }
}

Responses

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

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

createExternalAccount

Code samples

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accounts/createExternalAccount/v1.3.3/profile.json",
  "_links": {
    "apiture:productType": {
      "href": "https://api.devbank.apiture.com/products/productTypes/a93c19ba-f96d-4b30-8dd7-92b2d6ffcb0b"
    }
  },
  "name": "My account at 3rdParty Bank",
  "institutionName": "3rd Party Bank",
  "primaryUserName": "Lana Michaels",
  "type": "savings",
  "ifxType": "SDA",
  "routingNumber": "021000021",
  "accountNumbers": {
    "full": "9876543210"
  },
  "_embedded": {
    "accountOwners": [
      {
        "firstName": "Steven",
        "middleName": "Benjamin",
        "lastName": "Storey",
        "fullName": "Steven B. Storey",
        "type": "primary",
        "addresses": [
          {
            "type": "home",
            "addressLine1": "555 N Front Street",
            "addressLine2": "Apt 555",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401",
            "countryCode": "US"
          }
        ]
      }
    ]
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new external account

POST https://api.devbank.apiture.com/accounts/externalAccounts

Create a new external account. A successful operation returns the full accountNumber.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/createExternalAccount/v1.3.3/profile.json",
  "_links": {
    "apiture:productType": {
      "href": "https://api.devbank.apiture.com/products/productTypes/a93c19ba-f96d-4b30-8dd7-92b2d6ffcb0b"
    }
  },
  "name": "My account at 3rdParty Bank",
  "institutionName": "3rd Party Bank",
  "primaryUserName": "Lana Michaels",
  "type": "savings",
  "ifxType": "SDA",
  "routingNumber": "021000021",
  "accountNumbers": {
    "full": "9876543210"
  },
  "_embedded": {
    "accountOwners": [
      {
        "firstName": "Steven",
        "middleName": "Benjamin",
        "lastName": "Storey",
        "fullName": "Steven B. Storey",
        "type": "primary",
        "addresses": [
          {
            "type": "home",
            "addressLine1": "555 N Front Street",
            "addressLine2": "Apt 555",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401",
            "countryCode": "US"
          }
        ]
      }
    ]
  }
}

Parameters

ParameterDescription
body createExternalAccount (required)
The data necessary to create a new external account.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My account at 3rdParty Bank",
  "type": "savings",
  "ifxType": "SDA",
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rdParty Bank",
  "primaryUserName": "Lucille Wellphunded",
  "_embedded": {
    "productType": {
      "_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "savings",
      "label": "Personal Savings"
    }
  },
  "source": "mx"
}

Responses

StatusDescription
201 Created
Created.
Schema: externalAccount
HeaderLocation
string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource.
StatusDescription
400 Bad Request

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. An external account with the key account details already exists for the user, such as an attempt to change the state from active to pending, or to change the name to a name that is already in use by another external account that the user or organization holds.

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

Schema: errorResponse

getExternalAccount

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this external account

GET https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}

Return a HAL representation of this external account resource.

Parameters

ParameterDescription
externalAccountId
in: path
string (required)
The unique identifier of this external account. This is an opaque string.
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
unmasked
in: query
boolean
When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.
default: false
embed
in: query
array[string]
The embed query parameter specifies which related resources to include in the _embedded object in the response. embed supports the following comma-separated values:
  • owners : for external accounts, include the external account owners in the _embedded.accountOwners object;

comma-delimited
items: string
» enum values: owners

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My account at 3rdParty Bank",
  "type": "savings",
  "ifxType": "SDA",
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rdParty Bank",
  "primaryUserName": "Lucille Wellphunded",
  "_embedded": {
    "productType": {
      "_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "savings",
      "label": "Personal Savings"
    }
  },
  "source": "mx"
}

Responses

StatusDescription
200 OK
OK.
Schema: externalAccount
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this external account resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse

patchExternalAccount

Code samples

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My account at 3rdParty Bank",
  "type": "savings",
  "ifxType": "SDA",
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rdParty Bank",
  "primaryUserName": "Lucille Wellphunded",
  "_embedded": {
    "productType": {
      "_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "savings",
      "label": "Personal Savings"
    }
  },
  "source": "mx"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}',
  method: 'patch',

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

require 'rest-client'
require 'json'

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

result = RestClient.patch 'https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Update this external account

PATCH https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}

Perform a partial update of this external account. Fields which are omitted from the request are not updated. Nested _embedded and _links are ignored if included. Bank users may update the routingNumber, accountNumbers.full, institutionName, type only if the external account is still pending. If accountNumbers.full is patched, then the full account number is included in the response. Financial institution administrators may patch all fields except the routingNumber and accountNumbers.full regardless of the external account's state. This operation does not change the state property. To change the state of the account, use the POST operations activateAccount, deactivateAccount, freezeAccount, closeAccount, reviewExternalAccount which are available in the _links on an account instance.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My account at 3rdParty Bank",
  "type": "savings",
  "ifxType": "SDA",
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rdParty Bank",
  "primaryUserName": "Lucille Wellphunded",
  "_embedded": {
    "productType": {
      "_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "savings",
      "label": "Personal Savings"
    }
  },
  "source": "mx"
}

Parameters

ParameterDescription
externalAccountId
in: path
string (required)
The unique identifier of this external account. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.
body externalAccount (required)

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My account at 3rdParty Bank",
  "type": "savings",
  "ifxType": "SDA",
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rdParty Bank",
  "primaryUserName": "Lucille Wellphunded",
  "_embedded": {
    "productType": {
      "_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "savings",
      "label": "Personal Savings"
    }
  },
  "source": "mx"
}

Responses

StatusDescription
200 OK
OK.
Schema: externalAccount
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this external account resource.
StatusDescription
400 Bad Request

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds.

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

StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

deleteExternalAccount

Code samples

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

DELETE https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}',
{
  method: 'DELETE',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}',
  method: 'delete',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete 'https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}");
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/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Delete this external account resource

DELETE https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}

Delete this external account resource and any resources that are owned by it. Note that only pending accounts may be deleted. Once an account has been activated, it cannot be deleted, only inactivated or removed from use.

Parameters

ParameterDescription
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.
externalAccountId
in: path
string (required)
The unique identifier of this external account. This is an opaque string.

Example responses

404 Response

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

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from active to pending or to change the name to a name that is already in use by another external account that the user or organization holds.

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

StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

Account Owners

Personal Account Owners

getExternalAccountOwners

Code samples

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

GET https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}/accountOwners HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}/accountOwners',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}/accountOwners',
  method: 'get',

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}/accountOwners', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a list of external account owners

GET https://api.devbank.apiture.com/accounts/externalAccounts/{externalAccountId}/accountOwners

Return a list of the external account's account owners (holders). The result may be empty if the data was not available when user created the external account or the account aggregator provider does not provide this information.

Parameters

ParameterDescription
externalAccountId
in: path
string (required)
The unique identifier of this external account. This is an opaque string.
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccountOwners/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "accountOwners": [
    {
      "firstName": "Steven",
      "middleName": "Benjamin",
      "lastName": "Storey",
      "fullName": "Steven B. Storey",
      "type": "primary"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: externalAccountOwners
HeaderETag
string
The ETag response header specifies an entity tag which may be be provided with the If-None-Match on subsequent requests.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found

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

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

Schema: errorResponse

getOwners

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch the primary and joint owners of an account

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

Return a HAL representation of the array of the account owners for personal accounts. There is one primary owner and zero or more joint owners. Bank customers cannot directly change this set; only the bank system or admins can change owners. Existing primary or joint owners may invite other joint owners via the Invitations API.

For business accounts, refer to the owningBusiness in the account resource's embedded objects.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
unmasked
in: query
boolean
When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query parameter, with a value of true, to request that the response body includes the full account number. Such requests are auditable.
default: false

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/owners/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "items": [
    {
      "_id": "p001",
      "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
      "customerId": "10047294723672",
      "type": "primary",
      "firstName": "John",
      "middleName": "Daniel",
      "lastName": "Smith",
      "taxId": "*****3333",
      "citizen": true,
      "addresses": [
        {
          "_id": "ha5",
          "type": "home",
          "addressLine1": "555 N Front Street",
          "addressLine2": "Apt 5555",
          "city": "Wilmington",
          "regionCode": "NC",
          "postalCode": "28401-5405",
          "countryCode": "US"
        }
      ],
      "preferredMailingAddressId": "ha5",
      "emailAddress": "JohnDanielSmith@example.com"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: owners
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request

Bad Request. The account parameter was malformed or does not refer to an account.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse

deleteOwner

Code samples

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

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}/owners/{owner} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

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

};

fetch('https://api.devbank.apiture.com/accounts/accounts/{accountId}/owners/{owner}',
{
  method: 'DELETE',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/accounts/{accountId}/owners/{owner}',
  method: 'delete',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete 'https://api.devbank.apiture.com/accounts/accounts/{accountId}/owners/{owner}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('https://api.devbank.apiture.com/accounts/accounts/{accountId}/owners/{owner}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accounts/accounts/{accountId}/owners/{owner}");
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/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Delete an account owner

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}/owners/{owner}

Remove a joint owner from an account.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
owner
in: path
string (required)
Identifies the account owner to delete. This value is either the _id of the owner, or the zero-based decimal index of the owner within the owners.items array from the getOwners response. Caution: deleting one owner changes the array offset of remaining owners.

Example responses

404 Response

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

Responses

StatusDescription
204 No Content
Deleted.
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. Cannot delete the sole remaining account owner.

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

Schema: errorResponse

Account Beneficiaries

Personal Account Beneficiaries

getBeneficiaries

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch the account's beneficiaries

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

Return a HAL representation of the array of the account beneficiaries.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: beneficiaries
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found

Not Found. There is no such account resource at the specified {accountId}, or the account type does not support beneficiaries. The _error field in the response will contain details about the request error.

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

Schema: errorResponse

patchBeneficiaries

Code samples

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

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create or Update the account's beneficiaries

PATCH https://api.devbank.apiture.com/accounts/accounts/{accountId}/beneficiaries

Create or update the array of the beneficiaries for this account. Beneficiaries may be individuals, or a trust or charity. If the array contains only one item, it's percent is automatically set to 100.00%.

When updating an existing set of beneficiaries, null values in the items array or omitted objects (such as individual or organization) inside the items are ignored: the beneficiary corresponding to a null item is not changed. For example, the client may omit the type, individual, and organization properties in the items array in order to adjust just the percentages:

json [ { 'percent': 12.5 }, { 'percent': 30 }, { 'percent' : 20 }, null, null ]

will change just the percent of the first three beneficiaries and not update the other data for any of the five beneficiaries;

The beneficiaries list is truncated to the size of the items array. For example: if there were five beneficiaries, and the request body contains only three items, the last two are removed from the accounts beneficiaries array. The new total must still total 100.00% if allocationPolicy is percentage.

This operation applies only to personal accounts.

To update a beneficiary's taxId, an authenticated user must encrypt (see GET /encryptionKeys) and pass taxId in the request body. See Encryption for additional details.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.
body beneficiaries (required)
The array of account beneficiaries.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: beneficiaries
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
400 Bad Request

Bad Request. The beneficiary data is invalid or percentages to not total 100%.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. Beneficiaries can only be assigned to personal accounts.

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

Schema: errorResponse

Authorized Signers

Business Account Authorized Signers

getAuthorizedSigners

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch the business account's authorized signers

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

Return a HAL representation of the array of the account's authorized signers. This operation applies only to business accounts.

Parameters

ParameterDescription
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.2.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "items": [
    {
      "_id": "as001",
      "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
      "customerId": "10047294723672",
      "type": "authorizedSigner",
      "role": "Chief Financial Officer",
      "firstName": "John",
      "middleName": "Daniel",
      "lastName": "Smith",
      "taxId": "*****3333",
      "citizen": true,
      "addresses": [
        {
          "_id": "ha5",
          "type": "home",
          "addressLine1": "555 N Front Street",
          "addressLine2": "Apt 5555",
          "city": "Wilmington",
          "regionCode": "NC",
          "postalCode": "28401-5405",
          "countryCode": "US"
        }
      ],
      "preferredMailingAddressId": "ha5",
      "emailAddress": "JohnDanielSmith@example.com"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: authorizedSigners
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
403 Forbidden
Forbidden. Operation not allowed on non-business accounts.
Schema: authorizedSigners
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this account resource.
StatusDescription
404 Not Found

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

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

Schema: errorResponse

createAuthorizedSigner

Code samples

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

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/bd9e7a93-32cc-435d-ac57-f21faa082318"
    }
  },
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "authorizedSigner",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new authorized signer and associate it to an account and organization.

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners

This operation will create a new authorized signer as well as associate and provide the user access to an account. The signer must be a verified user and the user URI must be passed in _links as apiture:user.

This operation is reserved for administrative use. Only financial institutions may add authorized signers. This occurs after an existing authorized signer or the person who created the business account has invited other users and those verified users have accepted the invitation.

This operation applies only to business accounts.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/bd9e7a93-32cc-435d-ac57-f21faa082318"
    }
  },
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "authorizedSigner",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com"
}

Parameters

ParameterDescription
body createAuthorizedSigner (required)
The authorized signer object.
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.

Example responses

201 Response

{
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "authorizedSigner",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com",
  "_id": "as001"
}

Responses

StatusDescription
201 Created
Created.
Schema: authorizedSigner
StatusDescription
400 Bad Request

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse

deleteAuthorizedSigner

Code samples

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

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners/{authorizedSignerId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

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

};

fetch('https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners/{authorizedSignerId}',
{
  method: 'DELETE',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners/{authorizedSignerId}',
  method: 'delete',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete 'https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners/{authorizedSignerId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners/{authorizedSignerId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners/{authorizedSignerId}");
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/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Delete an authorized signer

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}/authorizedSigners/{authorizedSignerId}

Remove an authorized signer from an account.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
authorizedSignerId
in: path
string (required)
The authorized signer to delete. This value is the _id of the authorized signer.

Example responses

404 Response

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

Responses

StatusDescription
204 No Content
Deleted.
StatusDescription
404 Not Found

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

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

Schema: errorResponse

Overdraft Protection

Overdraft Protection

getOverdraftAccounts

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

List overdraft protection accounts

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

List the sweep accounts that provide overdraft protection for this account.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/overdraftAccounts/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "overdraftAccountLimit": 2,
  "enrolled": true,
  "accounts": [
    {
      "_id": "e4423a9a-b03e",
      "_profile": "https://production.api.apiture.com/schemas/accounts/overdraftAccount/v1.2.0/profile.json",
      "name": "My Premiere Savings",
      "title": "John Smith",
      "type": "Savings",
      "ifxType": "SDA",
      "maskedAccountNumber": "*************3210",
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccounts/e4423a9a-b03e"
        },
        "apiture:addAsOverdraftProtection": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccounts?account=0115d1b6-a8c1"
        }
      }
    }
  ]
}

Responses

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

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

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse

addOverdraftAccount

Code samples

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

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts?overdraftAccount=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

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

};

fetch('https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts?overdraftAccount=string',
{
  method: 'POST',

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

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

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts',
  params: {
  'overdraftAccount' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts', params={
  'overdraftAccount': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Add an overdraft protection account

POST https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts

Add an overdraft sweep account to this account's overdraft protection. This operation is invoked from the apiture:addAsOverdraftProtection link from an item in the response from the getEligibleOverdraftAccounts operation.

This operation is idempotent: if the account is already in the list of overdraft accounts, no change is made and a 200 OK response is returned.

Parameters

ParameterDescription
overdraftAccount
in: query
string (required)
The _id of the internal account to add as overdraft protection.
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/overdraftAccount/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/e4423a9a-b03e"
    },
    "apiture:addAsOverdraftProtection": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccount?account=0115d1b6-a8c1"
    }
  },
  "_id": "e4423a9a-b03e",
  "name": "My Premiere Savings",
  "title": "John Smith",
  "type": "Savings",
  "ifxType": "SDA",
  "maskedAccountNumber": "*************3210"
}

Responses

StatusDescription
200 OK
OK. The account is already listed as an overdraft protection account.
Schema: overdraftAccount
201 Created
Created. The overdraft sweep account was added to the target account.
Schema: overdraftAccount
HeaderLocation
string uri
The URI of the new resource.
StatusDescription
400 Bad Request

Bad Request. The request was invalid, such as omitting the account parameter.

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body query parameters were well formed but otherwise invalid. The _error field in the response contains details about the request error.

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

Schema: errorResponse

getOverdraftAccount

Code samples

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

GET https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Get an overdraft protection account

GET https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId}

Get one of the sweep accounts that provide overdraft protection for this account.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
overdraftAccountId
in: path
string (required)
The unique identifier of this overdraft account. This is an opaque string.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/overdraftAccount/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/e4423a9a-b03e"
    },
    "apiture:addAsOverdraftProtection": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccount?account=0115d1b6-a8c1"
    }
  },
  "_id": "e4423a9a-b03e",
  "name": "My Premiere Savings",
  "title": "John Smith",
  "type": "Savings",
  "ifxType": "SDA",
  "maskedAccountNumber": "*************3210"
}

Responses

StatusDescription
200 OK
OK.
Schema: overdraftAccount
StatusDescription
404 Not Found

Not Found.

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

Schema: errorResponse

deleteOverdraftAccounts

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId} \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json

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

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

};

fetch('https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId}',
{
  method: 'DELETE',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId}',
  method: 'delete',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete 'https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.delete('https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId}");
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/json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Remove an overdraft protection account.

DELETE https://api.devbank.apiture.com/accounts/accounts/{accountId}/overdraftAccounts/{overdraftAccountId}

Remove an account that provides overdraft protection for this account.

Parameters

ParameterDescription
accountId
in: path
string (required)
The unique identifier of this account. This is an opaque string.
overdraftAccountId
in: path
string (required)
The unique identifier of this overdraft account. This is an opaque string.

Example responses

404 Response

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

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
404 Not Found

Not Found.

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

Schema: errorResponse

listEligibleOverdraftAccounts

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/accounts/eligibleOverdraftAccounts?context=account&id=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/accounts/eligibleOverdraftAccounts?context=account&id=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

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

};

fetch('https://api.devbank.apiture.com/accounts/eligibleOverdraftAccounts?context=account&id=string',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/accounts/eligibleOverdraftAccounts',
  method: 'get',
  data: '?context=account&id=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://api.devbank.apiture.com/accounts/eligibleOverdraftAccounts',
  params: {
  'context' => 'string',
'id' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/accounts/eligibleOverdraftAccounts', params={
  'context': 'account',  'id': 'string'
}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

List eligible overdraft protection accounts

GET https://api.devbank.apiture.com/accounts/eligibleOverdraftAccounts

Return a list of accounts that are eligible to be added to an account to provide overdraft protection. (To list accounts for a product, use ?context=product&id={productId}; to list accounts for an account, use ?context=account&id={accountId}.)

This returns all accounts that the current user holds; the response items indicate if each account is eligible as overdraft accounts for the given product ID or account ID.

Parameters

ParameterDescription
context
in: query
string (required)
Defines the context in which eligible overdraft accounts are listed.
enum values: account, product
id
in: query
string (required)
The _id of an banking product (if context is product) banking product from the Products API, or the _id of an account (if context is account).

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/eligibleOverdraftAccounts/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "selectionLimit": 1,
  "enrolled": true,
  "accounts": [
    {
      "_id": "e4423a9a-b03e",
      "name": "My Premiere Savings",
      "title": "John Smith",
      "type": "Savings",
      "ifxType": "SDA",
      "maskedAccountNumber": "*************3210",
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/e4423a9a-b03e"
        },
        "apiture:addAsOverdraftProtection": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccount?account=0115d1b6-a8c1"
        }
      }
    }
  ]
}

Responses

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

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

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

Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The id is not a valid product or account resource ID.

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

Schema: errorResponse

Configuration

Accounts Service Configuration

getConfigurationGroups

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return a collection of configuration groups

GET https://api.devbank.apiture.com/accounts/configurations/groups

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

Example responses

200 Response

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

Responses

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

Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

getConfigurationGroup

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this configuration group

GET https://api.devbank.apiture.com/accounts/configurations/groups/{groupName}

Return a HAL representation of this configuration group resource.

Parameters

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

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: configurationGroup
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for GET operations for this configuration group resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse

getConfigurationGroupSchema

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch the schema for this configuration group

GET https://api.devbank.apiture.com/accounts/configurations/groups/{groupName}/schema

Return a HAL representation of this configuration group schema resource.

Parameters

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

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: configurationSchema
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse

getConfigurationGroupValues

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch the values for the specified configuration group

GET https://api.devbank.apiture.com/accounts/configurations/groups/{groupName}/values

Return a representation of this configuration group values resource.

Parameters

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

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: configurationValues
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse

updateConfigurationGroupValues

Code samples

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

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

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

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Update the values for the specified configuration group

PUT https://api.devbank.apiture.com/accounts/configurations/groups/{groupName}/values

Perform a complete replacement of this set of values.

Body parameter

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

Parameters

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

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: configurationSchema
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT
StatusDescription
400 Bad Request
Bad Request. The request body is invalid. It is either not valid JSON or it does not conform to the corresponding configuration group schema. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
403 Forbidden
Access denied. Only administrators may update configuration.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

getConfigurationGroupValue

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a single value associated with the specified configuration group

GET https://api.devbank.apiture.com/accounts/configurations/groups/{groupName}/values/{valueName}

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

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

  • a primitive number, boolean, or quoted JSON string.
  • a JSON array.
  • a JSON object.
  • null.

Examples:

  • "a string configuration value"
  • 120
  • true
  • null
  • { "borderWidth": 8, "foregroundColor": "blue" }

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

Parameters

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

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK. The value of the named configuration value as a JSON string, number, boolean, array, or object.
Schema: string
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this configuration group resource.
StatusDescription
404 Not Found

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

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

Schema: errorResponse

updateConfigurationGroupValue

Code samples

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

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

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

};

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Update a single value associated with the specified configuration group

PUT https://api.devbank.apiture.com/accounts/configurations/groups/{groupName}/values/{valueName}

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

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

  • a primitive number, boolean, or quoted JSON string.
  • a JSON array.
  • a JSON object.
  • null.

Examples:

  • "a string configuration value"
  • 120
  • true
  • null
  • { "borderWidth": 8, "foregroundColor": "blue" }

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

Body parameter

"string"

Parameters

ParameterDescription
groupName
in: path
string (required)
The unique name of this configuration group.
valueName
in: path
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, the value must match the current entity tag of the resource.
body string (required)
The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or object.

Example responses

200 Response

"string"

Responses

StatusDescription
200 OK
OK.
Schema: string
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this configuration group resource.
StatusDescription
400 Bad Request
Bad Request. The request body is invalid. It is either not valid JSON or it does not conform to the corresponding configuration group schema. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
403 Forbidden
Access denied. Only administrators may update configuration.
Schema: errorResponse
StatusDescription
404 Not Found

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

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

Schema: errorResponse
StatusDescription
412 Precondition Failed
Precondition Failed. The supplied If-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse

API

The Accounts API

getApi

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Top-level resources and operations in this API

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

Return links to the top-level resources and operations in this API. This API returns the following links:

  • apiture:accounts : links to the collection of accounts held at this financial institution.
  • apiture:externalAccounts : links to the collection of external accounts held at other financial institutions.

Example responses

OK.

{
  "id": "accounts",
  "name": "User Bank Accounts",
  "apiVersion": "0.3.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/profile.json",
  "_links": {
    "apiture:accounts": {
      "href": "https://api.devbank.apiture.com/accounts/accounts"
    },
    "apiture:externalAccounts": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts"
    }
  }
}

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

Responses

StatusDescription
200 OK
OK.
Schema: root

getApiDoc

Code samples

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

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

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Return API definition document

GET https://api.devbank.apiture.com/accounts/apiDoc

Return the OpenAPI document that describes this API.

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK.
Schema: Inline

Response Schema

getLabels

Code samples

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

GET https://api.devbank.apiture.com/accounts/labels HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Accept-Language: string

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

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

};

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/accounts/labels', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/accounts/labels");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Accept-Language": []string{"string"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/accounts/labels", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Localized Labels

GET https://api.devbank.apiture.com/accounts/labels

Return a JSON object which defines labels for enumeration types defined by the schemas defined in this API.

The labels in the response may not all match the requested language; some may be in the default language (en-us).

Parameters

ParameterDescription
Accept-Language
in: header
string
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "firstGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "key1": {
        "label": "Label for Key 1",
        "code": "1",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 1)"
          },
          "fr": {
            "label": "(French label for Key 1)"
          }
        }
      },
      "key2": {
        "label": "Label for Key 2",
        "code": "2",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 2)"
          },
          "fr": {
            "label": "(French label for Key 2)"
          }
        }
      },
      "key3": {
        "label": "Label for Key 3",
        "code": "3",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 3)"
          },
          "fr": {
            "label": "(French label for Key 3)"
          }
        }
      },
      "other": {
        "label": "Other",
        "variants": {
          "es": {
            "label": "(Spanish label for Other)"
          },
          "fr": {
            "label": "(French label for Other)"
          }
        },
        "code": "254"
      }
    },
    "secondGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "?",
        "hidden": true
      },
      "optionA": {
        "label": "Option A",
        "code": "A"
      },
      "optionB": {
        "label": "Option B",
        "code": "B"
      },
      "optionC": {
        "label": "Option C",
        "code": "C"
      },
      "other": {
        "label": "Other",
        "code": "_"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: labelGroups

Schemas

abstractRequest

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {}
}

Abstract Request (v2.0.0)

An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

This schema was resolved from common/abstractRequest.

Properties

NameDescription
Abstract Request (v2.0.0) object
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

This schema was resolved from common/abstractRequest.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri

abstractResource

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Abstract Resource (v2.1.0)

An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

This schema was resolved from common/abstractResource.

Properties

NameDescription
Abstract Resource (v2.1.0) object
An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

This schema was resolved from common/abstractResource.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

account

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/account/v3.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:acceptApyOffer": {
      "href": "https://api.devbank.apiture.com/accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:rolloverProduct": {
      "href": "https://api.devbank.apiture.com/products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7"
    }
  },
  "name": "My 1y CD",
  "description": "My 1-year CD",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "CDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
    "pendingCredits": "3000.00",
    "pendingDebits": "1500.00"
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false,
  "productName": "1 Year Basic Certificate of Deposit",
  "rates": {
    "apy": "1.24",
    "apye": "1.24",
    "nominal": "1.242",
    "promotional": false
  },
  "type": "CD",
  "subtype": "Basic CD",
  "interest": {
    "yearToDate": "30.12",
    "sinceOpening": "44.80",
    "priorYearToDate": "87.60"
  },
  "cd": {
    "maturesAt": "2019-10-30T08:16:00.000Z",
    "term": "P1Y",
    "maturityPolicy": "rolloverPrincipalAndInterest",
    "rolloverProductName": "Basic Savings",
    "transferAccount": {
      "name": "My Premiere Savings",
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      }
    },
    "inDebitGracePeriod": true,
    "inCreditGracePeriod": true,
    "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
    "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
  },
  "cycleWithdrawalCount": 0,
  "interestTargetAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210"
    }
  },
  "overdraftProtection": {
    "regEProtection": true,
    "nonRegEProtection": true,
    "creditLimit": "100.00",
    "creditUsed": "40.00"
  },
  "coreBanking": {
    "finxact": {
      "positionId": "--4WS6jKGGlD4u-----5F-Bg-"
    }
  },
  "_embedded": {
    "product": {
      "_id": "0aba4bae-f18b-4c12-af99-5f8dbd682ae3",
      "_profile": "https://production.api.apiture.com/schemas/products/product/v3.5.1/profile.json"
    }
  }
}

Account (v3.1.0)

Representation of an account resource. A banking account, which is an instance of a banking product.

A business account may have authorized signers, which are people authorized to perform banking operations on the account such as initiating funds transfers.

The _links on an external account may include the following, depending on the state of the account:

The apiture:rolloverProduct and apiture:transferTargetAccount links may be updated by the patchAccountoperations. The owners are listed by the getOwners operation. The beneficiaries are listed and updated by the getBeneficiaries and patchBeneficiaries operations. The authorized signers are listed by the getAuthorizedSigners

Response and request bodies using this account schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this accountGET
apiture:ownersFetch the primary and joint owners of an accountGET
apiture:beneficiariesFetch the account's beneficiariesGET
apiture:authorizedSignersFetch the business account's authorized signersGET
apiture:activateActivate an accountPOST
apiture:deactivateDeactivate an accountPOST
apiture:freezeFreeze an accountPOST
apiture:closeClose an accountPOST
apiture:rolloverProduct Rollover Product for CD MaturityGET
apiture:transferTargetAccount Transfer Target Account for CD MaturityGET
apiture:interestTargetAccount Target Account for CD Interest DisbursementsGET
apiture:bumpApyRateBump the account's APY ratePOST
apiture:product Banking ProductGET
apiture:productType Banking Product TypeGET
apiture:application Account ApplicationGET
apiture:organization OrganizationGET

Properties

NameDescription
Account (v3.1.0) object

Representation of an account resource. A banking account, which is an instance of a banking product.

A business account may have authorized signers, which are people authorized to perform banking operations on the account such as initiating funds transfers.

The _links on an external account may include the following, depending on the state of the account:

The apiture:rolloverProduct and apiture:transferTargetAccount links may be updated by the patchAccountoperations. The owners are listed by the getOwners operation. The beneficiaries are listed and updated by the getBeneficiaries and patchBeneficiaries operations. The authorized signers are listed by the getAuthorizedSigners

Response and request bodies using this account schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this accountGET
apiture:ownersFetch the primary and joint owners of an accountGET
apiture:beneficiariesFetch the account's beneficiariesGET
apiture:authorizedSignersFetch the business account's authorized signersGET
apiture:activateActivate an accountPOST
apiture:deactivateDeactivate an accountPOST
apiture:freezeFreeze an accountPOST
apiture:closeClose an accountPOST
apiture:rolloverProduct Rollover Product for CD MaturityGET
apiture:transferTargetAccount Transfer Target Account for CD MaturityGET
apiture:interestTargetAccount Target Account for CD Interest DisbursementsGET
apiture:bumpApyRateBump the account's APY ratePOST
apiture:product Banking ProductGET
apiture:productType Banking Product TypeGET
apiture:application Account ApplicationGET
apiture:organization OrganizationGET
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded embeddedAccountObjects
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The user-assigned name of this account.
minLength: 1
maxLength: 128
description string
The user-assigned description of this account.
minLength: 1
maxLength: 4096
interestPolicy interestPolicy
How interest credits on the account (if any) are disbursed. This field is none for non-interest bearing accounts. If this is transfer, the apiture:interestTargetAccount link in the account's _link references the target account for the disbursements. This field applies if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
enum values: none, capitalize, transfer
usageAnswers usageAnswers
Answers to the financial institution’s questions about how the user intends to use the account. This properties and values in this object is based on the financial institution's configuration.
Additional Properties: true
_id string
The unique identifier for this account resource. This is an immutable opaque string.
read-only
state internalAccountState
The state of the internal account.
read-only
enum values: pending, active, inactive, frozen, closed
title string
The name of the account holder. This is derived from the user resource.
maxLength: 512
productName string
The name of the banking product that this account is an instance of. This is derived from the product resource.
read-only
minLength: 1
maxLength: 128
type string
The name of the banking product type. This is derived from the product resource. The subtype is more specific; type is a broad account category.
read-only
minLength: 1
maxLength: 128
subtype string
The name of the banking product sub type. This is derived from the product resource. This is more specific than the type.
read-only
minLength: 1
maxLength: 128
ifxType ifxType
A code which identifies the product type. This is one of the IFX AcctType values.
enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA
accountNumbers accountNumbers
Different representations of the account number.
balance balance
The account balance.
read-only
allowsTransfers boolean
If true, the account is open to deposits and credits such as transfers or rollovers.
read-only
default: true
openedAt string(date-time)
The date-time the account was opened. This is an RFC 3339 UTC time stamp.
read-only
format: date-time
interest interest
Interest disbursement settings for the account.
cd cd
Certificate of Deposit properties for the account.
cycleWithdrawalCount integer
The number of withdrawals made against this account within the current statement cycle. For some deposit accounts such as savings accounts, this is limited to a maximum defined in the corresponding product's constraints. If exceeded over multiple statement cycles, the financial institution may convert the account to a demand deposit (checking) account.
read-only
minimum: 0
institutionName string
The name of the financial institution (FI), derived from the FI's configuration.
read-only
minLength: 2
maxLength: 128
routingNumber string
The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's configuration.
read-only
minLength: 9
maxLength: 9
paymentsEnabled boolean
If true, payments features such as bill pay are enabled and scheduled payments will debit from this account.
The property paymentsEnabled was added on version 2.5.0 of the schema.
read-only
checkOrderingEnabled boolean
If true, the user requesting this account resource may order checks for this account through the Check Orders API. The account state must be active and the associated product must also enable check ordering.
The property checkOrderingEnabled was added on version 2.6.0 of the schema.
read-only
default: false
regDEnabled boolean
If true, the user requesting this account resource may potentially incur a fee on a transaction, with this account, that exceeds the configured transaction limit. The account state must be active and the associated product must also have RegD enabled.
The property regDEnabled was added on version 2.7.0 of the schema.
read-only
rates interestRates
The account's rates of return (for deposit accounts) or interest rate (for debit accounts).
read-only
interestTargetAccount interestTargetAccount
If the account is set to disburse earned interest into another account, this is the target account. The fields are derived from the account that is assigned with the apiture:interestTargetAccount link when creating or updating the account.
read-only
coreBanking accountCoreBanking
Properties of an account that are specific to the banking core provider.
read-only
overdraftProtection accountOverdraftProtection
Indicates if the account is enrolled in overdraft protection plans.
attributes attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.
Additional Properties: true

accountCoreBanking

{
  "finxact": {
    "positionId": "--4WS6lKGlD4u-----5F-Bg-"
  }
}

Account Core Banking (v1.0.0)

Account properties that are specific to the banking core provider. The actual banking core in which the Apiture platform is executing determines what data appears. The sub-object for each banking core is present on an account only if the Apiture system is connected to the corresponding core banking provider. The name of each sub-object is the name of that provider.

Properties

NameDescription
Account Core Banking (v1.0.0) object
Account properties that are specific to the banking core provider. The actual banking core in which the Apiture platform is executing determines what data appears. The sub-object for each banking core is present on an account only if the Apiture system is connected to the corresponding core banking provider. The name of each sub-object is the name of that provider.
finxact accountFinxactCoreBanking
Account properties that are specific to the Finxact banking core system. This object is present only if the Apiture platform is connected to a Finxact system.
read-only

accountFinxactCoreBanking

{
  "positionId": "--4WS6lKGlD4u-----5F-Bg-"
}

Account Core Banking Properties (v1.0.0)

Account properties that are specific to the Finxact banking core system.

Properties

NameDescription
Account Core Banking Properties (v1.0.0) object
Account properties that are specific to the Finxact banking core system.
positionId string
The ID of the Finxact position ID. This is valid if the account is a single position account.
read-only

accountIdentification

{
  "name": "My Premiere Savings",
  "title": "John Smith",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rd Party Bank"
}

Account Identification (v1.0.1)

Properties which identify a specific account.

Properties

NameDescription
Account Identification (v1.0.1) object
Properties which identify a specific account.
name string
The account name.
title string
The title of the account. Traditionally, this is the name of the account holder.
maxLength: 512
institutionName string
The name of the financial institution which manages the account.
read-only
minLength: 2
maxLength: 128
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
read-only
minLength: 9
maxLength: 9
accountNumbers accountNumbers
The masked and full account numbers for this account. The full value only appears when ?unmasked=true is passed on the GET request.
read-only

accountNumbers

{
  "masked": "*************3210",
  "full": "9876543210"
}

Account Numbers (v1.0.1)

Different representations of an account number.

This schema was resolved from common/accountNumbers.

Properties

NameDescription
Account Numbers (v1.0.1) object
Different representations of an account number.

This schema was resolved from common/accountNumbers.

masked string
A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is derived and immutable.
read-only
minLength: 8
maxLength: 32
full string
The full account number. This value only appears when ?unmasked=true is passed on the GET request. Not included in the summary representation of the account that is included in account collection responses. This value is derived and immutable.
read-only
minLength: 4
maxLength: 17

accountOverdraftProtection

{
  "regEProtection": true,
  "nonRegEProtection": true,
  "creditLimit": "100.00",
  "creditUsed": "40.00"
}

Account Overdraft Protection (v1.1.0)

Indicates if the account is enrolled in overdraft protection plans. Note: The planSelectionConstraints setting in the Products API overdraftProtection configuration group determines prerequisites for selecting plans, for example, if one plan may only be selected if the other is also selected.

Properties

NameDescription
Account Overdraft Protection (v1.1.0) object
Indicates if the account is enrolled in overdraft protection plans. Note: The planSelectionConstraints setting in the Products API overdraftProtection configuration group determines prerequisites for selecting plans, for example, if one plan may only be selected if the other is also selected.
regEProtection boolean
If true, the account is enrolled in the financial institution's default Reg-E compliant overdraft protection plan.
nonRegEProtection boolean
If true, the account is enrolled in the financial institution's secondary, non Reg-E overdraft protection plan.
creditLimit monetaryValue
The amount of funds the financial institution provides as an overdraft credit against any overdrafts during the current statement period. This decimal value is expressed in the account's currency. If omitted, the financial institution does not offer overdraft credits for this account.
pattern: "^(0|[1-9][0-9]*)\\.[0-9][0-9]$"
creditUsed monetaryValue
The amount of overdraft protection this account has used during the current statement period. This decimal value is expressed in the account's currency. If omitted, the financial institution does not offer overdraft credits for this account. The amount of remaining credit is the difference creditLimit-creditUsed.
pattern: "^(0|[1-9][0-9]*)\\.[0-9][0-9]$"

accountOwner

{
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "primary",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com",
  "_id": "p001"
}

Account Owner (v1.1.0)

A primary or joint owner of an account; a person who is authorized to perform banking operations in the account.

Properties

NameDescription
Account Owner (v1.1.0) object
A primary or joint owner of an account; a person who is authorized to perform banking operations in the account.
firstName string (required)
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string (required)
The person's last name (or surname).
maxLength: 80
addresses array: [address] (required)
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
taxId string (required)
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible. If the ?unmasked=true query parameter is passed, the full, unmasked tax ID is returned.
citizen boolean (required)
Indicates if the person is a (US) citizen.
emailAddress string(email)
Optional email address.
format: email
userId string (required)
The unique ID of the user. This is the _id value of the user resource from the Users API.
customerId string (required)
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user in the banking core. The customerId differs from the _id (which is the ID of the resource in the Users API).
read-only
minLength: 1
maxLength: 100
type authorizationType (required)

The type of this account access authorization.

  • primary the contact is the primary owner of a personal account. There may be only one primary owner. The target of the authorization is a single personal account.
  • joint the contact is a non-primary joint owner of a personal account. The target of the authorization is a single personal account.
  • authorizedSigner the contact is an authorized signer for a business account. The target of the authorization is an all business accounts owned by the organization.

enum values: primary, joint, authorizedSigner
role string
The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.
_id string
The unique identifier for this account owner resource. This is an immutable opaque string.
read-only

accountPurpose

"unknown"

Account purpose (v1.0.0)

The purpose of the account.

Warning: the enum list will be removed in a future release and the values defined at runtime via the accountPurpose group in the response from the getLabels operation.

This schema was resolved from organizations/accountPurpose.

type: string


enum values: unknown, creditCardProcessing, generalOperatingFunds, lottery, payroll, savings, other, notApplicable

accountSearch

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accountSearch/v1.0.1/profile.json",
  "_links": {},
  "accountNumber": "9876543210"
}

AccountSearch (v1.0.1)

Search parameters for finding an account via sensitive data.

Properties

NameDescription
AccountSearch (v1.0.1) object
Search parameters for finding an account via sensitive data.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
accountNumber string (required)
The full banking account number.
minLength: 4
maxLength: 17

accountSummaries

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.12.0/profile.json",
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:product": {
          "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
        }
      },
      "name": "My savings",
      "description": "My Basic savings account",
      "interestPolicy": "capitalize",
      "usageAnswers": {
        "primaryAccount": true,
        "accountPurpose": "college savings",
        "primarySourceOfDeposits": "transfers from savings"
      },
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "routingNumber": "021000021",
      "institutionName": "Canapi Bank",
      "state": "active",
      "title": "John Smith",
      "ifxType": "SDA",
      "allowsTransfers": true,
      "accountNumbers": {
        "full": "9876543210",
        "masked": "*************3210"
      },
      "balance": {
        "current": "3450.30",
        "available": "3450.30",
        "currency": "USD",
        "primary": "3450.30",
        "primaryLabel": "Current Balance",
        "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount."
      },
      "openedAt": "2019-04-30T10:01:07.375Z",
      "paymentsEnabled": false,
      "checkOrderingEnabled": false,
      "regDEnabled": false
    }
  ]
}

Account Summaries (v2.11.0)

A page of embedded account summaries.

Properties

NameDescription
Account Summaries (v2.11.0) object
A page of embedded account summaries.
items array: [summaryAccount] (required)
An array containing a page of account items.
items: object

accounts

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/accounts/v2.12.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accounts/accounts?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accounts/accounts"
    }
  },
  "start": "10",
  "limit": 10,
  "count": 67,
  "name": "accounts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.12.0/profile.json",
        "name": "My basic savings account",
        "title": "John Smith",
        "state": "active",
        "balance": {
          "current": "3450.30",
          "available": "3450.30",
          "primary": "3450.30",
          "primaryLabel": "Current Balance",
          "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount.",
          "currency": "USD"
        },
        "accountNumbers": {
          "masked": "*************3210"
        },
        "paymentsEnabled": false,
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:product": {
            "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
          }
        }
      }
    ]
  }
}

Account Collection (v2.12.0)

Collection of accounts. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

NameDescription
Account Collection (v2.12.0) object
Collection of accounts. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded accountSummaries (required)
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

accrualType

"compounding"

Accrual Type (v1.0.0)

Indicates how interest is accrued according to the compoundPeriod.

accrualType strings may have one of the following enumerated values:

ValueDescription
compoundingCompounding interest
simpleSimple interest

These enumeration values are further described by the label group named accrualType in the response from the getLabels operation.

This schema was resolved from products/accrualType.

type: string


enum values: compounding, simple

address

{
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US",
  "_id": "ha5",
  "type": "home"
}

Address (v1.0.0)

A postal address with the address type and an identifier.

This schema was resolved from contacts/address.

Properties

NameDescription
Address (v1.0.0) object
A postal address with the address type and an identifier.

This schema was resolved from contacts/address.

addressLine1 string
The first street address line of the address, normally a house number and street name.
minLength: 4
maxLength: 128
addressLine2 string
The optional second street address line of the address.
maxLength: 128
city string
The name of the city or municipality.
minLength: 2
maxLength: 128
regionCode string
The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
minLength: 5
maxLength: 10
pattern: "^[0-9]{5}(?:-[0-9]{4})?$"
countryCode string
The ISO 3166-1 alpha-2 country code. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"
type addressType (required)
The type of this address.
enum values: unknown, home, prior, work, school, mailing, vacation, shipping, billing, headquarters, commercial, site, property, other, notApplicable
label string
A text label, suitable for presentation to the end user. This is derived from type or from otherType if type is other
read-only
minLength: 4
maxLength: 32
otherType string
The actual address type if type is other.
minLength: 4
maxLength: 32
_id string
An identifier for this address, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all addresses within the addresses array.
minLength: 1
maxLength: 8
pattern: "^[-a-zA-Z0-9_]{1,8}$"

addressType

"unknown"

Address Type (v1.0.0)

The type of a postal address.

Warning: The enum list will be removed in a future release.

The allowed values for this property are defined at runtime in the label group named addressType in the response from the getLabels operation.

This schema was resolved from contacts/addressType.

type: string


enum values: unknown, home, prior, work, school, mailing, vacation, shipping, billing, headquarters, commercial, site, property, other, notApplicable

attributes

{}

Attributes (v2.1.0)

An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.

Properties

NameDescription
Attributes (v2.1.0) object
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.
Additional Properties: true

authorization

{
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "joint",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com"
}

Authorization (v1.1.0)

Represents a person authorized for account access. This object contains key identification information for the person and the type of access or role that the person has in relation to the banking account or organization.

This schema was resolved from contacts/authorization.

Properties

NameDescription
Authorization (v1.1.0) object
Represents a person authorized for account access. This object contains key identification information for the person and the type of access or role that the person has in relation to the banking account or organization.

This schema was resolved from contacts/authorization.

firstName string (required)
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string (required)
The person's last name (or surname).
maxLength: 80
addresses array: [address] (required)
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
taxId string (required)
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible. If the ?unmasked=true query parameter is passed, the full, unmasked tax ID is returned.
citizen boolean (required)
Indicates if the person is a (US) citizen.
emailAddress string(email)
Optional email address.
format: email
userId string (required)
The unique ID of the user. This is the _id value of the user resource from the Users API.
customerId string (required)
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user in the banking core. The customerId differs from the _id (which is the ID of the resource in the Users API).
read-only
minLength: 1
maxLength: 100
type authorizationType (required)

The type of this account access authorization.

  • primary the contact is the primary owner of a personal account. There may be only one primary owner. The target of the authorization is a single personal account.
  • joint the contact is a non-primary joint owner of a personal account. The target of the authorization is a single personal account.
  • authorizedSigner the contact is an authorized signer for a business account. The target of the authorization is an all business accounts owned by the organization.

enum values: primary, joint, authorizedSigner
role string
The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.

authorizationType

"primary"

Account Authorization type (v1.0.0)

The type of this account access authorization.

  • primary the person is the primary owner of a personal account. There may be only one primary owner.
  • joint the person is a non-primary joint owner of a personal account.
  • authorizedSigner the person is an authorized signer for all business accounts owned by the organization.

authorizationType strings may have one of the following enumerated values:

ValueDescription
primaryPrimary Account Holder: The primary account holder of a personal account. There may be only one primary owner.
jointJoint Account Holder: A non-primary joint account holder of a personal account.
authorizedSignerAuthorized Signer: Authorized Signer of a business account.

These enumeration values are further described by the label group named authorizationType in the response from the getLabels operation.

This schema was resolved from contacts/authorizationType.

type: string


enum values: primary, joint, authorizedSigner

authorizedSigner

{
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "authorizedSigner",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com",
  "_id": "as001"
}

Authorized Signer (v1.1.2)

A person who is authorized to perform banking operations on an organization's banking accounts.

This schema was resolved from organizations/authorizedSigner.

Properties

NameDescription
Authorized Signer (v1.1.2) object
A person who is authorized to perform banking operations on an organization's banking accounts.

This schema was resolved from organizations/authorizedSigner.

firstName string (required)
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string (required)
The person's last name (or surname).
maxLength: 80
addresses array: [address] (required)
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
taxId string (required)
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible. If the ?unmasked=true query parameter is passed, the full, unmasked tax ID is returned.
citizen boolean (required)
Indicates if the person is a (US) citizen.
emailAddress string(email)
Optional email address.
format: email
userId string (required)
The unique ID of the user. This is the _id value of the user resource from the Users API.
customerId string (required)
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user in the banking core. The customerId differs from the _id (which is the ID of the resource in the Users API).
read-only
minLength: 1
maxLength: 100
type authorizationType (required)

The type of this account access authorization.

  • primary the contact is the primary owner of a personal account. There may be only one primary owner. The target of the authorization is a single personal account.
  • joint the contact is a non-primary joint owner of a personal account. The target of the authorization is a single personal account.
  • authorizedSigner the contact is an authorized signer for a business account. The target of the authorization is an all business accounts owned by the organization.

enum values: primary, joint, authorizedSigner
role string
The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.
_id string
The unique identifier for this authorized signer resource. This is an immutable opaque string.
read-only

authorizedSigners

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.2.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "items": [
    {
      "_id": "as001",
      "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
      "customerId": "10047294723672",
      "type": "authorizedSigner",
      "role": "Chief Financial Officer",
      "firstName": "John",
      "middleName": "Daniel",
      "lastName": "Smith",
      "taxId": "*****3333",
      "citizen": true,
      "addresses": [
        {
          "_id": "ha5",
          "type": "home",
          "addressLine1": "555 N Front Street",
          "addressLine2": "Apt 5555",
          "city": "Wilmington",
          "regionCode": "NC",
          "postalCode": "28401-5405",
          "countryCode": "US"
        }
      ],
      "preferredMailingAddressId": "ha5",
      "emailAddress": "JohnDanielSmith@example.com"
    }
  ]
}

Authorized Signers (v1.2.2)

The list of users who are authorized to access the organization and its bank accounts.

This schema was resolved from organizations/authorizedSigners.

Properties

NameDescription
Authorized Signers (v1.2.2) object
The list of users who are authorized to access the organization and its bank accounts.

This schema was resolved from organizations/authorizedSigners.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
items array: [authorizedSigner]
The array of authorized signers for this business and their role within the organization. These people have account access for all business accounts owned by the business. The items in this array must all have the type of authorizedSigner.
minLength: 1
items: object

balance

{
  "current": "3450.30",
  "available": "2850.30",
  "hold": "500.00",
  "reserve": "100.00",
  "currency": "USD",
  "primary": "3450.30",
  "primaryLabel": "Current Balance",
  "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount."
}

Account Balance (v1.2.0)

The balance of the account. This is derived data and not mutable through the API. Balances may be negative, indicating a deficit or loan balance.

Properties

NameDescription
Account Balance (v1.2.0) object
The balance of the account. This is derived data and not mutable through the API. Balances may be negative, indicating a deficit or loan balance.
current string
The current balance is the available balance plus all pending credits and minus all pending debits.
read-only
available string
The string representation of the exact decimal available balance. For deposit accounts, this reflects the amount that may be used for withdrawals or transfers. This field does not apply to debit accounts such as loans.
read-only
hold string
The hold balance is the total amount of funds held due to holds placed on individual transactions. Transaction holds reduce the available balance until expiration.
read-only
reserve string
A reserve balance is the amount placed on hold by the financial institution. A reserve balance reduces the available balance.
read-only
pendingCredits string
The string representation of the total of all pending credits against this account. This contributes to the current balance but not the available balance.
read-only
pendingDebits string
The string representation of the total of all pending debits against this account. This contributes to the current balance but not the available balance.
read-only
original string
For loan accounts, this is the original loan amount. This property is not set for deposit accounts.
read-only
primary string
The balance that the financial institution has configured as the primary balance. For deposit accounts, this is normally mapped to the current or available balance. For loan accounts, the primary balance is normally the current, available, or original balance. This may also be the value of a custom field. (The value is set by the service based on the primaryBalanceProperties configuration group.)
read-only
primaryLabel string
The label for the primary balance, derived from the primary balance configuration. This may be localized based on the Accept-Language request header.
read-only
primaryLabelDescription string
The more detailed description of the primary balance, derived from the primary balance configuration. This may be localized based on the Accept-Language request header.
read-only
currency string
The ISO 4217 currency code for this balance.
read-only

beneficialOwner

{
  "firstName": "William",
  "middleName": "Daniel",
  "lastName": "Wellphunded",
  "addresses": [
    {
      "_id": "ha1",
      "type": "home",
      "addressLine1": "1234 S Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US"
    }
  ],
  "preferredMailingAddressId": "ha1",
  "emailAddresses": [
    {
      "id": "pe0",
      "value": "api@apiture.com",
      "type": "personal"
    },
    {
      "id": "wp1",
      "value": "support@apiture.com",
      "type": "work"
    }
  ],
  "preferredEmailAddressId": "pe0",
  "phones": [
    {
      "_id": "hp1",
      "type": "home",
      "number": "+19105550155"
    },
    {
      "_id": "mp1",
      "type": "mobile",
      "number": "+19105550159"
    },
    {
      "_id": "wp1",
      "type": "work",
      "number": "+19105550162",
      "extension": "4512"
    }
  ],
  "preferredPhoneId": "hp1",
  "preferredName": "John",
  "suffix": "MD",
  "identification": [
    {
      "type": "taxId",
      "value": "111-11-1111"
    }
  ],
  "preferredContactMethod": "email",
  "_id": "b003",
  "role": "Chief Financial Officer",
  "birthdate": "1982-10-19",
  "percentage": 35,
  "contactId": "8bf04d7d-c1bd-4945-b0ac-40ef02bb3953"
}

Beneficial Owner (v1.4.0)

A person who owns 25% or more of a business organization.

This schema was resolved from organizations/beneficialOwner.

Properties

NameDescription
Beneficial Owner (v1.4.0) object
A person who owns 25% or more of a business organization.

This schema was resolved from organizations/beneficialOwner.

firstName string (required)
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string (required)
The person's last name (or surname).
maxLength: 80
addresses array: [address]
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
emailAddresses array: [typedEmailAddress]
An array of email addresses.
items: object
preferredEmailAddressId string
The preferred email address. This string is the _id of an email address in the emailAddresses array.
minLength: 1
maxLength: 4
phones array: [phoneNumber]
An array of phone numbers.
items: object
preferredPhoneId string
The ID of preferred phone number. This string is the _id of a phone number in the phones array.
minLength: 1
maxLength: 4
prefix string
A title or honorific prefix such as Dr. or Fr.
maxLength: 20
suffix string
A title or honorific suffix such as PhD or DDS.
maxLength: 20
preferredName string
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's firstName.
identification array: [identification] (required)
A collection of official identifying information associated with the contact.
items: object
preferredContactMethod preferredContactMethod
The contact's preferred method of communication.
enum values: unknown, sms, email, other, notApplicable
_id string
The unique identifier for this beneficial owner resource. This is an immutable opaque string.
read-only
role string
The person's role at the organization.
percentage integer (required)
The percent of the business that this person owns.
minimum: 0
maximum: 100
birthdate string(date)
The beneficial owner's birth date in YYYY-MM-DD format.
format: date
contactId string (required)
The _id of an existing contact resource associated with the beneficial owner. Create the beneficial owner contact resource using the Contacts API.

beneficialOwners

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/beneficialOwners/v1.4.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com//organizations/organizations/0399abed-fd3d/beneficialOwners"
    }
  },
  "items": [
    {
      "_id": "b003",
      "firstName": "William",
      "lastName": "Wellphunded",
      "addresses": [
        {
          "addressLine1": "1234 S Front Street",
          "city": "Wilmington",
          "regionCode": "NC",
          "postalCode": "28401-5405",
          "countryCode": "US",
          "type": "home"
        }
      ],
      "role": "Chief Financial Officer",
      "percentage": 35,
      "birthdate": "1982-10-19",
      "identification": [
        {
          "type": "taxId",
          "value": "111-11-1111"
        }
      ],
      "contactId": "76e018d8-de7e-4631-aad8-fc1aa1d04bf7"
    }
  ]
}

Beneficial Owners (v1.4.0)

A list of people who own at least 25% of the business or who have a major role in the organization. The sum of the percentages may not exceed 100%. The percentage may be less than 25 for non-owners with a major role, or to retain other owners whose percentage may change to 25% in the future.

This schema was resolved from organizations/beneficialOwners.

Properties

NameDescription
Beneficial Owners (v1.4.0) object
A list of people who own at least 25% of the business or who have a major role in the organization. The sum of the percentages may not exceed 100%. The percentage may be less than 25 for non-owners with a major role, or to retain other owners whose percentage may change to 25% in the future.

This schema was resolved from organizations/beneficialOwners.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
items array: [beneficialOwner] (required)
A list of people who own at least 25% of the business, and the percentage owned.
maxLength: 10
items: object

beneficiaries

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Beneficiaries (v3.0.0)

Account beneficiaries who received the account assets if the owner dies. Beneficiaries apply only to personal accounts. The allocationPolicy determines how the funds are allocated, either equal (all n beneficiaries get an even 1n allocation) or percentage, where the percent values in this array (rounded down to the nearest 0.01) must add up to 100.00 exactly. However, if the array contains exactly one beneficiary, the percent is automatically adjusted to 100.00%.

Properties

NameDescription
Beneficiaries (v3.0.0) object
Account beneficiaries who received the account assets if the owner dies. Beneficiaries apply only to personal accounts. The allocationPolicy determines how the funds are allocated, either equal (all n beneficiaries get an even 1n allocation) or percentage, where the percent values in this array (rounded down to the nearest 0.01) must add up to 100.00 exactly. However, if the array contains exactly one beneficiary, the percent is automatically adjusted to 100.00%.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
allocationPolicy beneficiaryAllocationPolicy
The policy the financial institution uses for managing allocations for beneficiaries.
read-only
enum values: equal, percentage
items array: [beneficiary]
A list of beneficiaries who receive the account assets payable on death (POD) of the account owner(s). This array may be empty. The maximum number of account beneficiaries is 10 (but in the future, this will be configurable by the financial institution.) Beneficiaries are updated via the patchBeneficiaries operation.
maxLength: 10
items: object

beneficiary

{
  "type": "organization",
  "taxId": "wf+Btcid6QIYsID9R5cCimyco8YJVZwwkqhHrJT6UjBxK1ddL2aKLJt2w8xRzVhClCNJs",
  "_encryption": {
    "taxId": "secret-12345678"
  },
  "percent": 12.5,
  "organization": {
    "name": "Doctors Without Borders USA",
    "label": "Doctors Without Borders",
    "type": "nonProfit",
    "subtype": "charitableTrust",
    "addresses": [
      {
        "type": "headquarters",
        "addressLine1": "40 Rector St.",
        "addressLine2": "16th Floor",
        "city": "New York",
        "regionCode": "NY",
        "postalCode": "10006"
      }
    ]
  }
}

Beneficiary (v3.0.0)

An account beneficiary which receives a percentage of the account assets if the personal account owner dies. A beneficiary is either a person or a business organization representing a trust or charity.

Properties

NameDescription
Beneficiary (v3.0.0) object
An account beneficiary which receives a percentage of the account assets if the personal account owner dies. A beneficiary is either a person or a business organization representing a trust or charity.
type string
Indicates if this beneficiary is a business organization or an individual person.
enum values: individual, organization
taxId string
The beneficiary's encrypted taxId value. In request bodies, this must be the full tax ID, encrypted using current encryption keys. In a response, it is a masked tax ID value, with one or more leading '*' characters and only the last four characters unmasked, such as "*****3333".
_encryption encryptionMetadata
Metadata about the encrypted taxId property.
individual individualBeneficiary
Details of a beneficiary who is an individual person. The individual property is only used if type is individual and is thus mutually exclusive with organization.
organization simpleOrganization
Details of a trust or charity beneficiary. The organization property is only used if type is organization and is thus mutually exclusive with individual.

The organization must have a type of trust or nonProfit; if type is nonProfit the subtype must be charitableTrust. Each organization must also include their TIN in an identification record with type of taxId. Trusts must also include their legal name, mailing address, the date the trust was established, and the legal name. Charities and non-profit beneficiary must include the charity's legal name and a mailing address.

percent number
The percent of the account assets that this beneficiary should receive, expressed as a decimal number, rounded down to the nearest 0.01. For example, the values 33.3333 and 33.3399 become 33.33%. This property is ignored if allocationPolicy is equal in account.beneficiaries.
minimum: 0.01
maximum: 100

beneficiaryAllocationPolicy

"equal"

Beneficiary Allocation Policy (v1.0.0)

The policy the financial institution uses for managing allocations for beneficiaries.

beneficiaryAllocationPolicy strings may have one of the following enumerated values:

ValueDescription
equalEqual: The financial institution uses an equal distribution policy. If there are n beneficiaries, each will receive 1n of the account balance upon death of the account owner(s).
percentagePercentage: Each beneficiary must have a percent value of between 0.01 to 100.00, and the sum of all the beneficiaries' percentages must equal 100.00.

These enumeration values are further described by the label group named beneficiaryAllocationPolicy in the response from the getLabels operation.

type: string


enum values: equal, percentage

cd

{
  "maturesAt": "2019-10-30T08:16:00.000Z",
  "apyBumpedAt": "2019-10-30T08:16:00.000Z",
  "term": "P6M",
  "maturityPolicy": "transferPrincipalAndInterest",
  "transferAccount": {
    "name": "My Premiere Savings",
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210",
      "full": "9876543210"
    }
  },
  "inDebitGracePeriod": true,
  "inCreditGracePeriod": true,
  "gracePeriodDebitEndsAt": "2020-07-30T04:59:59.000Z",
  "gracePeriodCreditEndsAt": "2020-07-30T04:59:59.000Z"
}

Certificate of Deposit (CD) Properties (v1.4.1)

Properties of a Certificate of Deposit (CD, a.k.a. Time Deposit) account.

Properties

NameDescription
Certificate of Deposit (CD) Properties (v1.4.1) object
Properties of a Certificate of Deposit (CD, a.k.a. Time Deposit) account.
maturesAt string(date-time)
The date-time that this account will mature. The account matures on the date which is derived by adding the duration of the term to the opening date-time. The date-time is a string in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ.
read-only
format: date-time
apyBumpedAt string(date-time)
The date-time that the user bumped the rate after the financial institution offered a higher rate. This property only exists if the user elected to bump the APY rate during this account's current term. If the account is rolled over to a new account, this property does not exist (even if the rollover has the same account number). See the bumpApyRate operation. The date-time is a string in RFC 3339 UTF format: YYYY-MM-DDThh:mm:ss.sssZ.
read-only
format: date-time
term string(period)
The maturity term. The account matures on the date which is derived by adding the duration of the term to the opening date-time.

This value is an ISO 8601 duration string of the form P[n]Y[n]M[n]D to specify the term in the number of years/months/days. For example, the values P30D, P6M, P2Y indicate a term of 30 days, six months, and two years, respectively.
read-only
format: period

maturityPolicy maturityPolicy
What happens to the account upon maturity.
enum values: rolloverPrincipalAndInterest, transferPrincipalAndInterest, rolloverPrincipalAndTransferInterest, holdPrincipalAndInterest, partialTransfer
rolloverProductName string
If this account rolls over into a new product at maturity, this is the name of the banking product for the rollover account. The product is defined in the apiture:rolloverProduct in the account's _links.
read-only
transferAccount cdTransferAccount
Details of the existing internal or external account where interest and/or balance are transferred at CD maturity, depending on the settings in maturityPolicy. This object only exists if the maturity policy specifies transferring. This object and the properties are derived from the account referenced by the apiture:transferTargetAccount link that is used in createAccount or updateAccount.
read-only
inDebitGracePeriod boolean
If this account is within the debit grace period, then it is eligible to withdraw funds without being assessed a penalty. If true the account is in the grace period in which debits are allowed.
read-only
inCreditGracePeriod boolean
If this account is within the credit grace period, then it is eligible to add funds without being assessed a penalty. If true the account is in the grace period in which credits are allowed.
read-only
gracePeriodDebitEndsAt string(date-time)
If the account is in a debit-eligible grace period, this is the date the grace period ends for debits in RFC 3339 date-time format, YYYY-MM-DDThh:mm:ssZ. Otherwise, this field is omitted.
read-only
format: date-time
gracePeriodCreditEndsAt string(date-time)
If the account is in a credit-eligible grace period, this is the date the grace period ends for credits in RFC 3339 date format, YYYY-MM-DDThh:mm:ssZ. Otherwise, this field is omitted.
read-only
format: date-time
beneficialOwnersConfirmed boolean
When updating the maturity settings for a business CD account, a true value indicates the user has confirmed the existing beneficial owners on the account. This property exists only in patchAccount request operations and is not present in responses. Note: The beneficial owners are part of the owning organization for business accounts; see the Organization's API.

cdTransferAccount

{
  "name": "My Premiere Savings",
  "title": "John Smith",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rd Party Bank"
}

CD Transfer Account (v1.0.1)

Properties of the target account for transferring funds from a maturing CD account.

Properties

NameDescription
CD Transfer Account (v1.0.1) object
Properties of the target account for transferring funds from a maturing CD account.
name string
The account name.
title string
The title of the account. Traditionally, this is the name of the account holder.
maxLength: 512
institutionName string
The name of the financial institution which manages the account.
read-only
minLength: 2
maxLength: 128
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
read-only
minLength: 9
maxLength: 9
accountNumbers accountNumbers
The masked and full account numbers for this account. The full value only appears when ?unmasked=true is passed on the GET request.
read-only

collection

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Collection (v2.1.1)

A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

This schema was resolved from common/collection.

Properties

NameDescription
Collection (v2.1.1) object
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

This schema was resolved from common/collection.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

configurationGroup

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API",
  "schema": {
    "type": "object",
    "properties": {
      "dailyLimit": {
        "type": "number",
        "description": "The daily limit for the number of transfers"
      },
      "cutoffTime": {
        "type": "string",
        "format": "time",
        "description": "The cutoff time for scheduling transfers for the current day"
      }
    }
  },
  "values": {
    "dailyLimit": 5,
    "cutoffTime": 63000
  }
}

Configuration Group (v2.1.1)

Represents a configuration group.

This schema was resolved from configurations/configurationGroup.

Properties

NameDescription
Configuration Group (v2.1.1) object
Represents a configuration group.

This schema was resolved from configurations/configurationGroup.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: "[a-zA-Z][-\\w_]*"
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096
schema configurationSchema
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

values configurationValues
The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

configurationGroupSummary

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/groups/basic"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Transfers API"
}

Configuration Group Summary (v2.1.1)

A summary of the data contained within a configuration group resource.

This schema was resolved from configurations/configurationGroupSummary.

Properties

NameDescription
Configuration Group Summary (v2.1.1) object
A summary of the data contained within a configuration group resource.

This schema was resolved from configurations/configurationGroupSummary.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: "[a-zA-Z][-\\w_]*"
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096

configurationGroups

{
  "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "/configurations/configurations/groups?start=10&limit=10"
    },
    "first": {
      "href": "/configurations/configurations/groups?start=0&limit=10"
    },
    "next": {
      "href": "/configurations/configurations/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/configurations/configurations/groups"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_embedded": {
    "items": [
      {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/basic"
          }
        },
        "name": "basic",
        "label": "Basic Settings",
        "description": "The basic settings for the Transfers API"
      },
      {
        "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.1.1/profile.json",
        "_links": {
          "self": {
            "href": "/configurations/groups/calendar"
          }
        },
        "name": "calendar",
        "label": "Calendar",
        "description": "A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)"
      }
    ]
  }
}

Configuration Group Collection (v2.1.1)

Collection of configuration groups. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

This schema was resolved from configurations/configurationGroups.

Properties

NameDescription
Configuration Group Collection (v2.1.1) object
Collection of configuration groups. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

This schema was resolved from configurations/configurationGroups.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded configurationGroupsEmbedded
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

configurationGroupsEmbedded

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.1.1/profile.json",
      "_links": {
        "self": {
          "href": "/configurations/groups/basic"
        }
      },
      "name": "basic",
      "label": "Basic Settings",
      "description": "The basic settings for the Transfers API"
    }
  ]
}

Configuration Groups Embedded Objects (v1.1.1)

Objects embedded in the configurationGroupscollection.

This schema was resolved from configurations/configurationGroupsEmbedded.

Properties

NameDescription
Configuration Groups Embedded Objects (v1.1.1) object
Objects embedded in the configurationGroupscollection.

This schema was resolved from configurations/configurationGroupsEmbedded.

items array: [configurationGroupSummary]
An array containing a page of configuration group items.
items: object

configurationSchema

{
  "type": "object",
  "properties": {
    "dailyLimit": {
      "type": "number",
      "description": "The daily limit for the number of transfers"
    },
    "cutoffTime": {
      "type": "string",
      "format": "time",
      "description": "The cutoff time for scheduling transfers for the current day"
    }
  }
}

Configuration Schema (v2.1.0)

The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

Properties

NameDescription
Configuration Schema (v2.1.0) object
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers which follow the pattern letter [letter | digit | - | _]*.

This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

This schema was resolved from configurations/configurationSchema.

Configuration Schema Value (v2.0.0) configurationSchemaValue
The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

configurationSchemaValue

{}

Configuration Schema Value (v2.0.0)

The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

Properties

NameDescription
Configuration Schema Value (v2.0.0) object
The data associated with this configuration schema.

This schema was resolved from configurations/configurationSchemaValue.

configurationValue

{}

Configuration Value (v2.0.0)

The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

Properties

NameDescription
Configuration Value (v2.0.0) object
The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

configurationValues

{
  "dailyLimit": 5,
  "cutoffTime": 63000
}

Configuration Values (v2.0.0)

The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

Properties

NameDescription
Configuration Values (v2.0.0) object
The data values associated with this configuration group: the group's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values.

For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.

This schema was resolved from configurations/configurationValues.

Configuration Value (v2.0.0) configurationValue
The data associated with this configuration.

This schema was resolved from configurations/configurationValue.

constraints

{
  "transactionTypes": [
    "debit"
  ],
  "minimumBalance": "500.00",
  "minimumFundingAmount": "500.00",
  "maximumFundingAmount": "2500.00",
  "minimumTransferAmount": "25.00",
  "maximumTransferAmount": "10000.00",
  "maximumWithdrawalCount": 6,
  "fundingTerm": "P30D",
  "depositsRestrictedAfterGracePeriod": true,
  "depositsRestrictedAfterFunding": true,
  "gracePeriod": "P14D"
}

Product Constraints (v1.0.0)

Product constraints, such as minimum and maximum balances.

This schema was resolved from products/constraints.

Properties

NameDescription
Product Constraints (v1.0.0) object
Product constraints, such as minimum and maximum balances.

This schema was resolved from products/constraints.

transactionTypes array: [transactionType]
The types of transactions permitted for this account. Values which appear in this array are permitted.
items: string
» enum values: debit, credit
minimumBalance string
The minimum balance for accounts of this product. The numeric value is represented as a string so that it can be exact with no loss of precision. This balance is in the currency for the product.
minimumFundingAmount string
The minimum monetary value when funding a new account of this product. The numeric value is represented as a string so that it can be exact with no loss of precision. This balance is in the currency for the product.
maximumFundingAmount string
The maximum monetary value when funding a new account of this product. The numeric value is represented as a string so that it can be exact with no loss of precision. This balance is in the currency for the product.
minimumTransferAmount string
The minimum monetary value for new transfers from accounts of this product. The numeric value is represented as a string so that it can be exact with no loss of precision. This balance is in the currency for the product.
maximumTransferAmount string
The maximum monetary value for new transfers from accounts of this product. The numeric value is represented as a string so that it can be exact with no loss of precision. This balance is in the currency for the product.
maximumWithdrawalCount integer
The maximum number of withdrawals allowed per cycle. If not present, there is no hard limit.
fundingTerm string(period)
The time limit within which account opening funding must occur after account creation. This is expressed as an ISO 8601 duration duration; only day and month periods are allowed, and the only allowed fractional value for months is 0.5, as in P5D or P14D or P1M or P0.5M.
format: period
depositsRestrictedAfterGracePeriod boolean
If true, deposits are not allowed after the rollover grace period (see gracePeriod). This applies to time deposit products only.
default: true
depositsRestrictedAfterFunding boolean
If true, deposits are not allowed after the initial account funding has completed. This typically applies to time deposit products.
default: true
gracePeriod string(period)
A period of time after account rollover when additional deposits are allowed. This is an ISO 8601 duration duration; only day and month periods are allowed, and the only allowed fractional value for months is 0.5, as in P5D or P14D or P1M or P0.5M.
format: period

createAccount

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/createAccount/v1.3.0/profile.json",
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/00007276-8b25-4e97-ac82-e1e17a2ff7c2"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    },
    "apiture:organization": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/a1c9212c-0a5c-4779-a3fc-95e1c1e92e71"
    },
    "apiture:application": {
      "href": "https://api.devbank.apiture.com/accountApplications/applications/2f23b9fe-532f-4e82-943e-b079ea55aebc"
    }
  },
  "name": "My car savings account",
  "description": "My savings account used to save for a new car, opened in 2019. I try to put $550/month into this account.",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  }
}

Create Account (v1.3.0)

Representation used to create a new account. The request must contain a link to an active product, user, organization (for a business account) and, optionally, an approved account application; the account type and product are extracted from that product resource, and additional associations to people or organizations that should be attached to the account may come from the application, such as co-owners, owning business (if not passed in the apiture:organization link), etc. The product must be passed as apiture:product, user as apiture:user, organization as apiture:organization, and account application should be passed as the apiture:application link in _links in the request.

Interest-bearing accounts can either have interest disbursements capitalized (back into the account) or transferred to another internal account or an external account. This account is specified in the apiture:interestTargetAccount link in the request's _links. The account must be active and eligible for deposits/credits. This link can be updated in the patchAccount operations.

An account for a Certificate of Deposit (CD, a.k.a. Time Deposit) account may also specify an apiture:rolloverProduct link at creation time. If this account rolls over into a new product at maturity, this link is the URI of the banking product for the rollover account (see the Products API). This is used if cd.maturityPolicy is rolloverPrincipalAndInterest or rolloverPrincipalAndTransferInterest.

CD accounts may also specify an existing account (savings, checking) to transfer principal and/or interest to upon maturity in the apiture:transferTargetAccount link. The account must be an internal account which is active and available for deposits. This is used if cd.maturityPolicy is transferPrincipalAndInterest or rolloverPrincipalAndTransferInterest.

An apiture:user must be defined for specifying the owner of a non-business account and as an authorized signer of a business account.

Business accounts must specify the organization owning the account as an organization link, such as apiture:organization.

Response and request bodies using this createAccount schema may contain the following links:

RelSummaryMethod
apiture:user Applicant (Required)GET
apiture:product Banking Product (Required)GET
apiture:application Account Application (Required)GET
apiture:organization OrganizationGET

Properties

NameDescription
Create Account (v1.3.0) object

Representation used to create a new account. The request must contain a link to an active product, user, organization (for a business account) and, optionally, an approved account application; the account type and product are extracted from that product resource, and additional associations to people or organizations that should be attached to the account may come from the application, such as co-owners, owning business (if not passed in the apiture:organization link), etc. The product must be passed as apiture:product, user as apiture:user, organization as apiture:organization, and account application should be passed as the apiture:application link in _links in the request.

Interest-bearing accounts can either have interest disbursements capitalized (back into the account) or transferred to another internal account or an external account. This account is specified in the apiture:interestTargetAccount link in the request's _links. The account must be active and eligible for deposits/credits. This link can be updated in the patchAccount operations.

An account for a Certificate of Deposit (CD, a.k.a. Time Deposit) account may also specify an apiture:rolloverProduct link at creation time. If this account rolls over into a new product at maturity, this link is the URI of the banking product for the rollover account (see the Products API). This is used if cd.maturityPolicy is rolloverPrincipalAndInterest or rolloverPrincipalAndTransferInterest.

CD accounts may also specify an existing account (savings, checking) to transfer principal and/or interest to upon maturity in the apiture:transferTargetAccount link. The account must be an internal account which is active and available for deposits. This is used if cd.maturityPolicy is transferPrincipalAndInterest or rolloverPrincipalAndTransferInterest.

An apiture:user must be defined for specifying the owner of a non-business account and as an authorized signer of a business account.

Business accounts must specify the organization owning the account as an organization link, such as apiture:organization.

Response and request bodies using this createAccount schema may contain the following links:

RelSummaryMethod
apiture:user Applicant (Required)GET
apiture:product Banking Product (Required)GET
apiture:application Account Application (Required)GET
apiture:organization OrganizationGET
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
name string
The user-assigned name of this account.
minLength: 1
maxLength: 128
description string
The user-assigned description of this account.
minLength: 1
maxLength: 4096
interestPolicy interestPolicy
How interest credits on the account (if any) are disbursed. This field is none for non-interest bearing accounts. If this is transfer, the apiture:interestTargetAccount link in the account's _link references the target account for the disbursements. This field applies if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
enum values: none, capitalize, transfer
usageAnswers usageAnswers
Answers to the financial institution’s questions about how the user intends to use the account. This properties and values in this object is based on the financial institution's configuration.
Additional Properties: true
overdraftProtection accountOverdraftProtection
Indicates if the account is enrolled in overdraft protection plans.

createAuthorization

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/bd9e7a93-32cc-435d-ac57-f21faa082318"
    }
  },
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "joint",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com"
}

Create Authorization (v1.1.1)

The object representation of a newly created authorization. The fields listed will assist in the information needed to gain access to a bank account or organization. A link to the user must be passed in _links as apiture:user for implementations of this object as it explains the direct association.

This schema was resolved from contacts/createAuthorization.

Properties

NameDescription
Create Authorization (v1.1.1) object
The object representation of a newly created authorization. The fields listed will assist in the information needed to gain access to a bank account or organization. A link to the user must be passed in _links as apiture:user for implementations of this object as it explains the direct association.

This schema was resolved from contacts/createAuthorization.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
firstName string (required)
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string (required)
The person's last name (or surname).
maxLength: 80
addresses array: [address] (required)
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
taxId string (required)
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible. If the ?unmasked=true query parameter is passed, the full, unmasked tax ID is returned.
citizen boolean (required)
Indicates if the person is a (US) citizen.
emailAddress string(email)
Optional email address.
format: email
userId string (required)
The unique ID of the user. This is the _id value of the user resource from the Users API.
customerId string (required)
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user in the banking core. The customerId differs from the _id (which is the ID of the resource in the Users API).
read-only
minLength: 1
maxLength: 100
type authorizationType (required)

The type of this account access authorization.

  • primary the contact is the primary owner of a personal account. There may be only one primary owner. The target of the authorization is a single personal account.
  • joint the contact is a non-primary joint owner of a personal account. The target of the authorization is a single personal account.
  • authorizedSigner the contact is an authorized signer for a business account. The target of the authorization is an all business accounts owned by the organization.

enum values: primary, joint, authorizedSigner
role string
The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.

createAuthorizedSigner

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/bd9e7a93-32cc-435d-ac57-f21faa082318"
    }
  },
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha5",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "other",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "id": "wa0",
      "label": "mailing"
    }
  ],
  "preferredMailingAddressId": "ha5",
  "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
  "customerId": "10047294723672",
  "type": "authorizedSigner",
  "role": "Chief Financial Officer",
  "taxId": "*****3333",
  "citizen": true,
  "emailAddress": "JohnDanielSmith@example.com"
}

New Authorized Signer (v1.0.1)

The user authorized for account access.

Properties

NameDescription
New Authorized Signer (v1.0.1) object
The user authorized for account access.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
firstName string (required)
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string (required)
The person's last name (or surname).
maxLength: 80
addresses array: [address] (required)
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
taxId string (required)
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible. If the ?unmasked=true query parameter is passed, the full, unmasked tax ID is returned.
citizen boolean (required)
Indicates if the person is a (US) citizen.
emailAddress string(email)
Optional email address.
format: email
userId string (required)
The unique ID of the user. This is the _id value of the user resource from the Users API.
customerId string (required)
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user in the banking core. The customerId differs from the _id (which is the ID of the resource in the Users API).
read-only
minLength: 1
maxLength: 100
type authorizationType (required)

The type of this account access authorization.

  • primary the contact is the primary owner of a personal account. There may be only one primary owner. The target of the authorization is a single personal account.
  • joint the contact is a non-primary joint owner of a personal account. The target of the authorization is a single personal account.
  • authorizedSigner the contact is an authorized signer for a business account. The target of the authorization is an all business accounts owned by the organization.

enum values: primary, joint, authorizedSigner
role string
The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.

createExternalAccount

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/createExternalAccount/v1.3.3/profile.json",
  "_links": {
    "apiture:productType": {
      "href": "https://api.devbank.apiture.com/products/productTypes/a93c19ba-f96d-4b30-8dd7-92b2d6ffcb0b"
    }
  },
  "name": "My account at 3rdParty Bank",
  "institutionName": "3rd Party Bank",
  "primaryUserName": "Lana Michaels",
  "type": "savings",
  "ifxType": "SDA",
  "routingNumber": "021000021",
  "accountNumbers": {
    "full": "9876543210"
  },
  "_embedded": {
    "accountOwners": [
      {
        "firstName": "Steven",
        "middleName": "Benjamin",
        "lastName": "Storey",
        "fullName": "Steven B. Storey",
        "type": "primary",
        "addresses": [
          {
            "type": "home",
            "addressLine1": "555 N Front Street",
            "addressLine2": "Apt 555",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401",
            "countryCode": "US"
          }
        ]
      }
    ]
  }
}

Create External Account (v1.3.3)

Representation used to create a new external account. The request should include a apiture:productType link to a product type.

Response and request bodies using this createExternalAccount schema may contain the following links:

RelSummaryMethod
apiture:productType URI of the corresponding banking product type.GET

Properties

NameDescription
Create External Account (v1.3.3) object

Representation used to create a new external account. The request should include a apiture:productType link to a product type.

Response and request bodies using this createExternalAccount schema may contain the following links:

RelSummaryMethod
apiture:productType URI of the corresponding banking product type.GET
name string (required)
The user-assigned name of this external account
maxLength: 128
description string
The user-assigned description of this external account.
maxLength: 4096
institutionName string (required)
The name of the financial institution.
minLength: 2
maxLength: 128
primaryUserName string
The primary user or owner of the external account.
maxLength: 128
title string
The name of the account holder. This is derived from the user resource.
maxLength: 512
type string (required)
The type of account. This is the name of an external product type associated with this external account. (The product type is defined in the Products API.)
ifxType ifxType
A code which identifies the product type. This is one of the IFX AcctType values.
enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA
routingNumber string (required)
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
minLength: 9
maxLength: 9
state externalAccountState
The state of the external account.
read-only
enum values: pending, verifying, failed, active, inactive, frozen, closed, underReview, microDepositsRequested
verifiedAt string(date-time)
The date-time when the external account was most recently verified. This is in RFC 3339 format, UTC.
read-only
format: date-time
verificationMethod verificationMethod
Optional account verification method that was used for linking a new external account.

verificationMethod strings may have one of the following enumerated values:

ValueDescription
instantInstant Account Verification: External account verified by instant account verification.
microDepositsMicro-Deposits: External account verified by micro-deposits.

These enumeration values are further described by the label group named verificationMethod in the response from the getLabels operation.
read-only
enum values: instant, microDeposits

attributes attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.
Additional Properties: true

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded createExternalAccountEmbeddedObjects
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
accountNumbers createExternalAccountNumbers (required)
The masked and full account number

createExternalAccountEmbeddedObjects

{
  "accountOwners": [
    {
      "firstName": "Steven",
      "middleName": "Benjamin",
      "lastName": "Storey",
      "fullName": "Steven B. Storey",
      "type": "primary",
      "addresses": [
        {
          "type": "home",
          "addressLine1": "555 N Front Street",
          "addressLine2": "Apt 555",
          "city": "Wilmington",
          "regionCode": "NC",
          "postalCode": "28401",
          "countryCode": "US"
        }
      ]
    }
  ]
}

External Account Embedded Objects (v1.2.0)

Optional embedded resources (the owners) to include when creating an external account.

Properties

NameDescription
External Account Embedded Objects (v1.2.0) object
Optional embedded resources (the owners) to include when creating an external account.
accountOwners array: [externalAccountOwner]
The array of account owners. This may be an empty array (0 items) but is always present.
minLength: 0
items: object

createExternalAccountNumbers

{
  "full": "9876543210"
}

Create External Account Numbers (v1.0.0)

The account numbers necessary to link an external account.

Properties

NameDescription
Create External Account Numbers (v1.0.0) object
The account numbers necessary to link an external account.
full string (required)
The full account number. Pass in this value when linking an external account. This field can be updated whenever the account is still in the pending state.
minLength: 4
maxLength: 17

createResourceTrackingIds

{
  "_profile": "https://production.api.apiture.com/schemas/common/createResourceTrackingIds/v1.1.1/profile.json",
  "_links": {},
  "trackingIds": [
    "2dd86cdb-2a50-4079-a246-6486135a0ca2"
  ]
}

Create Resource Tracking IDs (v1.1.1)

A tracking ID to add to a resource.

This schema was resolved from common/createResourceTrackingIds.

Properties

NameDescription
Create Resource Tracking IDs (v1.1.1) object
A tracking ID to add to a resource.

This schema was resolved from common/createResourceTrackingIds.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
trackingIds array: [string]
An array of trackings ID to add to the resource.
unique items
minItems: 1
maxItems: 16
items: string
» minLength: 4
» maxLength: 80
» pattern: "^[-_a-zA-Z0-9$]{4,80}$"

eligibleOverdraftAccounts

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/eligibleOverdraftAccounts/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "selectionLimit": 1,
  "enrolled": true,
  "accounts": [
    {
      "_id": "e4423a9a-b03e",
      "name": "My Premiere Savings",
      "title": "John Smith",
      "type": "Savings",
      "ifxType": "SDA",
      "maskedAccountNumber": "*************3210",
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/e4423a9a-b03e"
        },
        "apiture:addAsOverdraftProtection": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccount?account=0115d1b6-a8c1"
        }
      }
    }
  ]
}

Eligible Overdraft Accounts (v1.1.0)

A list of accounts that are eligible to be added as an overdraft protection account.

Properties

NameDescription
Eligible Overdraft Accounts (v1.1.0) object
A list of accounts that are eligible to be added as an overdraft protection account.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
accounts array: [overdraftAccount] (required)
An array of eligible accounts. Only accounts This may be an empty array if the target account is not enrolled in overdraft protection, if no other accounts ar eligible, or the account already has the maximum number of overdraft account defined.
items: object
selectionLimit integer (required)
The maximum number of overdraft sweep accounts the user may select from this list to add to the existing list of overdraft accounts. The financial institution limits how many overdraft protection accounts may be added to a deposit account. If this value is 0, the account already has the maximum number of accounts assigned. This is always 0 if enrolled is false.
minimum: 0
enrolled boolean (required)
true only if the target account is eligible for overdraft protection.

emailType

"unknown"

Email Type (v1.0.0)

The kind of email address.

Warning: The enum list will be removed in a future release.

The allowed values for this property are defined at runtime in the label group named emailType in the response from the getLabels operation.

This schema was resolved from contacts/emailType.

type: string


enum values: unknown, personal, work, school, other, notApplicable

embeddedAccountObjects

{
  "owners": {
    "_profile": "https://production.api.apiture.com/schemas/accounts/owners/v1.2.1/profile.json",
    "_links": {
      "self": {
        "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
      }
    },
    "items": [
      {
        "_id": "p001",
        "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
        "customerId": "10047294723672",
        "type": "primary",
        "firstName": "John",
        "middleName": "Daniel",
        "lastName": "Smith",
        "taxId": "*****3333",
        "citizen": true,
        "addresses": [
          {
            "_id": "ha5",
            "type": "home",
            "addressLine1": "555 N Front Street",
            "addressLine2": "Apt 5555",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401-5405",
            "countryCode": "US"
          }
        ],
        "preferredMailingAddressId": "ha5",
        "emailAddress": "JohnDanielSmith@example.com"
      }
    ]
  },
  "beneficiaries": {
    "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
    "_links": {
      "self": {
        "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
      }
    }
  },
  "owningBusiness": {
    "_profile": "https://production.api.apiture.com/schemas/organizations/organization/v1.7.2/profile.json",
    "_links": {
      "self": {
        "href": "https://api.devbank.apiture.com/organizations/organizations/0399abed-fd3d"
      },
      "apiture:deactivate": {
        "href": "https://api.devbank.apiture.com/organizations/inactiveOrganizations?organization=0399abed-fd3d"
      }
    },
    "name": "Smith's Auto Detailing",
    "label": "Smith's Detailing",
    "emailAddresses": [
      {
        "type": "work",
        "value": "smitties-detailing@example.com",
        "_id": "ea0"
      }
    ],
    "identification": [
      {
        "type": "taxId",
        "value": "00-9999999"
      }
    ],
    "phones": [
      {
        "type": "work",
        "number": "+19105550155",
        "_id": "wp0"
      },
      {
        "type": "mobile",
        "number": "+191055501554",
        "_id": "wp1"
      }
    ],
    "addresses": [
      {
        "type": "work",
        "addressLine1": "555 N Front Street",
        "addressLine2": "Suite 5555",
        "city": "Wilmington",
        "regionCode": "NC",
        "postalCode": "28401-5405",
        "countryCode": "US"
      },
      {
        "type": "work",
        "addressLine1": "123 S 3rd Street",
        "addressLine2": "Apt 42",
        "city": "Wilmington",
        "regionCode": "NC",
        "postalCode": "28411-5405",
        "countryCode": "US"
      }
    ],
    "establishedOn": "2009-07-09",
    "state": "active",
    "currency": "USD",
    "employeeCountRange": "from101to250",
    "employeeCountLowerBound": 1,
    "employeeCountUpperBound": 1,
    "yearsOwned": "two",
    "estimatedAnnualRevenue": "from1to10Million",
    "estimatedMonthlyAmounts": {
      "percentGrossRevenue": "from0to25Percent",
      "sentAch": "moreThanOneMillion",
      "receivedAch": "upToOneHundredThousand",
      "mobileCheckDeposit": "upToOneHundredThousand",
      "remoteCheckDeposit": "upToOneHundredThousand",
      "sentWire": "moreThanOneMillion",
      "receivedWire": "oneHundredThousandToOneMillion"
    },
    "estimatedMonthlyCounts": {
      "sentAch": "oneHundredOneToOneThousand",
      "receivedAch": "oneHundredOneToOneThousand",
      "mobileCheckDeposit": "oneToOneHundred",
      "remoteCheckDeposit": "oneToOneHundred",
      "sentWire": "oneToOneHundred",
      "receivedWire": "oneToOneHundred"
    },
    "physicalLocationsCount": "under10",
    "achEnabled": true,
    "wireEnabled": true,
    "mobileCheckDepositEnabled": true,
    "regulatory": {
      "estimatedAnnualRevenue": "from1to10Million",
      "atmOperator": false,
      "charity": false,
      "cashesChecksMoreThan1000Usd": false,
      "internetGamblingIncorporated": false,
      "marijuanaBusiness": false,
      "moneyOrderMoreThan1000Usd": false,
      "thirdPartyBenefit": false,
      "transmitBehalfOfCustomer": false,
      "virtualCurrency": false,
      "acceptsRcc": false,
      "intermediaryServices": [
        "trustManagement"
      ],
      "subjectToWithholdings": true
    },
    "_id": "0399abed-fd3d",
    "customerId": "1000489353781",
    "tradeName": "Smith's Auto Detailing",
    "preferredEmailAddressId": "ea0",
    "preferredPhoneNumberId": "wp0",
    "preferredMailingAddressId": "wa0",
    "governmentOwned": false,
    "registeredIn": "NC",
    "publiclyHeld": false,
    "smallBusiness": true,
    "taxExempt": false,
    "type": "corporation",
    "subtype": "soleProprietorship",
    "countryOfOperations": "US",
    "authorizedSigners": [],
    "beneficialOwners": [],
    "coreBanking": {
      "finxact": {
        "customerGroup": "--64964c9c8e8f----2d-5e-",
        "partyOrgId": "--4WS6lkgjD4u-----5F-Bg-"
      }
    },
    "createdAt": "2018-04-17T10:04:46.375Z",
    "updatedAt": "2018-04-17T10:12:58.375Z",
    "_embedded": {}
  },
  "authorizedSigners": {
    "_profile": "https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.2.2/profile.json",
    "_links": {
      "self": {
        "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
      }
    },
    "items": [
      {
        "_id": "as001",
        "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
        "customerId": "10047294723672",
        "type": "authorizedSigner",
        "role": "Chief Financial Officer",
        "firstName": "John",
        "middleName": "Daniel",
        "lastName": "Smith",
        "taxId": "*****3333",
        "citizen": true,
        "addresses": [
          {
            "_id": "ha5",
            "type": "home",
            "addressLine1": "555 N Front Street",
            "addressLine2": "Apt 5555",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401-5405",
            "countryCode": "US"
          }
        ],
        "preferredMailingAddressId": "ha5",
        "emailAddress": "JohnDanielSmith@example.com"
      }
    ]
  },
  "product": {
    "_profile": "https://production.api.apiture.com/schemas/products/summaryProduct/v3.3.1/profile.json",
    "_links": {
      "self": {
        "href": "/products/products/a6459cdf-543e-46df-887b-ac5378ee9acd"
      },
      "apiture:productType": {
        "href": "/products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8"
      },
      "apiture:productSubtype": {
        "href": "/products/productTypes/fa4f2335-3306-4721-b74c-8ec0c77823e9"
      }
    },
    "_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
    "name": "Premiere Checking",
    "label": "Premiere Checking",
    "description": "A premiere demand deposit checking account for business use.",
    "state": "active",
    "type": "Demand Deposit",
    "subtype": "Demand Deposit with Interest",
    "newAccountAvailability": "available",
    "availability": "general",
    "target": "business",
    "_embedded": {},
    "ifxType": "DDA",
    "rates": {
      "apy": "1.45",
      "nominal": "1.455",
      "apye": "1.45",
      "compoundPeriod": "P1D",
      "accrualType": "compounding"
    },
    "currency": "USD",
    "paymentsEnabled": true,
    "checkOrderingEnabled": true,
    "regDEnabled": true,
    "promotionalCodesEnabled": true,
    "constraints": {
      "transactionTypes": [
        "debit",
        "credit"
      ],
      "minimumBalance": "500.00",
      "minimumFundingAmount": "500.00",
      "maximumFundingAmount": "25000.00",
      "maximumTransferAmount": "25000.00",
      "fundingTerm": "P7D"
    }
  }
}

Embedded Account Objects (v2.1.1)

Embedded objects to include within an account's _embedded object, as selected with the embed query parameter on the getAccount operation.

Properties

NameDescription
Embedded Account Objects (v2.1.1) object
Embedded objects to include within an account's _embedded object, as selected with the embed query parameter on the getAccount operation.
owners owners
A personal account's primary and joint owners. This object is only available for personal accounts.
beneficiaries beneficiaries
A personal account's primary and joint owners. This object is only available for personal accounts.
owningBusiness organization
A business account's owning organization. This object is only available for business accounts. This is derived from the organization in the account application resource with which the account was created. This object is an Organization in the Organizations API. The business organization maintains a list of authorized signers who having permission to banking activity on the account.
read-only
authorizedSigners authorizedSigners
A list of authorized signers for a business account. This object is only available for business accounts.
product summaryProduct
Summary representation of a product resource in products collections.

encryptionMetadata

{
  "property1": "string",
  "property2": "string"
}

Encryption Metadata (v1.0.2)

Metadata about encrypted data within a JSON object in a request body. This _encryption object is a peer of the encrypted data. Each nested object that contains encrypted properties has it's own _encryption object.

This object is a map of string property names → string encryption key alias. The keys are names of the encrypted and Base64 encoded property. Each value is the alias of the rotating public encryption key that the client used to encrypt the named property. See Encryption for additional details.

This schema was resolved from common/encryptionMetadata.

Properties

NameDescription
Encryption Metadata (v1.0.2) object
Metadata about encrypted data within a JSON object in a request body. This _encryption object is a peer of the encrypted data. Each nested object that contains encrypted properties has it's own _encryption object.

This object is a map of string property names → string encryption key alias. The keys are names of the encrypted and Base64 encoded property. Each value is the alias of the rotating public encryption key that the client used to encrypt the named property. See Encryption for additional details.

This schema was resolved from common/encryptionMetadata.

additionalProperties string

error

{
  "_id": "2eae46e1575c0a7b0115a4b3",
  "message": "Descriptive error message...",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [
    {
      "_id": "ccdbe2c5c938a230667b3827",
      "message": "An optional embedded error"
    },
    {
      "_id": "dbe9088dcfe2460f229338a3",
      "message": "Another optional embedded error"
    }
  ],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}

Error (v2.1.0)

Describes an error in an API request or in a service called via the API.

This schema was resolved from common/error.

Properties

NameDescription
Error (v2.1.0) object
Describes an error in an API request or in a service called via the API.

This schema was resolved from common/error.

message string (required)
A localized message string describing the error condition.
_id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
read-only
statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
occurredAt string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
format: date-time
attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
Additional Properties: true
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors array: [error]
An optional array of nested error objects. This property is not always present.
items: object

errorResponse

{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response (v2.1.1)

Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

This schema was resolved from common/errorResponse.

Properties

NameDescription
Error Response (v2.1.1) object
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

This schema was resolved from common/errorResponse.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

estimatedAnnualRevenue

"unknown"

Estimated Annual Revenue (v1.0.0)

The estimated annual revenue in USD.

Warning: the enum list will be removed in a future release and the values defined at runtime via the estimatedAnnualRevenue group in the response from the getLabels operation.

This schema was resolved from organizations/estimatedAnnualRevenue.

type: string


enum values: unknown, under1Million, from1to10Million, from10to100Million, over100Million, other, notApplicable

estimatedMonthlyAmounts

{
  "percentGrossRevenue": "string",
  "sentAch": "upToOneHundredThousand",
  "receivedAch": "oneHundredThousandToOneMillion",
  "achTransactions": "oneHundredThousandToOneMillion",
  "mobileCheckDeposit": "oneHundredThousandToOneMillion",
  "remoteCheckDeposit": "oneHundredThousandToOneMillion",
  "sentWire": "oneHundredThousandToOneMillion",
  "receivedWire": "moreThanOneMillion",
  "wireTransfers": "oneHundredThousandToOneMillion"
}

Estimated Monthly Amounts (v1.1.0)

Estimated monthly amounts for banking services.

This schema was resolved from organizations/estimatedMonthlyAmounts.

Properties

NameDescription
Estimated Monthly Amounts (v1.1.0) object
Estimated monthly amounts for banking services.

This schema was resolved from organizations/estimatedMonthlyAmounts.

percentGrossRevenue string
The percentage of gross revenue the organization derives from money services per month. Use this or achTransactions.

The allowed values for this property are defined at runtime in the label group named percentGrossRevenue in the response from the getLabels operation.

sentAch string
The estimated total amount sent by ACH per month.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlySentAchAmounts in the response from the getLabels operation.

receivedAch string
The estimated total amount received by ACH per month.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyReceivedAchAmounts in the response from the getLabels operation.

achTransactions string
The estimated total amount sent or received by ACH per month. Use this or sentAch/receivedAch.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyAchTransactionAmounts in the response from the getLabels operation.

mobileCheckDeposit string
The estimated amount deposited by mobile app per month.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyMobileCheckDepositAmounts in the response from the getLabels operation.

remoteCheckDeposit string
The estimated amount deposited remotely, via scanned images, per month.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyRemoteCheckDepositAmounts in the response from the getLabels operation.

sentWire string
The estimated wire transfer amount sent per month. Use this or wireTransfers.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlySentWireAmounts in the response from the getLabels operation.

receivedWire string
The estimated wire transfers amount received per month. Use this or wireTransfers.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyReceivedWireAmounts in the response from the getLabels operation.

wireTransfers string
The estimated wire transfer amount sent or received per month. Use this or sentWire/receivedWire.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyWireTransferAmounts in the response from the getLabels operation.

estimatedMonthlyCounts

{
  "sentAch": "oneHunredOneToOneThousand",
  "receivedAch": "oneHunredOneToOneThousand",
  "achTransactions": "oneHunredOneToOneThousand",
  "mobileCheckDeposit": "oneHunredOneToOneThousand",
  "remoteCheckDeposit": "oneHunredOneToOneThousand",
  "sentWire": "oneToOneHundred",
  "receivedWire": "oneToOneHundred",
  "wireTransfers": "oneToOneHundred"
}

Estimated Monthly Counts (v1.0.0)

Estimated monthly activity for banking services.

This schema was resolved from organizations/estimatedMonthlyCounts.

Properties

NameDescription
Estimated Monthly Counts (v1.0.0) object
Estimated monthly activity for banking services.

This schema was resolved from organizations/estimatedMonthlyCounts.

sentAch string
The estimated number of ACH transactions sent per month. Use this or achTransaction.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlySentAchCount in the response from the getLabels operation.

receivedAch string
The estimated number of ACH transactions sent per month. Use this or achTransaction.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyReceivedAchCount in the response from the getLabels operation.

achTransactions string
The estimated total number of ACH transactions per month. Use this or sendAch/`receivedAch.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyAchTransactionCount in the response from the getLabels operation.

mobileCheckDeposit string
The estimated number of mobile app deposits per month.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyMobileCheckDepositCount in the response from the getLabels operation.

remoteCheckDeposit string
The estimated number of remote deposits (via scanned images) per month.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyRemoteCheckDepositCount in the response from the getLabels operation.

sentWire string
The estimated number of wires sent per month. Use this or wireTransfers.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlySentWireCount in the response from the getLabels operation.

receivedWire string
The estimated number of wires received per month. Use this or wireTransfers.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyReceivedWireCount in the response from the getLabels operation.

wireTransfers string
The estimated number of wire transfers sent or received per month. Use this or sentWire/receivedWire.

The allowed values for this property are defined at runtime in the label group named estimatedMonthlyWireTransferCount in the response from the getLabels operation.

externalAccount

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:freeze": {
      "href": "https://api.devbank.apiture.com/accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:close": {
      "href": "https://api.devbank.apiture.com/accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My account at 3rdParty Bank",
  "type": "savings",
  "ifxType": "SDA",
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rdParty Bank",
  "primaryUserName": "Lucille Wellphunded",
  "_embedded": {
    "productType": {
      "_id": "0a8a1349-d652-4d5e-accc-047ec815d78a",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "savings",
      "label": "Personal Savings"
    }
  },
  "source": "mx"
}

External Account (v1.4.4)

Representation of an external account resource, a banking account held by another financial institution.

Response and request bodies using this externalAccount schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this external accountGET
apiture:activateActivate an accountPOST
apiture:deactivateDeactivate an accountPOST
apiture:freezeFreeze an accountPOST
apiture:closeClose an accountPOST
apiture:reviewThe account is under reviewPOST

Properties

NameDescription
External Account (v1.4.4) object

Representation of an external account resource, a banking account held by another financial institution.

Response and request bodies using this externalAccount schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this external accountGET
apiture:activateActivate an accountPOST
apiture:deactivateDeactivate an accountPOST
apiture:freezeFreeze an accountPOST
apiture:closeClose an accountPOST
apiture:reviewThe account is under reviewPOST
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded externalAccountEmbeddedObjects
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The user-assigned name of this external account
maxLength: 128
description string
The user-assigned description of this external account.
maxLength: 4096
institutionName string
The name of the financial institution.
minLength: 2
maxLength: 128
primaryUserName string
The primary user or owner of the external account.
maxLength: 128
title string
The name of the account holder. This is derived from the user resource.
maxLength: 512
type string
The type of account. This is the name of an external product type associated with this external account. (The product type is defined in the Products API.)
ifxType ifxType
A code which identifies the product type. This is one of the IFX AcctType values.
enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
minLength: 9
maxLength: 9
state externalAccountState
The state of the external account.
read-only
enum values: pending, verifying, failed, active, inactive, frozen, closed, underReview, microDepositsRequested
verifiedAt string(date-time)
The date-time when the external account was most recently verified. This is in RFC 3339 format, UTC.
read-only
format: date-time
verificationMethod verificationMethod
Optional account verification method that was used for linking a new external account.

verificationMethod strings may have one of the following enumerated values:

ValueDescription
instantInstant Account Verification: External account verified by instant account verification.
microDepositsMicro-Deposits: External account verified by micro-deposits.

These enumeration values are further described by the label group named verificationMethod in the response from the getLabels operation.
read-only
enum values: instant, microDeposits

attributes attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.
Additional Properties: true

_id string
The unique identifier for this external account resource. This is an immutable opaque string.
read-only
createdAt string(date-time)
The date-time when the external account was created. This is in RFC 3339format, UTC. This is derived and immutable.
format: date-time
accountNumbers externalAccountNumbers
The masked and full account number
source externalAccountSource
Indicates where the external account originated and was verified.

externalAccountSource strings may have one of the following enumerated values:

ValueDescription
unknownUnknown: The origin of this external account is unknown.
mxMX: The external account was added through integration with the partner, MX.
yodleeYodlee: The external account was added through integration with the partner, Yodlee.
conversionConversion: The external account existed prior to conversion to the digital banking platform.
otherOther: The external account existed in the core or was added outside of the digital banking platform.

These enumeration values are further described by the label group named externalAccountSource in the response from the getLabels operation.
enum values: unknown, mx, yodlee, conversion, other

externalAccountEmbeddedObjects

{
  "accountOwners": [
    {
      "firstName": "Steven",
      "middleName": "Benjamin",
      "lastName": "Storey",
      "fullName": "Steven B. Storey",
      "type": "primary",
      "addresses": [
        {
          "type": "home",
          "addressLine1": "555 N Front Street",
          "addressLine2": "Apt 555",
          "city": "Wilmington",
          "regionCode": "NC",
          "postalCode": "28401",
          "countryCode": "US"
        }
      ]
    }
  ]
}

External Account Embedded Objects (v1.1.0)

Embedded objects to include within an external account's _embedded object, as selected with the embed query parameter on the getExternalAccounts operation.

Properties

NameDescription
External Account Embedded Objects (v1.1.0) object
Embedded objects to include within an external account's _embedded object, as selected with the embed query parameter on the getExternalAccounts operation.
accountOwners array: [externalAccountOwner]
The array of account owners.
minLength: 0
items: object

externalAccountNumbers

{
  "masked": "*************3210",
  "full": "9876543210"
}

External Account Numbers (v1.0.0)

The account numbers necessary to link an external account.

Properties

NameDescription
External Account Numbers (v1.0.0) object
The account numbers necessary to link an external account.
masked string
A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is included when accounts are embedded in collections or other resources. This value is derived and immutable.
read-only
minLength: 8
maxLength: 32
full string
The full account number. This value only appears when ?unmasked=true is passed on the GET request for an account. Not included in the summary representation of the account that is included in account collection responses. Pass in this value when linking an external account. This field can be updated whenever the account is still in the pending state.
minLength: 4
maxLength: 17

externalAccountOwner

{
  "firstName": "Steven",
  "middleName": "Benjamin",
  "lastName": "Storey",
  "fullName": "Steven B. Storey",
  "type": "primary",
  "addresses": [
    {
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Apt 555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401",
      "countryCode": "US"
    }
  ]
}

External Account Owner (v1.2.0)

An external account owner. Since this is a small finite set, this is not a paginated collection, just an array.

Properties

NameDescription
External Account Owner (v1.2.0) object
An external account owner. Since this is a small finite set, this is not a paginated collection, just an array.
firstName string
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string
The person's last name (or surname).
maxLength: 80
fullName string
The account owner's full name (first name and last name or owning business name).
maxLength: 128
type authorizationType
The account owner's ownership type.
enum values: primary, joint, authorizedSigner
addresses array: [address]
The owner's addresses; addresses[0] is the primary mailing address of the owning individual or business.
items: object

externalAccountOwners

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccountOwners/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "accountOwners": [
    {
      "firstName": "Steven",
      "middleName": "Benjamin",
      "lastName": "Storey",
      "fullName": "Steven B. Storey",
      "type": "primary"
    }
  ]
}

External Account Owners (v1.2.1)

A (possibly empty) list of external account owners. Since this is a small finite set, this is not a paginated collection, just an array.

Properties

NameDescription
External Account Owners (v1.2.1) object
A (possibly empty) list of external account owners. Since this is a small finite set, this is not a paginated collection, just an array.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
accountOwners array: [externalAccountOwner] (required)
The array of account owners. This may be an empty array (0 items) but is always present.
minLength: 0
items: object

externalAccountSource

"unknown"

External Account Source (v1.0.0)

Indicates where the external account originated and was verified.

externalAccountSource strings may have one of the following enumerated values:

ValueDescription
unknownUnknown: The origin of this external account is unknown.
mxMX: The external account was added through integration with the partner, MX.
yodleeYodlee: The external account was added through integration with the partner, Yodlee.
conversionConversion: The external account existed prior to conversion to the digital banking platform.
otherOther: The external account existed in the core or was added outside of the digital banking platform.

These enumeration values are further described by the label group named externalAccountSource in the response from the getLabels operation.

type: string


enum values: unknown, mx, yodlee, conversion, other

externalAccountState

"active"

External Account State (v1.1.0)

The state of an external (linked) banking account. This field is immutable and derived.

To change the state of an account, POST the account ID to the corresponding resource endpoints, using the corresponding link on the external account resource:

  • To activate an account, use the apiture:activate link to POST to /accounts/activeAccounts. * To deactivate an account, use the apiture:deactivate link to POST to /accounts/inactiveAccounts. * To freeze an account, use the apiture:freeze link to POST to /accounts/frozenAccounts. * To close an account, use the apiture:close link to POST to /accounts/closedAccounts. * To mark an account as under review, use the apiture:review link to POST to /accounts/externalAccountsUnderReview. * To mark an account as being verified via micro-deposits, use the apiture:requestMicroDepositVerification link to POST to /externalAccountsNeedingMicroDepositVerification.

externalAccountState strings may have one of the following enumerated values:

ValueDescription
pendingPending: A new external account that has not been verified.
verifyingVerifying: A new account that is being verified. This state only applies to external accounts.
failedFailed: A external account which has failed account verification.
activeActive: An account which is active and available for use and for making new transactions.
inactiveInactive: An account which is marked inactive and not available for new transactions. Inactive accounts may be changed back to active.
frozenFrozen: An account which is frozen and not eligible for new transactions. This is typically the result of suspicious activity or fraud detection. The user must contact their financial institution to unfreeze the account (by changing the state back to active) or the financial institution may opt to close the account.
closedClosed: An account that is closed and removed from use. Closed accounts are not eligble for transactions or to become active. Such accounts are retained for historical purposes because some transactions may refer to it. Users do not see closed accounts when they view their accounts.
underReviewUnder Review: A new external account that under is review.
microDepositsRequestedMicro-deposits Requested: A new external account that is starting micro deposits verification. This state only applies to external accounts.

These enumeration values are further described by the label group named externalAccountState in the response from the getLabels operation.

type: string


enum values: pending, verifying, failed, active, inactive, frozen, closed, underReview, microDepositsRequested

externalAccountSummaries

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/accounts/summaryExternalAccount/v1.3.3/profile.json",
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "name": "My account at 3rdParty Bank",
      "type": "savings",
      "ifxType": "SDA",
      "state": "active",
      "verifiedAt": "2018-01-20T18:13:33.375Z",
      "createdAt": "2018-01-20T05:54:52.375Z",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210"
      },
      "institutionName": "3rd Party Bank",
      "primaryUserName": "Lana Michaels"
    }
  ]
}

External Account Summaries (v1.2.3)

A page of embedded external account summaries.

Properties

NameDescription
External Account Summaries (v1.2.3) object
A page of embedded external account summaries.
items array: [summaryExternalAccount] (required)
An array containing a page of external account items.
items: object

externalAccounts

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccounts/v1.3.4/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts"
    }
  },
  "start": "10",
  "limit": 10,
  "count": 67,
  "name": "external accounts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My account at 3rdParty Bank",
        "_profile": "https://production.api.apiture.com/schemas/accounts/externalAccount/v1.4.4/profile.json",
        "type": "savings",
        "ifxType": "SDA",
        "state": "active",
        "primaryUserName": "Lucille Wellphunded",
        "institutionName": "3rdParty Bank",
        "verifiedAt": "2018-01-20T18:13:33.375Z",
        "createdAt": "2018-01-20T05:54:52.375Z",
        "routingNumber": "021000021",
        "accountNumbers": {
          "masked": "*************3210"
        },
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      }
    ]
  }
}

External Account Collection (v1.3.4)

Collection of external accounts. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

NameDescription
External Account Collection (v1.3.4) object
Collection of external accounts. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded externalAccountSummaries (required)
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

identification

{
  "type": "taxId",
  "value": "112-22-3333",
  "expiration": "2024-12-01"
}

Identification (v1.0.1)

Official identifying information associated with the contact.

This schema was resolved from contacts/identification.

Properties

NameDescription
Identification (v1.0.1) object
Official identifying information associated with the contact.

This schema was resolved from contacts/identification.

value string (required)
The value of this form of identification, such as tax ID as a string. The caller should pass the full value (for example "112-22-3333") when creating a contact or user. The input value may include '-' formatting characters. This is a masked value in API responses, with one or more leading '*' characters and only the last four characters unmasked, such as "*****3333".
type identificationType (required)
The type of this form of identification.
enum values: taxId, passportNumber
expiration string(date)
The date when the form of identification expires, in RFC 3339 YYYY-MM-DD format.
format: date

identificationType

"taxId"

Identification Type (v1.0.0)

The type of this form of identification.

identificationType strings may have one of the following enumerated values:

ValueDescription
taxIdTax ID: The government tax ID, such as a Social Security Number
passportNumberPassport Number

These enumeration values are further described by the label group named identificationType in the response from the getLabels operation.

This schema was resolved from contacts/identificationType.

type: string


enum values: taxId, passportNumber

ifxType

"CCA"

IFX Account Type (v1.0.1)

A code which identifies the product type. This is one of the IFX AcctType values. Labels and descriptions for the enumeration values are in the ifxType key in the response of the getLabels operation.

ifxType strings may have one of the following enumerated values:

ValueDescription
CCACredit card account
CDACertificate of deposit account (CD)
CLACommercial loan account
CMACash management account
DDADemand deposit account
EQUHome equity loan
GLAGeneral ledger account
ILAInstallment loan account
INVInvestment account
IRAIndividual retirement account
IRLAccounts held in Ireland
LOCConsumer line of credit
MLAMilitary Lending Account: Credit facility held by former US service member
MMAMoney market account
PBAPackaged bank Account: Account with additional benefits that charges a fixed monthly fee.
PPAPrivate pension administrator
RWDReward accounts
SDASavings deposit account

These enumeration values are further described by the label group named ifxType in the response from the getLabels operation.

This schema was resolved from products/ifxType.

type: string


enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA

individualBeneficiary

{
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha1",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US"
    }
  ],
  "preferredMailingAddressId": "ha1",
  "phones": [
    {
      "_id": "hp1",
      "type": "home",
      "number": "+19105550155"
    },
    {
      "_id": "mp1",
      "type": "mobile",
      "number": "+19105550159"
    },
    {
      "_id": "wp1",
      "type": "work",
      "number": "+19105550162",
      "extension": "4512"
    }
  ],
  "preferredPhoneId": "hp1",
  "type": "individual",
  "percent": 12.5,
  "individual": {
    "firstName": "Bobby",
    "lastName": "Tables",
    "birthDate": "1990-01-01",
    "emailAddress": "test@example.com",
    "relationship": "Person",
    "phoneNumbers": {
      "number": "+19105550155",
      "type": "mobile"
    }
  },
  "taxId": "dhjke45785huryur89rid7liuld8973hdodhwliw474hq4gp47h",
  "_encryption": {
    "taxId": "secret-12345678"
  }
}

Individual Beneficiary (v1.4.0)

Details of a beneficiary who is an individual person. The individual property is only used if type is individual and is thus mutually exclusive with organization.

Properties

NameDescription
Individual Beneficiary (v1.4.0) object
Details of a beneficiary who is an individual person. The individual property is only used if type is individual and is thus mutually exclusive with organization.
firstName string (required)
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string (required)
The person's last name (or surname).
maxLength: 80
addresses array: [address] (required)
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
taxId string
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible. If the ?unmasked=true query parameter is passed, the full, unmasked tax ID is returned.
citizen boolean
Indicates if the person is a (US) citizen.
emailAddress string(email)
Optional email address.
format: email
phones array: [phoneNumber]
An array of phone numbers.
items: object
preferredPhoneId string
The ID of preferred phone number. This string is the _id of a phone number in the phones array.
minLength: 1
maxLength: 4
birthdate string(date)
The beneficiary's birth date in YYYY-MM-DD format.
format: date
relationship string
The beneficiary's relationship to the primary account owner, such as "child" or "spouse".

interest

{
  "yearToDate": "3.12",
  "sinceOpening": "34.62",
  "priorYear": "87.60"
}

Interest (v1.1.0)

The account's accrued interest. The values are in the currency associated with the account.

Properties

NameDescription
Interest (v1.1.0) object
The account's accrued interest. The values are in the currency associated with the account.
yearToDate string
The interest earned to date since the beginning of the year.
read-only
sinceOpening string
The interest earned since the account was opened.
read-only
priorYear string
The interest earned in the prior year. If the account was not yet open in that year, the value is "0.00".
read-only

interestPolicy

"none"

Account Interest Policy (v1.0.0)

How interest credits on the account (if any) are disbursed.

interestPolicy strings may have one of the following enumerated values:

ValueDescription
noneNone: This account does not earn interest.
capitalizeCapitalize: When interest is posted, it is deposited back into the account.
transferTransfer: When interest is posted, it is transferred to another account.

These enumeration values are further described by the label group named interestPolicy in the response from the getLabels operation.

type: string


enum values: none, capitalize, transfer

interestRateTier

{
  "apy": "1.40",
  "nominal": "1.445",
  "minimumBalance": "12000.00"
}

Interest Rate Tier (v1.0.0)

The rates offered for accounts whose minimum balance within the statement period meets or exceeds the tier's minimumBalance and which do not also meet the minimumBalance of a higher tier.

This schema was resolved from products/interestRateTier.

Properties

NameDescription
Interest Rate Tier (v1.0.0) object
The rates offered for accounts whose minimum balance within the statement period meets or exceeds the tier's minimumBalance and which do not also meet the minimumBalance of a higher tier.

This schema was resolved from products/interestRateTier.

minimumBalance string (required)
The minimum balance that a deposit account must hold to earn the rate in this tier. This value is expressed in the product's currency.
nominal string(decimal) (required)
The effective interest rate before accounting for inflation. Used on deposit and loan account products.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2,3}$"
apy string(decimal) (required)
The annual percentage yield (APY): the effective yield from interest, including compounding, as a percentage. Used on deposit account products.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2}$"

interestRates

{
  "apy": "1.24",
  "nominal": "1.242",
  "apye": "1.24",
  "promotional": false
}

Interest Rates (v1.3.2)

The interest rates of the account. For deposit accounts, the rates describe the rate of return; for loan accounts, this includes the interest rate charged on balances. The values strings containing a decimal percentage in order to represent the rate exactly to two or three decimal places (as indicated by the pattern) For example, "1.24" means 1.24%.

Properties

NameDescription
Interest Rates (v1.3.2) object
The interest rates of the account. For deposit accounts, the rates describe the rate of return; for loan accounts, this includes the interest rate charged on balances. The values strings containing a decimal percentage in order to represent the rate exactly to two or three decimal places (as indicated by the pattern) For example, "1.24" means 1.24%.
apy string(decimal)
The annual percentage yield (APY) i the effective yield from interest, including compounding, as a percentage.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2}$"
apye string(decimal)
The annual percentage yield that this account is earning. The apye is an annualized rate based on the amount of interest actually earned, including compounding, as a percentage of the account's average daily balance. The apye is updated every account statement period.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2}$"
nominal string(decimal)
The interest rate that is effective as of the current day. This is the rate before accounting for inflation.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2,3}$"
bumpToApy string(decimal)
The APY of a new rate offered by the financial institution. This property exists if and only if the associated deposit product offers a new bumped APY rate, typically only on CD (time-deposit) accounts that normally have a fixed APY for the term of the CD. The user can accept this APY increase offer via the bumpApyRate operation.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2}$"
originalApy string(decimal)
The original APY for this account's term, before the user bumped the APY rate, and before any promotional rates are applied. If the user bumped the rate, the apy reflects the new bumped APY. This property exists only on CD time-deposit accounts and only if the user has previously bumped APY rate.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2}$"
apr string(decimal)
The base annual percentage rate (APR); typically present on loan accounts.
read-only
format: decimal
pattern: "^-?\\d{1,2}\\.\\d{2,3}$"
promotional boolean
If true, the current rate is a promotional rate. Promotional rates include bumped CD rates or claimed promotional rates taken at account opening (but not both).
promotionType promotionType
Indicates the type of promotional rate that is applied to an account. Only present if promotional is true.

promotionType strings may have one of the following enumerated values:

ValueDescription
bumpedRateBumped Rate: The rate was increased when the user bumped the account's rate as part of a rate guarantee program.
inceptionInception: The account holder claimed a promotional rate code when opening the account.
otherOther: Another promotional rate is applied.

These enumeration values are further described by the label group named promotionType in the response from the getLabels operation.
enum values: other, bumpedRate, inception

promotionExpiresAt string(date-time)
The date/time when the current limited-time promotional rate, in RFC 3339 UTC date-time format. Only present if promotional is true and the rate has an expiration.
format: date-time

interestTargetAccount

{
  "name": "My Premiere Savings",
  "title": "John Smith",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rd Party Bank"
}

Interest Target Account (v1.0.1)

Properties of the target where the financial institution transfers interest disbursements.

Properties

NameDescription
Interest Target Account (v1.0.1) object
Properties of the target where the financial institution transfers interest disbursements.
name string
The account name.
title string
The title of the account. Traditionally, this is the name of the account holder.
maxLength: 512
institutionName string
The name of the financial institution which manages the account.
read-only
minLength: 2
maxLength: 128
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
read-only
minLength: 9
maxLength: 9
accountNumbers accountNumbers
The masked and full account numbers for this account. The full value only appears when ?unmasked=true is passed on the GET request.
read-only

intermediaryServices

"unknown"

Intermediary Services (v1.0.0)

The intermediary/non-bank financial institution services provided.

Warning: the enum list will be removed in a future release and the values defined at runtime via the intermediaryServices group in the response from the getLabels operation.

This schema was resolved from organizations/intermediaryServices.

type: string


enum values: unknown, accounting, fundsManagement, insurance, investment, legal, medical, notary, realEstate, taxPreparation, trustManagement, gambling, securities, loanFinance, pawnBrokerage, travelAgency, vehicleSales, foreignCurrency, preciousMetals, other, notApplicable

internalAccountState

"active"

Internal Account State (v1.0.0)

The state of the account. This field is immutable and derived.

To change the state of an account, POST the account ID to the corresponding resource endpoints, using the corresponding link on the account resource:

  • To activate an account, use the apiture:activate link to POST to /accounts/activeAccounts. * To deactivate an account, use the apiture:deactivate link to POST to /accounts/inactiveAccounts. * To freeze an account, use the apiture:freeze link to POST to /accounts/frozenAccounts. * To close an account, use the apiture:close link to POST to /accounts/closedAccounts.

internalAccountState strings may have one of the following enumerated values:

ValueDescription
pendingPending: A new account resource has been created but its data has not been verified and the account is not active.
activeActive: The account has been created and is now active and available for transactions as determined by the account's banking product.
inactiveInactive: An account which is marked inactive and not available for new transactions. Financial institution administrators can change inactive accounts back to active.
frozenfrozen: An account which is frozen and not eligible for new transactions. This is typically the result of suspicious activity or fraud detection. The user must contact their financial institution to unfreeze the account (by changing the state back to active) or the financial institution may opt to close the account.
closedClosed: An account that is closed and removed from use. Closed accounts are not eligble for transactions or to become active. Such accounts are retained for historical purposes because some transactions may refer to it. Users do not see closed accounts when they view their accounts.

These enumeration values are further described by the label group named internalAccountState in the response from the getLabels operation.

type: string


enum values: pending, active, inactive, frozen, closed

labelGroup

{
  "unknown": {
    "label": "Unknown",
    "code": "0",
    "hidden": true
  },
  "under1Million": {
    "label": "Under $1M",
    "code": "1",
    "range": "[0,1000000.00)",
    "variants": {
      "fr": {
        "label": "Moins de $1M"
      }
    }
  },
  "from1to10Million": {
    "label": "$1M to $10M",
    "code": "2",
    "range": "[1000000.00,10000000.00)",
    "variants": {
      "fr": {
        "label": "$1M \\u00e0 $10M"
      }
    }
  },
  "from10to100Million": {
    "label": "$10M to $100M",
    "code": "3",
    "range": "[10000000.00,100000000.00)",
    "variants": {
      "fr": {
        "label": "$10M \\u00e0 $100M"
      }
    }
  },
  "over100Million": {
    "label": "Over $100,000,000.00",
    "code": "4",
    "range": "[100000000.00,]",
    "variants": {
      "fr": {
        "label": "Plus de $10M"
      }
    }
  },
  "other": {
    "label": "Other",
    "code": "254"
  }
}

Label Group (v1.0.3)

A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

Properties

NameDescription
Label Group (v1.0.3) object
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

Label Item (v1.0.2) labelItem
An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each simpleLabel variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external systems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

labelGroups

{
  "_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "firstGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "key1": {
        "label": "Label for Key 1",
        "code": "1",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 1)"
          },
          "fr": {
            "label": "(French label for Key 1)"
          }
        }
      },
      "key2": {
        "label": "Label for Key 2",
        "code": "2",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 2)"
          },
          "fr": {
            "label": "(French label for Key 2)"
          }
        }
      },
      "key3": {
        "label": "Label for Key 3",
        "code": "3",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 3)"
          },
          "fr": {
            "label": "(French label for Key 3)"
          }
        }
      },
      "other": {
        "label": "Other",
        "variants": {
          "es": {
            "label": "(Spanish label for Other)"
          },
          "fr": {
            "label": "(French label for Other)"
          }
        },
        "code": "254"
      }
    },
    "secondGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "?",
        "hidden": true
      },
      "optionA": {
        "label": "Option A",
        "code": "A"
      },
      "optionB": {
        "label": "Option B",
        "code": "B"
      },
      "optionC": {
        "label": "Option C",
        "code": "C"
      },
      "other": {
        "label": "Other",
        "code": "_"
      }
    }
  }
}

Label Groups (v1.1.3)

A set of named groups of labels, each of which contains multiple item labels.

The abbreviated example shows two groups, one named structure and one named estimatedAnnualRevenue. The first has items with names such as corporation, llc and soleProprietorship, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million has the label "$1M to $10M" and the range [1000000.00,10000000.00).

This schema was resolved from common/labelGroups.

Properties

NameDescription
Label Groups (v1.1.3) object
A set of named groups of labels, each of which contains multiple item labels.

The abbreviated example shows two groups, one named structure and one named estimatedAnnualRevenue. The first has items with names such as corporation, llc and soleProprietorship, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million has the label "$1M to $10M" and the range [1000000.00,10000000.00).

This schema was resolved from common/labelGroups.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
groups object
Groups of localized labels. This maps group namesa group of labels within that group.
» Label Group (v1.0.3) labelGroup
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

labelItem

{
  "label": "Over $100,000,000.00",
  "code": "4",
  "range": "[100000000.00,]",
  "variants": {
    "fr": {
      "label": "Plus de $10M"
    }
  }
}

Label Item (v1.0.2)

An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each simpleLabel variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external systems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

Properties

NameDescription
Label Item (v1.0.2) object
An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each simpleLabel variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external systems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.
variants object
The language-specific variants of this label. The keys in this object are RFC 7231 language codes.
» Simple Label (v1.0.0) simpleLabel
A text label and optional description.

This schema was resolved from common/simpleLabel.

code string
If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value.
minLength: 1
hidden boolean
If true, this item is normally hidden from the User Interface.
range string
The range of values, if the item describes a bounded numeric value. This is range notation such as [min,max], (exclusiveMin,max], [min,exclusiveMax), or (exclusiveMin,exclusiveMax). For example, [0,100) is the range greater than or equal to 0 and less than 100. If the min or max value are omitted, that end of the range is unbounded. For example, (,1000.00) means less than 1000.00 and [20000.00,] means 20000.00 or more. The ranges do not overlap or have gaps.
pattern: "^[\\[\\(](-?(0|[1-9][0-9]*)(\\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\\.[0-9]+)?)?[\\]\\)]$"

{
  "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Application"
}

Link (v1.0.0)

Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

This schema was resolved from common/link.

NameDescription
Link (v1.0.0) object
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

This schema was resolved from common/link.

href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
format: uri
type string
The media type for the resource.
templated boolean
If true, the link's href is a URI template.
title string
An optional human-readable localized title for the link.
deprecation string(uri)
If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.
format: uri
profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.
format: uri

{
  "property1": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  },
  "property2": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  }
}

Links (v1.0.0)

An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

NameDescription
Links (v1.0.0) object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

Link (v1.0.0) link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

This schema was resolved from common/link.

maturityPolicy

"rolloverPrincipalAndInterest"

Maturity Policy (v1.0.0)

Indicates how the principal and interest are processed upon maturity. The values indicate whether to rollover (to a time deposit account of the same rate and term), transfer funds to another (possibly new) deposit account, or simply hold the funds in the current account (which may no longer accrue interest). Labels and descriptions for the enumeration values are in the maturityPolicy key in the response of the getLabels operation.

maturityPolicy strings may have one of the following enumerated values:

ValueDescription
rolloverPrincipalAndInterestRollover principal and interest to a new CD of the same product: Upon maturity, both principal and interest rollover into a specified banking product, such as a savings, checking, or other deposit account.
transferPrincipalAndInterestTransfer principal and interest to a deposit account: Upon maturity, the principal an interest are both transferred to an existing or new deposit account.
rolloverPrincipalAndTransferInterestTransfer interest to a new deposit account an rollover principal to a new CD of the same product: Upon maturity, the principal rolls over into a specified banking product and the interest is transferred to an existing deposit account.
holdPrincipalAndInterestHold principal and accued interest in the CD account until withdrawal: Upon maturity, the principal and interest are held in the current time deposit account. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred.
partialTransferPartial Transfer: Upon maturity, any funds greater than the maturity threshold is transfered to an existing deposit account and the rest remains on deposit. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred.

These enumeration values are further described by the label group named maturityPolicy in the response from the getLabels operation.

This schema was resolved from products/maturityPolicy.

type: string


enum values: rolloverPrincipalAndInterest, transferPrincipalAndInterest, rolloverPrincipalAndTransferInterest, holdPrincipalAndInterest, partialTransfer

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 1.18.0 of the API.
The schema monetaryValue was added on version 1.18.0 of the API.

This schema was resolved from common/monetaryValue.

type: string


pattern: "^(0|[1-9][0-9]*)\.[0-9][0-9]$"

organization

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/organization/v1.7.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/0399abed-fd3d"
    },
    "apiture:deactivate": {
      "href": "https://api.devbank.apiture.com/organizations/inactiveOrganizations?organization=0399abed-fd3d"
    }
  },
  "name": "Smith's Auto Detailing",
  "label": "Smith's Detailing",
  "emailAddresses": [
    {
      "type": "work",
      "value": "smitties-detailing@example.com",
      "_id": "ea0"
    }
  ],
  "identification": [
    {
      "type": "taxId",
      "value": "00-9999999"
    }
  ],
  "phones": [
    {
      "type": "work",
      "number": "+19105550155",
      "_id": "wp0"
    },
    {
      "type": "mobile",
      "number": "+191055501554",
      "_id": "wp1"
    }
  ],
  "addresses": [
    {
      "type": "work",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US"
    }
  ],
  "establishedOn": "2009-07-09",
  "state": "active",
  "currency": "USD",
  "employeeCountRange": "from101to250",
  "employeeCountLowerBound": 1,
  "employeeCountUpperBound": 1,
  "yearsOwned": "two",
  "estimatedAnnualRevenue": "from1to10Million",
  "estimatedMonthlyAmounts": {
    "percentGrossRevenue": "from0to25Percent",
    "sentAch": "moreThanOneMillion",
    "receivedAch": "upToOneHundredThousand",
    "mobileCheckDeposit": "upToOneHundredThousand",
    "remoteCheckDeposit": "upToOneHundredThousand",
    "sentWire": "moreThanOneMillion",
    "receivedWire": "oneHundredThousandToOneMillion"
  },
  "estimatedMonthlyCounts": {
    "sentAch": "oneHundredOneToOneThousand",
    "receivedAch": "oneHundredOneToOneThousand",
    "mobileCheckDeposit": "oneToOneHundred",
    "remoteCheckDeposit": "oneToOneHundred",
    "sentWire": "oneToOneHundred",
    "receivedWire": "oneToOneHundred"
  },
  "physicalLocationsCount": "under10",
  "achEnabled": true,
  "wireEnabled": true,
  "mobileCheckDepositEnabled": true,
  "regulatory": {
    "estimatedAnnualRevenue": "from1to10Million",
    "atmOperator": false,
    "charity": false,
    "cashesChecksMoreThan1000Usd": false,
    "internetGamblingIncorporated": false,
    "marijuanaBusiness": false,
    "moneyOrderMoreThan1000Usd": false,
    "thirdPartyBenefit": false,
    "transmitBehalfOfCustomer": false,
    "virtualCurrency": false,
    "acceptsRcc": false,
    "intermediaryServices": [
      "trustManagement"
    ],
    "subjectToWithholdings": true
  },
  "_id": "0399abed-fd3d",
  "customerId": "1000489353781",
  "tradeName": "Smith's Auto Detailing",
  "preferredEmailAddressId": "ea0",
  "preferredPhoneNumberId": "wp0",
  "preferredMailingAddressId": "wa0",
  "governmentOwned": false,
  "registeredIn": "NC",
  "publiclyHeld": false,
  "smallBusiness": true,
  "taxExempt": false,
  "type": "corporation",
  "subtype": "soleProprietorship",
  "countryOfOperations": "US",
  "authorizedSigners": [],
  "beneficialOwners": [],
  "coreBanking": {
    "finxact": {
      "customerGroup": "--64964c9c8e8f----2d-5e-",
      "partyOrgId": "--4WS6lkgjD4u-----5F-Bg-"
    }
  },
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {}
}

Organization (v1.7.2)

Representation of content and descriptive data (mailing addresses, phone numbers, email addresses) for an organization.

An organization which is used for a business banking account may have authorized signers, which are people authorized to perform banking operations on the business account(s) such as initiating funds transfers.

Regulations require identifying an organization's beneficial owners: people who own 25% or more of a business. These may be listed and updated with the getBeneficialOwners and updateBeneficialOwners operations.

An organization may have the following links in the _links object:

  • apiture:activate - Activate a new, pending organization.
  • apiture:deactivate - Deactivate an organization (if it is pending or active).
  • apiture:remove - Remove an inactive organization.
  • apiture:authorizedSigners - List the authorized signers.
  • apiture:beneficialOwners - List the beneficial owners.

This schema was resolved from organizations/organization.

Properties

NameDescription
Organization (v1.7.2) object
Representation of content and descriptive data (mailing addresses, phone numbers, email addresses) for an organization.

An organization which is used for a business banking account may have authorized signers, which are people authorized to perform banking operations on the business account(s) such as initiating funds transfers.

Regulations require identifying an organization's beneficial owners: people who own 25% or more of a business. These may be listed and updated with the getBeneficialOwners and updateBeneficialOwners operations.

An organization may have the following links in the _links object:

  • apiture:activate - Activate a new, pending organization.
  • apiture:deactivate - Deactivate an organization (if it is pending or active).
  • apiture:remove - Remove an inactive organization.
  • apiture:authorizedSigners - List the authorized signers.
  • apiture:beneficialOwners - List the beneficial owners.

This schema was resolved from organizations/organization.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded organizationEmbeddedObjects
Embedded objects, as selected with the ?embed query parameter.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The organization's official full name
label string
The organization's common name.
type organizationType
Indicates what type of organization this resource represents.

The enumeration values are described by the organizationType value in the response of the getLabels operation.

subtype organizationSubtype
A refinement of the type.

The enumeration values are described by the organizationSubtype value in the response of the getLabels operation.

identification array: [organizationIdentification]
A collection of official identifying information associated with the organization. This currently only supports government tax ID.
items: object
addresses array: [organizationAddress]
An array containing address items.
items: object
phones array: [organizationPhoneNumber]
An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone number.
items: object
emailAddresses array: [organizationEmailAddress]
An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.
items: object
preferredEmailAddressId string
The ID of the organization's preferred email address. This string is the _id of an email address in the emailAddresses array. This value is set with the setPreferredEmailAddress operation.
read-only
minLength: 1
maxLength: 4
preferredPhoneId string
The ID of organization's preferred phone number. This string is the _id of a phone number in the phones array. This value is set with the setPreferredPhoneNumber operation.
read-only
minLength: 1
maxLength: 4
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array. This value is set with the setPreferredMailingAddress operation.
read-only
minLength: 1
maxLength: 4
taxAddressId string
The _id of an address that the financial institution and the organization use for tax purposes. The tax address may differ from the organization's preferred mailing address, but it must be an approved physical address, and it may not be a P.O. Box. This value is set with the setTaxAddress operation.
minLength: 1
maxLength: 4
establishedOn string(date)
The date the organization was established.
format: date
establishedDate string(date)
The date the organization was established.
Warning: The property establishedDate was deprecated on version v1.1.0 of the schema. Use establishedOn instead. establishedDate will be removed on version v2.0.0 of the schema.
format: date
deprecated: true
state organizationState
The state of this organization. The enumeration values are described by the organizationState value in the response of the getLabels operation.
enum values: pending, inactive, active, merged, removed
tradeName string
The trade name of the organization.
governmentOwned boolean
Indicates whether the organization is a government-owned entity.
publiclyHeld boolean
Indicates whether the organization is publicly held.
smallBusiness boolean
Indicates whether the organization is classified as a small business
taxExempt boolean
Indicates whether the organization is the tax-exempt.
employeeCountRange string
Indicates the approximate number of employees, as a range.

The allowed values for this property are defined at runtime in the label group named employeeCountRange in the response from the getLabels operation.

employeeCountLowerBound integer
The lower bound of persons employed, derived from the range selected in employeeCountRange.
read-only
minimum: 1
employeeCountUpperBound number
The lower bound of persons employed, derived from the range selected in employeeCountRange.
read-only
maximum: 20000000
yearsOwned yearsOwned
The number of years the owners/operators have owned the business. Warning: the enum list will be removed in a future release and the values defined at runtime via the yearsOwned group in the response from the getLabels operation.

This schema was resolved from organizations/yearsOwned.
enum values: unknown, one, two, three, fourOrMoreYears, other, notApplicable

physicalLocationsCount physicalLocationsCount
The number of physical sites, offices, or locations the organization owns, operates, or occupies. Warning: the enum list will be removed in a future release and the values defined at runtime via the physicalLocationsCount group in the response from the getLabels operation.

This schema was resolved from organizations/physicalLocationsCount.
enum values: unknown, under10, from10to50, from50to100, moreThan100, other, notApplicable

homeUrl string
The organization's home page.
industry string
Indicates what industry does this organization work within.

The allowed values for this property are defined at runtime in the label group named industrySectors in the response from the getLabels operation.

countryOfOperations string
The ISO 3166-1 country code for the organization's operation.
minLength: 2
maxLength: 2
regulatory regulatory
Answers to organization-specific regulatory questions.
currency string
The ISO 4217 currency code for this monetary value. This is always upper case ASCII. TODO: ISO 4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
minLength: 3
maxLength: 3
mobileCheckDepositEnabled boolean
true if mobile check deposits are enabled for the organization.
achEnabled boolean
true if ACH transfers are enabled the organization.
wireEnabled boolean
true if wire transfers are enabled for the organization .
estimatedMonthlyAmounts estimatedMonthlyAmounts
Estimated monthly amounts for banking services.
estimatedMonthlyCounts estimatedMonthlyCounts
Estimated banking activity per month.
accountPurpose accountPurpose
The purpose of the account.
enum values: unknown, creditCardProcessing, generalOperatingFunds, lottery, payroll, savings, other, notApplicable
registeredIn string
The US state or other region in which the organization is registered.

The allowed values for this property are defined at runtime in the label group named regionCodes in the response from the getLabels operation.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"

_id string
The unique identifier for this organization resource. This is an immutable opaque string.
read-only
customerId string
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the organization in the banking core. The customerId differs from the _id (which is the ID of the resource in the Organizations API).
read-only
minLength: 1
maxLength: 100
createdAt string(date-time)
The date-time when the organization was created.
format: date-time
updatedAt string(date-time)
The date-time when the organization was updated
format: date-time
coreBanking organizationCoreBanking
Organization properties that are specific to the banking core provider.
read-only
attributes object
An optional map of name/value pairs which provide additional metadata about the organization.

organizationAddress

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/organizationAddress/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/f2d87aa6-458c/addresses/ba1"
    },
    "apiture:setAsPreferred": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/f2d87aa6-458c/preferredAddress?value=ba1"
    },
    "apiture:setAsTaxAddress": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/f2d87aa6-458c/taxAddress?value=ba1"
    }
  },
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US",
  "_id": "ba1",
  "type": "business",
  "state": "approved"
}

Organization Address (v1.2.0)

Representation of an organization's address resource.

Response and request bodies using this organizationAddress schema may contain the following links:

RelSummaryMethod
deleteDelete this address resourceDELETE
apiture:setAsPreferredSet Preferred Mailing AddressPUT
apiture:setAsTaxAddressSet Tax AddressPUT

This schema was resolved from organizations/organizationAddress.

Properties

NameDescription
Organization Address (v1.2.0) object
Representation of an organization's address resource.

Response and request bodies using this organizationAddress schema may contain the following links:

RelSummaryMethod
deleteDelete this address resourceDELETE
apiture:setAsPreferredSet Preferred Mailing AddressPUT
apiture:setAsTaxAddressSet Tax AddressPUT

This schema was resolved from organizations/organizationAddress.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
addressLine1 string
The first street address line of the address, normally a house number and street name.
minLength: 4
maxLength: 128
addressLine2 string
The optional second street address line of the address.
maxLength: 128
city string
The name of the city or municipality.
minLength: 2
maxLength: 128
regionCode string
The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
minLength: 5
maxLength: 10
pattern: "^[0-9]{5}(?:-[0-9]{4})?$"
countryCode string
The ISO 3166-1 alpha-2 country code. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"
type addressType (required)
The type of this address.
enum values: unknown, home, prior, work, school, mailing, vacation, shipping, billing, headquarters, commercial, site, property, other, notApplicable
label string
A text label, suitable for presentation to the end user. This is derived from type or from otherType if type is other
read-only
minLength: 4
maxLength: 32
otherType string
The actual address type if type is other.
minLength: 4
maxLength: 32
_id string
An identifier for this address, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all addresses within the addresses array.
minLength: 1
maxLength: 8
pattern: "^[-a-zA-Z0-9_]{1,8}$"
state profileItemState
The state of this address. pending addresses may require financial institution approval. Only approved addresses may be set as the preferred or tax address.
enum values: pending, approved

organizationCoreBanking

{
  "finxact": {
    "customerGroup": "--64964c9c8e8f----2d-5e-",
    "partyOrgId": "--4WS6lkgjD4u-----5F-Bg-"
  }
}

Organization Core Banking Properties (v1.0.0)

Organization properties that are specific to the banking core provider. The actual banking core in which the Apiture platfiorm is executing determines what data appears. The sub-object for each banking core is present on a organization only if the Apiture system is connected to the corresponding core banking provider. The name of each sub-object is the name of that provider.

This schema was resolved from organizations/organizationCoreBanking.

Properties

NameDescription
Organization Core Banking Properties (v1.0.0) object
Organization properties that are specific to the banking core provider. The actual banking core in which the Apiture platfiorm is executing determines what data appears. The sub-object for each banking core is present on a organization only if the Apiture system is connected to the corresponding core banking provider. The name of each sub-object is the name of that provider.

This schema was resolved from organizations/organizationCoreBanking.

finxact organizationFinxactCoreBanking
Organization properties that are specific to the Finxact banking core system. This object is present only if the Apiture platform is connected to a Finxact system.
read-only

organizationEmailAddress

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/organizationEmailAddress/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/f2d87aa6-458c/emailAddresses/pe1"
    },
    "delete": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/f2d87aa6-458c/emailAddresses/pe1"
    },
    "apiture:setAsPreferred": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/f2d87aa6-458c/preferredEmailAddresses?value=pe1"
    }
  },
  "_id": "pe1",
  "type": "personal",
  "number": "+19105550155",
  "state": "approved"
}

Email Address (v1.1.0)

Representation of email address resources. An email address is immutable, although organizations can add new email addresses.

Response and request bodies using this organizationEmailAddress schema may contain the following links:

RelSummaryMethod
deleteDelete this email address resourceDELETE
apiture:setAsPreferredSet Preferred Email AddressPUT

This schema was resolved from organizations/organizationEmailAddress.

Properties

NameDescription
Email Address (v1.1.0) object
Representation of email address resources. An email address is immutable, although organizations can add new email addresses.

Response and request bodies using this organizationEmailAddress schema may contain the following links:

RelSummaryMethod
deleteDelete this email address resourceDELETE
apiture:setAsPreferredSet Preferred Email AddressPUT

This schema was resolved from organizations/organizationEmailAddress.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
value string(email)
The email address, such as JohnBankCustomer@example.com
format: email
minLength: 8
maxLength: 120
type emailType
The kind of email address.
enum values: unknown, personal, work, school, other, notApplicable
_id string
An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all email addresses within the emailAddresses array.
minLength: 1
maxLength: 8
pattern: "^[-a-zA-Z0-9_]{1,8}$"
state profileItemState
The state of this email address. pending email addresses require financial institution approval. Only approved numbers may be set as the preferred email address.
enum values: pending, approved

organizationEmbeddedObjects

{
  "authorizedSigners": {
    "_profile": "https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.2.2/profile.json",
    "_links": {
      "self": {
        "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
      }
    },
    "items": [
      {
        "_id": "as001",
        "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
        "customerId": "10047294723672",
        "type": "authorizedSigner",
        "role": "Chief Financial Officer",
        "firstName": "John",
        "middleName": "Daniel",
        "lastName": "Smith",
        "taxId": "*****3333",
        "citizen": true,
        "addresses": [
          {
            "_id": "ha5",
            "type": "home",
            "addressLine1": "555 N Front Street",
            "addressLine2": "Apt 5555",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401-5405",
            "countryCode": "US"
          }
        ],
        "preferredMailingAddressId": "ha5",
        "emailAddress": "JohnDanielSmith@example.com"
      }
    ]
  },
  "beneficialOwners": {
    "_profile": "https://production.api.apiture.com/schemas/organizations/beneficialOwners/v1.4.0/profile.json",
    "_links": {
      "self": {
        "href": "https://api.devbank.apiture.com//organizations/organizations/0399abed-fd3d/beneficialOwners"
      }
    },
    "items": [
      {
        "_id": "b003",
        "firstName": "William",
        "lastName": "Wellphunded",
        "addresses": [
          {
            "addressLine1": "1234 S Front Street",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401-5405",
            "countryCode": "US",
            "type": "home"
          }
        ],
        "role": "Chief Financial Officer",
        "percentage": 35,
        "birthdate": "1982-10-19",
        "identification": [
          {
            "type": "taxId",
            "value": "111-11-1111"
          }
        ],
        "contactId": "76e018d8-de7e-4631-aad8-fc1aa1d04bf7"
      }
    ]
  }
}

Organization Embedded Objects (v1.2.2)

Objects that are conditionally embedded within an organization object.

This schema was resolved from organizations/organizationEmbeddedObjects.

Properties

NameDescription
Organization Embedded Objects (v1.2.2) object
Objects that are conditionally embedded within an organization object.

This schema was resolved from organizations/organizationEmbeddedObjects.

authorizedSigners authorizedSigners
The list of users who are authorized to access the organization and its bank accounts.

This schema was resolved from organizations/authorizedSigners.

beneficialOwners beneficialOwners
A list of people who own at least 25% of the business or who have a major role in the organization. The sum of the percentages may not exceed 100%. The percentage may be less than 25 for non-owners with a major role, or to retain other owners whose percentage may change to 25% in the future.

This schema was resolved from organizations/beneficialOwners.

organizationFinxactCoreBanking

{
  "customerGroup": "--64964c9c8e8f----2d-5e-",
  "partyOrgId": "--4WS6lkgjD4u-----5F-Bg-"
}

Organization Core Banking Properties (v1.0.0)

Organization properties that are specific to the Finxact banking core system. (Note that the Finxact customerId property is the Apiture organization.customerId.)

This schema was resolved from organizations/organizationFinxactCoreBanking.

Properties

NameDescription
Organization Core Banking Properties (v1.0.0) object
Organization properties that are specific to the Finxact banking core system. (Note that the Finxact customerId property is the Apiture organization.customerId.)

This schema was resolved from organizations/organizationFinxactCoreBanking.

customerGroup string
Each organization in Finxact belongs to a organization group. This property is the Finxact identifier of the this organization's customer group.
read-only
partyOrgId string
The unique identifier for the organization in the Finxact system. (This is analogous to the organization's _id in Apiture.)
read-only

organizationIdentification

{
  "value": "string",
  "type": "taxId",
  "expiresOn": "2019-08-24",
  "expiration": "2019-08-24"
}

Organization Identification (v1.1.0)

The type and value of the organizations unique identification numbers.

This schema was resolved from organizations/organizationIdentification.

Properties

NameDescription
Organization Identification (v1.1.0) object
The type and value of the organizations unique identification numbers.

This schema was resolved from organizations/organizationIdentification.

value string (required)
The value of this form of identification (the tax ID as a string, for example)
type organizationIdentificationType (required)
The type of this form of identification. taxId is the only supported type at this time.
enum values: taxId, dunsNumber
expiresOn string(date)
The date when this form of identification expires.
format: date
expiration string(date)
The date when this form of identification expires.
Warning: The property expiration was deprecated on version v1.1.0 of the schema. Use expiresOn instead. expiration will be removed on version v2.0.0 of the schema.
format: date
deprecated: true

organizationIdentificationType

"taxId"

Organization Identification Type (v1.0.0)

The type of the form of an organization's identification. taxId is the only supported type at this time.

organizationIdentificationType strings may have one of the following enumerated values:

ValueDescription
taxIdTax Identification Number: The company's federal Tax Identification Number. This is also known as the Employer Identification Number or EIN in the US. It may be the owner's SSN for a sole proprietorship.
dunsNumberDun & Bradstreet D-U-N-S Number: Dun & Bradstreet D-U-N-S Number, a unique nine-digit identifier for businesses.

These enumeration values are further described by the label group named organizationIdentificationType in the response from the getLabels operation.

This schema was resolved from organizations/organizationIdentificationType.

type: string


enum values: taxId, dunsNumber

organizationPhoneNumber

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1"
    }
  },
  "_id": "hp1",
  "type": "home",
  "number": "+19105550155",
  "state": "approved"
}

Phone Number (v1.2.0)

Representation of phone number resources.

Response and request bodies using this organizationPhoneNumber schema may contain the following links:

RelSummaryMethod
deleteDelete this phone number resourceDELETE
apiture:setAsPreferredSet Preferred Phone NumberPUT

This schema was resolved from organizations/organizationPhoneNumber.

Properties

NameDescription
Phone Number (v1.2.0) object
Representation of phone number resources.

Response and request bodies using this organizationPhoneNumber schema may contain the following links:

RelSummaryMethod
deleteDelete this phone number resourceDELETE
apiture:setAsPreferredSet Preferred Phone NumberPUT

This schema was resolved from organizations/organizationPhoneNumber.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
type phoneNumberType (required)
The type or role of this phone number.
enum values: unknown, home, work, mobile, fax, other
number string (required)
The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix is +1. Phone numbers are returned in responses in E.164 format with a leading +, country code (up to 3 digits) and subscriber number for a total of up to 15 digits. See Phone Number Representations for more information.
minLength: 8
maxLength: 20
extension string
The extension number for a phone number, as a string. An extension is a short internal number assigned to a particular employee, team, or department of the main business number. Extensions are typically only present when the phone type is work.
minLength: 1
maxLength: 10
pattern: "^[0-9]{1,10}$"
label string
A text label, suitable for presentation to the end user. This is also used if type is other.
maxLength: 32
_id string
An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all phone numbers within the phones array.
minLength: 1
maxLength: 8
pattern: "^[-a-zA-Z0-9_]{1,8}$"
state profileItemState
The state of this phone number. pending numbers require financial institution approval. Only approved numbers may be set as the preferred phone number.
enum values: pending, approved

organizationState

"pending"

Organization State (v1.0.0)

The state of this organization. The enumeration values are described by the organizationState value in the response of the getLabels operation.

organizationState strings may have one of the following enumerated values:

ValueDescription
pendingPending: The organization resource has been created but is not yet active; it is a draft and may be deleted.
inactiveInactive: The organization resource is inactive and not available for use or assignment, such as associated to business account or payee.
activeActive: The organization resource is inactive and not available for use or assignment, such as associated to business account or payee.
mergedMerged: The organization resource is has been merged into another organization and is not available for use or for activating.
removedRemoved: The inactive organization resource is has been marked as removed.

These enumeration values are further described by the label group named organizationState in the response from the getLabels operation.

This schema was resolved from organizations/organizationState.

type: string


enum values: pending, inactive, active, merged, removed

organizationSubtype

"string"

Organization Subtype (v1.0.0)

A refinement of the organization type.

The allowed values for this property are defined at runtime in the label group named organizationSubtype in the response from the getLabels operation.

This schema was resolved from organizations/organizationSubtype.

type: string

organizationType

"string"

Organization Type (v1.0.0)

The primary organization type.

The allowed values for this property are defined at runtime in the label group named organizationType in the response from the getLabels operation.

This schema was resolved from organizations/organizationType.

type: string

overdraftAccount

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/overdraftAccount/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/e4423a9a-b03e"
    },
    "apiture:addAsOverdraftProtection": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccount?account=0115d1b6-a8c1"
    }
  },
  "_id": "e4423a9a-b03e",
  "name": "My Premiere Savings",
  "title": "John Smith",
  "type": "Savings",
  "ifxType": "SDA",
  "maskedAccountNumber": "*************3210"
}

Overdraft Accounts (v1.2.0)

Properties of the account from which funds may be drafted to cover an overdraft against a target account. Such accounts are also known as overdraft sweep accounts.

Response and request bodies using this overdraftAccount schema may contain the following links:

RelSummaryMethod
selfAn overdraft protection accountGET
apiture:accountFull account resourceGET
apiture:addAsOverdraftAccountAdd as an overdraft protection accountPOST

Properties

NameDescription
Overdraft Accounts (v1.2.0) object

Properties of the account from which funds may be drafted to cover an overdraft against a target account. Such accounts are also known as overdraft sweep accounts.

Response and request bodies using this overdraftAccount schema may contain the following links:

RelSummaryMethod
selfAn overdraft protection accountGET
apiture:accountFull account resourceGET
apiture:addAsOverdraftAccountAdd as an overdraft protection accountPOST
_links links (required)
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
The unique identifier for this overdraft account resource. This is an immutable opaque string assigned by the service when an overdraft account resource is added.
read-only
minLength: 8
maxLength: 48
name string (required)
The overdraft sweep account name.
title string (required)
The title of the overdraft sweep account. Traditionally, this is the name of the account holder.
maxLength: 512
type string (required)
The name of the banking product type. This is derived from the product resource.
minLength: 1
maxLength: 128
ifxType ifxType (required)
A code which identifies the product type. This is one of the IFX AcctType values.
enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA
maskedAccountNumber string (required)
The masked account numbers for this account.

overdraftAccounts

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/overdraftAccounts/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "overdraftAccountLimit": 2,
  "enrolled": true,
  "accounts": [
    {
      "_id": "e4423a9a-b03e",
      "_profile": "https://production.api.apiture.com/schemas/accounts/overdraftAccount/v1.2.0/profile.json",
      "name": "My Premiere Savings",
      "title": "John Smith",
      "type": "Savings",
      "ifxType": "SDA",
      "maskedAccountNumber": "*************3210",
      "_links": {
        "self": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccounts/e4423a9a-b03e"
        },
        "apiture:addAsOverdraftProtection": {
          "href": "https://api.devbank.apiture.com/accounts/accounts/0115d1b6-a8c1/overdraftAccounts?account=0115d1b6-a8c1"
        }
      }
    }
  ]
}

Overdraft Accounts (v1.1.0)

A list of accounts which provide overdraft protection for the target account.

Properties

NameDescription
Overdraft Accounts (v1.1.0) object
A list of accounts which provide overdraft protection for the target account.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
accounts array: [overdraftAccount] (required)
An array of eligible accounts. Only accounts This may be an empty array if the target account is not enrolled in or eligible for overdraft protection, or no overdraft accounts have been assigned.
items: object
overdraftAccountLimit integer (required)
The maximum number of accounts that may be assigned as overdraft protection accounts.
minimum: 0
enrolled boolean (required)
true only if the target account is eligible for overdraft protection.

owners

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/owners/v1.2.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "items": [
    {
      "_id": "p001",
      "userId": "bd9e7a93-32cc-435d-ac57-f21faa082318",
      "customerId": "10047294723672",
      "type": "primary",
      "firstName": "John",
      "middleName": "Daniel",
      "lastName": "Smith",
      "taxId": "*****3333",
      "citizen": true,
      "addresses": [
        {
          "_id": "ha5",
          "type": "home",
          "addressLine1": "555 N Front Street",
          "addressLine2": "Apt 5555",
          "city": "Wilmington",
          "regionCode": "NC",
          "postalCode": "28401-5405",
          "countryCode": "US"
        }
      ],
      "preferredMailingAddressId": "ha5",
      "emailAddress": "JohnDanielSmith@example.com"
    }
  ]
}

Owners (v1.2.1)

Personal account primary and joint owners. These are fetched and set via the getOwners operations. Owners are added when other users accept invitations to become joint account holders. The user cannot directly modify this set of owners.

Properties

NameDescription
Owners (v1.2.1) object
Personal account primary and joint owners. These are fetched and set via the getOwners operations. Owners are added when other users accept invitations to become joint account holders. The user cannot directly modify this set of owners.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
items array: [accountOwner]
An array of account owners. For personal accounts, this array contains exactly one primary owner and zero or more joint owners. The maximum number of joint account owners, including the primary owner, is 10 (but in the future, this will be configurable by the financial institution.) The primary owner for new accounts is the user who creates the account application and account. Joint owners are added by inviting others.
minLength: 1
items: object

paymentProviderParameter

{
  "name": "ssoToken",
  "value": "77639FAF::7E77::4CDF::B096::4B5C5F971691--fc09b0af::a30b::4D34834F682826EE1C44"
}

Payment Provider Parameter (v1.0.1)

A single name/value parameter that the client passes to the payment provider user interface component. This is an element of paymentProviderParameters.

Properties

NameDescription
Payment Provider Parameter (v1.0.1) object
A single name/value parameter that the client passes to the payment provider user interface component. This is an element of paymentProviderParameters.
name string (required)
The parameter name.
minLength: 4
maxLength: 32
pattern: "^[a-zA-Z][-a-zA-Z0-9_]{3,31}"
value string (required)
The parameter value.
maxLength: 256

paymentProviderParameters

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/paymentProviderParameters/v1.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "issuer": "payrailz",
  "parameters": [
    {
      "name": "ssoToken",
      "value": "cd8775f7f49a/408a|9afa-982a78bd08bd::7466c8c38489/4541|b695/af7ac2ba4537"
    },
    {
      "name": "refreshToken",
      "value": "130d1a7d_fa0c/453a|86a9_93c411a9df3a::5f1d4ade5c34/40e4|8098/493475dd0c92"
    },
    {
      "name": "fspId",
      "value": "cPsSsLTx-2982-zkztbwEP"
    },
    {
      "name": "payerId",
      "value": "05df5b59-83e4-4f79-8002-42ddbf415feb"
    }
  ]
}

Payment Provider Parameters (v1.1.1)

Parameters that the client passes to the payment provider user interface component. The set of parameter names is dynamic and not defined by a schema, as providers may be deployed after the API has been deployed.

Properties

NameDescription
Payment Provider Parameters (v1.1.1) object
Parameters that the client passes to the payment provider user interface component. The set of parameter names is dynamic and not defined by a schema, as providers may be deployed after the API has been deployed.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
issuer string (required)
The name of the payment provider associated with the parameters.
parameters array: [paymentProviderParameter] (required)
An array of individual payment provider parameters.
items: object

phoneNumber

{
  "_id": "hp1",
  "type": "home",
  "number": "+19105550155"
}

Phone Number (v1.1.0)

A phone number and its role.

This schema was resolved from contacts/phoneNumber.

Properties

NameDescription
Phone Number (v1.1.0) object
A phone number and its role.

This schema was resolved from contacts/phoneNumber.

type phoneNumberType (required)
The type or role of this phone number.
enum values: unknown, home, work, mobile, fax, other
number string (required)
The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix is +1. Phone numbers are returned in responses in E.164 format with a leading +, country code (up to 3 digits) and subscriber number for a total of up to 15 digits. See Phone Number Representations for more information.
minLength: 8
maxLength: 20
extension string
The extension number for a phone number, as a string. An extension is a short internal number assigned to a particular employee, team, or department of the main business number. Extensions are typically only present when the phone type is work.
minLength: 1
maxLength: 10
pattern: "^[0-9]{1,10}$"
label string
A text label, suitable for presentation to the end user. This is also used if type is other.
maxLength: 32
_id string
An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all phone numbers within the phones array.
minLength: 1
maxLength: 8
pattern: "^[-a-zA-Z0-9_]{1,8}$"

phoneNumberType

"unknown"

Phone Number Type (v1.0.0)

The type or role of this phone number.

Warning: The enum list will be removed in a future release.

The allowed values for this property are defined at runtime in the label group named phoneNumberType in the response from the getLabels operation.

This schema was resolved from contacts/phoneNumberType.

type: string


enum values: unknown, home, work, mobile, fax, other

physicalLocationsCount

"unknown"

Physical Locations (v1.0.0)

The number of physical sites, offices, or locations the organization owns, operates, or occupies. Warning: the enum list will be removed in a future release and the values defined at runtime via the physicalLocationsCount group in the response from the getLabels operation.

This schema was resolved from organizations/physicalLocationsCount.

type: string


enum values: unknown, under10, from10to50, from50to100, moreThan100, other, notApplicable

preferredContactMethod

"unknown"

Preferred Contact Method (v1.0.0)

The contact's preferred method of communication.

Warning: The enum list will be removed in a future release.

The allowed values for this property are defined at runtime in the label group named preferredContactMethod in the response from the getLabels operation.

This schema was resolved from contacts/preferredContactMethod.

type: string


enum values: unknown, sms, email, other, notApplicable

prodState

"pending"

Product or Product Type State (v1.0.0)

The state of this product or product type. New resources are pending by default and must be activated before they may be used.

The state property is immutable and derived and may not be changed via the PUT or PATCH operations. To change the state of a product or product type, use the POST operation using the apiture:activate, apiture:deactivate or apiture:remove links on the resource.

prodState strings may have one of the following enumerated values:

ValueDescription
pendingThis product has been created in draft form but is not yet available
activeThis product is active and available for use
inactiveThis product is temporarily not available for use
removedThis product has been removed and is permanently not available for use

These enumeration values are further described by the label group named prodState in the response from the getLabels operation.

This schema was resolved from products/prodState.

type: string


default: "pending"
enum values: pending, active, inactive, removed

productInterestRates

{
  "apy": "1.40",
  "nominal": "1.405",
  "apye": "1.40",
  "compoundPeriod": "P1D",
  "accrualType": "compounding"
}

Product Interest Rates (v1.2.0)

The interest rates for accounts based on this product. For deposit products, the rates describe the rate of return. For loan products, this includes the interest rate charged on balances. The apy, apye, nominal and apr values are a decimal percentage, coded as strings in order to represent the rate exactly. Rates are coded to two or three decimal places. Rates can be fixed, such { "apy" : "1.40" } for 1.4% APY. Rates (usually only on loan accounts) may relative to a benchmark, such as { "benchmark" : "primeUs", "apr" : "0.50" } to express U.S. Prime Rate + 0.5%.

This schema was resolved from products/productInterestRates.

Properties

NameDescription
Product Interest Rates (v1.2.0) object
The interest rates for accounts based on this product. For deposit products, the rates describe the rate of return. For loan products, this includes the interest rate charged on balances. The apy, apye, nominal and apr values are a decimal percentage, coded as strings in order to represent the rate exactly. Rates are coded to two or three decimal places. Rates can be fixed, such { "apy" : "1.40" } for 1.4% APY. Rates (usually only on loan accounts) may relative to a benchmark, such as { "benchmark" : "primeUs", "apr" : "0.50" } to express U.S. Prime Rate + 0.5%.

This schema was resolved from products/productInterestRates.

apy twoDecimalInterestRate(decimal)
The annual percentage yield (APY): the effective yield from interest, including compounding, as a percentage. Used on deposit account products. If the product has rate tiers, this is tiers[0].apy (the lowest tier).
read-only
format: decimal
minLength: 4
maxLength: 5
pattern: "^(0|[1-9]\\d?)\\.\\d{2}$"
apye twoDecimalInterestRate(decimal)
The annualized rate based on the amount of interest actually earned, including compounding, as a percentage of the account's average daily balance. Used on deposit account products.
format: decimal
minLength: 4
maxLength: 5
pattern: "^(0|[1-9]\\d?)\\.\\d{2}$"
nominal threeDecimalInterestRate(decimal)
The effective interest rate before accounting for inflation. Used on deposit and loan account products. If the product has rate tiers, this is tiers[0].nominal (the lowest tier).
read-only
format: decimal
minLength: 5
maxLength: 6
pattern: "^(0|[1-9]\\d?)\\.\\d{3}$"
apr twoDecimalInterestRate(decimal)
The base annual percentage rate (APR) charged on loan accounts. If benchmark is set, the current APR is relative to that benchmark: For example, a rate of { 'apr': '1.00', 'benchmark': 'primeUS' } means the APR is "Prime plus 1.00%": if the current Prime rate is 1.10%, the actual APR is 2.10%. A negative rate means a rate below the benchmark.
read-only
format: decimal
minLength: 4
maxLength: 5
pattern: "^(0|[1-9]\\d?)\\.\\d{2}$"
purchaseApr twoDecimalInterestRate(decimal)
The annual percentage rate charged on purchases in a revolving loan account such as a credit card.
read-only
format: decimal
minLength: 4
maxLength: 5
pattern: "^(0|[1-9]\\d?)\\.\\d{2}$"
withdrawalApr twoDecimalInterestRate(decimal)
The annual percentage rate charged on withdrawals (including cash advances) in a revolving loan account such as a credit card or line of credit.
read-only
format: decimal
minLength: 4
maxLength: 5
pattern: "^(0|[1-9]\\d?)\\.\\d{2}$"
interestRate twoDecimalInterestRate(decimal)
The base annual interest rate for a loan product. This rate excludes fees and other charges which are deflected the APR rates.
read-only
format: decimal
minLength: 4
maxLength: 5
pattern: "^(0|[1-9]\\d?)\\.\\d{2}$"
benchmark string

An optional base benchmark that the rate is relative to. This typically only applies to loan products. If omitted, the rate is fixed. Otherwise the rate is added to the benchmark rate. Values may be (but are not limited to):

compoundPeriod string
The period at which interest compounds. This value is an ISO 8601 duration string of the form P[n]Y[n]M[n]D to specify the compounding in the number of years/months/days. P1D mean compounded daily and P1M mean compounded monthly. The default is "P0D" (continuous).
accrualType accrualType
Indicates how interest is accrued according to the compoundPeriod.
enum values: compounding, simple
adjustmentPeriod string(period)
The period at which the rate is adjusted or recomputed to account for changes in the benchmark rate. This value is an ISO 8601 duration string of the form P[n]Y[n]M[n]D to specify the term in the integral number of years or months or days. The default is "P1D" (daily).
format: period
tiers array: [interestRateTier]
If present, the earned apy and nominal rate for the account statement period is based on looking up the account's minimum balance in this array. The items are sorted from lowest minimumBalance to highest. This array is not present if the rates are fixed (not based on the account's minimum balance): use just the apy and nominal rates.
minItems: 1
items: object

productTarget

"personal"

Product Target (v1.0.0)

The target audience for this product.

productTarget strings may have one of the following enumerated values:

ValueDescription
personalBanking products for personal use
businessBanking products for business use

These enumeration values are further described by the label group named productTarget in the response from the getLabels operation.

This schema was resolved from products/productTarget.

type: string


enum values: personal, business

profileItemState

"approved"

Organization Profile Item State (v1.0.0)

The state of an item (address, email address, or phone number) within the organization's profile. New addresses, email addresses, or phone numbers start with the state pending, which means approval by the financial institution is pending. After they have been verified, the state becomes approved. Some normalizing or sanitizing of the value may occur when this happens (for example, a ZIP code may change to ZIP+4 format). pending items may not be assigned as the preferred item.

profileItemState strings may have one of the following enumerated values:

ValueDescription
pendingPending: A profile item that the financial institution has not yet approved.
approvedApproved: A profile item that the financial institution has approved.

These enumeration values are further described by the label group named profileItemState in the response from the getLabels operation.

This schema was resolved from organizations/profileItemState.

type: string


enum values: pending, approved

promotionType

"other"

Promotion Type (v1.0.0)

Indicates the type of promotional rate that is applied to an account. Only present if promotional is true.

promotionType strings may have one of the following enumerated values:

ValueDescription
bumpedRateBumped Rate: The rate was increased when the user bumped the account's rate as part of a rate guarantee program.
inceptionInception: The account holder claimed a promotional rate code when opening the account.
otherOther: Another promotional rate is applied.

These enumeration values are further described by the label group named promotionType in the response from the getLabels operation.

type: string


enum values: other, bumpedRate, inception

regulatory

{
  "estimatedAnnualRevenue": "unknown",
  "atmOperator": true,
  "charity": true,
  "cashesChecksMoreThan1000Usd": true,
  "internetGamblingIncorporated": true,
  "marijuanaBusiness": true,
  "moneyOrderMoreThan1000Usd": true,
  "thirdPartyBenefit": true,
  "transmitBehalfOfCustomer": true,
  "virtualCurrency": true,
  "acceptsRcc": true,
  "intermediaryServices": [
    "unknown"
  ],
  "subjectToWithholdings": false,
  "property1": {},
  "property2": {}
}

Regulatory (v1.1.0)

Responses to regulatory-related questions.

This schema was resolved from organizations/regulatory.

Properties

NameDescription
Regulatory (v1.1.0) object
Responses to regulatory-related questions.

This schema was resolved from organizations/regulatory.

Regulatory Value (v1.0.0) regulatoryValue
The value associated with this regulatory property.

This schema was resolved from organizations/regulatoryValue.

estimatedAnnualRevenue estimatedAnnualRevenue
The range of estimated revenue in US dollars.
enum values: unknown, under1Million, from1to10Million, from10to100Million, over100Million, other, notApplicable
atmOperator boolean
The organization operates automated teller machines (ATMs).
charity boolean
Some of the organization's income depends on a charity.
cashesChecksMoreThan1000Usd boolean
The organization cashes checks for customers in amounts greater than $1,000.
internetGamblingIncorporated boolean
The organization derives income from internet gambling.
marijuanaBusiness boolean
The organization derives income from marijuana or other drugs/controlled substances.
moneyOrderMoreThan1000Usd boolean
Individuals at the organization may request money orders of more than $1,000.
thirdPartyBenefit boolean
The organization processes transactions on behalf of third parties.
transmitBehalfOfCustomer boolean
The organization transmits funds on behalf of third parties.
virtualCurrency boolean
The organization administers or exchanges virtual currency.
acceptsRcc boolean
The organization accepts Remotely Created Checks (RCCs) for goods or services.
intermediaryServices array: [intermediaryServices]
A list of intermediary/non-bank financial institution services provided the organization performs on behalf of others.
unique items
items: string
» enum values: unknown, accounting, fundsManagement, insurance, investment, legal, medical, notary, realEstate, taxPreparation, trustManagement, gambling, securities, loanFinance, pawnBrokerage, travelAgency, vehicleSales, foreignCurrency, preciousMetals, other, notApplicable
subjectToWithholdings boolean
If true, the organization is subject to tax withholdings.
default: false

regulatoryValue

{}

Regulatory Value (v1.0.0)

The value associated with this regulatory property.

This schema was resolved from organizations/regulatoryValue.

Properties

NameDescription
Regulatory Value (v1.0.0) object
The value associated with this regulatory property.

This schema was resolved from organizations/regulatoryValue.

resourceTrackingId

{
  "id": "476824ec-7f8a-4909-bad7-b05ee26aba0f",
  "createdAt": "2021-06-07T09:11:02.375Z"
}

Resource Tracking Id (v1.0.0)

A tracking ID for a resource. The ID is an opaque string which client applications associate with some other process or resource, such as a promotional campaign.

This schema was resolved from common/resourceTrackingId.

Properties

NameDescription
Resource Tracking Id (v1.0.0) object
A tracking ID for a resource. The ID is an opaque string which client applications associate with some other process or resource, such as a promotional campaign.

This schema was resolved from common/resourceTrackingId.

id string
The unique tracking ID string.
minLength: 4
maxLength: 80
pattern: "^[-_a-zA-Z0-9$]{4,80}$"
createdAt string(date-time)
The date-time the tracking ID was added (if known) in RFC 3338 date-time format, in UTC timezone.
format: date-time

resourceTrackingIds

{
  "_profile": "https://production.api.apiture.com/schemas/common/resourceTrackingIds/v1.1.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId/trackingIds"
    },
    "apiture:resource": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "trackingIds": [
    {
      "id": "476824ec-7f8a-4909-bad7-b05ee26aba0f",
      "createdAt": "2021-06-07T09:11:02.375Z"
    },
    {
      "id": "55c9141a-94d5-4ae8-b664-9ac4c9eaea2d",
      "createdAt": "2021-07-011T15:33:00.375Z"
    }
  ]
}

Resource Tracking IDs (v1.1.3)

Tracking IDs associated with a resource.

Response and request bodies using this resourceTrackingIds schema may contain the following links:

RelSummaryMethod
self This set of resource tracking IDsGET
apiture:resource A Tracked ResourceGET

This schema was resolved from common/resourceTrackingIds.

Properties

NameDescription
Resource Tracking IDs (v1.1.3) object
Tracking IDs associated with a resource.

Response and request bodies using this resourceTrackingIds schema may contain the following links:

RelSummaryMethod
self This set of resource tracking IDsGET
apiture:resource A Tracked ResourceGET

This schema was resolved from common/resourceTrackingIds.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
trackingIds array: [resourceTrackingId]
An array of tracking IDs associated with the resource.
maxItems: 150
items: object

root

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

API Root (v2.1.1)

A HAL response, with hypermedia _links for the top-level resources and operations in API.

This schema was resolved from common/root.

Properties

NameDescription
API Root (v2.1.1) object
A HAL response, with hypermedia _links for the top-level resources and operations in API.

This schema was resolved from common/root.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
This API's version.

simpleAddress

{
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US"
}

Simple Address (v1.0.0)

A postal address.

This schema was resolved from contacts/simpleAddress.

Properties

NameDescription
Simple Address (v1.0.0) object
A postal address.

This schema was resolved from contacts/simpleAddress.

addressLine1 string
The first street address line of the address, normally a house number and street name.
minLength: 4
maxLength: 128
addressLine2 string
The optional second street address line of the address.
maxLength: 128
city string
The name of the city or municipality.
minLength: 2
maxLength: 128
regionCode string
The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
minLength: 5
maxLength: 10
pattern: "^[0-9]{5}(?:-[0-9]{4})?$"
countryCode string
The ISO 3166-1 alpha-2 country code. This is normalized to uppercase.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"

simpleContact

{
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "addresses": [
    {
      "_id": "ha1",
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "_id": "wa1",
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US"
    }
  ],
  "preferredMailingAddressId": "ha1",
  "emailAddresses": [
    {
      "id": "pe0",
      "value": "api@apiture.com",
      "type": "personal"
    },
    {
      "id": "wp1",
      "value": "support@apiture.com",
      "type": "work"
    }
  ],
  "preferredEmailAddressId": "pe0",
  "phones": [
    {
      "_id": "hp1",
      "type": "home",
      "number": "+19105550155"
    },
    {
      "_id": "mp1",
      "type": "mobile",
      "number": "+19105550159"
    },
    {
      "_id": "wp1",
      "type": "work",
      "number": "+19105550162",
      "extension": "4512"
    }
  ],
  "preferredPhoneId": "hp1",
  "preferredName": "John",
  "suffix": "MD",
  "identification": [
    {
      "type": "taxId",
      "value": "*****3333"
    }
  ],
  "preferredContactMethod": "email"
}

Simple Contact (v1.2.0)

Basic contact and identification information for a person, consisting of the name, mailing address, phone numbers, email addresses, and government identification.

This schema was resolved from contacts/simpleContact.

Properties

NameDescription
Simple Contact (v1.2.0) object
Basic contact and identification information for a person, consisting of the name, mailing address, phone numbers, email addresses, and government identification.

This schema was resolved from contacts/simpleContact.

firstName string
The person's first name (or given name).
maxLength: 80
middleName string
The person's middle name.
maxLength: 80
lastName string
The person's last name (or surname).
maxLength: 80
addresses array: [address]
An array of postal/mailing addresses.
items: object
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array.
minLength: 1
maxLength: 4
emailAddresses array: [typedEmailAddress]
An array of email addresses.
items: object
preferredEmailAddressId string
The preferred email address. This string is the _id of an email address in the emailAddresses array.
minLength: 1
maxLength: 4
phones array: [phoneNumber]
An array of phone numbers.
items: object
preferredPhoneId string
The ID of preferred phone number. This string is the _id of a phone number in the phones array.
minLength: 1
maxLength: 4
prefix string
A title or honorific prefix such as Dr. or Fr.
maxLength: 20
suffix string
A title or honorific suffix such as PhD or DDS.
maxLength: 20
preferredName string
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's firstName.
identification array: [identification]
A collection of official identifying information associated with the contact.
items: object
preferredContactMethod preferredContactMethod
The contact's preferred method of communication.
enum values: unknown, sms, email, other, notApplicable

simpleLabel

{
  "label": "Board of Directors",
  "description": "string"
}

Simple Label (v1.0.0)

A text label and optional description.

This schema was resolved from common/simpleLabel.

Properties

NameDescription
Simple Label (v1.0.0) object
A text label and optional description.

This schema was resolved from common/simpleLabel.

label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.

simpleOrganization

{
  "name": "Smith's Auto Detailing",
  "label": "Smith's Detailing",
  "emailAddresses": [
    {
      "type": "work",
      "value": "smitties-detailing@example.com"
    }
  ],
  "identification": [
    {
      "type": "taxId",
      "value": "00-9999999"
    }
  ],
  "phones": [
    {
      "type": "work",
      "number": "+19105550155"
    },
    {
      "type": "mobile",
      "number": "+19105550154"
    }
  ],
  "addresses": [
    {
      "type": "work",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US"
    }
  ],
  "establishedOn": "2009-07-09",
  "_profile": "https://production.api.apiture.com/schemas/organizations/simpleOrganization/v1.4.0/profile.json"
}

Simple Organization (v1.4.0)

The simplest form of an organization.

This schema was resolved from organizations/simpleOrganization.

Properties

NameDescription
Simple Organization (v1.4.0) object
The simplest form of an organization.

This schema was resolved from organizations/simpleOrganization.

name string
The organization's official full name
label string
The organization's common name.
type organizationType
Indicates what type of organization this resource represents.

The enumeration values are described by the organizationType value in the response of the getLabels operation.

subtype organizationSubtype
A refinement of the type.

The enumeration values are described by the organizationSubtype value in the response of the getLabels operation.

identification array: [organizationIdentification]
A collection of official identifying information associated with the organization. This currently only supports government tax ID.
items: object
addresses array: [organizationAddress]
An array containing address items.
items: object
phones array: [organizationPhoneNumber]
An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone number.
items: object
emailAddresses array: [organizationEmailAddress]
An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.
items: object
preferredEmailAddressId string
The ID of the organization's preferred email address. This string is the _id of an email address in the emailAddresses array. This value is set with the setPreferredEmailAddress operation.
read-only
minLength: 1
maxLength: 4
preferredPhoneId string
The ID of organization's preferred phone number. This string is the _id of a phone number in the phones array. This value is set with the setPreferredPhoneNumber operation.
read-only
minLength: 1
maxLength: 4
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array. This value is set with the setPreferredMailingAddress operation.
read-only
minLength: 1
maxLength: 4
taxAddressId string
The _id of an address that the financial institution and the organization use for tax purposes. The tax address may differ from the organization's preferred mailing address, but it must be an approved physical address, and it may not be a P.O. Box. This value is set with the setTaxAddress operation.
minLength: 1
maxLength: 4
establishedOn string(date)
The date the organization was established.
format: date
establishedDate string(date)
The date the organization was established.
Warning: The property establishedDate was deprecated on version v1.1.0 of the schema. Use establishedOn instead. establishedDate will be removed on version v2.0.0 of the schema.
format: date
deprecated: true

summaryAccount

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/summaryAccount/v2.12.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://api.devbank.apiture.com/products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3"
    }
  },
  "name": "My savings",
  "description": "My Basic savings account",
  "interestPolicy": "capitalize",
  "usageAnswers": {
    "primaryAccount": true,
    "accountPurpose": "college savings",
    "primarySourceOfDeposits": "transfers from savings"
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "routingNumber": "021000021",
  "institutionName": "Canapi Bank",
  "state": "active",
  "title": "John Smith",
  "ifxType": "SDA",
  "allowsTransfers": true,
  "accountNumbers": {
    "full": "9876543210",
    "masked": "*************3210"
  },
  "balance": {
    "current": "3450.30",
    "available": "3450.30",
    "currency": "USD",
    "primary": "3450.30",
    "primaryLabel": "Current Balance",
    "primaryDescription": "Current balance includes deposits that have posted but are not yet available. Pending debits are not deducted from this amount."
  },
  "openedAt": "2019-04-30T10:01:07.375Z",
  "paymentsEnabled": false,
  "checkOrderingEnabled": false,
  "regDEnabled": false
}

Account Summary (v2.12.0)

Summary representation of an account resource in accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

By default, not all account fields are set when paging through accounts via the collection. The following fields are not set unless the collection request includes ?fields=*:

  • balance
  • interest
  • cd

Additionally, the summaryAccount representation does not support the full set of links or the nested owners, beneficiaries, and authorized signers available in the account schema returned by the getAccount operation (GET /accounts/{accountId}).

Response and request bodies using this summaryAccount schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this accountGET
apiture:product Banking ProductGET
apiture:application Account ApplicationGET

Properties

NameDescription
Account Summary (v2.12.0) object

Summary representation of an account resource in accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

By default, not all account fields are set when paging through accounts via the collection. The following fields are not set unless the collection request includes ?fields=*:

  • balance
  • interest
  • cd

Additionally, the summaryAccount representation does not support the full set of links or the nested owners, beneficiaries, and authorized signers available in the account schema returned by the getAccount operation (GET /accounts/{accountId}).

Response and request bodies using this summaryAccount schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this accountGET
apiture:product Banking ProductGET
apiture:application Account ApplicationGET
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The user-assigned name of this account.
minLength: 1
maxLength: 128
description string
The user-assigned description of this account.
minLength: 1
maxLength: 4096
interestPolicy interestPolicy
How interest credits on the account (if any) are disbursed. This field is none for non-interest bearing accounts. If this is transfer, the apiture:interestTargetAccount link in the account's _link references the target account for the disbursements. This field applies if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
enum values: none, capitalize, transfer
usageAnswers usageAnswers
Answers to the financial institution’s questions about how the user intends to use the account. This properties and values in this object is based on the financial institution's configuration.
Additional Properties: true
_id string
The unique identifier for this account resource. This is an immutable opaque string.
read-only
state internalAccountState
The state of the internal account.
read-only
enum values: pending, active, inactive, frozen, closed
title string
The name of the account holder. This is derived from the user resource.
maxLength: 512
productName string
The name of the banking product that this account is an instance of. This is derived from the product resource.
read-only
minLength: 1
maxLength: 128
type string
The name of the banking product type. This is derived from the product resource. The subtype is more specific; type is a broad account category.
read-only
minLength: 1
maxLength: 128
subtype string
The name of the banking product sub type. This is derived from the product resource. This is more specific than the type.
read-only
minLength: 1
maxLength: 128
ifxType ifxType
A code which identifies the product type. This is one of the IFX AcctType values.
enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA
accountNumbers accountNumbers
Different representations of the account number.
balance balance
The account balance.
read-only
allowsTransfers boolean
If true, the account is open to deposits and credits such as transfers or rollovers.
read-only
default: true
openedAt string(date-time)
The date-time the account was opened. This is an RFC 3339 UTC time stamp.
read-only
format: date-time
interest interest
Interest disbursement settings for the account.
cd cd
Certificate of Deposit properties for the account.
cycleWithdrawalCount integer
The number of withdrawals made against this account within the current statement cycle. For some deposit accounts such as savings accounts, this is limited to a maximum defined in the corresponding product's constraints. If exceeded over multiple statement cycles, the financial institution may convert the account to a demand deposit (checking) account.
read-only
minimum: 0
institutionName string
The name of the financial institution (FI), derived from the FI's configuration.
read-only
minLength: 2
maxLength: 128
routingNumber string
The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's configuration.
read-only
minLength: 9
maxLength: 9
paymentsEnabled boolean
If true, payments features such as bill pay are enabled and scheduled payments will debit from this account.
The property paymentsEnabled was added on version 2.5.0 of the schema.
read-only
checkOrderingEnabled boolean
If true, the user requesting this account resource may order checks for this account through the Check Orders API. The account state must be active and the associated product must also enable check ordering.
The property checkOrderingEnabled was added on version 2.6.0 of the schema.
read-only
default: false
regDEnabled boolean
If true, the user requesting this account resource may potentially incur a fee on a transaction, with this account, that exceeds the configured transaction limit. The account state must be active and the associated product must also have RegD enabled.
The property regDEnabled was added on version 2.7.0 of the schema.
read-only

summaryExternalAccount

{
  "_profile": "https://production.api.apiture.com/schemas/accounts/summaryExternalAccount/v1.3.3/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My account at 3rdParty Bank",
  "type": "savings",
  "ifxType": "SDA",
  "state": "active",
  "verifiedAt": "2018-01-20T18:13:33.375Z",
  "createdAt": "2018-01-20T05:54:52.375Z",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210"
  },
  "institutionName": "3rd Party Bank",
  "primaryUserName": "Lana Michaels"
}

External Account Summary (v1.3.3)

Summary representation of an external account resource in external accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

Properties

NameDescription
External Account Summary (v1.3.3) object
Summary representation of an external account resource in external accounts collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded externalAccountEmbeddedObjects
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The user-assigned name of this external account
maxLength: 128
description string
The user-assigned description of this external account.
maxLength: 4096
institutionName string
The name of the financial institution.
minLength: 2
maxLength: 128
primaryUserName string
The primary user or owner of the external account.
maxLength: 128
title string
The name of the account holder. This is derived from the user resource.
maxLength: 512
type string
The type of account. This is the name of an external product type associated with this external account. (The product type is defined in the Products API.)
ifxType ifxType
A code which identifies the product type. This is one of the IFX AcctType values.
enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
minLength: 9
maxLength: 9
state externalAccountState
The state of the external account.
read-only
enum values: pending, verifying, failed, active, inactive, frozen, closed, underReview, microDepositsRequested
verifiedAt string(date-time)
The date-time when the external account was most recently verified. This is in RFC 3339 format, UTC.
read-only
format: date-time
verificationMethod verificationMethod
Optional account verification method that was used for linking a new external account.

verificationMethod strings may have one of the following enumerated values:

ValueDescription
instantInstant Account Verification: External account verified by instant account verification.
microDepositsMicro-Deposits: External account verified by micro-deposits.

These enumeration values are further described by the label group named verificationMethod in the response from the getLabels operation.
read-only
enum values: instant, microDeposits

attributes attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.
Additional Properties: true

_id string
The unique identifier for this external account resource. This is an immutable opaque string.
read-only
createdAt string(date-time)
The date-time when the external account was created. This is in RFC 3339format, UTC. This is derived and immutable.
format: date-time
accountNumbers externalAccountNumbers
The masked and full account number

summaryOrganization

{
  "_profile": "https://production.api.apiture.com/schemas/organizations/summaryOrganization/v1.6.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/organizations/organizations/0399abed-fd3d"
    }
  },
  "name": "Smith's Auto Detailing",
  "label": "Smith's Detailing",
  "emailAddresses": [
    {
      "type": "work",
      "value": "smitties-detailing@example.com"
    }
  ],
  "identification": [
    {
      "type": "taxId",
      "value": "00-9999999"
    }
  ],
  "phones": [
    {
      "type": "work",
      "number": "+19105550155"
    },
    {
      "type": "mobile",
      "number": "+19105550154"
    }
  ],
  "addresses": [
    {
      "type": "work",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US"
    }
  ],
  "establishedOn": "2009-07-09",
  "state": "active",
  "currency": "USD",
  "employeeCountRange": "from101to250",
  "employeeCountLowerBound": 101,
  "employeeCountUpperBound": 250,
  "yearsOwned": "two",
  "estimatedAnnualRevenue": "from1to10Million",
  "estimatedMonthlyAmounts": {
    "percentGrossRevenue": "from0to25Percent",
    "sentAch": "moreThanOneMillion",
    "receivedAch": "upToOneHundredThousand",
    "mobileCheckDeposit": "upToOneHundredThousand",
    "remoteCheckDeposit": "upToOneHundredThousand",
    "sentWire": "moreThanOneMillion",
    "receivedWire": "oneHundredThousandToOneMillion"
  },
  "estimatedMonthlyCounts": {
    "sentAch": "oneHundredOneToOneThousand",
    "receivedAch": "oneHundredOneToOneThousand",
    "mobileCheckDeposit": "oneToOneHundred",
    "remoteCheckDeposit": "oneToOneHundred",
    "sentWire": "oneToOneHundred",
    "receivedWire": "oneToOneHundred"
  },
  "physicalLocationsCount": "under10",
  "achEnabled": true,
  "wireEnabled": true,
  "mobileCheckDepositEnabled": true,
  "regulatory": {
    "estimatedAnnualRevenue": "from1to10Million",
    "atmOperator": false,
    "charity": false,
    "cashesChecksMoreThan1000Usd": false,
    "internetGamblingIncorporated": false,
    "marijuanaBusiness": false,
    "moneyOrderMoreThan1000Usd": false,
    "thirdPartyBenefit": false,
    "transmitBehalfOfCustomer": false,
    "virtualCurrency": false,
    "acceptsRcc": false,
    "intermediaryServices": "trustManagement",
    "subjectToWithholdings": true
  },
  "_id": "0399abed-fd3d"
}

Organization Summary (v1.6.0)

Summary representation of an organization resource in organizations collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

This schema was resolved from organizations/summaryOrganization.

Properties

NameDescription
Organization Summary (v1.6.0) object
Summary representation of an organization resource in organizations collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

This schema was resolved from organizations/summaryOrganization.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The organization's official full name
label string
The organization's common name.
type organizationType
Indicates what type of organization this resource represents.

The enumeration values are described by the organizationType value in the response of the getLabels operation.

subtype organizationSubtype
A refinement of the type.

The enumeration values are described by the organizationSubtype value in the response of the getLabels operation.

identification array: [organizationIdentification]
A collection of official identifying information associated with the organization. This currently only supports government tax ID.
items: object
addresses array: [organizationAddress]
An array containing address items.
items: object
phones array: [organizationPhoneNumber]
An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone number.
items: object
emailAddresses array: [organizationEmailAddress]
An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.
items: object
preferredEmailAddressId string
The ID of the organization's preferred email address. This string is the _id of an email address in the emailAddresses array. This value is set with the setPreferredEmailAddress operation.
read-only
minLength: 1
maxLength: 4
preferredPhoneId string
The ID of organization's preferred phone number. This string is the _id of a phone number in the phones array. This value is set with the setPreferredPhoneNumber operation.
read-only
minLength: 1
maxLength: 4
preferredMailingAddressId string
The preferred mailing address. This string is the _id of an address in the addresses array. This value is set with the setPreferredMailingAddress operation.
read-only
minLength: 1
maxLength: 4
taxAddressId string
The _id of an address that the financial institution and the organization use for tax purposes. The tax address may differ from the organization's preferred mailing address, but it must be an approved physical address, and it may not be a P.O. Box. This value is set with the setTaxAddress operation.
minLength: 1
maxLength: 4
establishedOn string(date)
The date the organization was established.
format: date
establishedDate string(date)
The date the organization was established.
Warning: The property establishedDate was deprecated on version v1.1.0 of the schema. Use establishedOn instead. establishedDate will be removed on version v2.0.0 of the schema.
format: date
deprecated: true
state organizationState
The state of this organization. The enumeration values are described by the organizationState value in the response of the getLabels operation.
enum values: pending, inactive, active, merged, removed
tradeName string
The trade name of the organization.
governmentOwned boolean
Indicates whether the organization is a government-owned entity.
publiclyHeld boolean
Indicates whether the organization is publicly held.
smallBusiness boolean
Indicates whether the organization is classified as a small business
taxExempt boolean
Indicates whether the organization is the tax-exempt.
employeeCountRange string
Indicates the approximate number of employees, as a range.

The allowed values for this property are defined at runtime in the label group named employeeCountRange in the response from the getLabels operation.

employeeCountLowerBound integer
The lower bound of persons employed, derived from the range selected in employeeCountRange.
read-only
minimum: 1
employeeCountUpperBound number
The lower bound of persons employed, derived from the range selected in employeeCountRange.
read-only
maximum: 20000000
yearsOwned yearsOwned
The number of years the owners/operators have owned the business. Warning: the enum list will be removed in a future release and the values defined at runtime via the yearsOwned group in the response from the getLabels operation.

This schema was resolved from organizations/yearsOwned.
enum values: unknown, one, two, three, fourOrMoreYears, other, notApplicable

physicalLocationsCount physicalLocationsCount
The number of physical sites, offices, or locations the organization owns, operates, or occupies. Warning: the enum list will be removed in a future release and the values defined at runtime via the physicalLocationsCount group in the response from the getLabels operation.

This schema was resolved from organizations/physicalLocationsCount.
enum values: unknown, under10, from10to50, from50to100, moreThan100, other, notApplicable

homeUrl string
The organization's home page.
industry string
Indicates what industry does this organization work within.

The allowed values for this property are defined at runtime in the label group named industrySectors in the response from the getLabels operation.

countryOfOperations string
The ISO 3166-1 country code for the organization's operation.
minLength: 2
maxLength: 2
regulatory regulatory
Answers to organization-specific regulatory questions.
currency string
The ISO 4217 currency code for this monetary value. This is always upper case ASCII. TODO: ISO 4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
minLength: 3
maxLength: 3
mobileCheckDepositEnabled boolean
true if mobile check deposits are enabled for the organization.
achEnabled boolean
true if ACH transfers are enabled the organization.
wireEnabled boolean
true if wire transfers are enabled for the organization .
estimatedMonthlyAmounts estimatedMonthlyAmounts
Estimated monthly amounts for banking services.
estimatedMonthlyCounts estimatedMonthlyCounts
Estimated banking activity per month.
accountPurpose accountPurpose
The purpose of the account.
enum values: unknown, creditCardProcessing, generalOperatingFunds, lottery, payroll, savings, other, notApplicable
registeredIn string
The US state or other region in which the organization is registered.

The allowed values for this property are defined at runtime in the label group named regionCodes in the response from the getLabels operation.
minLength: 2
maxLength: 2
pattern: "^[a-zA-Z]{2}$"

_id string
The unique identifier for this organization resource. This is an immutable opaque string.
read-only
customerId string
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the organization in the banking core. The customerId differs from the _id (which is the ID of the resource in the Organizations API).
read-only
minLength: 1
maxLength: 100

summaryProduct

{
  "_profile": "https://production.api.apiture.com/schemas/products/summaryProduct/v3.3.1/profile.json",
  "_links": {
    "self": {
      "href": "/products/products/a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:productType": {
      "href": "/products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8"
    },
    "apiture:productSubtype": {
      "href": "/products/productTypes/fa4f2335-3306-4721-b74c-8ec0c77823e9"
    }
  },
  "_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
  "name": "Premiere Checking",
  "label": "Premiere Checking",
  "description": "A premiere demand deposit checking account for business use.",
  "state": "active",
  "type": "Demand Deposit",
  "subtype": "Demand Deposit with Interest",
  "newAccountAvailability": "available",
  "availability": "general",
  "target": "business",
  "_embedded": {},
  "ifxType": "DDA",
  "rates": {
    "apy": "1.45",
    "nominal": "1.455",
    "apye": "1.45",
    "compoundPeriod": "P1D",
    "accrualType": "compounding"
  },
  "currency": "USD",
  "paymentsEnabled": true,
  "checkOrderingEnabled": true,
  "regDEnabled": true,
  "promotionalCodesEnabled": true,
  "constraints": {
    "transactionTypes": [
      "debit",
      "credit"
    ],
    "minimumBalance": "500.00",
    "minimumFundingAmount": "500.00",
    "maximumFundingAmount": "25000.00",
    "maximumTransferAmount": "25000.00",
    "fundingTerm": "P7D"
  }
}

Product Summary (v3.3.1)

Summary representation of a product resource in products collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. This representation omits the attributes of the full representation.

Response and request bodies using this summaryProduct schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this productGET
apiture:productTypeFetch a representation of this product type.GET
apiture:productSubtypeFetch a representation of this product type.GET

This schema was resolved from products/summaryProduct.

Properties

NameDescription
Product Summary (v3.3.1) object
Summary representation of a product resource in products collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects. This representation omits the attributes of the full representation.

Response and request bodies using this summaryProduct schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this productGET
apiture:productTypeFetch a representation of this product type.GET
apiture:productSubtypeFetch a representation of this product type.GET

This schema was resolved from products/summaryProduct.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The name of this product.
minLength: 1
maxLength: 128
label string
The text label for this product. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown)
A fuller description of this product. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
format: markdown
minLength: 1
maxLength: 4096
code string
The unique product code for this product, normally defined by the underlying banking core. The code cannot be changed once the state is beyond pending.
maxLength: 64
category string
The product category name. This is a more readable form of the product's type.
ifxType ifxType
The product IFX Account Type.
enum values: CCA, CDA, CLA, CMA, DDA, EQU, GLA, ILA, INV, IRA, IRL, LOC, MLA, MMA, PBA, PPA, RWD, SDA
target productTarget
Describes the target audience or consumer of the accounts, personal or business. Labels and descriptions for the enumeration values are in the productTarget key in the response of the getLabels operation.
enum values: personal, business
rates productInterestRates
The interest rates for this product.
currency string
The ISO 4217 currency code for this product.
minLength: 3
maxLength: 3
state prodState
The state of this product or product type. New resources are pending by default and must be activated before they may be used.

The state property is immutable and derived and may not be changed via the PUT or PATCH operations. To change the state of a product or product type, use the POST operation using the apiture:activate, apiture:deactivate or apiture:remove links on the resource.
default: "pending"
enum values: pending, active, inactive, removed

_id string
The unique identifier for this product resource. This is an immutable opaque string.
read-only
type string
The product type name, which is derived from the linked product type.
read-only
subtype string
The product subtype name, which is derived from the linked product subtype. This is a derived, immutable property.
read-only
constraints constraints
Product constraints, such as minimum and maximum balances.

This schema was resolved from products/constraints.

paymentsEnabled boolean
If true, active accounts of this banking product may be eligible for payment features such as bill pay. This is merely the default; clients should check the paymentsEnabled property on the account service to ensure payment services are available for the authenticated account user.
The property paymentsEnabled was added on version 2.3.0 of the schema.
The property paymentsEnabled was added on version 2.3.0 of the schema.
read-only
checkOrderingEnabled boolean
If true, active accounts derived from this banking product may allow ordering checks through the Check Orders API. Accounts inherit this value from their product. The financial institution may disable check ordering on individual accounts, so clients should reference the checkOrderingEnabled property on the account.
The property checkOrderingEnabled was added on version 2.3.0 of the schema.
The property checkOrderingEnabled was added on version 2.3.0 of the schema.
read-only
default: false
regDEnabled boolean
If true, active accounts derived from this banking product will potentially incur a fee on a transaction that exceeds the configured transaction limit. Accounts inherit this value from their product. This configuration is product specific so clients will reference the regDEnabled property on the product associated to that account.
The property regDEnabled was added on version 2.8.0 of the schema.
The property regDEnabled was added on version 2.8.0 of the schema.
read-only
default: false
promotionalCodesEnabled boolean
If true, new accounts derived from this banking product may be eligible for promotional rates, activated with a promotion code entered during account opening.
default: false

threeDecimalInterestRate

"1.405"

Three Decimal Interest Rate (v1.0.0)

An interest rate, expressed as a percentage value with three decimal places of accuracy.
The schema threeDecimalInterestRate was added on version 1.18.0 of the API.
The schema threeDecimalInterestRate was added on version 1.18.0 of the API.

This schema was resolved from common/threeDecimalInterestRate.

type: string(decimal)


format: decimal
minLength: 5
maxLength: 6
pattern: "^(0|[1-9]\d?)\.\d{3}$"

transactionType

"debit"

Transaction Type (v1.0.0)

A string which defines a transaction type allowed for an account.

  • credit : Credits may be posted to this account, such as transfer funds to this external account.
  • debit : Debits may be posted to this account, such as transfer funds from this external account. Labels and descriptions for the enumeration values are in the transactionType key in the response of the getLabels operation.

transactionType strings may have one of the following enumerated values:

ValueDescription
debitA transaction which descreases an account's balance
creditA transaction which increases an accounts's balance

These enumeration values are further described by the label group named transactionType in the response from the getLabels operation.

This schema was resolved from products/transactionType.

type: string


enum values: debit, credit

transactionTypes

[
  "debit"
]

Transaction Types (v1.0.0)

An array which lists which transaction types are allowed for an account.

This schema was resolved from products/transactionTypes.

transactionTypes is an array schema.

Array Elements

type: array: [transactionType]

twoDecimalInterestRate

"1.40"

Two Decimal Interest Rate (v1.0.0)

An interest rate, expressed as a percentage value with two decimal places of accuracy.
The schema twoDecimalInterestRate was added on version 1.18.0 of the API.
The schema twoDecimalInterestRate was added on version 1.18.0 of the API.

This schema was resolved from common/twoDecimalInterestRate.

type: string(decimal)


format: decimal
minLength: 4
maxLength: 5
pattern: "^(0|[1-9]\d?)\.\d{2}$"

typedEmailAddress

{
  "value": "JohnBankCustomer@example.com",
  "type": "unknown",
  "_id": "ha3"
}

Email Address (v1.0.0)

An email address and the email address type.

This schema was resolved from contacts/typedEmailAddress.

Properties

NameDescription
Email Address (v1.0.0) object
An email address and the email address type.

This schema was resolved from contacts/typedEmailAddress.

value string(email)
The email address, such as JohnBankCustomer@example.com
format: email
minLength: 8
maxLength: 120
type emailType
The kind of email address.
enum values: unknown, personal, work, school, other, notApplicable
_id string
An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique _id if the client does not provide one. The _id must be unique across all email addresses within the emailAddresses array.
minLength: 1
maxLength: 8
pattern: "^[-a-zA-Z0-9_]{1,8}$"

updateAccountProduct

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {}
}

Update Account Product (v1.0.1)

Properties required to update a product on an account.

Properties

NameDescription
Update Account Product (v1.0.1) object
Properties required to update a product on an account.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
productId string (required)
The ID of the banking product that this account is converted to. This is the _id from a product or product summary object.
read-only
consentId string (required)
The id of the user's most recent consent for the new product. This is the _id of the consent resource whose targetUri is the terms and conditions document for the selected product.
read-only

usageAnswers

{
  "primaryAccount": true,
  "accountPurpose": "college savings",
  "primarySourceOfDeposits": "transfers from savings"
}

Usage Answers (v1.0.0)

Answers to financial institution questions on how the account is to be used. The questions correspond to the property names in questionsSchema in the configuration group accountUsageQuestions.

Properties

NameDescription
Usage Answers (v1.0.0) object
Answers to financial institution questions on how the account is to be used. The questions correspond to the property names in questionsSchema in the configuration group accountUsageQuestions.
Additional Properties: true

verificationMethod

"instant"

Verification Method (v1.0.1)

Optional account verification method that was used for linking a new external account.

verificationMethod strings may have one of the following enumerated values:

ValueDescription
instantInstant Account Verification: External account verified by instant account verification.
microDepositsMicro-Deposits: External account verified by micro-deposits.

These enumeration values are further described by the label group named verificationMethod in the response from the getLabels operation.

type: string


read-only
enum values: instant, microDeposits

yearsOwned

"unknown"

Years Owned (v1.0.0)

The number of years the owners/operators have owned the business. Warning: the enum list will be removed in a future release and the values defined at runtime via the yearsOwned group in the response from the getLabels operation.

This schema was resolved from organizations/yearsOwned.

type: string


enum values: unknown, one, two, three, fourOrMoreYears, other, notApplicable


Generated by @apiture/api-doc 3.2.4 on Mon Oct 28 2024 14:41:01 GMT+0000 (Coordinated Universal Time).