Banking Products v0.37.0

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

This API manages the set of banking products that a financial institution offers to its customers. Each bank account is associated with a product. Examples of products are a personal savings account product or a business checking account product. Each product also has a product type (for example, DDA for a checking or demand deposit account) and a subtype which is a more specific type, such as 'Interest Checking'.

Each bank account is attached to the product instance that was effective and active when account was created. Product types may also have subtypes, although subtypes may not have deeper subtypes. Products and product types each have a name, a description, a label, and a state.

The state of a product may be one of the following:

  • pending In creation, not yet used or available for use. Only pending items may be deleted.
  • active Active and in use or available for use
  • inactive Not available for use (deactivated)
  • removed Removed and archived. Removed items are not eligible to be activated. When an product is removed, its name is changed so that the name may be used for new products or product types.

After creating a product type or product subtype, which by default leaves the resource in the pending state, the caller should also activate it via the apiture:activate link in the response. Pending resources which have not been activated may be deleted after an expiration period.

Allowed state transitions are:

  • pending -> active
  • pending -> inactive
  • active -> inactive
  • inactive -> active
  • active -> removed
  • inactive -> removed

A product or product type may only be deleted if its state is pending. A product or type may only change to inactive if it is not currently in use by active accounts or active products. Products and product types include links which convey the allowed POST operations, such as apiture:activate, apiture:deactivate, or apiture:remove.In addition, a product has newAccountAvailability which indicates if that product is available for opening new accounts.

This API also supports service configuration operations.

This resource is a copy of the banking product resources in the bank core.

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.

activateProductInvalidState

Description: Products may only be activated if they are in an inactive or pending state.
Remediation: Check the state of your Product and the applicable allowed state transitions in the Products API documentation.

activateProductSubTypeInvalidState

Description: The state of the resource may not be changed to active or inactive when the product type or subtype is still pending.
Remediation: Check the state of your product type and subtype and ensure it is not pending.

canOnlyLockUnlockActive

Description: You can only lock or unlock a product if its state is active.
Remediation: Activate the product and resubmit the operation.

cannotChangeRateType

Description: The products rate type may not be changed once created.
Remediation: Remove the product and recreate it with the desired rate type or create a new product.

cannotChangeRemovedProductTypeState

Description: The state of a removed productType may not be changed.
Remediation: Check the state of the productType and ensure it is not removed.

cannotPatchProductFields

Description: A products _id and newAccountAvailability cannot be patched.
Remediation: Remove the _id and newAccountAvailability from the request body and try again.

cannotUpdateProductTypeState

Description: The state of a productType cannot be changed using a PUT method.
Remediation: Check the API documentation for the /activeProductTypes, /inactiveProductTypes, and /removedProductTypes endpoints.

deactivateProductInvalidState

Description: Products may only be deactivated if they are in a pending or active state.
Remediation: Check the state of your Product and the applicable allowed state transitions in the Products API documentation.

deleteProductInvalidState

Description: Products may only be deleted if they are in a pending state.
Remediation: Check the state of your Product and the applicable allowed state transitions in the Products API documentation.

deleteProductTypeInvalidState

Description: A product type may not be deleted if the state is anything other than pending, or if the type is used by a pending product.
Remediation: Check the state of the productType and ensure it is not pending. Also ensure that any products using the productType are not pending.

ifMatchHeaderDoesNotMatch

Description: The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Remediation: Resubmit the operation, supplying the value of the ETag and the most recent state of the resource.

invalidAccountAvailability

Description: The product new account availability is not valid.
Remediation: Resubmit the operation and supply a valid product new account availability value.

invalidConstraintItemAmount

Description: The given fees item amount value is not valid.
Remediation: Check to make sure the fees item amount is a valid numerical value. Also make sure the value is greater than 0.

invalidConstraintMaxFundingAmount

Description: The given maximumFundingAmount value is not valid.
Remediation: Check to make sure the maximumFundingAmount is a valid numerical value. Also make sure the value is greater than minimum value and the value is greater than 0.

invalidConstraintMaxTransferAmount

Description: The given maximumTransferAmount value is not valid.
Remediation: Check to make sure the maximumTransferAmount is a valid numerical value. Also make sure the value is greater than minimum value and the value is greater than 0.

invalidConstraintMinBalance

Description: The given minimumBalance value is not valid.
Remediation: Check to make sure the minimumBalance is a valid numerical value. Also make sure the value is greater than minimum value and the value is greater than 0.

invalidConstraintMinFundingAmount

Description: The given minimumFundingAmount value is not valid.
Remediation: Check to make sure the minimumFundingAmount is a valid numerical value. Also make sure the value is greater than minimum value and the value is greater than 0.

invalidConstraintMinTransferAmount

Description: The given minimumTransferAmount value is not valid.
Remediation: Check to make sure the minimumTransferAmount is a valid numerical value. Also make sure the value is greater than minimum value and the value is greater than 0.

invalidFeesType

Description: The fee must be an array.
Remediation: Check the type of the fee field and resubmit.

invalidProductId

Description: No Products were found for the specified productId.
Remediation: Check to make sure that the supplied productId corresponds to an apiture product resource.

invalidProductLinkToSubType

Description: A link to apiture:productSubtype is missing or is invalid.
Remediation: Check to make sure the product has a valid subtype or that the subtype exists.

invalidProductState

Description: The supplied product state is invalid.
Remediation: Resubmit the operation, supplying a valid product state.

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

Property Type Description
validStates [string] The required states for this operation

invalidProductTypeId

Description: No product types were found for the specified productTypeId.
Remediation: Check to make sure that the supplied productType corresponds to an apiture product type resource.

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

invalidRateValues

Description: The rate object contains invalid values.
Remediation: Check the values of the rate object and resubmit.

invalidTransactionTypes

Description: The given transaction type is not valid.
Remediation: Resubmit the operation and supply a valid transaction type.

malformedCreateProductBody

Description: The supplied request body to create a product did not contain a description or label.
Remediation: Resubmit the request with a description and label in the body.

malformedProduct

Description: The supplied product was malformed.
Remediation: Check to make sure that the supplied product parameter corresponds to an apiture product resource.

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

Property Type Description
product string The URI or the ID of an existing product

malformedProductType

Description: The supplied productType was malformed.
Remediation: Check to make sure that the supplied productType corresponds to an apiture productType resource.

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

Property Type Description
productType string The invalid product type URI.

malformedRequestBody

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

productCodeInUse

Description: The given product code is currently in use, and cannot be reused.
Remediation: Delete the product with the specified code, or use a different code.

productInUse

Description: A product or product type cannot be deactivated or removed if it is in use by any accounts.
Remediation: Do not try to deactivate or remove products or product types which are in use.

productNameInUse

Description: The given product name is currently in use, and cannot be reused.
Remediation: Delete the product with the specified name, or use a different name.

productStateCannotBeAltered

Description: A products state cannot be altered using the PATCH operation.
Remediation: Check the API documentation for the /activeProducts, /inactiveProducts, /removedProducts, /lockedProducts, and /unlockedProducts endpoints.

productTypeDoesNotExist

Description: The given product type does not exist.
Remediation: Verify that the product type exists for the subtype or parent type and resubmit.

removeProductInvalidState

Description: Products may only be removed if they are in an inactive or active state.
Remediation: Check the state of your Product and the applicable allowed state transitions in the Products API documentation.

removeProductTypeInvalidState

Description: A product type may not be updated if the state is removed.
Remediation: Check the state of the productType and ensure it not removed.

updateProductTypeInvalidState

Description: A product type may not be removed if the state is anything other than inactive.
Remediation: Check the state of the productType and ensure it is inactive.

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
admin/read Read admin access to non-account, non-profile data.
admin/write Write admin access to non-account, non-profile data.
admin/delete Delete admin access to non-account, non-profile data.

Product

Banking Products

getProducts

Code samples

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

GET https://api.devbank.apiture.com/products/products 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/products/products',
{
  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/products/products',
  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/products/products',
  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/products/products', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/products");
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/products/products", data)
    req.Header = headers

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

Return a collection of products

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

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

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first product in this page. The default, 0, represents the first page of the collection.
format: int64
default: 0
limit
in: query
integer(int32)
The maximum number of product 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
code
category
target
label.
name
in: query
string
Subset the products or product types collection to those with this name value. This is combined with an implicit and with other filters if they are used. See filtering.
type
in: query
string
Subset the products or product types collection to those with this exact type value. This is combined with an implicit and with other filters if they are used. See filtering.
code
in: query
string
Subset the products or product types collection to those whose code matches this value. Use | to separate multiple values. For example, ?type=B2001 matches only items whose type is B2001, but ?type=B2001|B3002 matches items whose type is B2001 or B3002. This is combined with an implicit and with ?state ?filter if they are used. See filtering.
category
in: query
string
Subset the products or product types collection to those whose category matches this value. Use | to separate multiple values. For example, ?category=Savings matches only items whose category is Savings, but ?category=Savings|Checking matches items whose type is Savings or Checking. This is combined with an implicit and with other filters if they are used. See filtering.
state
in: query
string
Subset the products or product types 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.
target
in: query
string
Subset the products or product types collection to those whose target matches this value (personal or business). For example, ?target=personal matches only items whose target is personal. This is combined with an implicit and with other filters if they are used. See filtering.
enum values: personal, business
ifxType
in: query
string
Subset the products collection to those whose ifxType matches this value. Use | to separate multiple values. For example, ?ifxType=SDA matches only items whose ifxType is SDA; ?ifxType=SDA|DDA matches items whose ifxType is SDA or DDA. 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 code using functions eq, ne, in
• Property category using functions eq, ne, in
• Property openable using functions eq, ne, not
• Property name using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property label using functions eq, ne, startsWith, endsWith, contains, search
• Property state using functions eq, ne, in
• Property target using functions eq, ne
• Property type using functions eq, ne, in
• Property newAccountAvailability using functions eq, ne
• Property availability using functions eq, ne
• Property ifxType using functions eq, ne, in
• Property _id using functions eq, in.
q
in: query
string
Optional search string. See searching.
openable
in: query
boolean
If true, filter only by products which are available for digital account (self service) opening. ?openable=true is equivalent to ?state=active&newAccountAvailability=available&availability=general .
newAccountAvailability
in: query
string
Subset the result to only those whose newAccountAvailability property matches this value.
enum values: available, notAvailable
availability
in: query
string
Subset the result to only those whose availability property matches this value.
enum values: general, limited
productType
in: query
string
Subset the result to only products that use the product type identified by this value. The value is the _id of a product type instance. (This query parameter is used to implement the apiture:products link relation on a product type resource.)

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/products/v3.4.0/profile.json",
  "_links": {
    "self": {
      "href": "/products?start=0&limit=10"
    },
    "first": {
      "href": "/products?start=10&limit=10"
    },
    "next": {
      "href": "/products?start=10&limit=10"
    },
    "collection": {
      "href": "/products"
    }
  },
  "start": 0,
  "limit": 10,
  "count": 42,
  "name": "products",
  "_embedded": {
    "items": [
      {
        "_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
        "name": "Premiere Checking",
        "label": "Premiere Checking",
        "description": "A premiere demand deposit checking account for business use.",
        "state": "active",
        "newAccountAvailability": "available",
        "regDEnabled": true,
        "availability": "general",
        "category": "Checking",
        "rates": {
          "apy": "1.40",
          "compoundPeriod": "P1D"
        },
        "currency": "USD",
        "_profile": "https://production.api.apiture.com/schemas/products/summaryProduct/v3.4.0/profile.json",
        "_links": {
          "apiture:productType": {
            "href": "/products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8"
          },
          "apiture:productSubtype": {
            "href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
          },
          "self": {
            "href": "/products/products/a6459cdf-543e-46df-887b-ac5378ee9acd"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: products
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. Query parameters are in conflict. Do not use both ?openable= 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

createProduct

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/products \
  -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/products/products 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/products/createProduct/v3.5.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:productSubtype": {
      "href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
    }
  },
  "name": "Business Checking",
  "label": "Business Checking",
  "description": "A demand deposit checking account for business use.",
  "code": "B2001",
  "category": "Checking",
  "rates": {
    "apy": "1.41",
    "compoundPeriod": "P1D",
    "accrualType": "compounding"
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": true,
      "forAuthorizedSigners": true
    }
  }
}';
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/products/products',
{
  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/products/products',
  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/products/products',
  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/products/products', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/products");
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/products/products", data)
    req.Header = headers

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

Create a new product

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

Create a new product from the given name, label, description, and product subtype. The request must contain links to an existing product subtype. The name must be unique and the state may not be removed. POST to the apiture:activate link after creating a product to activate it.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/products/createProduct/v3.5.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:productSubtype": {
      "href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
    }
  },
  "name": "Business Checking",
  "label": "Business Checking",
  "description": "A demand deposit checking account for business use.",
  "code": "B2001",
  "category": "Checking",
  "rates": {
    "apy": "1.41",
    "compoundPeriod": "P1D",
    "accrualType": "compounding"
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": true,
      "forAuthorizedSigners": true
    }
  }
}

Parameters

ParameterDescription
copyOf
in: query
string(uri)
To make a copy of an existing product, pass the URI of the original product. Fields in the request body will override the values copied from the existing product. The new name must be passed in the body, since names must be unique.
format: uri
body createProduct (required)
The data necessary to create a new product.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: product
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 must be provided in an If-Match request header for PUT or PATCH operations which update the resource.
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an active or inactive resource may not be changed to pending.
  • The state of a removed resource may not be changed.
  • The state of the resource may not be changed to active or inactive when the product type or subtype is still `pending'.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use, or the selected subtype is not a subtype of the selected product type.
  • An attempt to set a product's newAccountAvailability to true when the product state is inactive.
  • An attempt to set a product's code when the product state is not pending.
  • An attempt to set a product's code to a value that is used in another product.
  • An attempt to deactivate a product that is in use.

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

Schema: errorResponse

getProduct

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/products/products/{productId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/products/products/{productId} 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'

};

fetch('https://api.devbank.apiture.com/products/products/{productId}',
{
  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'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/products/products/{productId}',
  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'
}

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/products/{productId}");
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"},
        
    }

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

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

Fetch a representation of this product

GET https://api.devbank.apiture.com/products/products/{productId}

Return a HAL representation of this product resource.

Parameters

ParameterDescription
productId
in: path
string (required)
The unique identifier of this product. 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.
resolve
in: query
boolean
If false (the default), the raw highlights and secondaryHighlights strings are returned (as unresolved templates) without substituting product properties. Omit the option when fetching a product for update via updateProduct or patchProduct. If true, the product's properties are replaced by their values in the highlights and secondaryHighlights strings. Use true when fetching a product to show the highlights to end users.
default: false

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: product
HeaderETag
string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product 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 product resource at the specified {productId} 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.

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

Schema: errorResponse

updateProduct

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/products/products/{productId} \
  -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/products/products/{productId} 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/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}';
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/products/products/{productId}',
{
  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/products/products/{productId}',
  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/products/products/{productId}',
  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/products/products/{productId}', params={

}, headers = headers)

print r.json()

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

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

Update this product

PUT https://api.devbank.apiture.com/products/products/{productId}

Perform a complete replacement of this product. The new name, if any, must not be in use by another product (whether active or inactive). Changes to the state follow the rules described in this API's description.

To change the state of a product, use the apiture:activate, apiture:deactivate, or apiture:remove links on the resource to /activeProducts, /inactiveProducts, /removedProducts.

The product code may not be changed if the current state is not pending.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}

Parameters

ParameterDescription
productId
in: path
string (required)
The unique identifier of this product. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body product (required)
The representation of a banking product.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}

Responses

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

Bad Request. One of the request parameters to update a product was not valid. See _error for more information.

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

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such product resource at the specified {productId} 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.

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

patchProduct

Code samples

# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/products/products/{productId} \
  -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/products/products/{productId} 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/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}';
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/products/products/{productId}',
{
  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/products/products/{productId}',
  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/products/products/{productId}',
  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/products/products/{productId}', params={

}, headers = headers)

print r.json()

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

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

Update this product

PATCH https://api.devbank.apiture.com/products/products/{productId}

Perform a partial update of this product. Fields which are omitted are not updated. The new name, if any, must not be in use by another product (whether active or inactive). Changes to the state follow the rules described in this API's description.

To change the state of a product, use the apiture:activate, apiture:deactivate, or apiture:remove links on the resource.

The product code may not be changed if the current state is not pending.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}

Parameters

ParameterDescription
productId
in: path
string (required)
The unique identifier of this product. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body product (required)
The representation of a banking product.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}

Responses

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

Bad Request. One of the request parameters to patch a product was not valid. See _error for more information.

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

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such product resource at the specified {productId} 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. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an active or inactive resource may not be changed to pending.
  • The state of a removed resource may not be changed.
  • The state of the resource may not be changed to active or inactive when the product type or subtype is still `pending'.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use, or the selected subtype is not a subtype of the selected product type.
  • An attempt to set a product's newAccountAvailability to true when the product state is inactive.
  • An attempt to set a product's code when the product state is not pending.
  • An attempt to set a product's code to a value that is used in another product.
  • An attempt to deactivate a product that is in use.

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.

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

Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The _id and newAccountAvailability cannot be changed.

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

Schema: errorResponse

deleteProduct

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/products/products/{productId} \
  -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/products/products/{productId} 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/products/products/{productId}',
{
  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/products/products/{productId}',
  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/products/products/{productId}',
  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/products/products/{productId}', params={

}, headers = headers)

print r.json()

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

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

Delete this product resource

DELETE https://api.devbank.apiture.com/products/products/{productId}

Delete this product resource and any resources that are owned by it. A product may only be deleted if its state is pending.

Parameters

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

Example responses

400 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
400 Bad Request

Bad Request. One of the request parameters to delete a product was not valid. See _error for more information.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. A product may not be deleted if the state is anything other than pending.
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.

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

Schema: errorResponse

unlockProduct

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/unlockedProducts?product=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/products/unlockedProducts?product=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/products/unlockedProducts?product=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/products/unlockedProducts',
  method: 'post',
  data: '?product=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/products/unlockedProducts',
  params: {
  'product' => '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/products/unlockedProducts', params={
  'product': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/unlockedProducts?product=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/products/unlockedProducts", data)
    req.Header = headers

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

Marks an active product as eligible for new account opening

POST https://api.devbank.apiture.com/products/unlockedProducts

Marks an active product as eligible for new account opening.

This POST operation is invoked from the apiture:unlock link on a product.

This changes the newAccountAvailability to available.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The product was malformed or does not refer to a product.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an active or inactive resource may not be changed to pending.
  • The state of a removed resource may not be changed.
  • The state of the resource may not be changed to active or inactive when the product type or subtype is still `pending'.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use, or the selected subtype is not a subtype of the selected product type.
  • An attempt to set a product's newAccountAvailability to true when the product state is inactive.
  • An attempt to set a product's code when the product state is not pending.
  • An attempt to set a product's code to a value that is used in another product.
  • An attempt to deactivate a product that is in use.

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

Schema: errorResponse

lockProduct

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/lockedProducts?product=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/products/lockedProducts?product=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/products/lockedProducts?product=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/products/lockedProducts',
  method: 'post',
  data: '?product=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/products/lockedProducts',
  params: {
  'product' => '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/products/lockedProducts', params={
  'product': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/lockedProducts?product=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/products/lockedProducts", data)
    req.Header = headers

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

Marks an active product as ineligible for new account opening

POST https://api.devbank.apiture.com/products/lockedProducts

Marks an active product as ineligible for new account opening. Users may not open new accounts with this product, thus the product is "locked".

This POST operation is invoked from the apiture:lock link on a product.

This changes the newAccountAvailability to notAvailable.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The product was malformed or does not refer to a product.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an active or inactive resource may not be changed to pending.
  • The state of a removed resource may not be changed.
  • The state of the resource may not be changed to active or inactive when the product type or subtype is still `pending'.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use, or the selected subtype is not a subtype of the selected product type.
  • An attempt to set a product's newAccountAvailability to true when the product state is inactive.
  • An attempt to set a product's code when the product state is not pending.
  • An attempt to set a product's code to a value that is used in another product.
  • An attempt to deactivate a product that is in use.

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

Schema: errorResponse

activateProduct

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/activeProducts?product=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/products/activeProducts?product=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/products/activeProducts?product=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/products/activeProducts',
  method: 'post',
  data: '?product=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/products/activeProducts',
  params: {
  'product' => '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/products/activeProducts', params={
  'product': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/activeProducts?product=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/products/activeProducts", data)
    req.Header = headers

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

Activate a product

POST https://api.devbank.apiture.com/products/activeProducts

Activate a product that is eligible to be activated. Only product types which are pending or inactive may be activated.

This POST operation is invoked from the apiture:activate link on a product.

This changes the state to active.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The product was malformed or does not refer to a product.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an active or inactive resource may not be changed to pending.
  • The state of a removed resource may not be changed.
  • The state of the resource may not be changed to active or inactive when the product type or subtype is still `pending'.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use, or the selected subtype is not a subtype of the selected product type.
  • An attempt to set a product's newAccountAvailability to true when the product state is inactive.
  • An attempt to set a product's code when the product state is not pending.
  • An attempt to set a product's code to a value that is used in another product.
  • An attempt to deactivate a product that is in use.

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

deactivateProduct

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/inactiveProducts?product=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/products/inactiveProducts?product=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/products/inactiveProducts?product=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/products/inactiveProducts',
  method: 'post',
  data: '?product=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/products/inactiveProducts',
  params: {
  'product' => '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/products/inactiveProducts', params={
  'product': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/inactiveProducts?product=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/products/inactiveProducts", data)
    req.Header = headers

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

Deactivate a product

POST https://api.devbank.apiture.com/products/inactiveProducts

Deactivate a product that is eligible to be deactivated.

Only products which are pending or active and which are not in use by any pending, active or inactive accounts types may be deactivated.

This POST operation is invoked from the apiture:deactivate link on a product when it is eligible to be deactivated.

This changes the state to inactive.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The product was malformed or does not refer to a product.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an active or inactive resource may not be changed to pending.
  • The state of a removed resource may not be changed.
  • The state of the resource may not be changed to active or inactive when the product type or subtype is still `pending'.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use, or the selected subtype is not a subtype of the selected product type.
  • An attempt to set a product's newAccountAvailability to true when the product state is inactive.
  • An attempt to set a product's code when the product state is not pending.
  • An attempt to set a product's code to a value that is used in another product.
  • An attempt to deactivate a product that is in use.

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

removeProduct

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/removedProducts?product=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/products/removedProducts?product=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/products/removedProducts?product=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/products/removedProducts',
  method: 'post',
  data: '?product=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/products/removedProducts',
  params: {
  'product' => '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/products/removedProducts', params={
  'product': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/removedProducts?product=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/products/removedProducts", data)
    req.Header = headers

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

Remove a product

POST https://api.devbank.apiture.com/products/removedProducts

Remove a product that is eligible to be removed.

Only products which are active or inactive and which are not used by any non-closed accounts may be removed.

This POST operation is invoked from the apiture:remove link on a product when it is eligible to be removed.

This changes the state to removed.

Removing a product will append the timestamp with the format " (Removed yyyy-mm-ddTHH:MM:SSZ)" to the name, so that the previous name may be used for other products.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The product was malformed or does not refer to a product.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an active or inactive resource may not be changed to pending.
  • The state of a removed resource may not be changed.
  • The state of the resource may not be changed to active or inactive when the product type or subtype is still `pending'.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use, or the selected subtype is not a subtype of the selected product type.
  • An attempt to set a product's newAccountAvailability to true when the product state is inactive.
  • An attempt to set a product's code when the product state is not pending.
  • An attempt to set a product's code to a value that is used in another product.
  • An attempt to deactivate a product that is in use.

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

Product Type

Banking Product Types

getProductTypes

Code samples

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

GET https://api.devbank.apiture.com/products/productTypes 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/products/productTypes',
{
  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/products/productTypes',
  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/products/productTypes',
  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/products/productTypes', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/productTypes");
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/products/productTypes", data)
    req.Header = headers

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

Return a collection of product types

GET https://api.devbank.apiture.com/products/productTypes

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

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first product type in this page. The default, 0, represents the first page of the collection.
format: int64
default: 0
limit
in: query
integer(int32)
The maximum number of product type 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
subtype.
name
in: query
string
Subset the products or product types collection to those with this name value. This is combined with an implicit and with other filters if they are used. See filtering.
type
in: query
string
Subset the products or product types collection to those with this exact type value. This is combined with an implicit and with other filters if they are used. See filtering.
subtype
in: query
boolean
Subset the product types collection to those with this exact subtype value. For example, ?subtype=true will limit the response to only product types which are subtypes. This is combined with an implicit and with other filters if they are used. See filtering.
state
in: query
string
Subset the products or product types 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.
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 subtype using functions eq, ne, in.
q
in: query
string
Optional search string. See searching.
parent
in: query
string
Subset the product types to only those subtypes whose parent type is named by its product type URI. This implements the apiture:children link relation on a product type.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productTypes/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products?start=0&limit=10"
    },
    "first": {
      "href": "/products?start=0&limit=10"
    },
    "next": {
      "href": "/products?start=10&limit=10"
    },
    "collection": {
      "href": "/products"
    }
  },
  "start": 0,
  "limit": 10,
  "count": 127,
  "name": "productTypes",
  "_embedded": {
    "items": [
      {
        "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
        "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
        "name": "Demand Deposit",
        "label": "Demand Deposit",
        "description": "A demand deposit checking account.",
        "state": "active",
        "subtype": false,
        "subtypeCount": 1,
        "_links": {
          "self": {
            "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
          }
        }
      },
      {
        "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
        "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
        "name": "Demand Deposit with Interest",
        "label": "Demand Deposit with Interest",
        "description": "A demand deposit checking account with interest.",
        "state": "active",
        "subtype": true,
        "subtypeCount": 0,
        "_links": {
          "self": {
            "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
          },
          "apiture:parent": {
            "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
          }
        }
      }
    ]
  }
}

Responses

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

createProductType

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/productTypes \
  -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/products/productTypes 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/products/createProductType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    }
  },
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account, a subtype of the base Demand Deposit account."
}';
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/products/productTypes',
{
  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/products/productTypes',
  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/products/productTypes',
  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/products/productTypes', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/productTypes");
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/products/productTypes", data)
    req.Header = headers

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

Create a new product type

POST https://api.devbank.apiture.com/products/productTypes

Create a new product type or subtype. The request may include a parent type in order to create a subtype. The parent type may not be a subtype. The name must be unique and the state may not be removed. POST to the apiture:activate link after creating a product type to activate it.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/products/createProductType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    }
  },
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account, a subtype of the base Demand Deposit account."
}

Parameters

ParameterDescription
copyOf
in: query
string(uri)
To make a copy of an existing product type, pass the URI of the original product type. Fields in the request body will override the values copied from the existing product type. The new name must be passed in the body, since names must be unique. A new unique code will be assigned to the copy.
format: uri
body createProductType (required)
The data necessary to create a new product type.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: productType
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 must be provided in an If-Match request header for PUT or PATCH operations which update the resource.
StatusDescription
400 Bad Request

Bad Request. One of the request parameters to create a productType was not valid. See _error for more information.

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

Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of the resource may not be changed to pending.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use.
  • Attempt to create a subtype of a subtype.

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

Schema: errorResponse

getProductType

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/products/productTypes/{productTypeId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/products/productTypes/{productTypeId} 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'

};

fetch('https://api.devbank.apiture.com/products/productTypes/{productTypeId}',
{
  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'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/products/productTypes/{productTypeId}',
  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'
}

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

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/products/productTypes/{productTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/productTypes/{productTypeId}");
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"},
        
    }

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

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

Fetch a representation of this product type.

GET https://api.devbank.apiture.com/products/productTypes/{productTypeId}

Return a HAL representation of this product type resource. See the description of the productType model schema for the links that may be found in a product type representation.

Parameters

ParameterDescription
productTypeId
in: path
string (required)
The unique identifier of this product type. 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/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: productType
HeaderETag
string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product type 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 product type resource at the specified {productTypeId} 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

updateProductType

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/products/productTypes/{productTypeId} \
  -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/products/productTypes/{productTypeId} 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/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}';
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/products/productTypes/{productTypeId}',
{
  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/products/productTypes/{productTypeId}',
  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/products/productTypes/{productTypeId}',
  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/products/productTypes/{productTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/productTypes/{productTypeId}");
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/products/productTypes/{productTypeId}", data)
    req.Header = headers

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

Update this product type

PUT https://api.devbank.apiture.com/products/productTypes/{productTypeId}

Perform a complete replacement of this product type. Changes to the state follow the rules described in this API's description.

To change the state of a product type, use the apiture:activate, apiture:deactivate, or apiture:remove links on the resource to POST the product type URI to one of the paths, /activeProductTypes, /inactiveProductTypes, /removedProductTypes.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Parameters

ParameterDescription
productTypeId
in: path
string (required)
The unique identifier of this product type. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body productType (required)
The representation of a banking product type.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: productType
HeaderETag
string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product type 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.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such product type resource at the specified {productTypeId} 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. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of the resource may not be changed to pending.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use.
  • Attempt to create a subtype of a subtype.

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.

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

patchProductType

Code samples

# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/products/productTypes/{productTypeId} \
  -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/products/productTypes/{productTypeId} 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/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}';
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/products/productTypes/{productTypeId}',
{
  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/products/productTypes/{productTypeId}',
  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/products/productTypes/{productTypeId}',
  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/products/productTypes/{productTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/productTypes/{productTypeId}");
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/products/productTypes/{productTypeId}", data)
    req.Header = headers

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

Update this product type

PATCH https://api.devbank.apiture.com/products/productTypes/{productTypeId}

Perform a partial update of this product type. Fields which are omitted are not updated. Changes to the state follow the rules described in this API's description.

To change the state of a product type, use the apiture:activate, apiture:deactivate, or apiture:remove links on the resource to /activeProductTypes, /inactiveProductTypes, /removedProductTypes.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Parameters

ParameterDescription
productTypeId
in: path
string (required)
The unique identifier of this product type. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body productType (required)
The representation of a banking product type.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. One of the request parameters to patch a productType was not valid. See _error for more information.

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

Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such product type resource at the specified {productTypeId} 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. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of the resource may not be changed to pending.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use.
  • Attempt to create a subtype of a subtype.

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.

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

deleteProductType

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/products/productTypes/{productTypeId} \
  -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/products/productTypes/{productTypeId} 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/products/productTypes/{productTypeId}',
{
  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/products/productTypes/{productTypeId}',
  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/products/productTypes/{productTypeId}',
  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/products/productTypes/{productTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/productTypes/{productTypeId}");
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/products/productTypes/{productTypeId}", data)
    req.Header = headers

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

Delete this product type resource

DELETE https://api.devbank.apiture.com/products/productTypes/{productTypeId}

Delete this product type resource and any resources that are owned by it. A product type may only be deleted if its state is pending, and it is not in use by a product.

Parameters

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

Example responses

409 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. A product type may not be deleted if the state is anything other than pending, or if the type is used by a pending product.
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.

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

Schema: errorResponse

activateProductType

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/activeProductTypes?productType=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/products/activeProductTypes?productType=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/products/activeProductTypes?productType=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/products/activeProductTypes',
  method: 'post',
  data: '?productType=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/products/activeProductTypes',
  params: {
  'productType' => '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/products/activeProductTypes', params={
  'productType': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/activeProductTypes?productType=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/products/activeProductTypes", data)
    req.Header = headers

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

Activate a product type

POST https://api.devbank.apiture.com/products/activeProductTypes

Activate a product type that is eligible to be activated.

Only product types which are pending or inactive may be activated. This POST operation is invoked from the apiture:activate link on a product type.

This changes the state to active.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The productType was malformed or does not refer to a product type.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of the resource may not be changed to pending.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use.
  • Attempt to create a subtype of a subtype.

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

deactivateProductType

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/inactiveProductTypes?productType=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/products/inactiveProductTypes?productType=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/products/inactiveProductTypes?productType=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/products/inactiveProductTypes',
  method: 'post',
  data: '?productType=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/products/inactiveProductTypes',
  params: {
  'productType' => '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/products/inactiveProductTypes', params={
  'productType': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/inactiveProductTypes?productType=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/products/inactiveProductTypes", data)
    req.Header = headers

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

Deactivate a product type

POST https://api.devbank.apiture.com/products/inactiveProductTypes

Deactivate a product type that is eligible to be deactivated.

Only product types which are pending or active and which are not in use by any pending or active products or accounts, and which are not the parent type of pending or active product types may be deactivated.

This POST operation is invoked from the apiture:deactivate link on a product type when it is eligible to be deactivated.

This changes the state to inactive.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The productType was malformed or does not refer to a product type.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of the resource may not be changed to pending.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use.
  • Attempt to create a subtype of a subtype.

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

removeProductType

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/products/removedProductTypes?productType=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/products/removedProductTypes?productType=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/products/removedProductTypes?productType=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/products/removedProductTypes',
  method: 'post',
  data: '?productType=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/products/removedProductTypes',
  params: {
  'productType' => '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/products/removedProductTypes', params={
  'productType': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/removedProductTypes?productType=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/products/removedProductTypes", data)
    req.Header = headers

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

Remove a product type

POST https://api.devbank.apiture.com/products/removedProductTypes

Remove a product type that is eligible to be removed.

Only product types which are active or inactive and which are not in use by any pending, active or inactive products or accounts, and which are not the parent type of pending, active, or inactive product types may be removed. This operation is invoked from the apiture:remove link on a product type when it is eligible to be removed.

This changes the state to removed.

Removing a product type will append the timestamp with the format " (Removed yyyy-mm-ddTHH:MM:SSZ)" to the name, so that the previous name may be used for other product types.

Parameters

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Responses

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

Bad Request. The productType was malformed or does not refer to a product type.

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

StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of the resource may not be changed to pending.
  • The resource cannot be created or modified due to a conflict with other resources. For example, the name may already be in use.
  • Attempt to create a subtype of a subtype.

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 Verification Letter Template

Account Verification Letter Template

getVerificationLetterTemplate

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate \
  -H 'Accept: text/markdown' \
  -H 'Accept: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate HTTP/1.1
Host: api.devbank.apiture.com
Accept: text/markdown
Accept: string

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

const headers = {
  'Accept':'text/markdown',
  'Accept':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate',
{
  method: 'GET',

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

var headers = {
  'Accept':'text/markdown',
  'Accept':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'text/markdown',
  'Accept' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

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

p JSON.parse(result)

import requests
headers = {
  'Accept': 'text/markdown',
  'Accept': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate");
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{"text/markdown"},
        "Accept": []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/products/products/{productId}/verificationLetterTemplate", data)
    req.Header = headers

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

Fetch an account verification letter template

GET https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate

Return a representation of account verification letter template for this product. This is a Mustache template. The content is Github Flavored Markdown with Mustache template variables for replaceable text.

The variables in the template are:

  • {accountOwnerName} - The account owner's full name
  • {accountOwnerAddress} - The account owner's address
  • {businessName} - The business name
  • {businessAddress} - The business' address
  • {today} - Today's date
  • {product} - The account's product name
  • {productType} - The account's product type name
  • {productApy} - The product APY
  • {routingNumber} - The routing number
  • {accountNumber} - The account number
  • {maturityDate} - The maturity date
  • {openingDate} - The opening date
  • {accountBalance} - The account balance

This template is used to format the account verification letter in the createVerificationLetter operation in the Accounts API.

Parameters

ParameterDescription
productId
in: path
string (required)
The unique identifier of this product. This is an opaque string.
Accept
in: header
string
The media type of the desired response representation. Only text/markdown is currently supported.

Example responses

200 Response

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
200 OK
Markdown template for the account verifications letter template.
Schema: string
HeaderContent-Type
string
The media type of the response representation. The Content-Type will be text/markdown.
StatusDescription
404 Not Found

Not Found. There is no such product resource at the specified {productId} 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 (i.e. not text/markdown)
Schema: errorResponse

updateVerificationLetterTemplate

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate \
  -H 'Content-Type: text/markdown' \
  -H 'Accept: text/markdown' \
  -H 'Accept: string' \
  -H 'Content-Type: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: text/markdown
Accept: text/markdown
Accept: string
Content-Type: string

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

};

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

var headers = {
  'Content-Type':'text/markdown',
  'Accept':'text/markdown',
  'Accept':'string',
  'Content-Type':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate',
  method: 'put',

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

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'text/markdown',
  'Accept' => 'text/markdown',
  'Accept' => 'string',
  'Content-Type' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'text/markdown',
  'Accept': 'text/markdown',
  'Accept': 'string',
  'Content-Type': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate");
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{"text/markdown"},
        "Accept": []string{"text/markdown"},
        "Accept": []string{"string"},
        "Content-Type": []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/products/products/{productId}/verificationLetterTemplate", data)
    req.Header = headers

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

Update this account verification letter template

PUT https://api.devbank.apiture.com/products/products/{productId}/verificationLetterTemplate

Set or replace the account verification letter template for this product.

Body parameter

Parameters

ParameterDescription
productId
in: path
string (required)
The unique identifier of this product. This is an opaque string.
Accept
in: header
string
The media type of the desired response representation. Only text/markdown is currently supported.
Content-Type
in: header
string
The media type of the request body representation. Only text/markdown is currently supported.
body string (required)
The Github Flavored Markdown text (with Mustache variables) defining the template for the verification letter.

Example responses

200 Response

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
200 OK
OK.
Schema: string
HeaderContent-Type
string
The media type of the response representation. The Content-Type will be text/markdown.
StatusDescription
404 Not Found

Not Found. There is no such product resource at the specified {productId} 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

API

The Products API

getApi

Code samples

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

GET https://api.devbank.apiture.com/products/ 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/products/',
{
  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/products/',
  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/products/',
  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/products/', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/");
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/products/", 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/products/

Return links to the top-level resources and operations in this API. This API returns the following links:

  • apiture:product : links to the collection of products
  • apiture:productTypes : links to the collection of product types

Example responses

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/products/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/products/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/products/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/products/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/products/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/products/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/apiDoc", data)
    req.Header = headers

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

Return API definition document

GET https://api.devbank.apiture.com/products/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/products/labels \
  -H 'Accept: application/hal+json' \
  -H 'Accept-Language: string' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/products/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/products/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/products/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/products/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/products/labels', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/labels", data)
    req.Header = headers

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

Localized Labels

GET https://api.devbank.apiture.com/products/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

Configuration

Products Service Configuration

getConfigurationGroups

Code samples

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

GET https://api.devbank.apiture.com/products/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/products/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/products/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/products/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/products/configurations/groups', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/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/products/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.
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/products/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/products/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/products/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/products/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/products/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/products/configurations/groups/{groupName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/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/products/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/products/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/products/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/products/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/products/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/products/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/products/configurations/groups/{groupName}/schema', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/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/products/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/products/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/products/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/products/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/products/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/products/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/products/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/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/products/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/products/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/products/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/products/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/products/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/products/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/products/configurations/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/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/products/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. This 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.

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

Schema: errorResponse

getConfigurationGroupValue

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/products/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/products/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/products/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/products/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/products/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/products/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/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/products/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 /users/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/products/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/products/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/products/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/products/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/products/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/products/configurations/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/products/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/products/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/products/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 /users/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. This 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.

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

Schema: errorResponse

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

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.

type: string


enum values: compounding, simple

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.

autoOrderCards

{
  "forDigitalAccountOpening": true,
  "forJointOwners": true,
  "forAuthorizedSigners": true
}

Automatically Order Cards (v1.0.0)

Configuration for whether the financial institution automatically orders new debit cards for primary applicants or other account holders. New cards are not ordered during user/account migration.

Properties

NameDescription
Automatically Order Cards (v1.0.0) object
Configuration for whether the financial institution automatically orders new debit cards for primary applicants or other account holders. New cards are not ordered during user/account migration.
forDigitalAccountOpening boolean
If true, the financial institution will automatically order a debit card for the primary applicant after opening a new account associated with this product via the digital account opening process.
default: false
forJointOwners boolean
If true, the financial institution will automatically order a debit card for new joint owners when they become an account holder on a personal account associated with this product.
default: false
forAuthorizedSigners boolean
If true, the financial institution will automatically order a debit card for the organization's existing authorized signers or when a new authorized signer becomes an account holder on accounts associated with this product. If both forDigitalAccountOpening and forAuthorizedSigners are true, the applicant receives only one card even though they may be listed in the organization's authorized signers.
default: false

cardImage

{
  "height": 1024,
  "width": 833,
  "uri": "http://cdn.3rdparty.bank/images/products/DDA_203389/debit-card-large.png"
}

Card Image Details (v1.0.0)

Details of a debit card image for this product. The height and width are optional but should be provided if the card.images object contains more than one image, so that clients can choose the most appropriate image size. The image may have portrait or landscape orientation, but the maximum aspect ratio is 2:1 (IEC 7810 is 85.60:53.98, approximately 1.6:1).

Properties

NameDescription
Card Image Details (v1.0.0) object
Details of a debit card image for this product. The height and width are optional but should be provided if the card.images object contains more than one image, so that clients can choose the most appropriate image size. The image may have portrait or landscape orientation, but the maximum aspect ratio is 2:1 (IEC 7810 is 85.60:53.98, approximately 1.6:1).
height integer
The image height, in pixels.
minimum: 64
maximum: 4096
width integer
The image width, in pixels.
minimum: 64
maximum: 4096
uri string(uri) (required)
The image URI which a client can fetch in order to render the sample card image in the client. This resource does not require authentication.
format: uri
maxLength: 2048

cardProvider

{
  "id": "DDA_203389"
}

Card Provider Details (v1.0.0)

Details of the debit card processor/provider.

Properties

NameDescription
Card Provider Details (v1.0.0) object
Details of the debit card processor/provider.
id string (required)
The unique identifier for this product within the card provider's environment.
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",
  "reviewSecondaryOpening": false
}

Product Constraints (v1.1.0)

Product constraints, such as minimum and maximum balances.

Properties

NameDescription
Product Constraints (v1.1.0) object
Product constraints, such as minimum and maximum balances.
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
reviewSecondaryOpening boolean
If true, all applications opening second or subsequent accounts are held for review by the financial institution if the account owner already has an account of any type.
default: false

createProduct

{
  "_profile": "https://production.api.apiture.com/schemas/products/createProduct/v3.5.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:productSubtype": {
      "href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
    }
  },
  "name": "Business Checking",
  "label": "Business Checking",
  "description": "A demand deposit checking account for business use.",
  "code": "B2001",
  "category": "Checking",
  "rates": {
    "apy": "1.41",
    "compoundPeriod": "P1D",
    "accrualType": "compounding"
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": true,
      "forAuthorizedSigners": true
    }
  }
}

Create Product (v3.5.0)

Representation used to create a new product. The request must include links in the _links object which refer to the product subtype. (The product's type will be the parent type of the named subtype).

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

RelSummaryMethod
apiture:productSubtypeFetch a representation of this product type.GET

Properties

NameDescription
Create Product (v3.5.0) object

Representation used to create a new product. The request must include links in the _links object which refer to the product subtype. (The product's type will be the parent type of the named subtype).

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

RelSummaryMethod
apiture:productSubtypeFetch a representation of this product type.GET
_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 (required)
The name of this product.
minLength: 1
maxLength: 128
label string (required)
The text label for this product. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown) (required)
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 (required)
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
institutionName string
The name of the financial institution.
minLength: 1
maxLength: 128
coreType string
Identifies the underlying bank core system.
onlineBankingEnabled boolean
true if this product is enabled and eligible for online banking.
default: false
fees array: [fee]
Zero or more fees for accounts of this product. If the array is empty or not present, there are no fees.
items: object
statementFrequency string(period)
The frequency with which statements are issued for accounts of this product. 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
timeDeposit timeDeposit
Properties of time deposit products, primarily Certificate of Deposit products.
state prodState
The state of this product. 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.
Warning: The property state was deprecated on version v3.4.1 of the schema. Use the state property in summaryProduct and product schemas instead. state will be removed on version v4.0.0 of the schema.
default: "pending"
deprecated
enum values: pending, active, inactive, removed

newAccountAvailability newAccountAvailability
Indicates if the product is available for opening new accounts.

  • available means the product may be selected for a new account application.
  • notAvailable means the product may not be selected for a new account application.

The default is available. Note that clients must check both the product state and the newAccountAvailability when listing products for new account opening. The ?openable=true query parameter on getProducts combines these.

Update this property with the unlockProduct or unlockProduct operations
enum values: available, notAvailable

availability productAvailability
Indicates if the product is generally available or only available to a limited set of customers.
enum values: general, limited
card productCard
Debit card details associated with this product.
overdraftProtection productOverdraftProtection
Overdraft protection details associated with this product.
attributes object
An optional map of name/value pairs which provide additional metadata about the product.

createProductType

{
  "_profile": "https://production.api.apiture.com/schemas/products/createProductType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    }
  },
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account, a subtype of the base Demand Deposit account."
}

Create Product Type (v1.1.2)

Representation used to create a new product type. To create a subtype, the request may include a link in the _links object which refers to the parent product type.

Properties

NameDescription
Create Product Type (v1.1.2) object
Representation used to create a new product type. To create a subtype, the request may include a link in the _links object which refers to the parent product type.
_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 (required)
The name of this product type.
minLength: 1
maxLength: 128
label string (required)
The text label for this product type. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown) (required)
A fuller description of this product type. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
format: markdown
minLength: 1
maxLength: 4096
subtype boolean
Indicates if this is a subtype. This is a derived, immutable property, based on whether the product type was created with a link to a parent type. See also the apiture:parent link on the productSubtype schema.
state prodState
The state of this product. New product 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.
Warning: The property state was deprecated on version v1.1.1 of the schema. Use the state property in summaryProductType and productType schemas instead. state will be removed on version v2.0.0 of the schema.
default: "pending"
deprecated
enum values: pending, active, inactive, removed

attributes object
An optional map of name/value pairs which provide additional metadata about the product type.

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.
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

expeditedShippingAllowed

{
  "forNew": true,
  "forReplacements": true
}

Expedited Shipping Allowed (v1.0.0)

Indicates if the bank customer can request expedited shipping for cards associated with the accounts for this product.

Properties

NameDescription
Expedited Shipping Allowed (v1.0.0) object
Indicates if the bank customer can request expedited shipping for cards associated with the accounts for this product.
forNew boolean
If true, expedited shipping is allowed for new cards.
default: false
forReplacements boolean
If true, expedited shipping is allowed for replacement cards (reorders).
default: false

fee

{
  "type": "servicing",
  "period": "P1M",
  "description": "string",
  "structure": "unknown",
  "amount": "1.00"
}

Fee (v1.0.1)

Fees that are attached to accounts of this product.

Properties

NameDescription
Fee (v1.0.1) object
Fees that are attached to accounts of this product.
type productFeeType
The fee type.
enum values: servicing, minimumBalance, overdraft, returnedCheck, statementHardCopy, atm, foreignTransaction, earlyClosing, earlyWithdrawal, other
period string
The period at which the fee is assessed. If omitted, the fee is assessed per transaction.

This value is an ISO 8601 duration string of the form P[n]Y[n]M[n]D to specify the fee period in the number of years/months/weeks/days. For example, the values P1d, P1W, P2W, P1M, P0.25Y, P0.5Y, P1Y indicate a term of daily, weekly, by-weekly, monthly, quarterly, biannually, and annually, respectively, (although other periods may be allowed).

description string
A description of the fee and its structure and period.
structure feeStructure
The fee structure for this fee
enum values: unknown, variable, fixed
amount string
The amount of the (fixed) fee, in the product's currency.

feeStructure

"unknown"

Product Fee Structure (v1.0.0)

The fee structure. fixed fee, variable fee, or other. For example, the service fee or atm may be fixed (such as "amount" : "2.00") but the foreignTransactions fee may be variable.

feeStructure strings may have one of the following enumerated values:

ValueDescription
unknownUndetermined fee structure
variableA variable rate fee
fixedA fixed rate fee

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

type: string


enum values: unknown, variable, fixed

fixedTermLoanProduct

{
  "term": "P6M"
}

Fixed-Term Loan Product (v1.0.0)

Properties of a fixed-term loan product.

Properties

NameDescription
Fixed-Term Loan Product (v1.0.0) object
Properties of a fixed-term loan product.
term string
The term or duration of the loan, relative to loan origination. This is an RFC 3339 duration such as P90D for a ninety day loan or P72 for a 72 month loan. term durations are expressed with an integral number of days or months, or years; the time component of the RFC 3339 duration is omitted.
pattern: ^P[1-9][0-9]{0,3}[DMY]$

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.

type: string


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

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.

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.
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}$

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 name → a 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.

loanProduct

{
  "category": "fixedTerm",
  "fixedTerm": {
    "term": "P60M"
  },
  "serviceRequestTypes": [
    {
      "type": "creditLimitIncrease",
      "label": "Credit Limit Increase",
      "description": "Request an increase in the loan account's credit limit.",
      "enabled": false
    },
    {
      "type": "changePaymentDueDate",
      "label": "Change Payment Due Date",
      "description": "Request changing the day of each month that the loan payment is due.",
      "enabled": false
    }
  ],
  "attributes": {
    "governmentBacked": true,
    "refinanceEligible": false
  }
}

Loan Product (v1.0.0)

Properties of loan products.
The schema loanProduct was added on version 0.35.0 of the API.

Properties

NameDescription
Loan Product (v1.0.0) object
Properties of loan products.
The schema loanProduct was added on version 0.35.0 of the API.
category loanProductCategory
Indicates if this is a fixed-term or revolving loan.
enum values: revolving, fixedTerm
fixedTerm fixedTermLoanProduct
Properties of fixed-term loan products. This object is set only if category is fixedTerm.
payments loanProductPayments
Properties of a loan product related to making loan payments against the loan balance.
serviceRequestTypes array: [loanProductServiceRequestType]
Defines which service requests loan customers may submit from client applications.
items: object
attributes attributes
Additional attributes of the loan product, as defined by the loan servicer.

loanProductCategory

"revolving"

Loan Product Category (v1.0.0)

The highest level of loan categorization: revolving or fixed term.

loanProductCategory strings may have one of the following enumerated values:

ValueDescription
revolvingRevolving: Revolving credit loans such as credit cards and lines of credit.
fixedTermFixed-Term: Fixed-term loans such as mortgages, auto-loans, capital loans.

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

type: string


enum values: revolving, fixedTerm

loanProductPayments

{
  "enabled": true
}

Loan Product Payments (v1.0.0)

Properties of a loan product related to making loan payments against the loan balance.

Properties

NameDescription
Loan Product Payments (v1.0.0) object
Properties of a loan product related to making loan payments against the loan balance.
enabled boolean
If true, the customer may schedule addition one-time or recurring payments against the loan balance, drafted from eligible deposit accounts. If false, the corresponding loan account supports only the payment schedule established at loan origination.

loanProductServiceRequestType

{
  "type": "creditLimitIncrease",
  "label": "Credit Limit Increase",
  "description": "Request an increase in the loan account's credit limit.",
  "enabled": true
}

Loan Product Service Request Type (v1.0.0)

Defines a possible loan service request the loan customer can submit from a client application in order to request additional support or changes to the loan. This defines the type and label and description for the request, and whether the financial institution has enabled that type of request.

Properties

NameDescription
Loan Product Service Request Type (v1.0.0) object
Defines a possible loan service request the loan customer can submit from a client application in order to request additional support or changes to the loan. This defines the type and label and description for the request, and whether the financial institution has enabled that type of request.
type string
The name of the request. This is a language neutral identifier.

The allowed values for this property are defined at runtime in the label group named loanProductServiceRequestType in the response from the getLabels operation.
minLength: 4
maxLength: 32
pattern: ^[a-z][a-zA-Z0-9]{3,31}$

label string
A human-readable label for this type of loan service request. This field may be localized.
minLength: 4
maxLength: 128
description string(markdown)
A fuller description of this service request type. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
format: markdown
minLength: 1
maxLength: 4096
enabled boolean
If true the financial institution allows loan customers to submit this type of service request. if false, the client application should not present this loan service request type to the user.

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 accrued 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 transferred 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.

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]$

newAccountAvailability

"available"

New Account Availability (v1.0.0)

Describes if the product is available for opening new accounts.

newAccountAvailability strings may have one of the following enumerated values:

ValueDescription
availableUsers may open new accounts of this type
notAvailableUsers may not open new accounts of this type

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

type: string


enum values: available, notAvailable

overdraftProtectionDefaultSelection

"consent"

Overdraft Protection Default Selection (v1.0.0)

A setting representing whether the financial institution wishes the default for a user to be Opt-In (consent) or Opt-Out (decline) for a specific overdraft protection plan.

overdraftProtectionDefaultSelection strings may have one of the following enumerated values:

ValueDescription
consentConsent: The user experience should default to consent (Opt-In) to this overdraft protection plan.
declineDecline: The user experience should default to decline (Opt-out) to this overdraft protection plan.

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

type: string


enum values: consent, decline

overdraftProtectionElectionConstraints

"any"

Overdraft Protection Election Constraints (v1.0.0)

Indicates when the user may set or change the account overdraft protection election.

overdraftProtectionElectionConstraints strings may have one of the following enumerated values:

ValueDescription
anyAny: The user can change their overdraft protection at any time.
noneNone: The user may not change the default overdraft protection election for this product.
originationorigination: The user may set their overdraft protection election only at account origination.

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

type: string


enum values: any, none, origination

overdraftProtectionEnablement

"none"

Overdraft Protection Enablement (v1.0.0)

Describes the financial institution's overdraft offering for this banking product.

overdraftProtectionEnablement strings may have one of the following enumerated values:

ValueDescription
noneNone: The financial institution offers no Reg-E protection for this banking product.
regEOnlyReg-E Only: The financial institution offers only standard Reg-E protection for this banking product.
nonRegEOnlyNon-Reg-E Only: The financial institution offers only non-Reg-E protection for this banking product.
bothBoth Reg-E and Non-Reg-E: The financial institution offers both Reg-E and non-Reg-E protection for this banking product.

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

type: string


enum values: none, regEOnly, nonRegEOnly, both

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.

type: string


default: "pending"
enum values: pending, active, inactive, removed

product

{
  "_profile": "https://production.api.apiture.com/schemas/products/product/v3.6.0/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/b2134f56-3645-490d-a788-79e974635ae8"
    },
    "apiture:deactivate": {
      "href": "/disabledProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:remove": {
      "href": "/removedProducts?product=a6459cdf-543e-46df-887b-ac5378ee9acd"
    }
  },
  "_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": {
    "productType": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    },
    "productSubtype": {
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0,
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "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",
    "reviewSecondaryOpening": false
  },
  "card": {
    "provider": {
      "id": "DDA_203389"
    },
    "images": [
      {
        "height": 1024,
        "width": 833,
        "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
      }
    ],
    "activationExpiration": 30,
    "expeditedShippingAllowed": {
      "forNew": true,
      "forReplacements": true
    },
    "autoOrder": {
      "forDigitalAccountOpening": true,
      "forJointOwners": false,
      "forAuthorizedSigners": true
    }
  },
  "highlights": [
    "FDIC Insurance",
    "No Monthly Maintenance Fees",
    "Minimum Deposit of $2,500"
  ],
  "coreBanking": {
    "finxact": {
      "productGroup": "1",
      "productSegments": {
        "deptId": "350",
        "vertical": "01"
      },
      "interestMatrixDimKey": "Bank_Savings_Rate"
    }
  }
}

Product (v3.6.0)

Representation of product resources. The _links in a product may contain the following (which may be passed when creating a product via the POST /products operation or in PATCH operations to this product instance): The representation contains the product type and subtype in the _embedded objects.

Response and request bodies using this product 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
apiture:activateActivate a productPOST
apiture:deactivateDeactivate a productPOST
apiture:removeRemove a productPOST
apiture:lockMarks an active product as ineligible for new account openingPOST
apiture:unlockMarks an active product as eligible for new account openingPOST
apiture:productTermsAndConditions The URL of the Terms and Conditions document for this productGET
apiture:electronicConsent The URL of the Electronic Use consent document for this productGET

Properties

NameDescription
Product (v3.6.0) object

Representation of product resources. The _links in a product may contain the following (which may be passed when creating a product via the POST /products operation or in PATCH operations to this product instance): The representation contains the product type and subtype in the _embedded objects.

Response and request bodies using this product 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
apiture:activateActivate a productPOST
apiture:deactivateDeactivate a productPOST
apiture:removeRemove a productPOST
apiture:lockMarks an active product as ineligible for new account openingPOST
apiture:unlockMarks an active product as eligible for new account openingPOST
apiture:productTermsAndConditions The URL of the Terms and Conditions document for this productGET
apiture:electronicConsent The URL of the Electronic Use consent document for this productGET
_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 productEmbeddedObjects
Embedded objects related to this product. A product contains summary representation of the product type and subtype.
_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.
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.
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.
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.
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
institutionName string
The name of the financial institution.
minLength: 1
maxLength: 128
coreType string
Identifies the underlying bank core system.
onlineBankingEnabled boolean
true if this product is enabled and eligible for online banking.
default: false
fees array: [fee]
Zero or more fees for accounts of this product. If the array is empty or not present, there are no fees.
items: object
statementFrequency string(period)
The frequency with which statements are issued for accounts of this product. 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
timeDeposit timeDeposit
Properties of time deposit products, primarily Certificate of Deposit products.
newAccountAvailability newAccountAvailability
Indicates if the product is available for opening new accounts.

  • available means the product may be selected for a new account application.
  • notAvailable means the product may not be selected for a new account application.

The default is available. Note that clients must check both the product state and the newAccountAvailability when listing products for new account opening. The ?openable=true query parameter on getProducts combines these.

Update this property with the unlockProduct or unlockProduct operations
read-only
enum values: available, notAvailable

availability productAvailability
Indicates if the product is generally available or only available to a limited set of customers.
read-only
enum values: general, limited
loan loanProduct
Properties of loan products. This value is omitted for deposit products.
The property loan was added on version 3.5.0 of the schema.
attributes attributes
An optional map of name/value pairs which provide additional metadata about the product type.
createdAt readOnlyTimestamp(date-time)
The date-time when this product was created, in [RFC 3339](https://tools.ietf.org/html/rfc3339 UTC date-time YYYY-MM-DDThhmm:ss.sssZ format. This value is derived and immutable.
read-only
format: date-time
minLength: 20
maxLength: 30
card productCard
Debit card details associated with this product.
overdraftProtection productOverdraftProtection
Overdraft protection details associated with this product.
highlights array: [string]
A list of descriptive strings which highlight attributes of the product, to be presented to the end users in the product details. The strings may include these product property references:

  • {rates.apy}
  • {rates.apr}
  • {rates.apye}
  • {rates.nominal}
  • {rates.accrualType}

Note: The corresponding values are inserted into these highlight strings only when the ?resolve=true option is used on the getProduct call.
read-only
items: string(template)
» format: template

secondaryHighlights array: [string]
A list of descriptive strings which highlight secondary attributes of the product, to be presented to the end users in the product details. The strings may include these product property references:

  • {rates.apy}
  • {rates.apr}
  • {rates.apye}
  • {rates.nominal}
  • {rates.accrualType}

Note: The corresponding values are inserted into these highlight strings only when the ?resolve=true option is used on the getProduct call.
read-only
items: string(template)
» format: template

coreBanking productCoreBanking
Properties of a product that are specific to the banking core provider.
read-only
»»» additionalProperties string
The value for this marketing segment name.

productAvailability

"general"

Product Availability (v1.0.0)

Indicates if the product is generally available or only available to a limited set of customers.

productAvailability strings may have one of the following enumerated values:

ValueDescription
generalGeneral: Available to all customers
limitedLimited: Available to a limited set of customers

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

type: string


enum values: general, limited

productCard

{
  "provider": {
    "id": "DDA_203389"
  },
  "images": [
    {
      "height": 1024,
      "width": 833,
      "uri": "http://cdn.3rdparty.bank/images/products/CD-3892/debit-card-large.png"
    }
  ],
  "activationExpiration": 30,
  "expeditedShippingAllowed": {
    "forNew": true,
    "forReplacements": true
  },
  "autoOrder": {
    "forDigitalAccountOpening": true,
    "forJointOwners": true,
    "forAuthorizedSigners": true
  },
  "addingAccountsEnabled": true
}

Product Card Details (v1.1.0)

Debit card details associated with this product.

Properties

NameDescription
Product Card Details (v1.1.0) object
Debit card details associated with this product.
provider cardProvider (required)
Details of the card provider.
images array: [cardImage] (required)
Image (JPEG or PNG) of a sample blank debit card for this product.
minItems: 1
items: object
activationExpiration integer (required)
After a card is issued, it must be activated before this many days before the card activation expires.
minimum: 7
expeditedShippingAllowed expeditedShippingAllowed
Indicates if the bank customer can request expedited shipping for cards associated with the accounts for this product.
autoOrder autoOrderCards
Whether the financial institution will automatically order new debit cards for bank customers.
addingAccountsEnabled boolean
If true, a user can add an additional account to the card associated with accounts of this banking product. The allowed products are defined in the configuration group debitCardsAdditionalAccounts, value allowedProductIfxTypes.
default: false

productCoreBanking

{
  "finxact": {
    "productGroup": "1",
    "productSegments": {
      "deptId": "350",
      "vertical": "01"
    },
    "interestMatrixDimKey": "Bank_Savings_Rate"
  }
}

Product Core Banking Properties (v1.1.0)

Product 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 a product 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
Product Core Banking Properties (v1.1.0) object
Product 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 a product 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 productFinxactCoreBanking
Product 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
»» additionalProperties string
The value for this marketing segment name.

productEmbeddedObjects

{
  "productType": {
    "_profile": "https://production.api.apiture.com/schemas/products/summaryProductType/v1.1.2/profile.json",
    "_links": {
      "self": {
        "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
      },
      "apiture:parent": {
        "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
      }
    },
    "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
    "name": "Demand Deposit with Interest",
    "label": "Demand Deposit with Interest",
    "description": "A demand deposit checking account with interest.",
    "state": "active",
    "subtype": true,
    "subtypeCount": 0
  },
  "productSubtype": {
    "_profile": "https://production.api.apiture.com/schemas/products/summaryProductType/v1.1.2/profile.json",
    "_links": {
      "self": {
        "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
      },
      "apiture:parent": {
        "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
      }
    },
    "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
    "name": "Demand Deposit with Interest",
    "label": "Demand Deposit with Interest",
    "description": "A demand deposit checking account with interest.",
    "state": "active",
    "subtype": true,
    "subtypeCount": 0
  }
}

Product Embedded Objects (v1.1.2)

Related objects embedded within a product resource.

Properties

NameDescription
Product Embedded Objects (v1.1.2) object
Related objects embedded within a product resource.
productType summaryProductType
The product type resource.
productSubtype summaryProductType
The product subtype resource.

productFeeType

"servicing"

Product Fee Type (v1.0.1)

A type identifier which indicates what type of fee exists for a banking product.

Warning: the enum list will be removed in a future release. and the values defined at runtime via the productFeeType group in the response from the getLabels operation.

type: string


enum values: servicing, minimumBalance, overdraft, returnedCheck, statementHardCopy, atm, foreignTransaction, earlyClosing, earlyWithdrawal, other

productFinxactCoreBanking

{
  "productGroup": "1",
  "productSegments": {
    "deptId": "350",
    "vertical": "01"
  },
  "interestMatrixDimKey": "Bank_Savings_Rate"
}

Product Core Banking Properties (v1.1.0)

Product properties that are specific to the Finxact banking core system.

Properties

NameDescription
Product Core Banking Properties (v1.1.0) object
Product properties that are specific to the Finxact banking core system.
productGroup string
Each product in Finxact belongs to a product group. This property is Finxact identifier of the customer group that this product belongs to.
read-only
productSegments object
An object which maps marketing segment names to the value for that named segment. The financial institution sets the names and values when configuring their banking products in Finxact.
read-only
» additionalProperties string
The value for this marketing segment name.
interestMatrixDimKey string
Interest rates in Finxact are contained in a matrix which is attached to the product's interest component. This interestMatrixDimKey is required to facilitate retrieving the appropriate rate from the matrix.
read-only

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%.

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%.
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

productOverdraftProtection

{
  "enablement": "both",
  "defaultRegEOption": "consent",
  "defaultNonRegEOption": "consent",
  "creditLimit": "100.00",
  "implicitConsent": true,
  "electionConstraints": "origination",
  "linkingEnabled": true,
  "maximumLinkedAccountCount": 3
}

Product Overdraft Protection (v1.1.0)

Attributes of the banking product's overdraft protection.

Properties

NameDescription
Product Overdraft Protection (v1.1.0) object
Attributes of the banking product's overdraft protection.
enablement overdraftProtectionEnablement
Specifies what form of Reg-E protection the financial institution offers for this banking product.
enum values: none, regEOnly, nonRegEOnly, both
defaultRegEOption overdraftProtectionDefaultSelection
The financial institution's default value when prompting for customer's consenting to (opt-in) or declining (opt-out) the product's Reg-E overdraft protection. This property is ignored if enablement is none or nonRegE.
enum values: consent, decline
defaultNonRegEOption overdraftProtectionDefaultSelection
The financial institution's default value when prompting for customer's consenting to (opt-in) or declining (opt-out) the product's Non-Reg-E overdraft protection. This property is ignored if enablement is none or RegE.
enum values: consent, decline
creditLimit monetaryValue
The amount of credit the financial institution grants if the account balance goes below 0. This property is ignored if enablement is none.
default: "0.00"
pattern: ^(0|[1-9][0-9]*)\.[0-9][0-9]$
implicitConsent boolean
If true, overdraft protection consent is implicitly granted because the terms of conditions of the banking product include the overdraft protection terms and conditions. If false, account origination should prompt the user for their consent to the terms and conditions of the overdraft protection.
default: false
linkingEnabled boolean
If true, accounts of this product may be linked as an overdraft protection account for another account where overdraft protection is enabled.
default: false
maximumLinkedAccountCount integer
The maximum number of unique secondary internal accounts that the account holder may select as sources of funds for overdraft protection for accounts from this product. The value 0 is used if overdraft protection is not enabled for accounts based on this product.
default: 1
minimum: 0
electionConstraints overdraftProtectionElectionConstraints
Indicates when the user can elect overdraft protection.
default: "any"
enum values: any, none, origination

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.

type: string


enum values: personal, business

productType

{
  "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    },
    "apiture:deactivate": {
      "title": "Deactivate this product type",
      "href": "/products/inactiveProductTypes?productType=eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0,
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        },
        "apiture:deactivate": {
          "href": "/disabledProductTypes?productType=4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  }
}

Product Type (v1.1.2)

Representation of a product type resource. If the type is a subtype, the _embedded resource contains the parent type.

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

RelSummaryMethod
selfFetch a representation of this product type.GET
apiture:parentFetch a representation of this product type.GET
apiture:childrenReturn a collection of product typesGET
apiture:productsReturn a collection of productsGET
apiture:activateActivate a product typePOST
apiture:deactivateDeactivate a product typePOST
apiture:removeRemove a product typePOST

Properties

NameDescription
Product Type (v1.1.2) object

Representation of a product type resource. If the type is a subtype, the _embedded resource contains the parent type.

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

RelSummaryMethod
selfFetch a representation of this product type.GET
apiture:parentFetch a representation of this product type.GET
apiture:childrenReturn a collection of product typesGET
apiture:productsReturn a collection of productsGET
apiture:activateActivate a product typePOST
apiture:deactivateDeactivate a product typePOST
apiture:removeRemove a product typePOST
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

name string
The name of this product type.
minLength: 1
maxLength: 128
label string
The text label for this product type. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown)
A fuller description of this product type. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
format: markdown
minLength: 1
maxLength: 4096
subtype boolean
Indicates if this is a subtype. This is a derived, immutable property, based on whether the product type was created with a link to a parent type. See also the apiture:parent link on the productSubtype schema.
_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 productTypeEmbeddedObjects
Embedded resources for this product type. This may contain the parent type, if any. _embedded may not appear if there are no embedded resources.
_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 product type resource. This is an opaque string.
read-only
subtypeCount integer
0 if this type does not have subtypes; otherwise this holds the indicated number of direct subtypes. This is a derived, immutable property. See also the apiture:children link on the productSubtype schema.
read-only
minimum: 0
createdAt readOnlyTimestamp(date-time)
The date-time when this product type was created. This value is derived and immutable.
read-only
format: date-time
minLength: 20
maxLength: 30
attributes object
An optional map of name/value pairs which provide additional metadata about the product type.

productTypeEmbeddedObjects

{
  "parent": {
    "_profile": "https://production.api.apiture.com/schemas/products/summaryProductType/v1.1.2/profile.json",
    "_links": {
      "self": {
        "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
      },
      "apiture:parent": {
        "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
      }
    },
    "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
    "name": "Demand Deposit with Interest",
    "label": "Demand Deposit with Interest",
    "description": "A demand deposit checking account with interest.",
    "state": "active",
    "subtype": true,
    "subtypeCount": 0
  }
}

Product Type Embedded Objects (v1.1.2)

Objects embedded in a product type resource.

Properties

NameDescription
Product Type Embedded Objects (v1.1.2) object
Objects embedded in a product type resource.
parent summaryProductType
In subtypes, this is the parent type.

productTypeFields

{
  "name": "string",
  "label": "string",
  "description": "string",
  "subtype": true
}

Product Type Fields (v1.0.1)

Common fields of the product type resource.

Properties

NameDescription
Product Type Fields (v1.0.1) object
Common fields of the product type resource.
name string
The name of this product type.
minLength: 1
maxLength: 128
label string
The text label for this product type. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown)
A fuller description of this product type. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
format: markdown
minLength: 1
maxLength: 4096
subtype boolean
Indicates if this is a subtype. This is a derived, immutable property, based on whether the product type was created with a link to a parent type. See also the apiture:parent link on the productSubtype schema.

productTypes

{
  "_profile": "https://production.api.apiture.com/schemas/products/productTypes/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products?start=0&limit=10"
    },
    "first": {
      "href": "/products?start=0&limit=10"
    },
    "next": {
      "href": "/products?start=10&limit=10"
    },
    "collection": {
      "href": "/products"
    }
  },
  "start": 0,
  "limit": 10,
  "count": 127,
  "name": "productTypes",
  "_embedded": {
    "items": [
      {
        "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
        "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
        "name": "Demand Deposit",
        "label": "Demand Deposit",
        "description": "A demand deposit checking account.",
        "state": "active",
        "subtype": false,
        "subtypeCount": 1,
        "_links": {
          "self": {
            "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
          }
        }
      },
      {
        "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
        "_profile": "https://production.api.apiture.com/schemas/products/productType/v1.1.2/profile.json",
        "name": "Demand Deposit with Interest",
        "label": "Demand Deposit with Interest",
        "description": "A demand deposit checking account with interest.",
        "state": "active",
        "subtype": true,
        "subtypeCount": 0,
        "_links": {
          "self": {
            "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
          },
          "apiture:parent": {
            "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
          }
        }
      }
    ]
  }
}

Product Type Collection (v1.1.2)

Collection of product types. 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
Product Type Collection (v1.1.2) object
Collection of product types. 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 productTypesEmbeddedObjects
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.

productTypesEmbeddedObjects

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/products/summaryProductType/v1.1.2/profile.json",
      "_links": {
        "self": {
          "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
        },
        "apiture:parent": {
          "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      },
      "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
      "name": "Demand Deposit with Interest",
      "label": "Demand Deposit with Interest",
      "description": "A demand deposit checking account with interest.",
      "state": "active",
      "subtype": true,
      "subtypeCount": 0
    }
  ]
}

Product Types Embedded Objects (v1.1.2)

Objects embedded in the productTypes items array.

Properties

NameDescription
Product Types Embedded Objects (v1.1.2) object
Objects embedded in the productTypes items array.
items array: [summaryProductType]
An array containing a page of product type items.
items: object

products

{
  "_profile": "https://production.api.apiture.com/schemas/products/products/v3.4.0/profile.json",
  "_links": {
    "self": {
      "href": "/products?start=0&limit=10"
    },
    "first": {
      "href": "/products?start=10&limit=10"
    },
    "next": {
      "href": "/products?start=10&limit=10"
    },
    "collection": {
      "href": "/products"
    }
  },
  "start": 0,
  "limit": 10,
  "count": 42,
  "name": "products",
  "_embedded": {
    "items": [
      {
        "_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
        "name": "Premiere Checking",
        "label": "Premiere Checking",
        "description": "A premiere demand deposit checking account for business use.",
        "state": "active",
        "newAccountAvailability": "available",
        "regDEnabled": true,
        "availability": "general",
        "category": "Checking",
        "rates": {
          "apy": "1.40",
          "compoundPeriod": "P1D"
        },
        "currency": "USD",
        "_profile": "https://production.api.apiture.com/schemas/products/summaryProduct/v3.4.0/profile.json",
        "_links": {
          "apiture:productType": {
            "href": "/products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8"
          },
          "apiture:productSubtype": {
            "href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
          },
          "self": {
            "href": "/products/products/a6459cdf-543e-46df-887b-ac5378ee9acd"
          }
        }
      }
    ]
  }
}

Product Collection (v3.4.0)

A collection of product summaries in the _embedded.items array. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

NameDescription
Product Collection (v3.4.0) object
A collection of product summaries in the _embedded.items array. 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 productsEmbeddedObjects
_embedded.items is array of product summaries.
_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.

productsEmbeddedObjects

{
  "items": [
    {
      "_profile": "https://production.api.apiture.com/schemas/products/summaryProduct/v3.4.0/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",
        "reviewSecondaryOpening": false
      }
    }
  ]
}

Products Embedded Objects (v3.4.0)

Objects embedded in the products schema's items array.

Properties

NameDescription
Products Embedded Objects (v3.4.0) object
Objects embedded in the products schema's items array.
items array: [summaryProduct]
An array containing a page of product items.
items: object

readOnlyTimestamp

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

Read-Only Timestamp (v1.0.0)

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

This schema was resolved from common/readOnlyTimestamp.

type: string(date-time)


read-only
format: date-time
minLength: 20
maxLength: 30

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.

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.

summaryProduct

{
  "_profile": "https://production.api.apiture.com/schemas/products/summaryProduct/v3.4.0/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",
    "reviewSecondaryOpening": false
  }
}

Product Summary (v3.4.0)

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

Properties

NameDescription
Product Summary (v3.4.0) 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
_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.
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.
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.
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.
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

summaryProductType

{
  "_profile": "https://production.api.apiture.com/schemas/products/summaryProductType/v1.1.2/profile.json",
  "_links": {
    "self": {
      "href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    }
  },
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0
}

Product Type Summary (v1.1.2)

Summary representation of a product type resource in product types 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.

Properties

NameDescription
Product Type Summary (v1.1.2) object
Summary representation of a product type resource in product types 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.
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

name string
The name of this product type.
minLength: 1
maxLength: 128
label string
The text label for this product type. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown)
A fuller description of this product type. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
format: markdown
minLength: 1
maxLength: 4096
subtype boolean
Indicates if this is a subtype. This is a derived, immutable property, based on whether the product type was created with a link to a parent type. See also the apiture:parent link on the productSubtype schema.
_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
The unique identifier for this product type resource. This is an opaque string.
read-only

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}$

timeDeposit

{
  "maturityPolicy": "rolloverPrincipalAndInterest",
  "minimumTerm": "P6M",
  "maximumTerm": "P6M",
  "maturesAt": "2021-02-04T09:23:56.375Z"
}

Time Deposit Products (v2.0.0)

Properties of time deposit products, primarily Certificate of Deposit products.

Properties

NameDescription
Time Deposit Products (v2.0.0) object
Properties of time deposit products, primarily Certificate of Deposit products.
maturityPolicy maturityPolicy
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 accrued 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 transferred 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.
enum values: rolloverPrincipalAndInterest, transferPrincipalAndInterest, rolloverPrincipalAndTransferInterest, holdPrincipalAndInterest, partialTransfer

minimumTerm string(period)
The minimum maturity term offered by this product, for products such as certificates of deposits. See also maximumTerm For example, Some CD products may be opened with a flexible term such as 31 to 181 days, expressed as minimumTerm: P31D, maximumTerm: P181D For fixed-term products, minimumTerm and maximumTerm should be the same.

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.
format: period

maximumTerm string(period)
The maximum maturity term offered by this product, for products such as certificates of deposits. If omitted, there is no fixed term (not all product types impose a term). For example, Some CD products may be opened with a flexible term such as 31 to 181 days, expressed as minimumTerm: P31D, maximumTerm: P181D. For fixed-term products, minimumTerm and maximumTerm are the same.

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.
format: period

maturesAt readOnlyTimestamp(date-time)
The earliest future date an account will mature if opened today, based on the minimumTerm of the product. This is an RCF 3339 date-time value. This value is ignored in updates to the product.
read-only
format: date-time
minLength: 20
maxLength: 30

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 decreases 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.

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.

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}$


Generated by @apiture/api-doc 3.1.0 on Fri Mar 22 2024 13:03:15 GMT+0000 (Coordinated Universal Time).