Banking Products v0.13.12
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 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. When the terms and conditions of a product changes, this constititutes a new revision of the product. Business rules (which are not part of this service) dictate whether all accounts which are attached to the product remain attached to the previous revision of the product or are attached to the newer revision or when and how this occurs. Similarly, business rules and other services may provide notification to users of changes in terms of use, etc. Products and product types each have a name
, a description
a label
, and a state
.
The state 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 useinactive
Not available for use (deactivated)removed
Removed and archived. Removed items are not eligible to be activated. When an account 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. **TODO** The `newAccountAvailability` in the product resource is currently mutable but it will become immutable and derived only. The value is derived from the existence of the product in the `unlockedProducts` collection.
This resource is a copy of the banking product resources in the bank core. In some cases, the Apiture platform does not have programmatic access to that core, so when when a financial institution updates the banking products in the core, they must *also* use this API to update the Apiture copy.
Download OpenAPI Definition (YAML)
Base URLs:
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 privateclientId
(and optionalclientSecret
) as part of this flow. The client obtains an access token from the server attokenUrl
. It then passes the received access token via theAuthorization: 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 = /auth/oauth2/authorize
- Token URL = /auth/oauth2/token
- OAuth2 client access token authentication. The client authenticates against the server at
Scope | Scope Description |
---|---|
data/read |
Read access to non-account, non-profile data. |
data/write |
Write (update) access to non-account, non-profile data. |
data/delete |
Delete access to non-account, non-profile data. |
data/full |
Full access to non-account, non-profile data. |
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. |
API
Endpoints which describe this 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
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));
}
})
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);
});
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 /
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 productsapiture:productTypes
: links to the collection of product types
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
OK
{
"id": "products",
"name": "Banking Products",
"apiVersion": "0.1.0",
"_profile": "https://api.apiture.com/schemas/common/root/v1.0.0/profile.json",
"_links": {
"apiture:products": {
"href": "/products/products"
},
"apiture:productTypes": {
"href": "/products/productTypes"
}
}
}
200 Response
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "http://localhost:8080/schemas/common/root/v1.0.0/profile.json",
"_links": {}
}
Responses
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
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));
}
})
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);
});
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 /apiDoc
Return the OpenAPI document that describes this API.
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
Accept-Language (header) |
string The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"property1": {
"label": "Limited Liability Corporation",
"description": "string",
"language": "en-us",
"code": "31"
},
"property2": {
"label": "Limited Liability Corporation",
"description": "string",
"language": "en-us",
"code": "31"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: localizedLabels |
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
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));
}
})
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);
});
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 /products
Return a paginated sortable filterable searchable collection of products. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first product in this page. The default, 0, represents the first page of the collection. |
limit (query) |
integer(int32) The maximum number of product representations to return in this page. |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 . |
name (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 (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 (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 will match only items whose type is B2001 , but ?type=B2001|B3002 will match items whose type is B2001 or B3002 . This is combined with an implicit and with ?state ?filter if they are used. See filtering. |
category (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 will match only items whose category is Savings , but ?category=Savings|Checking will match items whose type is Savings or Checking . This is combined with an implicit and with other filters if they are used. See filtering. |
state (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 will match only items whose state is pending ; ?state=removed|inactive will match items whose state is removed or inactive . This is combined with an implicit and with other filters if they are used. See filtering. |
target (query) |
string Subset the products or product types collection to those whose target matches this value (personal or business ). For example, ?target=personal will match only items whose target is personal . This is combined with an implicit and with other filters if they are used. See filtering. Enumerated values: personal business |
ifxType (query) |
string Subset the products collection to those whose ifxType matches this value. Use | to separate multiple values. For example, ?ifxType=SDA will match only items whose ifxType is SDA ; ?ifxType=SDA|DDA will match items whose ifxType is SDA or DDA . This is combined with an implicit and with other filters if they are used. See filtering. |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
openable (query) |
boolean If true, filter only by products whose state is active and newAccountAvailability is available . For example, ?openable=true is equivalent to ?state=active&newAccountAvailability=available . |
newAccountAvailability (query) |
string Subset the result to only those whose newAccountAvailability property matches this value. Enumerated values: available notAvailable |
productType (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.) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/products/products/v1.0.0/profile.json",
"start": 0,
"limit": 10,
"count": 42,
"name": "products",
"_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"
}
},
"_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",
"category": "Checking",
"revision": {},
"rate": {
"value": "1.40",
"type": "apr"
},
"_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
Status | Description |
---|---|
200 | OK |
OK | |
Schema: products |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
409 | Conflict |
Conflict. Query parameters are in conflict. Do not use both ?orderable= and ?state= query parameters. | |
Schema: errorResponse |
Status | Description |
---|---|
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
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));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.0/profile.json",
"name": "Business Checking",
"label": "Business Checking",
"description": "A demand deposit checking account for business use.",
"code": "B2001",
"category": "Checking",
"rate": {
"value": "1.40",
"type": "apr"
},
"_links": {
"apiture:productSubtype": {
"href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
}
}
}';
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);
});
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 /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://api.apiture.com/schemas/products/product/v1.0.0/profile.json",
"name": "Business Checking",
"label": "Business Checking",
"description": "A demand deposit checking account for business use.",
"code": "B2001",
"category": "Checking",
"rate": {
"value": "1.40",
"type": "apr"
},
"_links": {
"apiture:productSubtype": {
"href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
}
}
}
Parameters
Parameter | Description |
---|---|
copyOf (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. |
body (body) |
createProduct (required) The data necessary to create a new product. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
201 Response
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Responses
Status | Description |
---|---|
201 | Created |
Created | |
Schema: product |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One of the request parameters to create a product was not valid. See _error for more information | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location 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 . | |
201 | Content-Location string |
The Content-Location will contain the URI of the specific revision corresponding to this new product resource. | |
201 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
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
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));
}
})
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);
});
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 /products/{productId}
Return a HAL representation of this product resource.
This resource also maintains immutable revisions; see the getProductRevisions
and getProductRevision
operations. The Content-Location
response header, if present, identifies the equivalent revision.
Parameters
Parameter | Description |
---|---|
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
If-None-Match (header) |
string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: product |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product resource. | |
200 | Content-Location string |
The Content-Location will contain the URI of the specific revision corresponding to this product resource. |
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
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));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}';
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);
});
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 /products/{productId}
Perform a complete replacement of this product. This creates a new product revision. 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
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Parameters
Parameter | Description |
---|---|
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
product (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: product |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One of the request parameters to update a product was not valid. See _error for more information | |
Schema: errorResponse |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
Response Headers
Status | Description |
---|---|
200 | Content-Location string |
The Content-Location will contain the URI of the specific revision corresponding to this product resource. | |
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product resource. |
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
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));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}';
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);
});
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 /products/{productId}
Perform a partial update of this product. This creates a new product revision. 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 to /activeProducts
, /inactiveProducts
, /removedProducts
.
The product code
may not be changed if the current state
is not pending
.
Body parameter
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Parameters
Parameter | Description |
---|---|
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
product (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: product |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One of the request parameters to patch a product was not valid. See _error for more information | |
Schema: errorResponse |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
unprocessableEntity. The _id and newAccountAvailability cannot be changed | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | Content-Location string |
The Content-Location will contain the URI of the specific revision corresponding to this product resource. | |
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product resource. |
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
400 Response
{
"_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://api.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One of the request parameters to delete a product was not valid. See _error for more information | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. A product may not be deleted if the state is anything other than pending . | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
getProductRevisions
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/products/products/{productId}/revisions \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/products/products/{productId}/revisions HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/products/products/{productId}/revisions',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/products/products/{productId}/revisions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/products/products/{productId}/revisions',
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/{productId}/revisions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/products/products/{productId}/revisions");
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/{productId}/revisions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return a collection of product revisions
GET /products/{productId}/revisions
Return a paginated sortable filterable searchable collection of product revisions. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
start (query) |
integer(int64) The zero-based index of the first product revision item to include in this page. The default 0 denotes the beginning of the collection. |
limit (query) |
integer(int32) The maximum number of product representations to return in this page. |
sortBy (query) |
string Optional sort criteria. Revision collections are sorted by default in reverse chronological order (most recent revision first). See sort criteria format, such as ?sortBy=field1,-field2 . |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/products/products/v1.0.0/profile.json",
"start": 0,
"limit": 10,
"count": 42,
"name": "products",
"_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"
}
},
"_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",
"category": "Checking",
"revision": {},
"rate": {
"value": "1.40",
"type": "apr"
},
"_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
Status | Description |
---|---|
200 | OK |
OK | |
Schema: products |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
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 |
getProductRevision
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/products/products/{productId}/revisions/{revisionId} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/products/products/{productId}/revisions/{revisionId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/products/products/{productId}/revisions/{revisionId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/products/products/{productId}/revisions/{revisionId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'If-None-Match' => 'string',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/products/products/{productId}/revisions/{revisionId}',
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}/revisions/{revisionId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/products/products/{productId}/revisions/{revisionId}");
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}/revisions/{revisionId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of an immutable revision of this product
GET /products/{productId}/revisions/{revisionId}
Return an immutable HAL representation of this revision of this product resource. The revision may also have prev
and next
links to previous and/or next revisions, if they exist.
Parameters
Parameter | Description |
---|---|
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
revisionId (path) |
string (required) The identifier for a revision of this resource. Revision identifiers are strings in RFC 3339 format: YYYY-MM-DDThh:mm:ss.sssZ . |
If-None-Match (header) |
string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: product |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product resource. |
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
product (query) |
string (required) A server-supplied value which identifies the product instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The product was malformed or does not refer to a product. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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 |
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
product (query) |
string (required) A server-supplied value which identifies the product instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The product was malformed or does not refer to a product. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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 |
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
product (query) |
string (required) A server-supplied value which identifies the product instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The product was malformed or does not refer to a product. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
product (query) |
string (required) A server-supplied value which identifies the product instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The product was malformed or does not refer to a product. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
product (query) |
string (required) A server-supplied value which identifies the product instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The product was malformed or does not refer to a product. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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
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));
}
})
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);
});
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 /productTypes
Return a paginated sortable filterable searchable collection of product types. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (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. |
limit (query) |
integer(int32) The maximum number of product type representations to return in this page. |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 . |
name (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 (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 (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 (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 will match only items whose state is pending ; ?state=removed|inactive will match items whose state is removed or inactive . This is combined with an implicit and with other filters if they are used. See filtering. |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
parent (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. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/products/productsTypes/v1.0.0/profile.json",
"start": 0,
"limit": 10,
"count": 127,
"name": "productTypes",
"_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"
}
},
"_embedded": {
"items": [
{
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productTypes |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
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
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));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/profile.json",
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account, a subtype of the base Demand Deposit account.",
"_links": {
"apiture:parent": {
"href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
}
}
}';
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);
});
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 /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://api.apiture.com/schemas/products/productType/v1.0.0/profile.json",
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account, a subtype of the base Demand Deposit account.",
"_links": {
"apiture:parent": {
"href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
}
}
}
Parameters
Parameter | Description |
---|---|
copyOf (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. |
body (body) |
createProductType (required) The data necessary to create a new product type. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
201 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
201 | Created |
Created | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One of the request parameters to create a productType was not valid. See _error for more information | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location 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 . | |
201 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
productTypeId (path) |
string (required) The unique identifier of this product type. This is an opaque string. |
If-None-Match (header) |
string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product type resource. |
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
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));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}';
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);
});
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 /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
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Parameters
Parameter | Description |
---|---|
productTypeId (path) |
string (required) The unique identifier of this product type. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
productType (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product type resource. |
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
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));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}';
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);
});
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 /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
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Parameters
Parameter | Description |
---|---|
productTypeId (path) |
string (required) The unique identifier of this product type. This is an opaque string. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
body (body) |
productType (required) |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One of the request parameters to patch a productType was not valid. See _error for more information | |
Schema: errorResponse |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this product type resource. |
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
productTypeId (path) |
string (required) The unique identifier of this product type. This is an opaque string. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
409 Response
{
"_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://api.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Responses
Status | Description |
---|---|
204 | No Content |
No Content. The resource was deleted successfully. |
Status | Description |
---|---|
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 |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
productType (query) |
string (required) A server-supplied value which identifies the product type instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The productType was malformed or does not refer to a product type. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
productType (query) |
string (required) A server-supplied value which identifies the product type instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The productType was malformed or does not refer to a product type. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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
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));
}
})
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);
});
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 /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
Parameter | Description |
---|---|
productType (query) |
string (required) A server-supplied value which identifies the product type instance. |
If-Match (header) |
string The entity tag that was returned in the ETag response. This must match the current entity tag of the resource. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: productType |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The productType was malformed or does not refer to a product type. |
Status | Description |
---|---|
409 | Conflict |
Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
| |
Schema: errorResponse |
Status | Description |
---|---|
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
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
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));
}
})
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);
});
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 /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 bussiness 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
Parameter | Description |
---|---|
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
Accept (header) |
string The media type of the desired response representation. Only text/markdown is currently supported. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
404 Response
{
"_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://api.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
Markdown template for the account verifications letter template. | |
Schema: string |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Status | Description |
---|---|
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 |
Response Headers
Status | Description |
---|---|
200 | Content-Type string |
The media type of the response representation. The Content-Type will be text/markdown . |
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
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));
}
})
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);
});
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 /products/{productId}/verificationLetterTemplate
Set or replace the account verification letter template for this product.
Body parameter
Parameters
Parameter | Description |
---|---|
productId (path) |
string (required) The unique identifier of this product. This is an opaque string. |
Accept (header) |
string The media type of the desired response representation. Only text/markdown is currently supported. |
Content-Type (header) |
string The media type of the request body representation. Only text/markdown is currently supported. |
body (body) |
string (required) The Github Flavored Markdown text (with Mustache variables) defining the template for the verification letter. |
Try it
Fields marked with * are mandatory.
Response
Response Code:
Response Headers:
Response Body:
Click on 'Try It' to get a response.
Example responses
200 Response
404 Response
{
"_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://api.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK | |
Schema: string |
Status | Description |
---|---|
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. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | Content-Type string |
The media type of the response representation. The Content-Type will be text/markdown . |
Schemas
productTypeFields
{
"state": "pending",
"name": "string",
"label": "string",
"description": "string",
"subtype": true
}
Product Type Fields (Version v1.0.0
)
Common fields of the product type resource.
Properties
Name | Description |
---|---|
state | string The state of this product or product type. New resources are pending by default and must be activated before they may be used.
The To change the state of a product or product type, use the
|
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. 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.
|
ifxType
"CCA"
IFX Account Type (Version v1.0.0
)
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.
Type: string
Enumerated values: CCA
CDA
CLA
CMA
DDA
EQU
GLA
ILA
INV
IRA
IRL
LOC
MLA
MMA
PBA
PPA
RWD
SDA
summaryProductType
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
},
"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 with interest.",
"state": "active",
"subtype": true,
"subtypeCount": 0
}
Product Type Summary (Version v1.0.0
)
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
Name | Description |
---|---|
state | string The state of this product or product type. New resources are pending by default and must be activated before they may be used.
The To change the state of a product or product type, use the
|
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. 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 | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
_id | string The unique identifier for this product type resource. This is an opaque string. |
createProductType
{
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/profile.json",
"name": "Demand Deposit with Interest",
"label": "Demand Deposit with Interest",
"description": "A demand deposit checking account, a subtype of the base Demand Deposit account.",
"_links": {
"apiture:parent": {
"href": "/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
}
}
}
Create Product Type (Version v1.0.0
)
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. * apiture:productType
A link to the product type resource for this product.
Properties
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
state | string The state of this product or product type. New resources are pending by default and must be activated before they may be used.
The To change the state of a product or product type, use the
|
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. 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.
|
attributes | object An optional map of name/value pairs which provide additional metadata about the product type. |
productType
{
"_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
},
"_embedded": {
"parent": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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 (Version v1.0.0
)
Representation of a product type resource. The response may include links to related resources, in addition to the normal self
link:
apiture:parent
If this type is a subtype, this link will be present; it links to the parent type.apiture:children
If this type has subtypes, this link will be present; it links to the collection of direct subtypes of this type.apiture:products
is a link to a filtered collection of products which use this product type.apiture:activate
usePOST
to this link'shref
to activate ths current product type. This link only exists if the product type may be activated.apiture:deactivate
usePOST
to this link'shref
to deactivate ths current product type. This link only exists if the product type may be deactivated.apiture:remove
usePOST
to this link'shref
to remove ths current product type. This link only exists if the product type may be removed. Additionally, if the type is a subtype, the_embedded
resource will contain the parent type.
Properties
Name | Description |
---|---|
state | string The state of this product or product type. New resources are pending by default and must be activated before they may be used.
The To change the state of a product or product type, use the
|
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. 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 | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object Embedded resources for this product type. This may contain the parent type, if any. _embedded may not appear if there are no embedded resources. |
» parent | productType In subtypes, this is the parent type. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
_id | string The unique identifier for this product type resource. This is an opaque string. |
subtypeCount | number(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
|
createdAt | string(date-time) The date-time when this product type was created. This value is derived and immutable. read-only
|
attributes | object An optional map of name/value pairs which provide additional metadata about the product type. |
productTypes
{
"_profile": "https://api.apiture.com/schemas/products/productsTypes/v1.0.0/profile.json",
"start": 0,
"limit": 10,
"count": 127,
"name": "productTypes",
"_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"
}
},
"_embedded": {
"items": [
{
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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 (Version v1.0.0
)
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
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object Embedded objects. |
» items | [summaryProductType] An array containing a page of product type items. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
count | integer The number of items in the collection. This value is optional and is 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 0-based start index of this page of items. |
limit | integer The maximum number of items per page. |
name | string A name for the items in collection. |
fee
{
"type": "service",
"period": "P1M",
"description": "string",
"structure": "unknown",
"amount": "1.00"
}
Fee (Version v1.0.0
)
Fees that are attached to accounts of this product.
Properties
Name | Description |
---|---|
type | string The fee type.
Labels and descriptions for the enumeration values are in the
|
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 |
description | string A description of the fee and its structure and period. |
structure | string 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 . Labels and descriptions for the enumeration values are in the feeStructure key in the response of the getLabels operation.
|
amount | string The amount of the (fixed) fee, in the product's currency .
|
transactionTypes
{}
Transaction Types (Version v1.0.0
)
An array which lists which transaction types are allowed for an account.
transactionTypes
is an array schema.
Array Elements
transactionType
"debit"
Transaction Type (Version 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 thetransactionType
key in the response of thegetLabels
operation.
Type: string
Enumerated values: debit
credit
summaryProduct
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"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",
"revision": "2018-04-25T07:56:46.375Z",
"_embedded": {},
"ifxType": "DDA"
}
Product Summary (Version v1.0.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.
Properties
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
state | string The state of this product or product type. New resources are pending by default and must be activated before they may be used.
The To change the state of a product or product type, use the
|
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. 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
|
newAccountAvailability | string Indicates if the product is available for opening new accounts.
|
category | string The product category name. This is a more readable form of the product's type .
|
rate | rate The interest rate for this product. |
revision | string The revision string for this product. This property derived and immutable. |
ifxType | ifxType The product IFX Account Type. |
target | string 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.
|
effectiveStartAt | string(date-time) The date-time when this revision was created and became effective. This is an RFC 3339 formatted date-time string YYYY-MM-DDThh:mm:ss.sssZ . This field is derived and immutable.
|
effectiveEndAt | string(date-time) The date-time when the another revision became effective and this revision ceased being effective. This is an RFC 3339 formatted date-time string YYYY-MM-DDThh:mm:ss.sssZ . This field is derived and immutable and is not present until the revision is no longer active.
|
_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
|
timeDeposit | timeDeposit Properties of time deposit products, primarily Certificate of Deposit products. |
timeDeposit
{
"maturityPolicy": "rolloverPrincipalAndInterest",
"minimumTerm": "P31D",
"maximumTerm": "P31D",
"fees": "string"
}
Time Deposit Products (Version v1.0.0
)
Properties of time deposit products, primarily Certificate of Deposit products.
Properties
Name | Description |
---|---|
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.
|
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, minimmumTerm and maximumTerm should be the same. This value is an ISO 8601 duration string of the form |
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, minimmumTerm and maximumTerm should be the same. This value is an ISO 8601 duration string of the form |
fees | string(period) The time period in which additional deposits may be made to a CD after it has rolled over after maturity. This value applies only if the depositsAllowed is duringGracePeriod . 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.
|
maturityPolicy
"rolloverPrincipalAndInterest"
Maturity Policy (Version 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.
Type: string
Enumerated values: rolloverPrincipalAndInterest
transferPrincipalAndInterest
rolloverPrincipalAndTransferInterest
holdPrincipalAndInterest
partialTransfer
createProduct
{
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.0/profile.json",
"name": "Business Checking",
"label": "Business Checking",
"description": "A demand deposit checking account for business use.",
"code": "B2001",
"category": "Checking",
"rate": {
"value": "1.40",
"type": "apr"
},
"_links": {
"apiture:productSubtype": {
"href": "/products/productTypes/b2134f56-3645-490d-a788-79e974635ae8"
}
}
}
Create Product (Version v1.0.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).
apiture:productSubtype
A link to the product subtype resource for this product
Properties
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
state | string The state of this product or product type. New resources are pending by default and must be activated before they may be used.
The To change the state of a product or product type, use the
|
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. 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
|
newAccountAvailability | string Indicates if the product is available for opening new accounts.
|
category | string The product category name. This is a more readable form of the product's type .
|
rate | rate The interest rate for this product. |
revision | string The revision string for this product. This property derived and immutable. |
ifxType | ifxType The product IFX Account Type. |
target | string 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.
|
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.
|
currency | string The ISO 4217 currency code for this product. minLength: 3
maxLength: 3
|
constraints | object Product constraints, such as minimum and maximum balances. |
» transactionTypes | transactionTypes The types of transactions permitted for this account. Values which appear in this array are permitted. |
» 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 | number(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 .
|
» depositsRestrictedAfterGracePeriod | boolean If true, deposits are not allowed after the rollover grace period (see gracePeriod ). This applies to time deposit products only.
|
» depositsRestrictedAfterFunding | boolean If true, deposits are not allowed after the initial account funding has completed. This typically applies to time deposit products. |
» 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 .
|
fees | [fee] Zero or more fees for accounts of this product. If the array is empty or not present, there are no fees. |
statementFrequency | string(period) The frequency with which statememts 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 .
|
timeDeposit | timeDeposit Properties of time deposit products, primarily Certificate of Deposit products. |
attributes | object An optional map of name/value pairs which provide additional metadata about the product. |
product
{
"_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
"_profile": "https://api.apiture.com/schemas/products/product/v1.0.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"
}
},
"_embedded": {
"productType": {
"_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
"_profile": "https://api.apiture.com/schemas/products/productType/v1.0.0/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://api.apiture.com/schemas/products/productType/v1.0.0/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"
}
}
}
},
"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",
"ifxType": "DDA"
}
Product (Version v1.0.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):
apiture:termsOfUseFolder
The URI of a folder which contains the terms of use. The file names in the folder should include the locale for that variant, and the extension should convey the document type. Examples areen_US.pdf
oren_CA.txt
(Under Consideration; this may move to the product type resource.)apiture:workflowDefinition
The URI of a workflow definition which defines the tasks a user must complete when opening an account of this type.apiture:productType
The URI of the product type this product belongs to.apiture:productSubtype
The URI of the product subtype this product belongs to.apiture:activate
usePOST
to this link'shref
to activate ths current product. This link only exists if the product may be activated.apiture:deactivate
usePOST
to this link'shref
to deactivate ths current product. This link only exists if the product may be deactivated.apiture:remove
usePOST
to this link'shref
to remove ths current product. This link only exists if the product may be removed.apiture:lock
usePOST
to this link'shref
to lock ths current product type -- it will not be available for new account opening. This link only exists if the product may be locked.
apiture:unlock
usePOST
to this link'shref
to unlock ths current product type - it will now be available for new account opening. This link only exists if the product may be unlocked.prev
If the product has earlier revisions, this is a link to the immediately previous revision (earlier in time).next
If the product has more recent revisions, this is a link to the immediately next revision (later in time). The representation contains the product type and subtype in the_embedded
objects.
Properties
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. A product contains summary representation of the product type and subtype. |
» productType | summaryProductType The product type resource. |
» productSubtype | summaryProductType The product subtype resource. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
state | string The state of this product or product type. New resources are pending by default and must be activated before they may be used.
The To change the state of a product or product type, use the
|
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. 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
|
newAccountAvailability | string Indicates if the product is available for opening new accounts.
|
category | string The product category name. This is a more readable form of the product's type .
|
rate | rate The interest rate for this product. |
revision | string The revision string for this product. This property derived and immutable. |
ifxType | ifxType The product IFX Account Type. |
target | string 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.
|
effectiveStartAt | string(date-time) The date-time when this revision was created and became effective. This is an RFC 3339 formatted date-time string YYYY-MM-DDThh:mm:ss.sssZ . This field is derived and immutable.
|
effectiveEndAt | string(date-time) The date-time when the another revision became effective and this revision ceased being effective. This is an RFC 3339 formatted date-time string YYYY-MM-DDThh:mm:ss.sssZ . This field is derived and immutable and is not present until the revision is no longer active.
|
_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
|
timeDeposit | timeDeposit Properties of time deposit products, primarily Certificate of Deposit products. |
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.
|
currency | string The ISO 4217 currency code for this product. minLength: 3
maxLength: 3
|
constraints | object Product constraints, such as minimum and maximum balances. |
» transactionTypes | transactionTypes The types of transactions permitted for this account. Values which appear in this array are permitted. |
» 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 | number(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 .
|
» depositsRestrictedAfterGracePeriod | boolean If true, deposits are not allowed after the rollover grace period (see gracePeriod ). This applies to time deposit products only.
|
» depositsRestrictedAfterFunding | boolean If true, deposits are not allowed after the initial account funding has completed. This typically applies to time deposit products. |
» 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 .
|
fees | [fee] Zero or more fees for accounts of this product. If the array is empty or not present, there are no fees. |
statementFrequency | string(period) The frequency with which statememts 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 .
|
attributes | object An optional map of name/value pairs which provide additional metadata about the product type. |
createdAt | string(date-time) The date-time when this product was created. This value is derived and immutable. read-only
|
products
{
"_profile": "https://api.apiture.com/schemas/products/products/v1.0.0/profile.json",
"start": 0,
"limit": 10,
"count": 42,
"name": "products",
"_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"
}
},
"_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",
"category": "Checking",
"revision": {},
"rate": {
"value": "1.40",
"type": "apr"
},
"_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 (Version v1.0.0
)
Collection of products. 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
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object Embedded objects |
» items | [summaryProduct] An array containing a page of product items. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
count | integer The number of items in the collection. This value is optional and is 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 0-based start index of this page of items. |
limit | integer The maximum number of items per page. |
name | string A name for the items in collection. |
rate
{
"value": "1.40",
"type": "apr"
}
Interest Rate (Version v1.0.0
)
The interest rate of the account. For deposit accounts, this is the rate of return; for loan accounts, this is the interest rate charged on balances. Rates can be absolute, such as "1.40" to indicate 1.4%, which is expressed as { "rate" : "1.40" }
. or relative to a benchmark, such as U.S. Prime Rate + 0.5% which is expressed as { "benchmark" : "prime", "rate" : "0.50" }
.
Properties
Name | Description |
---|---|
value | string The rate, expressed as an decimal percentage string in order to represent the rate exactly. This number must have 2 to four decimal points, i.e. '2.00' or '0.50' or '1.015', but not 2 or .5 . (Regular expression pattern: -?\d{1,3}+\.\d{2,4} )
|
benchmark | string An optional base benchmark that the rate is relative to. 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 |
accrualType | string Indicates how interest is accrued according to the compoundPeriod . Labels and descriptions for the enumeration values are in the accrualType key in the response of the getLabels operation.
|
adjustmentPeriod | string The period at which the rate is adjusted or recomputed to account for differences in the benchmark rate. This value is an ISO 8601 duration string of the form |
type | interestRateType The interest rate type. |
interestRateType
"apr"
Interest Rate Type (Version v1.0.0
)
The rate type. The rate type may not be changed once it is set at product creation. Rate types are:
apr
- annual percentage rateapy
- annual percentage yield
Type: string
Enumerated values: apr
apy
attributes
{}
Attributes (Version v1.0.0
)
An optional map of name/value pairs which contains additional dynamic data about the resource.
Properties
errorResponse
{
"_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://api.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Error Response (Version v1.0.0
)
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error
object contains the error details.
Properties
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
root
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "http://localhost:8080/schemas/common/root/v1.0.0/profile.json",
"_links": {}
}
API Root (Version v1.0.0
)
A HAL response, with hypermedia _links
for the top-level resources and operations in API.
Properties
Name | Description |
---|---|
_links | object An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
» additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
_id | string This API's unique ID. |
name | string This API's name. |
apiVersion | string This API's version. |
localizedLabels
{
"property1": {
"label": "Limited Liability Corporation",
"description": "string",
"language": "en-us",
"code": "31"
},
"property2": {
"label": "Limited Liability Corporation",
"description": "string",
"language": "en-us",
"code": "31"
}
}
Localized Labels (Version v1.0.0
)
A map that defines lables for an enumeration or other item in a JSON schema. This is a map which maps enumeration schema names to an localizedLabel
object.
Properties
Name | Description |
---|---|
additionalProperties | localizedLabel A localized label and optional description for localizable content defined in this API. |
revisionEffectiveInterval
{
"effectiveStartAt": "2020-02-12T18:15:51Z",
"effectiveEndAt": "2020-02-12T18:15:51Z"
}
Revision Effective Time Interval (Version v1.0.0
)
Time interval when a resource revision was effective and in use. This schema is used when composing other schemas.
Properties
Name | Description |
---|---|
effectiveStartAt | string(date-time) The date-time when this revision was created and became effective. This is an RFC 3339 formatted date-time string YYYY-MM-DDThh:mm:ss.sssZ . This field is derived and immutable.
|
effectiveEndAt | string(date-time) The date-time when the another revision became effective and this revision ceased being effective. This is an RFC 3339 formatted date-time string YYYY-MM-DDThh:mm:ss.sssZ . This field is derived and immutable and is not present until the revision is no longer active.
|
localizedLabel
{
"label": "Limited Liability Corporation",
"description": "string",
"language": "en-us",
"code": "31"
}
Localized Label (Version v1.0.0
)
A localized label and optional description for localizable content defined in this API.
Properties
Name | Description |
---|---|
label | string A localized label or title which may be used labels or other UI controls which present a value. |
description | string A more detailed localized description of a localizable label. |
language | string The actual natural language tag to which this localized label is associated, as per RFC 7231 |
code | string If the localized value is associated with an external standard, this is a lookup code or key or URI for that value. |
link
{
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
Link (Version 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.
Properties
Name | Description |
---|---|
href | string(uri) (required) The URI or URI template for the resource/operation this link refers to. |
type | string The media type for the resource. |
templated | boolean If true, the link's href is a URI template. |
title | string An optional human-readable localized title for the link. |
deprecation | string(uri) If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation. |
profile | string(uri) The URI of a profile document, a JSON document which describes the target resource/operation. |
error
{
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "Descriptive message 1.",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string 2...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
}
Error (Version v1.0.0
)
Describes an error in an API request or in a service called via the API.
Properties
Name | Description |
---|---|
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. |
statusCode | integer The HTTP status code associate with this error. minimum: 100
maximum: 599
|
type | string An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode . For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet .
|
occurredAt | string(date-time) An RFC 3339 UTC time stamp indicating when the error occurred. |
attributes | attributes Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type .
|
remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
errors | [error] An optional array of nested error objects. This property is not always present. |
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
links
{
"property1": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
}
Links (Version 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.
Properties
Name | Description |
---|---|
additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|