Client Applications v0.23.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.
Error Types
Error responses in this API may have one of the following `type` values.
invalidPartnerDomain
Description: The current user's email address is associated with a restricted partner organization domain.
Remediation: Register using a company email address, not an email service.
applicationRefNotFound
Description: The referenced client application does not exist.
Remediation: Use the _id of an existing client application.
invalidClientAuthentication
Description: The client application authentication is not allowed for this client type.
Remediation: Choose an allowed authentication. web and mobile must use authorizationCode.
Download OpenAPI Definition (YAML)
Base URLs:
Authentication
- API Key (apiKey)- header parameter: API-Key
- API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the API-Key: {api-key}request header.
 
- OAuth2 authentication  (accessToken)- OAuth2 client access token authentication. The client authenticates against the server at authorizationUrl, passing the client's privateclientId(and optionalclientSecret) as part of this flow. The client obtains an access token from the server attokenUrl. It then passes the received access token via theAuthorization: Bearer {access-token}header in subsequent API calls. The authorization process also returns a refresh token which the client should use to renew the access token before it expires.
- Flow: authorizationCode
- Authorization URL = /auth/oauth2/authorize
- Token URL = /auth/oauth2/token
 
- OAuth2 client access token authentication. The client authenticates against the server at 
| Scope | Scope Description | 
|---|---|
| data/read | Read access to non-account, non-profile data. | 
| data/write | Write (update) access to non-account, non-profile data. | 
| admin/write | Admn 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.
Try It
Example responses
200 Response
{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
  "_links": {}
}
Responses
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.
Try It
Example responses
200 Response
{}
Responses
| Status | Description | 
|---|---|
| 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 filterable 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) | stringRepresents the first record of the page of results. This is supplied by the service when paginating items: the nextlink includes a?start=query parameter which refers to beginning of the next page of items. | 
| limit(query) | integer(int32)The maximum number of client application representations to return in this page. Default: 100 | 
| partner(query) | stringFilter client applications to match only those owned by the named partner. The value may be the partner's unique _idor the partner domain.A user can only view client applications whose partner domain match the domain of their validated email address. | 
| owner(query) | stringFilter client applications to match only those owned by the named user, as identified by their email address. The email address domain must match the partner domain name. The comparison is case-insensitive. Example: GET clientApplications/applications?owner=Walter.Black@example.com | 
| product(query) | stringFilter 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) | stringFilter 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) | stringOptional filter criteria. See filtering. | 
| state(query) | array[string]Subset the resources to only those whose statematches the query, such as?state=active. The value may be a|separated list of states, such as?state=pending|activeto match all resources whosestateis eitherpendingoractive. If?filter=is also used, the two are combined with an implicitand()operation. | 
Try It
Example responses
200 Response
{
  "_profile": "https://api.apiture.com/schemas/clientApplications/applications/v1.0.0/profile.json",
  "start": "g434ljkf430",
  "limit": 10,
  "name": "applications",
  "_links": {
    "self": {
      "href": "/clientApplications/applications?start=g434ljkf430&limit=10"
    },
    "next": {
      "href": "/clientApplications/applications?start=p4900sk3df9&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",
      "name": "My Apiture POC",
      "description": "A proof of concept app to try out Apiture APIs.",
      "state": "active",
      "type": "web",
      "authentication": "authorizationCode",
      "partnerName": "Example FinTex",
      "partnerDomain": "fintech.example.com",
      "products": [
        {
          "name": "Digital Banking",
          "version": "1.2.0",
          "_links": {
            "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
          }
        }
      ],
      "environments": [
        {
          "name": "3rd Party Bank Dev",
          "host": "api-dev.thirdparty.bank",
          "_links": {
            "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
          }
        },
        {
          "name": "3rd Party Bank UAT",
          "host": "api-uat.thirdparty.bank",
          "_links": {
            "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
          }
        },
        {
          "name": "3rd Party Bank Production",
          "host": "api.thirdparty.bank",
          "_links": {
            "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
          }
        }
      ],
      "createdAt": "2020-05-21T04:52:35.375Z",
      "modifiedAt": "2020-05-21T05:34:04.512Z",
      "_links": {
        "self": {
          "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:deactivate": {
          "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:parnter": {
          "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
        }
      }
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK | |
| Schema: applications | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 422 | Unprocessable Entity | 
| Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _errorfield 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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}';
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Parameters
| Parameter | Description | 
|---|---|
| body(body) | application(required)The data necessary to create a new client application. | 
Try It
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 201 | Created | 
| Created | |
| Schema: application | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 403 | Forbidden | 
| Conflict. Cannot create a client application for a user without a valid partner organization. This error response may have one of the following  | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 422 | Unprocessable Entity | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The  This error response may have one of the following  | |
| Schema: errorResponse | 
Response Headers
| Status | Description | 
|---|---|
| 201 | Locationstringuri | 
| The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host | |
| 201 | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations 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) | stringThe entity tag that was returned in the ETagresponse. If the resource's current entity tag matches, theGETwill return 304 (Not Modified) and no response body, else the resource representation will be returned. | 
Try It
Example responses
200 Response
{
  "_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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK | |
| Schema: application | 
| Status | Description | 
|---|---|
| 304 | Not Modified | 
| Not Modified. The resource has not been modified since it was last fetched. | 
| Status | Description | 
|---|---|
| 404 | Not Found | 
| Not Found. There is no such client application resource at the specified {applicationId}. The_errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
Response Headers
| Status | Description | 
|---|---|
| 200 | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations 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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}';
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Parameters
| Parameter | Description | 
|---|---|
| applicationId(path) | string(required)The unique identifier of this client application. This is an opaque string. | 
| If-Match(header) | stringThe entity tag that was returned in the ETagresponse. This must match the current entity tag of the resource. | 
| body(body) | application(required) | 
Try It
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK | |
| Schema: application | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 404 | Not Found | 
| Not Found. There is no such client application resource at the specified {applicationId}. The_errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 412 | Precondition Failed | 
| Precondition Failed. The supplied if-Matchheader value does not match the most recentETagresponse header value. The resource has changed in the interim. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 422 | Unprocessable Entity | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The  This error response may have one of the following  | |
| Schema: errorResponse | 
Response Headers
| Status | Description | 
|---|---|
| 200 | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations 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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}';
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Parameters
| Parameter | Description | 
|---|---|
| applicationId(path) | string(required)The unique identifier of this client application. This is an opaque string. | 
| If-Match(header) | stringThe entity tag that was returned in the ETagresponse. This must match the current entity tag of the resource. | 
| body(body) | application(required) | 
Try It
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK | |
| Schema: application | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 404 | Not Found | 
| Not Found. There is no such client application resource at the specified {applicationId}. The_errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 412 | Precondition Failed | 
| Precondition Failed. The supplied if-Matchheader value does not match the most recentETagresponse header value. The resource has changed in the interim. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 422 | Unprocessable Entity | 
| Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
Response Headers
| Status | Description | 
|---|---|
| 200 | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations 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. | 
Try It
Responses
| Status | Description | 
|---|---|
| 204 | No Content | 
| No Content. The resource was deleted successfully. | 
inviteJointOwners
Code samples
# You can also use wget
curl -X POST /clientApplications/applications/{applicationId}/jointOwnerInvitations \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'
POST /clientApplications/applications/{applicationId}/jointOwnerInvitations 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/{applicationId}/jointOwnerInvitations',
  method: 'post',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})
const fetch = require('node-fetch');
const inputBody = '{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "message": "stringstringstri",
  "invitees": [
    {
      "_profile": "https://api.apiture.com/schemas/clientApplications/createInvitation/v1.0.0/profile.json",
      "firstName": "John",
      "lastName": "Smith",
      "emailAddress": "john.smith@example.com"
    }
  ]
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'
};
fetch('/clientApplications/applications/{applicationId}/jointOwnerInvitations',
{
  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/{applicationId}/jointOwnerInvitations',
  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/{applicationId}/jointOwnerInvitations', params={
}, headers = headers)
print r.json()
URL obj = new URL("/clientApplications/applications/{applicationId}/jointOwnerInvitations");
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/{applicationId}/jointOwnerInvitations", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Invite joint owners
POST /applications/{applicationId}/jointOwnerInvitations
Invite joint owners to this client application. This operations adds the owner by their email address, and sends them in invitation email. This API does not track which people it has sent invitations to; it unconditionally emails each invitee even if they have been invited in the past or already appear in the list of owners. Only owners may view/modify the client ID/secret or disable/enable or modify/remove the client application. The recipients must register on the developer portal with the same email address as in the invitation.
Body parameter
{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "message": "stringstringstri",
  "invitees": [
    {
      "_profile": "https://api.apiture.com/schemas/clientApplications/createInvitation/v1.0.0/profile.json",
      "firstName": "John",
      "lastName": "Smith",
      "emailAddress": "john.smith@example.com"
    }
  ]
}
Parameters
| Parameter | Description | 
|---|---|
| applicationId(path) | string(required)The unique identifier of this client application. This is an opaque string. | 
| body(body) | createInvitation(required)The data necessary to create a new joint owner invitation. | 
Try It
Example responses
202 Response
{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "message": "stringstringstri",
  "invitees": [
    {
      "_profile": "https://api.apiture.com/schemas/clientApplications/createInvitation/v1.0.0/profile.json",
      "firstName": "John",
      "lastName": "Smith",
      "emailAddress": "john.smith@example.com"
    }
  ]
}
Responses
| Status | Description | 
|---|---|
| 202 | Accepted | 
| Accepted | |
| Schema: invitation | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The request body or one or more of the query parameters was not well formed.  The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
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
Deactivate 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 response 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) | stringThe entity tag that was returned in the ETagresponse. This must match the current entity tag of the resource. | 
Try It
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. The operation succeeded. The client application was updated and its statechanged toinactive. | |
| Schema: application | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The application parameter was malformed or does not refer to an existing or accessible client application. This error response may have one of the following  | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 409 | Conflict | 
| Conflict. The request to change the state of the client application is not allowed. The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
Response Headers
| Status | Description | 
|---|---|
| 200 | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations 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
Attempt to activate a client application. 
 For non-administrators, this submits a request to the portal administrators to approve or reject the request. This may also change the state to pending. The corresponding response code is 200. 
 For administrator users, this action changes the state directly (if the state can be changed to active or is already active). The API key for the client's target environments are also activated. The corresponding response code is 200. 
 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. This operation is reserved for an admin user. response 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) | stringThe entity tag that was returned in the ETagresponse. This must match the current entity tag of the resource. | 
Try It
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. The operation succeeded. The client application was updated and its statechanged toactive. | |
| Schema: application | |
| 202 | Accepted | 
| Accepted. The request to activate a client application has been accepted. The state may change to pendingwhile the request is processed. | |
| Schema: application | 
| Status | Description | 
|---|---|
| 400 | Bad Request | 
| Bad Request. The application parameter was malformed or does not refer to an existing or accessible client application. This error response may have one of the following  | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 403 | Forbidden | 
| Forbidden. The user does not have authorization to access the resource or perform the operation. | |
| Schema: errorResponse | 
| Status | Description | 
|---|---|
| 409 | Conflict | 
| Conflict. The request to change the state of the client application is not allowed. The _errorfield in the response will contain details about the request error. | |
| Schema: errorResponse | 
Response Headers
| Status | Description | 
|---|---|
| 200 | ETagstring | 
| The ETagresponse header specifies an entity tag which must be provided in anIf-Matchrequest header forPUTorPATCHoperations 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'
GET /clientApplications/developerPortalApplication HTTP/1.1
Accept: application/hal+json
var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'
};
$.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'
};
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'
}
result = RestClient.get '/clientApplications/developerPortalApplication',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY'
}
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"},
        
    }
    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.
Try It
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. | |
| Schema: application | 
| Status | Description | 
|---|---|
| 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.
Try It
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Responses
| Status | Description | 
|---|---|
| 200 | OK | 
| OK. | |
| Schema: application | |
| 201 | Created | 
| Created | |
| Schema: application | 
Response Headers
| Status | Description | 
|---|---|
| 200 | Locationstringuri | 
| The URL of the Developer Portal Application. | |
| 201 | Locationstringuri | 
| The URL of the Developer Portal Application. | 
Schemas
abstractRequest
{
  "_profile": "https://api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/"
    }
  }
}
Abstract Request (v2.0.0)
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
abstractResource
{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}
Abstract Resource (v2.0.0)
An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
| _error | errorAn object which describes an error. This value is omitted if the operation succeeded without error. | 
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",
  "type": "web",
  "authentication": "authorizationCode",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "products": [
    {
      "name": "Digital Banking",
      "version": "1.2.0",
      "_links": {
        "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
      }
    }
  ],
  "environments": [
    {
      "name": "3rd Party Bank Dev",
      "host": "api-dev.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
      }
    },
    {
      "name": "3rd Party Bank UAT",
      "host": "api-uat.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
      }
    },
    {
      "name": "3rd Party Bank Production",
      "host": "api.thirdparty.bank",
      "_links": {
        "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
      }
    }
  ],
  "createdAt": "2020-05-21T04:52:35.375Z",
  "modifiedAt": "2020-05-21T05:34:04.512Z",
  "_links": {
    "self": {
      "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:parnter": {
      "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
    }
  }
}
Client Application (v1.0.0)
Representation of client application resources.
Links
Response and request bodies using this application schema may contain the following links:
| Rel | Summary | Method | 
|---|---|---|
| apiture:deactivate | Deactivate a client application | POST | 
| apiture:activate | Activate a client application | POST | 
| apiture:partner | Partner Organization (`/partners/organizations/{organizationId}`) | GET | 
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
| _error | errorAn object which describes an error. This value is omitted if the operation succeeded without error. | 
| _id | stringThis client application's unique ID. read-only | 
| name | stringThe name of the client application. minLength: 6maxLength: 64 | 
| description | string(markdown)The description of the client application. maxLength: 512 | 
| 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 | applicationTypeThe type of client application. | 
| authentication | clientAuthenticationHow the client authenticates. | 
| applicationUrl | string(uri)A URL of a web page with additional information about the application, including information on downloading or licensing the application. maxLength: 4096 | 
| 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. maxLength: 4096 | 
| partnerName | stringThe name of the optional partner organization/company. This is derived from the partner organization associated with the application. read-onlyminLength: 4maxLength: 128 | 
| partnerDomain | string(urn)The web domain of the optional partner organization/company. This is derived from the partner organization associated with the application. read-onlyminLength: 4maxLength: 128 | 
| state | clientStateThe state of this client application resource. | 
| 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. | 
| createdAt | string(date-time)The date-time the application was created, in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZformat. | 
| modifiedAt | string(date-time)The date-time the application was most recently modified in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZformat. | 
applicationType
"web"
Application Type (v1.0.0)
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.
applicationType strings may have one of the following enumerated values values (described by the named clientType)
| Value | Description | 
|---|---|
| desktop | Secure Desktop Application | 
| mobile | Mobile Application | 
| service | Secure Servicing Application | 
| web | Web Application | 
Type: string
Enumerated values: desktopmobileserviceweb
applications
{
  "_profile": "https://api.apiture.com/schemas/clientApplications/applications/v1.0.0/profile.json",
  "start": "g434ljkf430",
  "limit": 10,
  "name": "applications",
  "_links": {
    "self": {
      "href": "/clientApplications/applications?start=g434ljkf430&limit=10"
    },
    "next": {
      "href": "/clientApplications/applications?start=p4900sk3df9&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",
      "name": "My Apiture POC",
      "description": "A proof of concept app to try out Apiture APIs.",
      "state": "active",
      "type": "web",
      "authentication": "authorizationCode",
      "partnerName": "Example FinTex",
      "partnerDomain": "fintech.example.com",
      "products": [
        {
          "name": "Digital Banking",
          "version": "1.2.0",
          "_links": {
            "self": "https://api.developer.apiture.com/apiProducts/products/26e77f06-bd27-4778-b66b-57d048f09838"
          }
        }
      ],
      "environments": [
        {
          "name": "3rd Party Bank Dev",
          "host": "api-dev.thirdparty.bank",
          "_links": {
            "self": "https://api.developer.apiture.com/apiEnvironments/environments/c6223f24-93be-4205-8d4a-bd1b98d8f041"
          }
        },
        {
          "name": "3rd Party Bank UAT",
          "host": "api-uat.thirdparty.bank",
          "_links": {
            "self": "https://api.developer.apiture.com/apiEnvironments/environments/d23eb964-6136-44fc-be03-325c1c6bf342"
          }
        },
        {
          "name": "3rd Party Bank Production",
          "host": "api.thirdparty.bank",
          "_links": {
            "self": "https://api.developer.apiture.com/apiEnvironments/environments/68c7260e-26b6-4df8-8753-71964ee198d5"
          }
        }
      ],
      "createdAt": "2020-05-21T04:52:35.375Z",
      "modifiedAt": "2020-05-21T05:34:04.512Z",
      "_links": {
        "self": {
          "href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:deactivate": {
          "href": "/inactiveApplications?application=0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:parnter": {
          "href": "/partners/organizations/12e9c04a-3a5f-4ee3-a93b-173f2a3128cb"
        }
      }
    }
  }
}
Client Application Collection (v1.0.0)
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
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectEmbedded 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 | errorAn object which describes an error. This value is omitted if the operation succeeded without error. | 
| start | stringAn opaque marker representing the position of the current page in this resource collection. The service will use the startandlimitto compute the?start=query parameter for the next page when it provides thenextlink in the collection's_links. | 
| limit | integerThe maximum number of items per page. | 
| name | stringA name for the items in collection. | 
attributeValue
{}
Attribute Value (v2.0.0)
The data associated with this attribute.
Properties
attributes
{
  "property1": {},
  "property2": {}
}
Attributes (v2.0.0)
An optional map of name/value pairs which contains additional dynamic data about the resource.
Properties
| Name | Description | 
|---|---|
| additionalProperties | attributeValueThe data associated with this attribute. | 
clientAuthentication
"authorizationCode"
Client Authentication (v1.0.0)
The type of authentication the client application will use. If not specified in createApplication, this defaults to authorizationCode. clientCredentials is not allowed if the application type is web or mobile.
clientAuthentication strings may have one of the following enumerated values values (described by the named clientAuthentication)
| Value | Description | 
|---|---|
| authorizationCode | OpenID Connect Authorization Code Flow: End user authentication and authorization. | 
| clientCredentials: | OAuth 2.0 Client Credentials Grant: A secure back office application which does not involve user login or user credentials. | 
Type: string
Enumerated values: authorizationCodeclientCredentials
clientState
"active"
Client State (v1.0.0)
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.
clientState strings may have one of the following enumerated values values (described by the named clientState)
| Value | Description | 
|---|---|
| pending | Pending: A client application resource that has been created but not activated. | 
| active | Active: A client application resource that has been created and activated and is thus eligible for API keys. | 
| inactive | Inactive: An inactive client application that is not eligible for API keys. Any keys associated with the inactive are also inactive. | 
Type: string
Enumerated values: pendingactiveinactive
createInvitation
{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "message": "stringstringstri",
  "invitees": [
    {
      "_profile": "https://api.apiture.com/schemas/clientApplications/createInvitation/v1.0.0/profile.json",
      "firstName": "John",
      "lastName": "Smith",
      "emailAddress": "john.smith@example.com"
    }
  ]
}
Create Invitation (v1.0.0)
Representation used to create a new client application co-owner Invitation.
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
| message | string(markdown)(required)The body of the message from the app owner to the invitees. The message is Markdown which can be formatted with rich text. minLength: 16maxLength: 512 | 
| invitees | [invitee](required)The list of invitees. minItems: 1maxItems: 8 | 
cursorPagedCollection
{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "start": "string",
  "limit": 0,
  "name": "string"
}
Cursor Paged Collection (v2.0.0)
A collection of resources, or a page from a larger collection. This is an abstract model schema which is extended to define specific resource collections. Pages are referenced using an opaque string starting point named start. The _links in the collection may contain pagination links:
- the nextlink returns the next page of items. If there is nonextlink, the collection has been exhausted.
- the firstlink returns to the beginning of the filtered/sorted collection.
- the collectionlink returns to the beginning of the default collection with no explicit filter or sort criteria.
Cursor paged collections can only paginate forwards contiguously (without skipping items or pages), or reset to the beginning of the collection. This pagination works for collections which are likely to change during pagination, such as adding data to the beginning of the collection's natural sort order. Examples include transactions or audit records.
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
| _error | errorAn object which describes an error. This value is omitted if the operation succeeded without error. | 
| start | stringAn opaque marker representing the position of the current page in this resource collection. The service will use the startandlimitto compute the?start=query parameter for the next page when it provides thenextlink in the collection's_links. | 
| limit | integerThe maximum number of items per page. | 
| name | stringA name for the items in collection. | 
environmentRef
{
  "name": "Third Party Bank UAT",
  "host": "api.thirdparty.bank",
  "_links": {
    "self": "https://api.developer.apiture.com/apiEnvironment/environments/d7e954f4-0c52-4cb2-9b59-315cdcb2d478"
  }
}
Environment Reference (v1.0.0)
A concise reference to an API environment.
Properties
| Name | Description | 
|---|---|
| name | string(required)The name of the API environment. read-onlyminLength: 6maxLength: 64 | 
| host | string(urn)(required)The hostname for the environment. minLength: 8maxLength: 64 | 
| _links | links(required)The selflink of an API product resource. | 
error
{
  "_id": "2eae46e1575c0a7b0115a4b3",
  "message": "Descriptive error message...",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [
    {
      "_id": "ccdbe2c5c938a230667b3827",
      "message": "An optional embedded error"
    },
    {
      "_id": "dbe9088dcfe2460f229338a3",
      "message": "Another optional embedded error"
    }
  ],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}
Error (v2.0.0)
Describes an error in an API request or in a service called via the API.
Properties
| Name | Description | 
|---|---|
| message | string(required)A localized message string describing the error condition. | 
| _id | stringA unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string. read-only | 
| statusCode | integerThe HTTP status code associate with this error. minimum: 100maximum: 599 | 
| type | stringAn error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, thetypemay be much more specific. such asintegerValueNotInAllowedRangeornumericValueExceedsMaximumorstringValueNotInAllowedSet. | 
| occurredAt | string(date-time)An RFC 3339 UTC time stamp indicating when the error occurred. | 
| attributes | attributesInformative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimumandmaximumvalues. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by errortype. | 
| remediation | stringAn optional localized string which provides hints for how the user or client can resolve the error. | 
| errors | [error]An optional array of nested error objects. This property is not always present. | 
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
errorResponse
{
  "_profile": "https://api.apiture.com/schemas/common/errorResponse/v2.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 (v2.0.0)
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
| _error | errorAn object which describes an error. This value is omitted if the operation succeeded without error. | 
invitation
{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "message": "stringstringstri",
  "invitees": [
    {
      "_profile": "https://api.apiture.com/schemas/clientApplications/createInvitation/v1.0.0/profile.json",
      "firstName": "John",
      "lastName": "Smith",
      "emailAddress": "john.smith@example.com"
    }
  ]
}
Joint Owner Invitation (v1.0.0)
Co-owner invitation.
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
| _error | errorAn object which describes an error. This value is omitted if the operation succeeded without error. | 
| message | string(markdown)(required)The body of the message from the app owner to the invitees. The message is Markdown which can be formatted with rich text. minLength: 16maxLength: 512 | 
| invitees | [invitee](required)The list of invitees. minItems: 1maxItems: 8 | 
invitee
{
  "_profile": "https://api.apiture.com/schemas/clientApplications/createInvitation/v1.0.0/profile.json",
  "firstName": "John",
  "lastName": "Smith",
  "emailAddress": "john.smith@example.com"
}
Invitee (v1.0.0)
Representation of new client application invitee.
Properties
| Name | Description | 
|---|---|
| firstName | string(required)The first name of the invitee. maxLength: 64 | 
| lastName | string(required)The last name of the invitee. maxLength: 64 | 
| emailAddress | string(required)The email address of the invitee. maxLength: 128 | 
link
{
  "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Application"
}
Link (v1.0.0)
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
Properties
| Name | Description | 
|---|---|
| href | string(uri)(required)The URI or URI template for the resource/operation this link refers to. | 
| type | stringThe media type for the resource. | 
| templated | booleanIf true, the link's href is a URI template. | 
| title | stringAn optional human-readable localized title for the link. | 
| deprecation | string(uri)If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation. | 
| profile | string(uri)The URI of a profile document, a JSON document which describes the target resource/operation. | 
links
{
  "property1": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  },
  "property2": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  }
}
Links (v1.0.0)
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
Properties
| Name | Description | 
|---|---|
| additionalProperties | linkDescribes a hypermedia link within a _linksobject in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use thenameorhreflangproperties of HAL. Apiture links may include amethodproperty. | 
productRef
{
  "name": "Basic Banking",
  "version": "1.2.5",
  "_links": {
    "self": "https://api.developer.apiture.com/apiProducts/products/43f271c2-190a-45e1-b332-bdf0b11a92bb"
  }
}
Product Reference (v1.0.0)
A concise reference to an API product.
Properties
| Name | Description | 
|---|---|
| name | string(required)The name of the API product. read-onlyminLength: 6maxLength: 64 | 
| version | string(semantic-version)(required)The semantic version of the product. read-onlyminLength: 5maxLength: 32 | 
| _links | links(required)The selflink of an API product resource. | 
root
{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
  "_links": {}
}
API Root (v2.0.0)
A HAL response, with hypermedia _links for the top-level resources and operations in API.
Properties
| Name | Description | 
|---|---|
| _links | linksAn optional map of links, mapping each link relation to a link object. This model defines the _linksobject of HAL representations. | 
| _embedded | objectAn optional map of nested resources, mapping each nested resource name to a nested resource representation. | 
| _profile | string(uri)The URI of a resource profile which describes the representation. | 
| _error | errorAn object which describes an error. This value is omitted if the operation succeeded without error. | 
| _id | stringThis API's unique ID. read-only | 
| name | stringThis API's name. | 
| apiVersion | stringThis API's version. |