Shell HTTP JavaScript Node.JS Ruby Python Java Go

API Products v0.8.4

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

For example, the product Digital Account Opening may be composed of a Basic Banking product plus the Applications API and the Workflow API. 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:

Terms of service

Email: Apiture Web: Apiture

Authentication

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

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));
  }
})

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);
});

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 /

Return links to the top-level resources and operations in this API.

Example responses

200 Response

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "0.0.1-SNAPSHOT",
  "_profile": "https://api.apiture.com/schemas/common/root/v1.0.0/profile.json",
  "_links": {}
}

Responses

StatusDescription
200 OK
OK
Schema: root

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

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));
  }
})

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);
});

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 /apiDoc

Return the OpenAPI document that describes this API.

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

API Product

API Prodcucts

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

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));
  }
})

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);
});

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 /products

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

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first API product item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of API product representations to return in this page.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.
state
(query)
string
Subset the resources to only those whose state matches the query, such as ?state=active. The value may be a | separated list of states, such as ?state=pending|active to match all resources whose state is either pending or active'. If ?filter=is also used, the two are combined with an implicitand()` operation.
Enumerated values:
pending
active
inactive

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiProducts/products/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "apiProducts",
  "_links": {
    "self": {
      "href": "/apiProducts/products?start=10&limit=10"
    },
    "first": {
      "href": "/apiProducts/products?start=0&limit=10"
    },
    "next": {
      "href": "/apiProducts/products?start=20&limit=10"
    },
    "collection": {
      "href": "/apiProducts/products"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://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://api.apiture.com/schemas/apiProducts/apiProduct/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiProducts/products/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Responses

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

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

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));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}';
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);
});

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

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Parameters

Parameter Description
body
(body)
product (required)
The data necessary to create a new API product.

Example responses

201 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Responses

StatusDescription
201 Created
Created
Schema: product
400 Bad Request
Bad Request. One of the request parameters to create a productType was not valid. See _error for more information
Schema: errorResponse
409 Conflict
Conflict. An API product already exists with specified tag.
Schema: errorResponse

Response Headers

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

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

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));
  }
})

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);
});

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 /products/{productId}

Return a HAL representation of this API product resource.

Parameters

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

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: product
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
404 Not Found
Not Found. There is no such API product resource at the specified {productId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this API product resource.

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

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));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}';
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);
});

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 /products/{productId}

Perform a complete replacement of this API product.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Parameters

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

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: product
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
404 Not Found
Not Found. There is no such API product resource at the specified {productId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this API product resource.

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

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));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}';
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);
});

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

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Parameters

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

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: product
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
404 Not Found
Not Found. There is no such API product resource at the specified {productId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this API product resource.

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

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));
  }
})

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);
});

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 /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
(path)
string (required)
The unique identifier of this API product. This is an opaque string.

Example responses

409 Response

{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
    "message": "The value for deposit must be greater than 0.",
    "statusCode": 422,
    "type": "positiveNumberRequired",
    "attributes": {
      "value": -125.5
    },
    "remediation": "Provide a value which is greater than 0",
    "occurredAt": {},
    "_links": {
      "describedby": {
        "href": "http://doc.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
409 Conflict
Conflict. The product may not be deleted if the state is inactive.
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

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));
  }
})

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);
});

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 /inactiveProducts

Update an API product by adding it to the set of inactive API products. 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 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
(query)
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
(query)
boolean
Force deactivation of the product, even if client applications are using the product. This is false by default.
If-Match
(header)
string (required)
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded. The API product was updated and its state changed to inactive.
Schema: product
400 Bad Request
Bad Request. The apiProduct parameter was malformed or does not refer to an existing or accessible API product.
Schema: errorResponse
409 Conflict
Conflict. The request to change the state of the API product is not allowed. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource.

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

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));
  }
})

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);
});

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 /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
(query)
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
(header)
string (required)
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded. The API product was updated and its state changed to active.
Schema: product
400 Bad Request
Bad Request. The apiProduct parameter was malformed or does not refer to an existing or accessible API product.
Schema: errorResponse
409 Conflict
Conflict. The request to change the state of the API product is not allowed. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource.

Schemas

product

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/apiProducts/product/v1.0.0/profile.json",
  "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": "Account Applications",
      "basePath": "/accountApplications",
      "version": "1.0.0",
      "description": "Manages the data and workflow for applications for new banking accounts"
    },
    {
      "name": "Workflow",
      "basePath": "/workflow",
      "version": "1.0.0",
      "description": "Business processes, included automatic and manual human-driven tasks, such as filling in forms or approving activities"
    }
  ],
  "products": [
    {
      "name": "Basic Banking",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
      }
    }
  ],
  "_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"
    }
  }
}

API Product

Representation of API product resources. TODO: Update /apiProducts paths and check /v1.0.0/ in profile paths.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
This API product's unique ID.
read-only
name string
The name of the API product.
minLength: 6
maxLength: 64
tag string
A unique read-only alphanumeric identifier for this product. When combined with the version, this creates a unique human-readable identifier for this product.
read-only
minLength: 6
maxLength: 64
description string(markdown)
The description of the client application.
version string(semantic-version)
The semantic version of the product.
state string
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.


Enumerated values:
pending
active
inactive

products [productRef]
An array of products that this composite product contains. Some products are made as assemblies of other products.
apis [api]
Specific APIs that are elements of this product.

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

A concise reference to an API product.

Properties

NameDescription
name string (required)
The name of the API product.
read-only
minLength: 6
maxLength: 64
version string(semantic-version) (required)
The semantic version of the product.
read-only
_links links (required)
The self link of an API product resource.

api

{
  "name": "Accounts",
  "basePath": "/accounts",
  "description": "Access internal accounts and account details (balances, etc.) at a financial institution, as well as linked external accounts",
  "version": "1.0.0"
}

API

An API is a component of an API product.

Properties

NameDescription
name string
The name of the API product.
minLength: 6
maxLength: 64
description string(markdown)
The description of the API product.
basePath string
The base path of the API (from the basePath in the OpenAPI definition).
minLength: 4
maxLength: 32
version string(semantic-version)
The semantic version of the API (from the info.version in the OpenAPI definition).

products

{
  "_profile": "https://api.apiture.com/schemas/apiProducts/products/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "apiProducts",
  "_links": {
    "self": {
      "href": "/apiProducts/products?start=10&limit=10"
    },
    "first": {
      "href": "/apiProducts/products?start=0&limit=10"
    },
    "next": {
      "href": "/apiProducts/products?start=20&limit=10"
    },
    "collection": {
      "href": "/apiProducts/products"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://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://api.apiture.com/schemas/apiProducts/apiProduct/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiProducts/products/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

API Product Collection

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

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded resources.
» items [product]
An array containing a page of API product items.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the full collection.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

abstractResource

{
  "_profile": "https://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

Abstract Resource

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "0.0.1-SNAPSHOT",
  "_profile": "https://api.apiture.com/schemas/common/root/v1.0.0/profile.json",
  "_links": {}
}

API Root

A HAL response, with hypermedia _links for the top-level resources and operations in API.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
This API's unique ID.
name string
This API's name.
apiVersion string
This API's version.

errorResponse

{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
    "message": "The value for deposit must be greater than 0.",
    "statusCode": 422,
    "type": "positiveNumberRequired",
    "attributes": {
      "value": -125.5
    },
    "remediation": "Provide a value which is greater than 0",
    "occurredAt": {},
    "_links": {
      "describedby": {
        "href": "http://doc.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response

Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

error

{
  "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
  "message": "The value for deposit must be greater than 0.",
  "statusCode": 422,
  "type": "positiveNumberRequired",
  "attributes": {
    "value": -125.5
  },
  "remediation": "Provide a value which is greater than 0",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "_links": {
    "describedby": {
      "href": "http://doc.apiture.com/errors/positiveNumberRequired"
    }
  },
  "_embedded": {
    "errors": []
  }
}

Error

An error description. Nested source errors are contained in the _embedded object with the key "errors"; this is an array of nested error objects. For example, an API which validates its request body may find multiple errors in the request, which may be detailed here. The _links may contain a describedby link which refers to a web page with details about the error. The attributes field An optional map of name/value pairs which provide structured data about the error. For example, if the error is a value out of range, the attributes may specify the range values min and max. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier).

Properties

NameDescription
message string (required)
A localized message string describing the error condition.
_id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
occurredAt string(date-time)
An ISO 8601 UTC time stamp indicating when the error occurred.
attributes attributes
Data attribute associated with the error, such as values or constraints.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
_embedded object
Optional embedded array of errors. This field may not exist if the error does not have nested errors.
» items [errorResponse]
An array of error objects.

attributes

{}

Attributes

An optional map of name/value pairs which contains additional dynamic data about the resource.

Properties

{
  "href": "http://example.com",
  "type": "string",
  "templated": true,
  "title": "string",
  "deprecation": "http://example.com",
  "profile": "http://example.com"
}

Link

Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

Properties

NameDescription
href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
type string
The media type for the resource.
templated boolean
If true, the link's href is a URI template.
title string
An optional human-readable localized title for the link.
deprecation string(uri)
If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.
profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.

collection

{
  "_links": {
    "property1": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    },
    "property2": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "_profile": "https://api.apiture.com/schemas/common/errorResponse/v1.0.0/profile.json",
    "message": "The value for deposit must be greater than 0.",
    "statusCode": 422,
    "type": "positiveNumberRequired",
    "attributes": {
      "value": -125.5
    },
    "remediation": "Provide a value which is greater than 0",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "http://doc.apiture.com/errors/positiveNumberRequired"
      }
    },
    "_embedded": {
      "errors": []
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection

A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the full collection.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

{
  "property1": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  },
  "property2": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  }
}

Links

An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

Properties

NameDescription
additionalProperties link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.