API Products v0.16.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
An API to manage API products (built on the Apiture stack) associated with a dev portal. An API product is a collection of one or more APIs/services. Client applications are associated with one or more API products. An API product consists of
- a product line (openoradb)
- zero or more APIs
- zero or more other API products
A product also has a type of pure api product or a uiComponent product. A UI component is a web/mobile component that uses Apiture APIs. product lines cannot be mixed (a product's elements must come from the same product line.)
An product also returns the list of authorization scopes. This may only be support for the adb product line.
Upon creation, an API product is in a pending state. It must be activated before it can be selected for use by an application; see the activateApiProduct operation.
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 = https://api.developer.apiture.com/auth/oauth2/authorize
- Token URL = https://api.developer.apiture.com/auth/oauth2/token
 
- OAuth2 client access token authentication. The client authenticates against the server at 
| Scope | Scope Description | 
|---|---|
| admin/write | Write (update) access to API products. | 
| admin/delete | Delete access to API products. | 
| admin/full | Full access to API products. | 
API
Endpoints which describe this API.
getApi
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiProducts/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/apiProducts/ HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
const fetch = require('node-fetch');
const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/apiProducts/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/',
  method: 'get',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/apiProducts/',
  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/apiProducts/', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/");
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/apiProducts/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Top-level resources and operations in this API
GET https://api.devbank.apiture.com/apiProducts/
Return links to the top-level resources and operations in this API.
Try It
Example responses
200 Response
{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}
Responses
getApiDoc
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiProducts/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/apiProducts/apiDoc HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json
const fetch = require('node-fetch');
const headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/apiProducts/apiDoc',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/apiDoc',
  method: 'get',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/apiDoc", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Return API definition document
GET https://api.devbank.apiture.com/apiProducts/apiDoc
Return the OpenAPI document that describes this API.
Try It
Example responses
200 Response
{}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. | |
| Schema: Inline | 
Response Schema
API Product
API Products
getApiProducts
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiProducts/products \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/apiProducts/products HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
const fetch = require('node-fetch');
const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/apiProducts/products',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/products',
  method: 'get',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/products', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/products", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Return a collection of API products
GET https://api.devbank.apiture.com/apiProducts/products
Return a paginated filterable collection of API products. The links in the response include pagination links.
Parameters
| Parameter | Description | 
|---|---|
| start | stringRepresents the first record of the page of results. This is supplied by the service when paginating items: the nextlink includes a?start=query parameter which refers to beginning of the next page of items. | 
| limit | integer(int32)The maximum number of API product representations to return in this page. Default: 100 | 
| filter | stringOptional filter criteria. See filtering. | 
| state | array[string]Subset the resources to only those whose statematches the query, such as?state=active. The value may be a|separated list of states, such as?state=pending|activeto match all resources whosestateis eitherpendingoractive. If?filter=is also used, the two are combined with an implicitand()operation.pipe-delimiteditems: » enum values: pending,active,inactive | 
| productLine | productLineSubset the resources to only those whose productLinematches the query.Default: "open"enum values: open,adb | 
Try It
Example responses
200 Response
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/products/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "/apiProducts/products?start=g434ljkf430&limit=10"
    },
    "next": {
      "href": "/apiProducts/products?start=p4900sk3df9&limit=10"
    },
    "collection": {
      "href": "/apiProducts/products"
    }
  },
  "start": "g434ljkf430",
  "limit": 10,
  "name": "apiProducts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/apiProducts/apiProduct/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiProducts/products/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://production.api.apiture.com/schemas/apiProducts/apiProduct/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiProducts/products/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}
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 _errorfield 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  This error response may have one of the following  
 | |
| Schema: errorResponse | 
createApiProduct
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiProducts/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/apiProducts/products HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}';
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/apiProducts/products',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/products',
  method: 'post',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/products', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/products", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Create a new API product
POST https://api.devbank.apiture.com/apiProducts/products
Create a new API product in the API products collection. The tag is required and must be unique.
Upon creation, an API product is in a pending state. It must be activated before it can be selected for use by an application; see the activateApiProduct operation.
Body parameter
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Parameters
| Parameter | Description | 
|---|---|
| body | product(required)The data necessary to create a new API product. | 
Try It
Example responses
201 Response
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Responses
| Status | Description | 
|---|---|
| 201 | Created | 
| Created. | |
| Schema: product | |
| Header | Locationstringuri | 
| 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 | |
| Header | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations which update the resource. | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. One of the request parameters to create a  This error response may have one of the following  
 | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 409 | Conflict | 
| Conflict. An API product already exists with specified  This error response may have 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  This error response may have one of the following  
 | |
| Schema: errorResponse | 
getApiProduct
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiProducts/products/{productId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/apiProducts/products/{productId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string
const fetch = require('node-fetch');
const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/apiProducts/products/{productId}',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/products/{productId}',
  method: 'get',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Fetch a representation of this API product
GET https://api.devbank.apiture.com/apiProducts/products/{productId}
Return a HAL representation of this API product resource.
Parameters
| Parameter | Description | 
|---|---|
| productId | string(required)The unique identifier of this API product. This is an opaque string. | 
| If-None-Match | stringThe entity tag that was returned in the ETagresponse. If the resource's current entity tag matches, theGETwill return 304 (Not Modified) and no response body, else the resource representation will be returned. | 
Try It
Example responses
200 Response
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. | |
| Schema: product | |
| Header | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations which update this API product resource. | 
| 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 API product resource at the specified  This error response may have one of the following  
 | |
| Schema: errorResponse | 
updateApiProduct
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}';
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/apiProducts/products/{productId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/products/{productId}',
  method: 'put',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Update this API product
PUT https://api.devbank.apiture.com/apiProducts/products/{productId}
Perform a complete replacement of this API product.
Body parameter
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Parameters
| Parameter | Description | 
|---|---|
| productId | string(required)The unique identifier of this API product. This is an opaque string. | 
| If-Match | stringThe entity tag that was returned in the ETagresponse. If passed, this must match the current entity tag of the resource. | 
| body | product(required)An API product. | 
Try It
Example responses
200 Response
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. | |
| Schema: product | |
| Header | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations which update this API product resource. | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 404 | Not Found | 
| Not Found. There is no such API product resource at the specified  This error response may have one of the following  
 | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 412 | Precondition Failed | 
| Precondition Failed. The supplied if-Matchheader value does not match the most recentETagresponse 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  This error response may have one of the following  
 | |
| Schema: errorResponse | 
patchApiProduct
Code samples
# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}';
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/apiProducts/products/{productId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/products/{productId}',
  method: 'patch',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/products/{productId}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Update this API product
PATCH https://api.devbank.apiture.com/apiProducts/products/{productId}
Perform a partial update of this API product. Fields which are omitted are not updated. Nested _embedded and _links are ignored if included.
Body parameter
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Parameters
| Parameter | Description | 
|---|---|
| productId | string(required)The unique identifier of this API product. This is an opaque string. | 
| If-Match | stringThe entity tag that was returned in the ETagresponse. If passed, this must match the current entity tag of the resource. | 
| body | product(required)An API product. | 
Try It
Example responses
200 Response
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. | |
| Schema: product | |
| Header | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations which update this API product resource. | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 404 | Not Found | 
| Not Found. There is no such API product resource at the specified  This error response may have one of the following  
 | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 412 | Precondition Failed | 
| Precondition Failed. The supplied if-Matchheader value does not match the most recentETagresponse 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  This error response may have one of the following  
 | |
| Schema: errorResponse | 
deleteApiProduct
Code samples
# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/apiProducts/products/{productId} \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'
DELETE https://api.devbank.apiture.com/apiProducts/products/{productId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
const fetch = require('node-fetch');
const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/apiProducts/products/{productId}',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/products/{productId}',
  method: 'delete',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.devbank.apiture.com/apiProducts/products/{productId}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.devbank.apiture.com/apiProducts/products/{productId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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"},
        "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/apiProducts/products/{productId}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Delete this API product resource
DELETE https://api.devbank.apiture.com/apiProducts/products/{productId}
Delete this API product resource and any resources that are owned by it. A product must be inactive before it may be deleted.
Parameters
| Parameter | Description | 
|---|---|
| productId | string(required)The unique identifier of this API product. This is an opaque string. | 
Try It
Example responses
409 Response
{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 204 | No Content | 
| No Content. The resource was deleted successfully. | 
| Status | Description | 
|---|---|
| 409 | Conflict | 
| Conflict. The product may not be deleted if the state is  This error response may have one of the following  
 | |
| Schema: errorResponse | 
API Product States
API Product States
deactivateApiProduct
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiProducts/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/apiProducts/inactiveProducts?product=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string
const fetch = require('node-fetch');
const headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/apiProducts/inactiveProducts?product=string',
{
  method: 'POST',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/inactiveProducts',
  method: 'post',
  data: '?product=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/inactiveProducts', params={
  'product': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/inactiveProducts", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Deactivate an API product
POST https://api.devbank.apiture.com/apiProducts/inactiveProducts
Inactivate an API product. This changes the state property of the API product to inactive. This operation is available via the apiture:deactivate link on the api product resource, if and only if the API product is eligible for the deactivate operation. A product may not be deactivated if it is in use by any other product or client applications, unless the ?force=true option is used.
The responses is the updated representation of the API product. The If-Match request header value, if used, must match the current entity tag value of the API product.
Parameters
| Parameter | Description | 
|---|---|
| product | string(required)A string which uniquely identifies an API product which is to added to the active API products resource set. This may be the unique API product ID or the URI of the API product. | 
| force | booleanForce deactivation of the product, even if client applications are using the product. This is falseby default. | 
| If-Match | stringThe entity tag that was returned in the ETagresponse. If passed, this must match the current entity tag of the resource. | 
Try It
Example responses
200 Response
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. The operation succeeded. The API product was updated and its statechanged toinactive. | |
| Schema: product | |
| Header | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations which update the resource. | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The apiProduct parameter was malformed or does not refer to an existing or accessible API product. This error response may have one of the following  
 | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 409 | Conflict | 
| Conflict. The request to change the state of the API product is not allowed. Examples include when a product is in use by another product or the product is used by an active client application. The  This error response may have one of the following  
 | |
| Schema: errorResponse | 
activateApiProduct
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiProducts/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/apiProducts/activeProducts?product=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string
const fetch = require('node-fetch');
const headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/apiProducts/activeProducts?product=string',
{
  method: 'POST',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
$.ajax({
  url: 'https://api.devbank.apiture.com/apiProducts/activeProducts',
  method: 'post',
  data: '?product=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/apiProducts/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/apiProducts/activeProducts', params={
  'product': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/apiProducts/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/apiProducts/activeProducts", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Activate an API product
POST https://api.devbank.apiture.com/apiProducts/activeProducts
Update an API product by adding it to the set of active API products. This changes the state property of the API product to active. This operation is available via the apiture:activate link on the api product resource, if and only if the API product is eligible for the activate operation. The responses is the updated representation of the API product. The If-Match required request header value must match the current entity tag value of the API product.
Parameters
| Parameter | Description | 
|---|---|
| product | string(required)A string which uniquely identifies an API product which is to added to the active API products resource set. This may be the unique API product ID or the URI of the API product. | 
| If-Match | stringThe entity tag that was returned in the ETagresponse. If passed, this must match the current entity tag of the resource. | 
Try It
Example responses
200 Response
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. The operation succeeded. The API product was updated and its statechanged toactive. | |
| Schema: product | |
| Header | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations which update the resource. | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The apiProduct parameter was malformed or does not refer to an existing or accessible API product. This error response may have one of the following  
 | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 409 | Conflict | 
| Conflict. The request to change the state of the API product is not allowed. The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
Schemas
abstractRequest
{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {}
}
Abstract Request (v2.0.0)
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.
This schema was resolved from common/abstractRequest.
Properties
| Name | Description | 
|---|---|
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. read-only | 
abstractResource
{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}
Abstract Resource (v2.1.0)
An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.
This schema was resolved from common/abstractResource.
Properties
| Name | Description | 
|---|---|
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. read-only | 
| _error | object: errorAn object which describes an error. This value is omitted if the operation succeeded without error. read-only | 
api
{
  "name": "Accounts",
  "basePath": "/accounts",
  "description": "Access internal accounts and account details (balances, etc.) at a financial institution, as well as linked external accounts",
  "productLine": "open",
  "scopes": [
    {
      "name": "banking/read",
      "description": "Read access to banking data and resources related to customer's accounts."
    },
    {
      "name": "moneyMovement/write",
      "description": "Create and write access to move money to and from customer's accounts."
    }
  ]
}
API (v1.1.0)
An API is a component of an API product.
Properties
| Name | Description | ||||||
|---|---|---|---|---|---|---|---|
| name | stringThe name of the API product. minLength: 6maxLength: 64 | ||||||
| description | string(markdown)The description of the API product. | ||||||
| basePath | stringThe base path of the API (from the basePathin the OpenAPI definition).minLength: 4maxLength: 32 | ||||||
| version | string(semantic-version)The semantic version of the API (from the info.versionin the OpenAPI definition). | ||||||
| productLine | string: productLineThe product line, for separating Open APIs and products from ADB APIs and products. 
 
 Default: "open"enum values: open,adb | ||||||
| scopes | array: [authorizationScope]The authorization scopes associated with this API product. unique items | 
attributes
{}
Attributes (v2.1.0)
An optional map of name/value pairs which contains additional dynamic data about the resource.
This schema was resolved from common/attributes.
Properties
authorizationScope
{
  "name": "string",
  "description": "string"
}
Authorization Scope (v1.0.0)
Authorization scope associated with an API or an API product.
Properties
| Name | Description | 
|---|---|
| name | string: authorizationScopeName(required)The name of an authorization scope associated with an API or an API product. maxLength: 32 | 
| description | string(required)The description of the scope. maxLength: 128 | 
authorizationScopeName
"string"
Authorization Scope Name (v1.0.0)
The name of an authorization scope associated with an API or an API product.
Type: string
maxLength: 32
cursorPagedCollection
{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}
Cursor Paged Collection (v2.1.1)
A collection of resources, or a page from a larger collection. This is an abstract model schema which is extended to define specific resource collections. Pages are referenced using an opaque string starting point named start. The _links in the collection may contain pagination links:
- the nextlink returns the next page of items. If there is nonextlink, the collection has been exhausted.
- the firstlink returns to the beginning of the filtered/sorted collection.
- the collectionlink returns to the beginning of the default collection with no explicit filter or sort criteria.
Cursor paged collections can only paginate forwards contiguously (without skipping items or pages), or reset to the beginning of the collection. This pagination works for collections which are likely to change during pagination, such as adding data to the beginning of the collection's natural sort order. Examples include transactions or audit records.
This schema was resolved from common/cursorPagedCollection.
Properties
| Name | Description | 
|---|---|
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. read-only | 
| _error | object: errorAn object which describes an error. This value is omitted if the operation succeeded without error. read-only | 
| start | stringAn opaque marker representing the position of the current page in this resource collection. The service will use the startandlimitto compute the?start=query parameter for the next page when it provides thenextlink in the collection's_links. | 
| limit | integerThe maximum number of items per page. | 
| name | stringA name for the items in collection. | 
error
{
  "_id": "2eae46e1575c0a7b0115a4b3",
  "message": "Descriptive error message...",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [
    {
      "_id": "ccdbe2c5c938a230667b3827",
      "message": "An optional embedded error"
    },
    {
      "_id": "dbe9088dcfe2460f229338a3",
      "message": "Another optional embedded error"
    }
  ],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}
Error (v2.1.0)
Describes an error in an API request or in a service called via the API.
This schema was resolved from common/error.
Properties
| Name | Description | 
|---|---|
| message | string(required)A localized message string describing the error condition. | 
| _id | stringA unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string. read-only | 
| statusCode | integerThe HTTP status code associate with this error. minimum: 100maximum: 599 | 
| type | stringAn 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, thetypemay be much more specific. such asintegerValueNotInAllowedRangeornumericValueExceedsMaximumorstringValueNotInAllowedSet. | 
| occurredAt | string(date-time)An RFC 3339 UTC time stamp indicating when the error occurred. | 
| attributes | object: attributesInformative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimumandmaximumvalues. 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 errortype. | 
| remediation | stringAn optional localized string which provides hints for how the user or client can resolve the error. | 
| errors | array: [error]An optional array of nested error objects. This property is not always present. | 
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
errorResponse
{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}
Error Response (v2.1.1)
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.
This schema was resolved from common/errorResponse.
Properties
| Name | Description | 
|---|---|
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. read-only | 
| _error | object: errorAn object which describes an error. This value is omitted if the operation succeeded without error. read-only | 
link
{
  "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Application"
}
Link (v1.0.0)
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
This schema was resolved from common/link.
Properties
| Name | Description | 
|---|---|
| href | string(uri)(required)The URI or URI template for the resource/operation this link refers to. | 
| type | stringThe media type for the resource. | 
| templated | booleanIf true, the link's href is a URI template. | 
| title | stringAn 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. | 
links
{
  "property1": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  },
  "property2": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  }
}
Links (v1.0.0)
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
This schema was resolved from common/links.
Properties
| Name | Description | 
|---|---|
| additionalProperties | object: linkDescribes a hypermedia link within a _linksobject in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use thenameorhreflangproperties of HAL. Apiture links may include amethodproperty.This schema was resolved from  | 
product
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/product/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:activate": {
      "href": "https://api.developer.apiture.com/apiProducts/activeProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    },
    "apiture:deactivate": {
      "href": "https://api.developer.apiture.com/apiProducts/inactiveProducts?product=43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "tag": "digital-account-opening",
  "name": "Digital Account Opening",
  "description": "Supports opening accounts in a fully digital, self-service manner. Clients complete an application on-line, following full regulatory guidelines, to open a new account for a banking product, optionally funding the account from an outside funding source.",
  "version": "1.0.0",
  "apis": [
    {
      "name": "Banking Accounts",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Banking customer account management",
      "scopes": []
    },
    {
      "name": "transfers",
      "basePath": "/banking",
      "version": "1.0.0",
      "description": "Transfer funds between accounts.",
      "scopes": []
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "scopes": [],
  "excludeWriteScopes": true,
  "excludedScopes": []
}
API Product (v1.2.0)
API products, which are composed of APIs (with specific versions) and/or other API products.
Links
Response and request bodies using this product schema may contain the following links:
| Rel | Summary | Method | 
|---|---|---|
| apiture:deactivate | Deactivate an API product | POST | 
| apiture:activate | Activate an API product | POST | 
Properties
| Name | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | ||||||||
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | ||||||||
| _profile | string(uri)The URI of a resource profile which describes the representation. read-only | ||||||||
| _error | object: errorAn object which describes an error. This value is omitted if the operation succeeded without error. read-only | ||||||||
| _id | stringThis API product's unique ID. read-only | ||||||||
| name | stringThe name of the API product. minLength: 6maxLength: 64 | ||||||||
| tag | stringA unique read-only alphanumeric identifier for this product. When combined with the version, this creates a unique, immutable, durable, and human-readable identifier for this product.read-onlyminLength: 6maxLength: 64pattern: [a-z][-_a-z0-9A-Z]{0,63} | ||||||||
| productLine | string: productLineThe product line of this API product, derived from the product line of this product's apisandproducts.read-onlyDefault: "open"enum values: open,adb | ||||||||
| type | string: productTypeThe type of product, either an API product or a UI Component product. 
 
 enum values: api,component | ||||||||
| description | string(markdown)The description of the client application. maxLength: 512 | ||||||||
| version | string(semantic-version)The semantic version of the product. | ||||||||
| state | string: productStateThe state of this API product. The default state is  
 
 enum values: pending,active,inactive | ||||||||
| products | array: [productRef]An array of products that this composite product contains. Some products are made as assemblies of other products. | ||||||||
| apis | array: [api]Specific APIs that are elements of this product. | ||||||||
| scopes | array: [authorizationScope]The authorization scopes associated with this API product. This is derived from the union of the  
 read-onlyunique items | ||||||||
| excludedWriteScopes | booleanIf true, automatically exclude all*/writescopes inherited from this product'sapisandproductswhen deriving this product'sscopes. | ||||||||
| excludedScopes | array: [authorizationScopeName]Exclude these (inherited) scopes from this product's set of scopes when deriving this product's scopes.unique items | 
productLine
"open"
Product Line (v1.0.0)
The product line, for separating Open APIs and products from ADB APIs and products.
productLine strings may have one of the following enumerated values:
| Value | Description | 
|---|---|
| open | open: Apiture Open | 
| adb | adb: Apiture Digital Banking | 
Type: string
Default: "open" 
enum values: open, adb
productRef
{
  "name": "Basic Banking",
  "version": "1.2.5",
  "_links": {
    "self": {
      "href": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
    }
  }
}
Product Reference (v1.0.1)
A concise reference to an API product.
Properties
| Name | Description | 
|---|---|
| name | string(required)The name of the API product. read-onlyminLength: 6maxLength: 64 | 
| version | string(semantic-version)(required)The semantic version of the product. read-only | 
| _links | object: links(required)An optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
productState
"pending"
Product State (v1.0.0)
The state of this API product. The default state is pending. The product must be activated in order for an application to use the product. Use the POST HTTP method on the corresponding activateApiProduct and `deactivateApiProduct to activate or deactivate the API product.
productState strings may have one of the following enumerated values:
| Value | Description | 
|---|---|
| pending | Pending: A new API product that has not been activated | 
| active | active: An active API product | 
| inactive | inactive: An inactive API product, not used by any API client applications | 
Type: string
enum values: pending, active, inactive
productType
"api"
Product Type (v1.0.0)
The type of product, either an API product or a UI Component product.
productType strings may have one of the following enumerated values:
| Value | Description | 
|---|---|
| api | API: The product contains only APIs and/or other API products | 
| component | Component: The prodcut contains APIs and/or other API or Component products | 
Type: string
enum values: api, component
products
{
  "_profile": "https://production.api.apiture.com/schemas/apiProducts/products/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "/apiProducts/products?start=g434ljkf430&limit=10"
    },
    "next": {
      "href": "/apiProducts/products?start=p4900sk3df9&limit=10"
    },
    "collection": {
      "href": "/apiProducts/products"
    }
  },
  "start": "g434ljkf430",
  "limit": 10,
  "name": "apiProducts",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/apiProducts/apiProduct/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiProducts/products/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://production.api.apiture.com/schemas/apiProducts/apiProduct/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiProducts/products/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}
API Product Collection (v1.2.0)
Collection of API products. The items in the collection are ordered in the _embedded.items array; the name is apiProducts. The top-level _links object may contain pagination links: self, next, prev, first, last, collection.
Properties
| Name | Description | 
|---|---|
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
| _embedded | objectEmbedded resources. | 
| ยป items | array: [product]An array containing a page of API product items. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. read-only | 
| _error | object: errorAn object which describes an error. This value is omitted if the operation succeeded without error. read-only | 
| start | stringAn opaque marker representing the position of the current page in this resource collection. The service will use the startandlimitto compute the?start=query parameter for the next page when it provides thenextlink in the collection's_links. | 
| limit | integerThe maximum number of items per page. | 
| name | stringA name for the items in collection. | 
root
{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}
API Root (v2.1.1)
A HAL response, with hypermedia _links for the top-level resources and operations in API.
This schema was resolved from common/root.
Properties
| Name | Description | 
|---|---|
| _links | object: linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations.This schema was resolved from  | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. read-only | 
| _error | object: errorAn object which describes an error. This value is omitted if the operation succeeded without error. read-only | 
| _id | stringThis API's unique ID. read-only | 
| name | stringThis API's name. | 
| apiVersion | stringThis API's version. |