Client Applications v0.22.4
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
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.
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 https://api.devbank.apiture.com/clientApplications/ \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/clientApplications/ HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/clientApplications/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.devbank.apiture.com/clientApplications/', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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 https://api.devbank.apiture.com/clientApplications/apiDoc \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/clientApplications/apiDoc HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json
var headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/clientApplications/apiDoc',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.devbank.apiture.com/clientApplications/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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 https://api.devbank.apiture.com/clientApplications/applications \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/clientApplications/applications HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/applications', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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) |
string Represents the first record of the page of results. This is supplied by the service when paginating items: the next link 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) |
string Filter client applications to match only those owned by the named partner. The value may be the partner's unique _id or the partner domain. A user can only view client applications whose partner domain match the domain of their validated email address. |
owner (query) |
string Filter 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) |
string Filter client applications to match only those which use the named product. This may be the product name or the product ID. The strings must match case exactly. |
environment (query) |
string Filter client applications to match only those which deploy in the named environment. This may be the environment name, the environment's host name, or the environment ID. The string values must match case exactly. |
filter (query) |
string Optional filter criteria. See filtering. |
state (query) |
array[string] Subset the resources to only those whose state matches the query, such as ?state=active . The value may be a | separated list of states, such as ?state=pending|active to match all resources whose state is either pending or active . If ?filter= is also used, the two are combined with an implicit and() 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",
"_links": {
"self": {
"href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
}
},
{
"_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/clientApplications/applications/d62c0701-0d74-4836-83f9-ebf3709442ea"
}
}
}
]
}
}
Responses
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 _error field 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 _error field in the response will contain details about the request error. | |
Schema: errorResponse |
createApplication
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/clientApplications/applications \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/clientApplications/applications HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/clientApplications/applications',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"name": "My Apiture POC",
"description": "A proof of concept app to try out Apiture APIs.",
"state": "active",
"partnerName": "Example FinTex",
"partnerDomain": "fintech.example.com",
"products": [
{
"name": "Digital Banking",
"version": "1.2.0",
"_links": {
"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"
}
}
],
"_links": {
"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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/applications', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/clientApplications/applications", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new client application
POST /applications
Create a new client application in the client applications collection. When creating a client app, the request may contain in _links
a link named apiture:partner
to the partner organization that owns the application.
Body parameter
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"name": "My Apiture POC",
"description": "A proof of concept app to try out Apiture APIs.",
"state": "active",
"partnerName": "Example FinTex",
"partnerDomain": "fintech.example.com",
"products": [
{
"name": "Digital Banking",
"version": "1.2.0",
"_links": {
"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"
}
}
],
"_links": {
"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",
"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"
}
}
],
"_links": {
"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 _error field 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 |
Response Headers
Status | Description |
---|---|
201 | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme ://host | |
201 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
getApplication
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/clientApplications/applications/{applicationId} \
-H 'Accept: application/hal+json' \
-H 'If-None-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/clientApplications/applications/{applicationId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string
var headers = {
'Accept':'application/hal+json',
'If-None-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/applications/{applicationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/clientApplications/applications/{applicationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this client application
GET /applications/{applicationId}
Return a HAL representation of this client application resource.
Parameters
Parameter | Description |
---|---|
applicationId (path) |
string (required) The unique identifier of this client application. This is an opaque string. |
If-None-Match (header) |
string The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned. |
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",
"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"
}
}
],
"_links": {
"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 _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this client application resource. |
updateApplication
Code samples
# You can also use wget
curl -X PUT https://api.devbank.apiture.com/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 https://api.devbank.apiture.com/clientApplications/applications/{applicationId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/clientApplications/applications/{applicationId}',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"name": "My Apiture POC",
"description": "A proof of concept app to try out Apiture APIs.",
"state": "active",
"partnerName": "Example FinTex",
"partnerDomain": "fintech.example.com",
"products": [
{
"name": "Digital Banking",
"version": "1.2.0",
"_links": {
"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"
}
}
],
"_links": {
"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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/applications/{applicationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/clientApplications/applications/{applicationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this client application
PUT /applications/{applicationId}
Perform a complete replacement of this client application.
Body parameter
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"name": "My Apiture POC",
"description": "A proof of concept app to try out Apiture APIs.",
"state": "active",
"partnerName": "Example FinTex",
"partnerDomain": "fintech.example.com",
"products": [
{
"name": "Digital Banking",
"version": "1.2.0",
"_links": {
"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"
}
}
],
"_links": {
"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) |
string The entity tag that was returned in the ETag response. 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",
"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"
}
}
],
"_links": {
"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 _error field 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 _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this client application resource. |
patchApplication
Code samples
# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/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 https://api.devbank.apiture.com/clientApplications/applications/{applicationId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/clientApplications/applications/{applicationId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"name": "My Apiture POC",
"description": "A proof of concept app to try out Apiture APIs.",
"state": "active",
"partnerName": "Example FinTex",
"partnerDomain": "fintech.example.com",
"products": [
{
"name": "Digital Banking",
"version": "1.2.0",
"_links": {
"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"
}
}
],
"_links": {
"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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/applications/{applicationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/clientApplications/applications/{applicationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Update this client application
PATCH /applications/{applicationId}
Perform a partial update of this client application. Fields which are omitted are not updated. Nested _embedded
and _links
are ignored if included.
Body parameter
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"name": "My Apiture POC",
"description": "A proof of concept app to try out Apiture APIs.",
"state": "active",
"partnerName": "Example FinTex",
"partnerDomain": "fintech.example.com",
"products": [
{
"name": "Digital Banking",
"version": "1.2.0",
"_links": {
"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"
}
}
],
"_links": {
"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) |
string The entity tag that was returned in the ETag response. 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",
"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"
}
}
],
"_links": {
"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 _error field 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 _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
412 | Precondition Failed |
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this client application resource. |
deleteApplication
Code samples
# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/clientApplications/applications/{applicationId} \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.devbank.apiture.com/clientApplications/applications/{applicationId} HTTP/1.1
Host: api.devbank.apiture.com
var headers = {
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/clientApplications/applications/{applicationId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.devbank.apiture.com/clientApplications/applications/{applicationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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 https://api.devbank.apiture.com/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 https://api.devbank.apiture.com/clientApplications/applications/{applicationId}/jointOwnerInvitations HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
},
"_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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/applications/{applicationId}/jointOwnerInvitations', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
},
"_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": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
},
"_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 _error field 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 https://api.devbank.apiture.com/clientApplications/inactiveApplications?application=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/clientApplications/inactiveApplications?application=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/inactiveApplications', params={
'application': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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) |
string The entity tag that was returned in the ETag response. 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",
"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"
}
}
],
"_links": {
"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 state changed to inactive . | |
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 _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
activateApplication
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/clientApplications/activeApplications?application=string \
-H 'Accept: application/hal+json' \
-H 'If-Match: string' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/clientApplications/activeApplications?application=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string
var headers = {
'Accept':'application/hal+json',
'If-Match':'string',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/activeApplications', params={
'application': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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) |
string The entity tag that was returned in the ETag response. 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",
"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"
}
}
],
"_links": {
"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 state changed to active . | |
Schema: application | |
202 | Accepted |
Accepted. The request to activate a client application has been accepted. The state may change to pending while 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 _error field in the response will contain details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
200 | ETag string |
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource. |
Developer Portal Application
The Developer Portal Application
getDeveloperPortalApplication
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/clientApplications/developerPortalApplication \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/clientApplications/developerPortalApplication HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/clientApplications/developerPortalApplication',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.devbank.apiture.com/clientApplications/developerPortalApplication', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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",
"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"
}
}
],
"_links": {
"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 https://api.devbank.apiture.com/clientApplications/developerPortalApplication \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/clientApplications/developerPortalApplication HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/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 'https://api.devbank.apiture.com/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('https://api.devbank.apiture.com/clientApplications/developerPortalApplication', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/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", "https://api.devbank.apiture.com/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",
"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"
}
}
],
"_links": {
"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 | Location string uri |
The URL of the Developer Portal Application. | |
201 | Location string uri |
The URL of the Developer Portal Application. |
Schemas
application
{
"_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"name": "My Apiture POC",
"description": "A proof of concept app to try out Apiture APIs.",
"state": "active",
"partnerName": "Example FinTex",
"partnerDomain": "fintech.example.com",
"products": [
{
"name": "Digital Banking",
"version": "1.2.0",
"_links": {
"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"
}
}
],
"_links": {
"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 | GET |
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
_id | string This client application's unique ID. read-only
|
name | string The name of the client application. minLength: 6
maxLength: 64
|
description | string(markdown) The description of the client application. 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 | string The type of client application. Different application types have different API key and security requirements. For example, web and mobile applications are harder to keep secure because they often operate in unsecure public networks. They use an Client ID but do not use Client Secrets to authenticate the application; they use an API Key when invoking API operations. Trusted service applications use Client IDs and Client Secrets for their OAuth flow and API Keys for API calls.
|
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 | string The name of the optional partner organization/company. This is derived from the partner organization associated with the application. read-only
minLength: 4
maxLength: 128
|
partnerDomain | string(urn) The web domain of the optional partner organization/company. This is derived from the partner organization associated with the application. read-only
minLength: 4
maxLength: 128
|
state | string The state of this client application. The default state is pending . The application must be activated before API keys may be requested/provisioned for it. Use the POST HTTP method on the corresponding activateApplication and deactivateApplication operations to activate or deactivate the application. TODO: add ability for client to discard the API keys and request new ones (for example, if the keys are compromised).
|
products | [productRef] An array of products, one for each API product from the API Products API. |
environments | [environmentRef] An array of environments, one for each API environment from the API Environments API. The system will allocate an API Key via the API Keys API for each environment. |
environmentRef
{
"name": "Third Party Bank UAT",
"host": "api.thirdparty.bank",
"_links": {
"self": "https://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-only
minLength: 6
maxLength: 64
|
host | string(urn) (required) The hostname for the environment. minLength: 8
maxLength: 64
|
_links | links (required) The self link of an API product resource.
|
productRef
{
"name": "Basic Banking",
"version": "1.2.5",
"_links": {
"self": "https://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-only
minLength: 6
maxLength: 64
|
version | string(semantic-version) (required) The semantic version of the product. read-only
minLength: 5
maxLength: 32
|
_links | links (required) The self link of an API product resource.
|
applications
{
"_profile": "https://api.apiture.com/schemas/clientApplications/applications/v1.0.0/profile.json",
"start": "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",
"_links": {
"self": {
"href": "/clientApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
}
}
},
{
"_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
"_profile": "https://api.apiture.com/schemas/clientApplications/application/v1.0.0/profile.json",
"_links": {
"self": {
"href": "/clientApplications/applications/d62c0701-0d74-4836-83f9-ebf3709442ea"
}
}
}
]
}
}
Client Application Collection (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 | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object Embedded objects. |
» items | [application] An array containing a page of client application items. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
start | string An opaque marker representing the position of the current page in this resource collection. The service will use the start and limit to compute the ?start= query parameter for the next page when it provides the next link in the collection's _links .
|
limit | integer The maximum number of items per page. |
name | string A name for the items in collection. |
createInvitation
{
"_links": {
"property1": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
},
"_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 | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
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: 16
maxLength: 512
|
invitees | [invitee] (required) The list of invitees. minItems: 1
maxItems: 8
|
invitation
{
"_links": {
"property1": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
},
"_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 | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
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: 16
maxLength: 512
|
invitees | [invitee] (required) The list of invitees. minItems: 1
maxItems: 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
|
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
A HAL response, with hypermedia _links
for the top-level resources and operations in API.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
_id | string This API's unique ID. read-only
|
name | string This API's name. |
apiVersion | string This API's version. |
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
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 | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
abstractResource
{
"_profile": "{uri of resource profile.json}",
"_links": {
"self": {
"href": "{uri of current resource}"
}
}
}
Abstract Resource
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 | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
links
{
"property1": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
}
Links
An optional map of links, mapping each link relation to a link object. This model defines the _links
object of HAL representations.
Properties
Name | Description |
---|---|
additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
|
cursorPagedCollection
{
"_links": {
"property1": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
},
"_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
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
next
link returns the next page of items. If there is nonext
link, the collection has been exhausted. - the
first
link returns to the beginning of the filtered/sorted collection. - the
collection
link 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 | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
start | string An opaque marker representing the position of the current page in this resource collection. The service will use the start and limit to compute the ?start= query parameter for the next page when it provides the next link in the collection's _links .
|
limit | integer The maximum number of items per page. |
name | string A name for the items in collection. |
abstractRequest
{
"_profile": "{uri of resource profile.json}",
"_links": {
"self": {
"href": "{uri of current resource}"
}
}
}
Abstract Request
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 | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
error
{
"_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
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 | string A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string. read-only
|
statusCode | integer The HTTP status code associate with this error. minimum: 100
maximum: 599
|
type | string An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode . For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet .
|
occurredAt | string(date-time) An RFC 3339 UTC time stamp indicating when the error occurred. |
attributes | attributes Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type .
|
remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
errors | [error] An optional array of nested error objects. This property is not always present. |
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
|
link
{
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
Link
Describes a hypermedia link within a _links
object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name
or hreflang
properties of HAL. Apiture links may include a method
property.
Properties
Name | Description |
---|---|
href | string(uri) (required) The URI or URI template for the resource/operation this link refers to. |
type | string The media type for the resource. |
templated | boolean If true, the link's href is a URI template. |
title | string An optional human-readable localized title for the link. |
deprecation | string(uri) If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation. |
profile | string(uri) The URI of a profile document, a JSON document which describes the target resource/operation. |
attributes
{
"property1": {},
"property2": {}
}
Attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.
Properties
Name | Description |
---|---|
additionalProperties | attributeValue The data associated with this attribute. |
attributeValue
{}
Attribute Value
The data associated with this attribute.