Shell HTTP JavaScript Node.JS Ruby Python Java Go

Client Applications v0.11.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.

Manage registered client applications (running against the Apiture stack) associated with a dev portal. API keys are attached to client applications and a runtime API environment in the API Keys API.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
data/read Read access to non-account, non-profile data.
data/write Write (update) access to non-account, non-profile data.
data/delete Delete access to non-account, non-profile data.
data/full Full access to non-account, non-profile data.

API

Endpoints which describe this API.

getApi

Code samples

# You can also use wget
curl -X GET /clientApplications/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET /clientApplications/ HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: '/clientApplications/',
  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('/clientApplications/',
{
  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 '/clientApplications/',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/clientApplications/', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/");
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", "/clientApplications/", 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": "1.0.0",
  "_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 /clientApplications/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET /clientApplications/apiDoc HTTP/1.1

Accept: application/json

var headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: '/clientApplications/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('/clientApplications/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 '/clientApplications/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'API-Key': 'API_KEY'
}

r = requests.get('/clientApplications/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/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", "/clientApplications/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

Client Application

Client Applications which use Apiture APIS

getApplications

Code samples

# You can also use wget
curl -X GET /clientApplications/applications \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /clientApplications/applications HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: '/clientApplications/applications',
  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',
  'Authorization':'Bearer {access-token}'

};

fetch('/clientApplications/applications',
{
  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',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get '/clientApplications/applications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/clientApplications/applications', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/applications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/clientApplications/applications", data)
    req.Header = headers

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

Return a collection of client applications

GET /applications

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

The caller may filter client applications by partner organization, API product or API environment and by the application state. Most users can only see applications that are part of their own organizations.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first client application item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of client application representations to return in this page.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
partner
(query)
string
Filter client applications to match only those owned by the named partner. The value may be the partner's unique _id or the partner domain.

A user can only view client applications whose partner domain match the domain of their validated email address. | |product
(query) | string
Filter client applications to match only those which use the named product. This may be the product name or the product ID. The strings must match case exactly. | |environment
(query) | string
Filter client applications to match only those which deploy in the named environment. This may be the environment name, the environment's host name, or the environment ID. The string values must match case exactly. | |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/clientApplications/applications/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "applications",
  "_links": {
    "self": {
      "href": "/clientApplications/applications?start=10&limit=10"
    },
    "first": {
      "href": "/clientApplications/applications?start=0&limit=10"
    },
    "next": {
      "href": "/clientApplications/applications?start=20&limit=10"
    },
    "collection": {
      "href": "/clientApplications/applications"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/clientApplications/applications/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK
Schema: applications
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

createApplication

Code samples

# You can also use wget
curl -X POST /clientApplications/applications \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /clientApplications/applications HTTP/1.1

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: '/clientApplications/applications',
  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/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/clientApplications/applications',
{
  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 '/clientApplications/applications',
  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('/clientApplications/applications', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/applications");
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", "/clientApplications/applications", data)
    req.Header = headers

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

Create a new client application

POST /applications

Create a new client application in the client applications collection. When creating a client app, the request may contain in _links a link named apiture:partner to the partner organization that owns the application.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Parameters

Parameter Description
body
(body)
application (required)
The data necessary to create a new client application.

Example responses

201 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
201 Created
Created
Schema: application
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

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.

getApplication

Code samples

# You can also use wget
curl -X GET /clientApplications/applications/{applicationId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /clientApplications/applications/{applicationId} HTTP/1.1

Accept: application/hal+json
If-None-Match: string

var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: '/clientApplications/applications/{applicationId}',
  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',
  'Authorization':'Bearer {access-token}'

};

fetch('/clientApplications/applications/{applicationId}',
{
  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',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get '/clientApplications/applications/{applicationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/clientApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/applications/{applicationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/clientApplications/applications/{applicationId}", data)
    req.Header = headers

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

Fetch a representation of this client application

GET /applications/{applicationId}

Return a HAL representation of this client application resource.

Parameters

Parameter Description
applicationId
(path)
string (required)
The unique identifier of this client application. 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/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: application
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 client application resource at the specified {applicationId}. 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 client application resource.

updateApplication

Code samples

# You can also use wget
curl -X PUT /clientApplications/applications/{applicationId} \
  -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 /clientApplications/applications/{applicationId} HTTP/1.1

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: '/clientApplications/applications/{applicationId}',
  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/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/clientApplications/applications/{applicationId}',
{
  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 '/clientApplications/applications/{applicationId}',
  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('/clientApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/applications/{applicationId}");
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", "/clientApplications/applications/{applicationId}", data)
    req.Header = headers

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

Update this client application

PUT /applications/{applicationId}

Perform a complete replacement of this client application.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Parameters

Parameter Description
applicationId
(path)
string (required)
The unique identifier of this client application. 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)
application (required)

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: application
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 client application resource at the specified {applicationId}. 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 client application resource.

patchApplication

Code samples

# You can also use wget
curl -X PATCH /clientApplications/applications/{applicationId} \
  -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 /clientApplications/applications/{applicationId} HTTP/1.1

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: '/clientApplications/applications/{applicationId}',
  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/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/clientApplications/applications/{applicationId}',
{
  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 '/clientApplications/applications/{applicationId}',
  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('/clientApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/applications/{applicationId}");
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", "/clientApplications/applications/{applicationId}", data)
    req.Header = headers

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

Update this client application

PATCH /applications/{applicationId}

Perform a partial update of this client application. 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/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Parameters

Parameter Description
applicationId
(path)
string (required)
The unique identifier of this client application. 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)
application (required)

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: application
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 client application resource at the specified {applicationId}. 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 client application resource.

deleteApplication

Code samples

# You can also use wget
curl -X DELETE /clientApplications/applications/{applicationId} \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE /clientApplications/applications/{applicationId} HTTP/1.1

var headers = {
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: '/clientApplications/applications/{applicationId}',
  method: 'delete',

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

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

const headers = {
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/clientApplications/applications/{applicationId}',
{
  method: 'DELETE',

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

require 'rest-client'
require 'json'

headers = {
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete '/clientApplications/applications/{applicationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('/clientApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/applications/{applicationId}");
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{
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "/clientApplications/applications/{applicationId}", data)
    req.Header = headers

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

Delete this client application resource

DELETE /applications/{applicationId}

Delete this client application resource and any resources that are owned by it.

Parameters

Parameter Description
applicationId
(path)
string (required)
The unique identifier of this client application. This is an opaque string.

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.

Client Application States

Client Application State Transition Actions

deactivateApplication

Code samples

# You can also use wget
curl -X POST /clientApplications/inactiveApplications?application=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /clientApplications/inactiveApplications?application=string HTTP/1.1

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: '/clientApplications/inactiveApplications',
  method: 'post',
  data: '?application=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('/clientApplications/inactiveApplications?application=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 '/clientApplications/inactiveApplications',
  params: {
  'application' => '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('/clientApplications/inactiveApplications', params={
  'application': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/inactiveApplications?application=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", "/clientApplications/inactiveApplications", data)
    req.Header = headers

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

Deactivate a client application

POST /inactiveApplications

Update a client application by adding it to the set of inactive client applications. This changes the state property of the client application to inactive. This operation is available via the apiture:deactivate link on the client application resource, if and only if the client application is eligible for the deactivate operation. The responses is the updated representation of the client application. The If-Match required request header value must match the current entity tag value of the client application.

This operation will also deactivate any API keys associated with the application.

Parameters

Parameter Description
application
(query)
string (required)
A string which uniquely identifies a client application which is to added to the active client applications resource set. This may be the unique applicationId or the URI of the client application.
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/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded. The client application was updated and its state changed to inactive.
Schema: application
400 Bad Request
Bad Request. The application parameter was malformed or does not refer to an existing or accessible client application.
Schema: errorResponse
409 Conflict
Conflict. The request to change the state of the client application 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.

activateApplication

Code samples

# You can also use wget
curl -X POST /clientApplications/activeApplications?application=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /clientApplications/activeApplications?application=string HTTP/1.1

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: '/clientApplications/activeApplications',
  method: 'post',
  data: '?application=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('/clientApplications/activeApplications?application=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 '/clientApplications/activeApplications',
  params: {
  'application' => '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('/clientApplications/activeApplications', params={
  'application': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/activeApplications?application=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", "/clientApplications/activeApplications", data)
    req.Header = headers

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

Activate a client application

POST /activeApplications

Update a client application by adding it to the set of active client applications. This changes the state property of the client application to active. This operation is available via the apiture:activate link on the client application resource, if and only if the client application is eligible for the activate operation. The responses is the updated representation of the client application. The If-Match required request header value must match the current entity tag value of the client application.

This operation will also activate any API keys associated with the application.

Parameters

Parameter Description
application
(query)
string (required)
A string which uniquely identifies a client application which is to added to the active client applications resource set. This may be the unique applicationId or the URI of the client application.
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/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded. The client application was updated and its state changed to active.
Schema: application
400 Bad Request
Bad Request. The application parameter was malformed or does not refer to an existing or accessible client application.
Schema: errorResponse
409 Conflict
Conflict. The request to change the state of the client application 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.

Developer Portal Application

The Developer Portal Application

getDeveloperPortalApplication

Code samples

# You can also use wget
curl -X GET /clientApplications/developerPortalApplication \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET /clientApplications/developerPortalApplication HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: '/clientApplications/developerPortalApplication',
  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',
  'Authorization':'Bearer {access-token}'

};

fetch('/clientApplications/developerPortalApplication',
{
  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',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get '/clientApplications/developerPortalApplication',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('/clientApplications/developerPortalApplication', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/developerPortalApplication");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/clientApplications/developerPortalApplication", data)
    req.Header = headers

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

Return the Developer Portal application

GET /developerPortalApplication

Returns the Developer Portal client application resource. This is a special client application representing the developer portal. This is the client application associated with Discoverer Keys or Explorer Keys for the DevBank environment. This resource is created with the createDeveloperPortalApplication operation.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: application
404 Not Found
Not Found; the Developer Portal application has not been created yet.
Schema: application

createDeveloperPortalApplication

Code samples

# You can also use wget
curl -X POST /clientApplications/developerPortalApplication \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST /clientApplications/developerPortalApplication HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: '/clientApplications/developerPortalApplication',
  method: 'post',

  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('/clientApplications/developerPortalApplication',
{
  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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/clientApplications/developerPortalApplication',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('/clientApplications/developerPortalApplication', params={

}, headers = headers)

print r.json()

URL obj = new URL("/clientApplications/developerPortalApplication");
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"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "/clientApplications/developerPortalApplication", data)
    req.Header = headers

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

Create the Developer Portal application

POST /developerPortalApplication

Creates the Developer Portal client application resource. This application has the name DevPortal and type of web. If the instance already exists, it is returned with a 200 response code.

The self link and the Location response header is the URL of the developer portal application resource. This href is not the URL of the portal web application—that is the applicationUrl property of the application. The applicationUrl will be the URL of the actual portal web app, such as https://developer.apiture.com or https://integration.developer.bank.

The getDeveloperPortalApplication also returns this resource.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: application
201 Created
Created
Schema: application

Response Headers

StatusDescription
200 Location string uri
The URL of the Developer Portal Application.
201 Location string uri
The URL of the Developer Portal Application.

Schemas

application

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
  "name": "My Apiture POC",
  "description": "A proof of concept app to try out Apiture APIs.",
  "state": "active",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {}
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "http://developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "_links": {
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Client Application

Representation of client application resources.

Properties

NameDescription
_links object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
» additionalProperties link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
This client application's unique ID.
read-only
name string
The name of the client application.
minLength: 6
maxLength: 64
description string(markdown)
The description of the client application.
owners [string]
A list of people who are owners of this application. Only application owners may update (including modifying the list of owners). or delete a client application or modify the API keys. The array elements are email addresses (normalized lowercase).
type string
The type of client application. Different application types have different API key and security requirements. For example, web and mobile applications are harder to keep secure because they often operate in unsecure public networks. They use an Client ID but do not use Client Secrets to authenticate the application; they use an API Key when invoking API operations. Trusted service applications use Client IDs and Client Secrets for their OAuth flow and API Keys for API calls.


Enumerated values:
desktop
mobile
service
web

applicationUrl string(uri)
A URL of a web page with additional information about the application, including information on downloading or licensing the application.
redirectUrl string(uri)
The URL used in OAuth flows. When a user authenticates with the application's authorization server, the authorization server will redirect to this URL to complete the authentication process. This prevents other applications from using the application's client ID and secret.
partnerName string
The name of the optional partner organization/company. This is derived from the partner organization associated with the application.
read-only
minLength: 4
maxLength: 128
partnerDomain string(urn)
The web domainn of the optional partner organization/company. This is derived from the partner organization associated with the application.
read-only
minLength: 4
maxLength: 128
state string
The state of this client application. The default state is pending. The application must be activated before API keys may be requested/provisioned for it. Use the POST HTTP method on the corresponding activateApplication and deactivateApplication operations to activate or deactivate the application.

TODO: add ability for client to discard the API keys and request new ones (for example, if the keys are compromised).


Enumerated values:
pending
active
inactive

products [productRef]
An array of products, one for each API product from the API Products API.
environments [environmentRef]
An array of environments, one for each API environment from the API Environments API. The system will allocate an API Key via the API Keys API for each environment.

environmentRef

{
  "name": "Third Party Bank UAT",
  "host": "api.thirdparty.bank",
  "_links": {
    "self": "https://developer.apiture.com/apiEnvironment/environments/d7e954f4-0c52-4cb2-9b59-315cdcb2d478"
  }
}

Environment Reference

A concise reference to an API environment.

Properties

NameDescription
name string (required)
The name of the API environment.
read-only
minLength: 6
maxLength: 64
host string(urn) (required)
The hostname for the environment.
minLength: 8
maxLength: 64
_links links (required)
The self link of an API product resource.

productRef

{
  "name": "Basic Banking",
  "version": "1.2.5",
  "_links": {
    "self": "https://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.

applications

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

Client Application Collection

Collection of client applications. The items in the collection are ordered in the _embedded.items array; the name is applications. The top-level _links object may contain pagination links: self, next, prev, first, last, collection.

Properties

NameDescription
_links object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
» additionalProperties link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
_embedded object
Embedded objects.
» items [application]
An array containing a page of client application items.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
count integer
The number of items in the collection. This value is optional and my be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_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 object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
» additionalProperties link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
This API's unique ID.
name string
This API's name.
apiVersion string
This API's version.

errorResponse

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

Error Response

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

Properties

NameDescription
_links object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
» additionalProperties link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.

{
  "property1": {
    "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Applicant"
  },
  "property2": {
    "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Applicant"
  }
}

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.

{
  "href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Applicant"
}

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.

error

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

Error

Describes an error in an API request or in a service called via the API.

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 RFC 3339 UTC time stamp indicating when the error occurred.
attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors [error]
An optional array of nested error objects. This property is not always present.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects. An error object may contain nested errors. For example, an API which validates its request body may find multiple errors in the request, which are returned with an error response with nested errors. These are held in an items array of errorResponse objects. _embedded or _embedded.items may not exist if the error does not have nested errors. This property is deprecated; use see error.errors instead.
» 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