Banking Products

API

getApi

Top-level resources and operations in this API

Return links to the top-level resources and operations in this API. This API returns the following links: * *`apiture:product`* : links to the collection of products * *`apiture:productTypes`* : links to the collection of product types


/

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/"
import { APIApi } from "@apiture/banking_products-client-sdk";

const aPIApi = new APIApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
aPIApi.setApiKey(apiKey);


var api = new BankingProducts.APIApi.getApi()
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
aPIApi.getApi(callback);

Scopes

Parameters

Responses


getApiDoc

Return API definition document

Return the OpenAPI document that describes this API.


/apiDoc

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/apiDoc"
import { APIApi } from "@apiture/banking_products-client-sdk";

const aPIApi = new APIApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
aPIApi.setApiKey(apiKey);


var api = new BankingProducts.APIApi.getApiDoc()
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
aPIApi.getApiDoc(callback);

Scopes

Parameters

Responses


getLabels

Localized 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`).


/labels

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/labels"
import { APIApi } from "@apiture/banking_products-client-sdk";

const aPIApi = new APIApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
aPIApi.setApiKey(apiKey);


var api = new BankingProducts.APIApi.getLabels()
var opts = {
  'acceptLanguage': acceptLanguage_example // {String} The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per [RFC 7231](https://tools.ietf.org/html/rfc7231#section-5.3.5).
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
aPIApi.getLabels(opts, callback);

Scopes

Parameters

Header parameters
Name Description
Accept-Language
String
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per [RFC 7231](https://tools.ietf.org/html/rfc7231#section-5.3.5).

Responses


AccountVerificationLetterTemplate

getVerificationLetterTemplate

Fetch an account verification letter template

Return a representation of account verification letter template for this product. This is a Mustache template. The content is [Github Flavored Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) 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.


/products/{productId}/verificationLetterTemplate

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/products/{productId}/verificationLetterTemplate"
import { AccountVerificationLetterTemplateApi } from "@apiture/banking_products-client-sdk";

const accountVerificationLetterTemplateApi = new AccountVerificationLetterTemplateApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
accountVerificationLetterTemplateApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
accountVerificationLetterTemplateApi.setApiKey(apiKey);


var api = new BankingProducts.AccountVerificationLetterTemplateApi.getVerificationLetterTemplate()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var opts = {
  'accept': accept_example // {String} The media type of the desired response representation. Only `text/markdown` is currently supported.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
accountVerificationLetterTemplateApi.getVerificationLetterTemplate(productId, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
Header parameters
Name Description
Accept
String
The media type of the desired response representation. Only `text/markdown` is currently supported.

Responses

Name Type Format Description
ContentMinusType String The media type of the response representation. The `Content-Type` will be `text/markdown`.


updateVerificationLetterTemplate

Update this account verification letter template

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


/products/{productId}/verificationLetterTemplate

Usage and SDK Samples

curl -X PUT -H "API-Key: [[apiKey]]" "http:///products/products/{productId}/verificationLetterTemplate"
import { AccountVerificationLetterTemplateApi } from "@apiture/banking_products-client-sdk";

const accountVerificationLetterTemplateApi = new AccountVerificationLetterTemplateApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
accountVerificationLetterTemplateApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
accountVerificationLetterTemplateApi.setApiKey(apiKey);


var api = new BankingProducts.AccountVerificationLetterTemplateApi.updateVerificationLetterTemplate()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var body = body_example; // {String} 
var opts = {
  'accept': accept_example, // {String} The media type of the desired response representation. Only `text/markdown` is currently supported.
  'contentType': contentType_example // {String} The media type of the request body representation. Only `text/markdown` is currently supported.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
accountVerificationLetterTemplateApi.updateVerificationLetterTemplate(productId, body, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
Header parameters
Name Description
Accept
String
The media type of the desired response representation. Only `text/markdown` is currently supported.
Content-Type
String
The media type of the request body representation. Only `text/markdown` is currently supported.
Body parameters
Name Description
body *

The [Github Flavored Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) text (with Mustache variables) defining the template for the verification letter.

Responses

Name Type Format Description
ContentMinusType String The media type of the response representation. The `Content-Type` will be `text/markdown`.


Product

activateProduct

Activate a product

Activate a product that is eligible to be activated. Only product types which are `pending` or `inactive` may be activated. <p> This `POST` operation is invoked from the `apiture:activate` link on a product. <p> This changes the `state` to `active`.


/activeProducts

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/activeProducts?product="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.activateProduct()
var product = product_example; // {String} A server-supplied value which identifies the product instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.activateProduct(product, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
product*
String
A server-supplied value which identifies the product instance.
Required

Responses


createProduct

Create a new product

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.


/products

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/products?copyOf="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.createProduct()
var createProduct = ; // {CreateProduct} 
var opts = {
  'copyOf': copyOf_example // {String} 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.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.createProduct(createProduct, opts, callback);

Scopes

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.

Parameters

Body parameters
Name Description
createProduct *

The data necessary to create a new product.

Query parameters
Name Description
copyOf
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.

Responses

Name Type Format Description
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.
ContentMinusLocation String The `Content-Location` will contain the URI of the specific revision corresponding to this new product resource.
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` .


deactivateProduct

Deactivate a product

Deactivate a product that is eligible to be deactivated. <p> Only products which are `pending` or `active` and which are not in use by any `pending`, `active` or `inactive` accounts types may be deactivated. <p> This `POST` operation is invoked from the `apiture:deactivate` link on a product when it is eligible to be deactivated. <p> This changes the `state` to `inactive`.


/inactiveProducts

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/inactiveProducts?product="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.deactivateProduct()
var product = product_example; // {String} A server-supplied value which identifies the product instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.deactivateProduct(product, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
product*
String
A server-supplied value which identifies the product instance.
Required

Responses


deleteProduct

Delete this product resource

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


/products/{productId}

Usage and SDK Samples

curl -X DELETE -H "API-Key: [[apiKey]]" "http:///products/products/{productId}"
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.deleteProduct()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
productApi.deleteProduct(productId, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.

Responses


getProduct

Fetch a representation of this product

Return a [HAL](https://developer.apiture.com/docs/concepts/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.


/products/{productId}

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/products/{productId}"
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.getProduct()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var opts = {
  'ifNoneMatch': ifNoneMatch_example // {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.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.getProduct(productId, opts, callback);

Scopes

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
Header parameters
Name Description
If-None-Match
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.

Responses

Name Type Format Description
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.
ContentMinusLocation String The `Content-Location` will contain the URI of the specific revision corresponding to this product resource.


getProductRevision

Fetch a representation of an immutable revision of this product

Return an immutable [HAL](https://developer.apiture.com/docs/concepts/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.


/products/{productId}/revisions/{revisionId}

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/products/{productId}/revisions/{revisionId}"
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.getProductRevision()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var revisionId = revisionId_example; // {String} The identifier for a revision of this resource. Revision identifiers are strings in [RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`.
var opts = {
  'ifNoneMatch': ifNoneMatch_example // {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.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.getProductRevision(productId, revisionId, opts, callback);

Scopes

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
revisionId*
String
The identifier for a revision of this resource. Revision identifiers are strings in [RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`.
Required
Header parameters
Name Description
If-None-Match
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.

Responses

Name Type Format Description
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.


getProductRevisions

Return a collection of product revisions

Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting) [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searchable) collection of product revisions. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.


/products/{productId}/revisions

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/products/{productId}/revisions?start=&limit=&sortBy=&filter=&q="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.getProductRevisions()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var opts = {
  'start': 789, // {Long} 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': 56, // {Integer} The maximum number of product representations to return in this page.
  'sortBy': sortBy_example, // {String} Optional sort criteria. Revision collections are sorted by default in reverse chronological order (most recent revision first). See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.
  'filter': filter_example, // {String} Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'q': q_example // {String} Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.getProductRevisions(productId, opts, callback);

Scopes

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
Query parameters
Name Description
start
Long (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
Integer (int32)
The maximum number of product representations to return in this page.
sortBy
String
Optional sort criteria. Revision collections are sorted by default in reverse chronological order (most recent revision first). See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.
filter
String
Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
q
String
Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).

Responses


getProducts

Return a collection of products

Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting) [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searchable) collection of products. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.


/products

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/products?start=&limit=&sortBy=&name=&type=&code=&category=&state=&target=&ifxType=&filter=&q=&openable=&newAccountAvailability=&productType="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.getProducts()
var opts = {
  'start': 789, // {Long} The zero-based index of the first product in this page. The default, 0, represents the first page of the collection.
  'limit': 56, // {Integer} The maximum number of product representations to return in this page.
  'sortBy': sortBy_example, // {String} Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.
  'name': name_example, // {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](https://developer.apiture.com/docs/concepts/filtering).
  'type': type_example, // {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](https://developer.apiture.com/docs/concepts/filtering).
  'code': code_example, // {String} Subset the products or product types collection to those whose `code` matches this value. Use `|` to separate multiple values. For example, `?type=B2001` matches only items whose `type` is `B2001`, but `?type=B2001|B3002` matches items whose `type` is `B2001` or `B3002`. This is combined with an implicit `and` with `?state` `?filter` if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'category': category_example, // {String} Subset the products or product types collection to those whose `category` matches this value. Use `|` to separate multiple values. For example, `?category=Savings` matches only items whose `category` is `Savings`, but `?category=Savings|Checking` matches items whose `type` is `Savings` or `Checking`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'state': state_example, // {String} Subset the products or product types collection to those whose `state` matches this value. Use `|` to separate multiple values. For example, `?state=pending` matches only items whose `state` is `pending`; `?state=removed|inactive` matches items whose `state` is `removed` or `inactive`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'target': target_example, // {String} Subset the products or product types collection to those whose `target` matches this value (`personal` or `business`). For example, `?target=personal` matches only items whose `target` is `personal`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'ifxType': ifxType_example, // {String} Subset the products collection to those whose `ifxType` matches this value. Use `|` to separate multiple values. For example, `?ifxType=SDA` matches only items whose `ifxType` is `SDA`; `?ifxType=SDA|DDA` matches items whose `ifxType` is `SDA` or `DDA`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'filter': filter_example, // {String} Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'q': q_example, // {String} Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).
  'openable': true, // {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': newAccountAvailability_example, // {String} Subset the result to only those whose `newAccountAvailability` property matches this value.
  'productType': productType_example // {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.)
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.getProducts(opts, callback);

Scopes

Parameters

Query parameters
Name Description
start
Long (int64)
The zero-based index of the first product in this page. The default, 0, represents the first page of the collection.
limit
Integer (int32)
The maximum number of product representations to return in this page.
sortBy
String
Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.
name
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](https://developer.apiture.com/docs/concepts/filtering).
type
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](https://developer.apiture.com/docs/concepts/filtering).
code
String
Subset the products or product types collection to those whose `code` matches this value. Use `|` to separate multiple values. For example, `?type=B2001` matches only items whose `type` is `B2001`, but `?type=B2001|B3002` matches items whose `type` is `B2001` or `B3002`. This is combined with an implicit `and` with `?state` `?filter` if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
category
String
Subset the products or product types collection to those whose `category` matches this value. Use `|` to separate multiple values. For example, `?category=Savings` matches only items whose `category` is `Savings`, but `?category=Savings|Checking` matches items whose `type` is `Savings` or `Checking`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
state
String
Subset the products or product types collection to those whose `state` matches this value. Use `|` to separate multiple values. For example, `?state=pending` matches only items whose `state` is `pending`; `?state=removed|inactive` matches items whose `state` is `removed` or `inactive`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
target
String
Subset the products or product types collection to those whose `target` matches this value (`personal` or `business`). For example, `?target=personal` matches only items whose `target` is `personal`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
ifxType
String
Subset the products collection to those whose `ifxType` matches this value. Use `|` to separate multiple values. For example, `?ifxType=SDA` matches only items whose `ifxType` is `SDA`; `?ifxType=SDA|DDA` matches items whose `ifxType` is `SDA` or `DDA`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
filter
String
Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
q
String
Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).
openable
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
String
Subset the result to only those whose `newAccountAvailability` property matches this value.
productType
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.)

Responses


lockProduct

Marks an active product as ineligible for new account opening

Marks an active product as ineligible for new account opening. Users may not open new accounts with this product, thus the product is "locked". <p> This `POST` operation is invoked from the `apiture:lock` link on a product. <p> This changes the `newAccountAvailability` to `notAvailable`.


/lockedProducts

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/lockedProducts?product="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.lockProduct()
var product = product_example; // {String} A server-supplied value which identifies the product instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.lockProduct(product, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
product*
String
A server-supplied value which identifies the product instance.
Required

Responses


patchProduct

Update this product

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. <p> To change the state of a product, use the `apiture:activate`, `apiture:deactivate`, or `apiture:remove` links on the resource to `/activeProducts`, `/inactiveProducts`, `/removedProducts`. </p> <p> The product `code` may not be changed if the current `state` is not `pending`. </p>


/products/{productId}

Usage and SDK Samples

curl -X PATCH -H "API-Key: [[apiKey]]" "http:///products/products/{productId}"
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.patchProduct()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var product = ; // {Product} 
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.patchProduct(productId, product, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Body parameters
Name Description
product *

Responses

Name Type Format Description
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.
ContentMinusLocation String The `Content-Location` will contain the URI of the specific revision corresponding to this product resource.


removeProduct

Remove a product

Remove a product that is eligible to be removed. <p> Only products which are `active` or `inactive` _and_ which are not used by any non-closed accounts may be removed. <p> This `POST` operation is invoked from the `apiture:remove` link on a product when it is eligible to be removed. <p> This changes the `state` to `removed`. <p> 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.


/removedProducts

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/removedProducts?product="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.removeProduct()
var product = product_example; // {String} A server-supplied value which identifies the product instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.removeProduct(product, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
product*
String
A server-supplied value which identifies the product instance.
Required

Responses


unlockProduct

Marks an active product as eligible for new account opening

Marks an active product as eligible for new account opening. <p> This `POST` operation is invoked from the `apiture:unlock` link on a product. <p> This changes the `newAccountAvailability` to `available`.


/unlockedProducts

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/unlockedProducts?product="
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.unlockProduct()
var product = product_example; // {String} A server-supplied value which identifies the product instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.unlockProduct(product, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
product*
String
A server-supplied value which identifies the product instance.
Required

Responses


updateProduct

Update this product

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. <p> To change the state of a product, use the `apiture:activate`, `apiture:deactivate`, or `apiture:remove` links on the resource to `/activeProducts`, `/inactiveProducts`, `/removedProducts`. </p> <p> The product `code` may not be changed if the current `state` is not `pending`. </p>


/products/{productId}

Usage and SDK Samples

curl -X PUT -H "API-Key: [[apiKey]]" "http:///products/products/{productId}"
import { ProductApi } from "@apiture/banking_products-client-sdk";

const productApi = new ProductApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productApi.setApiKey(apiKey);


var api = new BankingProducts.ProductApi.updateProduct()
var productId = productId_example; // {String} The unique identifier of this product. This is an opaque string.
var product = ; // {Product} 
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productApi.updateProduct(productId, product, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productId*
String
The unique identifier of this product. This is an opaque string.
Required
Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Body parameters
Name Description
product *

Responses

Name Type Format Description
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.
ContentMinusLocation String The `Content-Location` will contain the URI of the specific revision corresponding to this product resource.


ProductType

activateProductType

Activate a product type

Activate a product type that is eligible to be activated. <p> 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. <p> This changes the `state` to `active`.


/activeProductTypes

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/activeProductTypes?productType="
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productTypeApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.activateProductType()
var productType = productType_example; // {String} A server-supplied value which identifies the product type instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.activateProductType(productType, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
productType*
String
A server-supplied value which identifies the product type instance.
Required

Responses


createProductType

Create a new product type

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.


/productTypes

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/productTypes?copyOf="
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productTypeApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.createProductType()
var createProductType = ; // {CreateProductType} 
var opts = {
  'copyOf': copyOf_example // {String} 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.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.createProductType(createProductType, opts, callback);

Scopes

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.

Parameters

Body parameters
Name Description
createProductType *

The data necessary to create a new product type.

Query parameters
Name Description
copyOf
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.

Responses

Name Type Format Description
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.
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` .


deactivateProductType

Deactivate a product type

Deactivate a product type that is eligible to be deactivated. <p> 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. <p> This `POST` operation is invoked from the `apiture:deactivate` link on a product type when it is eligible to be deactivated. <p> This changes the `state` to `inactive`.


/inactiveProductTypes

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/inactiveProductTypes?productType="
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productTypeApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.deactivateProductType()
var productType = productType_example; // {String} A server-supplied value which identifies the product type instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.deactivateProductType(productType, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
productType*
String
A server-supplied value which identifies the product type instance.
Required

Responses


deleteProductType

Delete this product type resource

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.


/productTypes/{productTypeId}

Usage and SDK Samples

curl -X DELETE -H "API-Key: [[apiKey]]" "http:///products/productTypes/{productTypeId}"
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productTypeApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.deleteProductType()
var productTypeId = productTypeId_example; // {String} The unique identifier of this product type. This is an opaque string.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
productTypeApi.deleteProductType(productTypeId, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productTypeId*
String
The unique identifier of this product type. This is an opaque string.
Required
Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.

Responses


getProductType

Fetch a representation of this product type.

Return a [HAL](https://developer.apiture.com/docs/concepts/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.


/productTypes/{productTypeId}

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/productTypes/{productTypeId}"
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.getProductType()
var productTypeId = productTypeId_example; // {String} The unique identifier of this product type. This is an opaque string.
var opts = {
  'ifNoneMatch': ifNoneMatch_example // {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.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.getProductType(productTypeId, opts, callback);

Scopes

Parameters

Path parameters
Name Description
productTypeId*
String
The unique identifier of this product type. This is an opaque string.
Required
Header parameters
Name Description
If-None-Match
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.

Responses

Name Type Format Description
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.


getProductTypes

Return a collection of product types

Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting) [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searchable) collection of product types. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.


/productTypes

Usage and SDK Samples

curl -X GET -H "API-Key: [[apiKey]]" "http:///products/productTypes?start=&limit=&sortBy=&name=&type=&subtype=&state=&filter=&q=&parent="
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.getProductTypes()
var opts = {
  'start': 789, // {Long} The zero-based index of the first product type in this page. The default, 0, represents the first page of the collection.
  'limit': 56, // {Integer} The maximum number of product type representations to return in this page.
  'sortBy': sortBy_example, // {String} Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.
  'name': name_example, // {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](https://developer.apiture.com/docs/concepts/filtering).
  'type': type_example, // {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](https://developer.apiture.com/docs/concepts/filtering).
  'subtype': true, // {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](https://developer.apiture.com/docs/concepts/filtering).
  'state': state_example, // {String} Subset the products or product types collection to those whose `state` matches this value. Use `|` to separate multiple values. For example, `?state=pending` matches only items whose `state` is `pending`; `?state=removed|inactive` matches items whose `state` is `removed` or `inactive`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'filter': filter_example, // {String} Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
  'q': q_example, // {String} Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).
  'parent': parent_example // {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.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.getProductTypes(opts, callback);

Scopes

Parameters

Query parameters
Name Description
start
Long (int64)
The zero-based index of the first product type in this page. The default, 0, represents the first page of the collection.
limit
Integer (int32)
The maximum number of product type representations to return in this page.
sortBy
String
Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.
name
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](https://developer.apiture.com/docs/concepts/filtering).
type
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](https://developer.apiture.com/docs/concepts/filtering).
subtype
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](https://developer.apiture.com/docs/concepts/filtering).
state
String
Subset the products or product types collection to those whose `state` matches this value. Use `|` to separate multiple values. For example, `?state=pending` matches only items whose `state` is `pending`; `?state=removed|inactive` matches items whose `state` is `removed` or `inactive`. This is combined with an implicit `and` with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
filter
String
Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
q
String
Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).
parent
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.

Responses


patchProductType

Update this product type

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. <p> 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`. </p>


/productTypes/{productTypeId}

Usage and SDK Samples

curl -X PATCH -H "API-Key: [[apiKey]]" "http:///products/productTypes/{productTypeId}"
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productTypeApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.patchProductType()
var productTypeId = productTypeId_example; // {String} The unique identifier of this product type. This is an opaque string.
var productType = ; // {ProductType} 
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.patchProductType(productTypeId, productType, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productTypeId*
String
The unique identifier of this product type. This is an opaque string.
Required
Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Body parameters
Name Description
productType *

Responses

Name Type Format Description
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.


removeProductType

Remove a product type

Remove a product type that is eligible to be removed. <p> 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. <p> This changes the `state` to `removed`. <p> 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.


/removedProductTypes

Usage and SDK Samples

curl -X POST -H "API-Key: [[apiKey]]" "http:///products/removedProductTypes?productType="
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productTypeApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.removeProductType()
var productType = productType_example; // {String} A server-supplied value which identifies the product type instance.
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.removeProductType(productType, opts, callback);

Scopes

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.

Parameters

Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Query parameters
Name Description
productType*
String
A server-supplied value which identifies the product type instance.
Required

Responses


updateProductType

Update this product type

Perform a complete replacement of this product type. Changes to the `state` follow the rules described in this API's description. <p> 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`. </p>


/productTypes/{productTypeId}

Usage and SDK Samples

curl -X PUT -H "API-Key: [[apiKey]]" "http:///products/productTypes/{productTypeId}"
import { ProductTypeApi } from "@apiture/banking_products-client-sdk";

const productTypeApi = new ProductTypeApi(configuration);

// Configure OAuth2 access token for authorization: accessToken
var accessToken = "YOUR ACCESS TOKEN";
productTypeApi.setAccessToken(accessToken)

// Configure API key authorization: apiKey
var apiKey = "YOUR API KEY";
productTypeApi.setApiKey(apiKey);


var api = new BankingProducts.ProductTypeApi.updateProductType()
var productTypeId = productTypeId_example; // {String} The unique identifier of this product type. This is an opaque string.
var productType = ; // {ProductType} 
var opts = {
  'ifMatch': ifMatch_example // {String} The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
productTypeApi.updateProductType(productTypeId, productType, opts, callback);

Scopes

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.

Parameters

Path parameters
Name Description
productTypeId*
String
The unique identifier of this product type. This is an opaque string.
Required
Header parameters
Name Description
If-Match
String
The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
Body parameters
Name Description
productType *

Responses

Name Type Format Description
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.