Shell HTTP JavaScript Node.JS Ruby Python Java Go

API Keys v0.25.1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

API Keys provide secure access to Apiture APIs. Each client application requires a unique API key to access the APIs in each runtime API environment (such as api.canapi.bank, api.devbank.apiture.com, or api.3rdparty.bank).

The API Key resource managed by this API creates the following:

Each key resource requires a client application and a target runtime api environment when constructing the API key. These resources are passed in the createKey operation via links in the request body via the link relations:

The client application may be associated with a partner organization (business).

Each key may be in one of several states (pending, active, inactive); Keys are initially created in the pending state. State transitions are performed by a POST via the activateKey, deactivateKey operations using the links in the key resource:

which must be initially performed by a administrator with permission to approve keys. Users may deactivate/reactivate keys after they have been approved. Deactivating a key is also called revoking a key.

When a client application is deactivated, all its associated keys and client credentials are deactivated.

When a client application is activated, all its associated keys and client credentials are activated.

When a client application is deleted, all its associated keys and client credentials are deleted. There are five types of keys

This API provides convenient operations for creating or accessing Discoverer and Explorer keys.

Error Types

Error responses in this API may have one of the following `type` values.

passwordRequired

Description: When updating the discoverer key credentials, the sampleUserPassword property is required if the request incldues the sampleUserName.

Remediation: Pass sampleUserPassword if the request incldues the sampleUserName.

keyRefNotFound

Description: The key parameter was malformed or does not refer to an existing or accessible key.

Remediation: Pass a valid key in the key query parameter.

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:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
data/read Read access to API keys.
admin/write Write (update) access to API keys.
data/write Write (update) access to API keys.
admin/delete Delete access to API keys.
admin/full Full access to API keys.

Key

Keys for secure API access.

getKeys

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiKeys/keys \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/apiKeys/keys 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/apiKeys/keys',
  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/apiKeys/keys',
{
  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/apiKeys/keys',
  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/apiKeys/keys', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/keys");
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/apiKeys/keys", data)
    req.Header = headers

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

Return a collection of keys

GET /keys

Return a paginated filterable collection of keys. The links in the response include pagination links. The authenticated user can only access keys for applications in their partner domain (i.e. developers registered with validated emails with a @mycompany.com email domain can only see keys for that company), the discoverer key, and their own explorer key.

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 key representations to return in this page.
Default: 100
application
(query)
string
Filter API keys to only those for this client application. The value is the client application ID. This value is merged with the ?filter= parameter (if any) and ?environment= parameter (if any) with an implicit and.
partner
(query)
string
Filter API keys to only those for this partner organization. The value is the partner ID or partner domain. This value is merged with the ?filter= parameter (if any) and ?environment= parameter (if any) with an implicit and.
environment
(query)
string
Filter API keys to only those for this environment. The value is the environment ID. This value is merged with the ?filter= parameter and ?application or ?partner parameter with an implicit and.
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/apiKeys/keys/v1.0.0/profile.json",
  "start": "g434ljkf430",
  "limit": 10,
  "name": "keys",
  "_links": {
    "self": {
      "href": "/apiKeys/keys?start=g434ljkf430&limit=10"
    },
    "next": {
      "href": "/apiKeys/keys?start=p4900sk3df9&limit=10"
    },
    "collection": {
      "href": "/apiKeys/keys"
    }
  },
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiKeys/keys/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "_id": "d62c0701-0d74-4836-83f9-ebf3709442ea",
        "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/apiKeys/keys/d62c0701-0d74-4836-83f9-ebf3709442ea"
          }
        }
      }
    ]
  }
}

Responses

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

createKey

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/keys \
  -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/apiKeys/keys 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/apiKeys/keys',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "name": "3rd Party Bank web application at api.3rdparty.bank (production)",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/dd5122bd-a8cd-4d23-a001-d29fcdf346cc"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/d85d9eb2-4d4b-4cdf-8b69-5a3ea0ddfaac"
    }
  }
}';
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/apiKeys/keys',
{
  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/apiKeys/keys',
  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/apiKeys/keys', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/keys");
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/apiKeys/keys", data)
    req.Header = headers

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

Create a new key

POST /keys

Create a new key in the keys collection. The key's state is initially pending but will change to active when the key has been deployed in the target environment. The associated client application and the target API environment to must be passed in the href of the corresponding _links in the request:

This fails if there is an existing key in the pending, active or inactive state for the named client application and API environment. The key's type is set to partner or production, depending on the type of the key's environment.

Body parameter

{
  "name": "3rd Party Bank web application at api.3rdparty.bank (production)",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/dd5122bd-a8cd-4d23-a001-d29fcdf346cc"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/d85d9eb2-4d4b-4cdf-8b69-5a3ea0ddfaac"
    }
  }
}

Parameters

Parameter Description
noNotification
(query)
boolean
If true, suppress the notification (typically, email) to the key/application owner or admin that a key has been created or the state of the API key has changed. If false (default), send the notification. Use ?noNotificaton=true when activating/deacticvating a client application and the notification for that operation suffices (so the user does not receive too many emails all at once.)
body
(body)
createKey (required)
The data necessary to create a new key.

Try It

Example responses

201 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
201 Created
Created
Schema: key
StatusDescription
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
StatusDescription
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 type values:

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. A key cannot be created for the corresponding client application and API environment; an existing key already exists in the pending, inactive or active state.
Schema: errorResponse

Response Headers

StatusDescription
201 Location string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host

getKey

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiKeys/keys/{keyId} \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/apiKeys/keys/{keyId} 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/apiKeys/keys/{keyId}',
  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/apiKeys/keys/{keyId}',
{
  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/apiKeys/keys/{keyId}',
  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/apiKeys/keys/{keyId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/keys/{keyId}");
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/apiKeys/keys/{keyId}", data)
    req.Header = headers

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

Fetch a representation of this key

GET /keys/{keyId}

Return a HAL representation of this key resource.

Parameters

Parameter Description
keyId
(path)
string (required)
The unique identifier of this key. This is an opaque string. This is not the actual API Key; the API-Key header is the key property.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: key
StatusDescription
404 Not Found
Not Found. There is no such key resource at the specified {keyId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

updateKey

Code samples

# You can also use wget
curl -X PUT https://api.devbank.apiture.com/apiKeys/keys/{keyId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.devbank.apiture.com/apiKeys/keys/{keyId} 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/apiKeys/keys/{keyId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/apiKeys/keys/{keyId}',
{
  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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.devbank.apiture.com/apiKeys/keys/{keyId}',
  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.put('https://api.devbank.apiture.com/apiKeys/keys/{keyId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/keys/{keyId}");
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"},
        "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/apiKeys/keys/{keyId}", data)
    req.Header = headers

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

Update this key

PUT /keys/{keyId}

Perform a complete replacement of this key.

Body parameter

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Parameters

Parameter Description
keyId
(path)
string (required)
The unique identifier of this key. This is an opaque string. This is not the actual API Key; the API-Key header is the key property.
body
(body)
key (required)

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: key
StatusDescription
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
StatusDescription
404 Not Found
Not Found. There is no such key resource at the specified {keyId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
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

patchKey

Code samples

# You can also use wget
curl -X PATCH https://api.devbank.apiture.com/apiKeys/keys/{keyId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.devbank.apiture.com/apiKeys/keys/{keyId} 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/apiKeys/keys/{keyId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/apiKeys/keys/{keyId}',
{
  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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.devbank.apiture.com/apiKeys/keys/{keyId}',
  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.patch('https://api.devbank.apiture.com/apiKeys/keys/{keyId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/keys/{keyId}");
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"},
        "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/apiKeys/keys/{keyId}", data)
    req.Header = headers

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

Update this key

PATCH /keys/{keyId}

Perform a partial update of this key. Fields which are omitted are not updated. Nested _embedded and _links are ignored if included.

Body parameter

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Parameters

Parameter Description
keyId
(path)
string (required)
The unique identifier of this key. This is an opaque string. This is not the actual API Key; the API-Key header is the key property.
body
(body)
key (required)

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: key
StatusDescription
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
StatusDescription
404 Not Found
Not Found. There is no such key resource at the specified {keyId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
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

deleteKey

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/apiKeys/keys/{keyId} \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.devbank.apiture.com/apiKeys/keys/{keyId} 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/apiKeys/keys/{keyId}',
  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/apiKeys/keys/{keyId}',
{
  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/apiKeys/keys/{keyId}',
  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/apiKeys/keys/{keyId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/keys/{keyId}");
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/apiKeys/keys/{keyId}", data)
    req.Header = headers

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

Delete this key resource

DELETE /keys/{keyId}

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

Parameters

Parameter Description
keyId
(path)
string (required)
The unique identifier of this key. This is an opaque string. This is not the actual API Key; the API-Key header is the key property.

Try It

Responses

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

Key States

Change the state of API keys.

activateKey

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/activeKeys?key=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/apiKeys/activeKeys?key=string 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/apiKeys/activeKeys',
  method: 'post',
  data: '?key=string',
  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/apiKeys/activeKeys?key=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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/apiKeys/activeKeys',
  params: {
  'key' => 'string'
}, 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/apiKeys/activeKeys', params={
  'key': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/activeKeys?key=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"},
        "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/apiKeys/activeKeys", data)
    req.Header = headers

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

Activate a key

POST /activeKeys

Attempt to activate a key.
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 is also deployed into the target environment. The corresponding response code is 200.
This operation is available via the apiture:activate link on the key resource, if and only if the key is eligible for the activate operation. The response is the updated representation of the key.

Parameters

Parameter Description
key
(query)
string (required)
A string which uniquely identifies a key which is to added to the activeKeys or inactiveKeys resource sets. This may be the unique keyId or the URI of the key.
noNotification
(query)
boolean
If true, suppress the notification (typically, email) to the key/application owner or admin that a key has been created or the state of the API key has changed. If false (default), send the notification. Use ?noNotificaton=true when activating/deacticvating a client application and the notification for that operation suffices (so the user does not receive too many emails all at once.)

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded.
Schema: key
202 Accepted
Accepted. The request to activate a key has been accepted. The state may change to pending while the request is processed.
Schema: key
StatusDescription
400 Bad Request

Bad Request. The key parameter was malformed or does not refer to an existing or accessible key.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the key is not allowed. The _error field in the response will contain details about the request error.
Schema: errorResponse

deactivateKey

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/inactiveKeys?key=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/apiKeys/inactiveKeys?key=string 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/apiKeys/inactiveKeys',
  method: 'post',
  data: '?key=string',
  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/apiKeys/inactiveKeys?key=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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/apiKeys/inactiveKeys',
  params: {
  'key' => 'string'
}, 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/apiKeys/inactiveKeys', params={
  'key': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/inactiveKeys?key=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"},
        "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/apiKeys/inactiveKeys", data)
    req.Header = headers

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

Deactivate a key

POST /inactiveKeys

Update a key by adding it to the set of inactive keys. This changes the state property of the key to inactive. This operation is available via the apiture:deactivate link on the key resource, if and only if the key is eligible for the deactivate operation. The API key is also removed from the target environment. The response is the updated representation of the key.

Parameters

Parameter Description
key
(query)
string (required)
A string which uniquely identifies a key which is to added to the activeKeys or inactiveKeys resource sets. This may be the unique keyId or the URI of the key.
noNotification
(query)
boolean
If true, suppress the notification (typically, email) to the key/application owner or admin that a key has been created or the state of the API key has changed. If false (default), send the notification. Use ?noNotificaton=true when activating/deacticvating a client application and the notification for that operation suffices (so the user does not receive too many emails all at once.)

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK. The operation succeeded. The key was updated and its state changed to inactive.
Schema: key
StatusDescription
400 Bad Request

Bad Request. The key parameter was malformed or does not refer to an existing or accessible key.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request to change the state of the key is not allowed. The _error field in the response will contain details about the request error.
Schema: errorResponse

Discoverer Key

Access to Discoverer Keys

getDiscovererKey

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiKeys/discovererKey \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/apiKeys/discovererKey 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/apiKeys/discovererKey',
  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/apiKeys/discovererKey',
{
  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/apiKeys/discovererKey',
  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/apiKeys/discovererKey', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/discovererKey");
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/apiKeys/discovererKey", data)
    req.Header = headers

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

Return the Discoverer Key

GET /discovererKey

Returns the active Discoverer Key. If the Discoverer Key has not been created, this call creates, activates, and returns it. The key's type is set to discoverer. If the key exists, it is returned. The Discoverer Key is associated with the Dev Portal application and is only valid in the DevBank environment.

Try It

Example responses

200 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"
      }
    }
  },
  "apiKey": {
    "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
    "name": "My Apiture POC",
    "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
    "clientId": "1b97ad67397640c89208bdfd1e039b1f",
    "clientSecret": "5035cef945054f96a56d07620652b6bf",
    "applicationName": "My Apiture POC",
    "partnerName": "Example FinTex",
    "partnerDomain": "fintech.example.com",
    "_links": {
      "apiture:clientApplication": {
        "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
      },
      "apiture:partner": {
        "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
      },
      "apiture:environment": {
        "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
      },
      "apiture:deactivate": {
        "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
      }
    }
  },
  "accessToken": "string"
}

Responses

StatusDescription
200 OK
OK.
Schema: discovererKey
StatusDescription
404 Not Found
Not Found; the Discoverer Key has not been created yet.
Schema: errorResponse

discovererKey

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/discovererKey \
  -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/apiKeys/discovererKey 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/apiKeys/discovererKey',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "sampleUserName": "user.name@example.com",
  "sampleUserPassword": "string"
}';
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/apiKeys/discovererKey',
{
  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/apiKeys/discovererKey',
  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/apiKeys/discovererKey', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/discovererKey");
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/apiKeys/discovererKey", data)
    req.Header = headers

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

Create or recycle the Discoverer Key

POST /discovererKey

Creates or recycles the Discoverer Key. If the Discoverer Key has not been created, this call creates, activates, and returns it. If the key exists, the old key is recycled (scheduled to be removed but left active) and a new Discoverer key is created, activated, and returned.

If the request body contains new credentials for the sample user, the service saves those new credentials used for creating the discoverer key and discoverer access token.

The Discoverer Key is associated with the Dev Portal application and is only valid in the DevBank environment.

Only the administrator or system can create or recycle the discoverer key.

Body parameter

{
  "sampleUserName": "user.name@example.com",
  "sampleUserPassword": "string"
}

Parameters

Parameter Description
body
(body)
discoverKeyRequest (required)
Optional credentials to reset the user name and password of the sample user used for creating/refreshing the discoverer key and access token.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: key
201 Created
Created
Schema: key
StatusDescription
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
StatusDescription
403 Forbidden
Forbidden. The user is not allowed to request an explorer API key for this restricted environment.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The request body could not be processed.

This error response may have one of the following type values:

Schema: errorResponse

Response Headers

StatusDescription
201 Location string uri
The URL of the new Explorer key

Explorer Key

Access to Explorer Keys

getExplorerKey

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiKeys/explorerKey?environment=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/apiKeys/explorerKey?environment=string 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/apiKeys/explorerKey',
  method: 'get',
  data: '?environment=string',
  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/apiKeys/explorerKey?environment=string',
{
  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/apiKeys/explorerKey',
  params: {
  'environment' => 'string'
}, 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/apiKeys/explorerKey', params={
  'environment': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/explorerKey?environment=string");
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/apiKeys/explorerKey", data)
    req.Header = headers

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

Return the user's Explorer Key

GET /explorerKey

Returns the user's Explorer Key for a target environmet.

An Explorer Key is associated with the Dev Portal application client application and one of the target environments associated with the dev portal. (Thus, a user may have multiple explorer keys, one per environment.)

Parameters

Parameter Description
environment
(query)
string (required)
The target API environment ID or host name where the explorer key is deployed.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: key
StatusDescription
403 Forbidden
Forbidden. The user is not allowed to request an explorer API key for this restricted environment.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found; the Explorer Key has not been created yet.
Schema: errorResponse

explorerKey

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/explorerKey?environment=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/apiKeys/explorerKey?environment=string 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/apiKeys/explorerKey',
  method: 'post',
  data: '?environment=string',
  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/apiKeys/explorerKey?environment=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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/apiKeys/explorerKey',
  params: {
  'environment' => 'string'
}, 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/apiKeys/explorerKey', params={
  'environment': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/explorerKey?environment=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"},
        "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/apiKeys/explorerKey", data)
    req.Header = headers

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

Create or recycles the user's Explorer Key

POST /explorerKey

Creates and returns the user's Explorer Key. If the Explorer Key has not been created, this call creates and returns it, but leaves it in a pending state, awaiting administrator approval. If the key exists, the old key is recycled (scheduled to be removed but left active) and a new Explorer key is created, activated, and returned. The key's type is set to explorer.

The Explorer Key is specific and private to the current authenticated user. It has a name which is the concatenation of the user's user name (email address), "Explorer", such as "walter.black@cool.example.com Explorer".

The Explorer Key is associated with the Dev Portal application and is only valid in the DevBank environment or where the domain name of the user's email address is listed in the API environment's domains.

Parameters

Parameter Description
environment
(query)
string (required)
The target API environment ID or host name where the explorer key is deployed.

Try It

Example responses

200 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: key
201 Created
Created
Schema: key
StatusDescription
403 Forbidden
Forbidden. The user is not allowed to request an explorer API key for this restricted environment.
Schema: errorResponse

Response Headers

StatusDescription
200 Location string uri
The URL of the new Explorer key
201 Location string uri
The URL of the new Explorer key

generateSampleData

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataGeneration?requestId=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataGeneration?requestId=string 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/apiKeys/explorerKey/sampleDataGeneration',
  method: 'post',
  data: '?requestId=string',
  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/apiKeys/explorerKey/sampleDataGeneration?requestId=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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataGeneration',
  params: {
  'requestId' => 'string'
}, 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/apiKeys/explorerKey/sampleDataGeneration', params={
  'requestId': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataGeneration?requestId=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"},
        "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/apiKeys/explorerKey/sampleDataGeneration", data)
    req.Header = headers

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

Create sample data for the user

POST /explorerKey/sampleDataGeneration

Create sample data for the user using their explorer key. This operation is only called from createSampleDataRequest to start the data generation asynchronously. This operation does not use a request body.

Note This operation will move from this API to a dev portal users API, but that API does not yet exist.

Parameters

Parameter Description
requestId
(query)
string (required)
A reference to the internal sample data request containing the user, explorer key, environment, and environment token. This requestId is generated from the createSampleDataRequest operation.

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"
      }
    }
  },
  "state": "none",
  "environmentId": "string",
  "environmentName": "string"
}

Responses

StatusDescription
202 Accepted
Accepted. The request was accepted and will be processed.
Schema: sampleDataRequest

checkSampleDataRequest

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=string 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/apiKeys/explorerKey/sampleDataRequest',
  method: 'get',
  data: '?environment=string&environmentAccessToken=string',
  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/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=string',
{
  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/apiKeys/explorerKey/sampleDataRequest',
  params: {
  'environment' => 'string',
'environmentAccessToken' => 'string'
}, 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/apiKeys/explorerKey/sampleDataRequest', params={
  'environment': 'string',  'environmentAccessToken': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=string");
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/apiKeys/explorerKey/sampleDataRequest", data)
    req.Header = headers

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

Check sample data request status

GET /explorerKey/sampleDataRequest

Return the status of the sample data request for an environment. The state property conveys the status of the request.

Note This operation will move from this API to a dev portal users API, but that API does not yet exist.

Parameters

Parameter Description
environment
(query)
string (required)
The target API environment ID or host name where the explorer key is deployed.
environmentAccessToken
(query)
string (required)
The access token which grants the user access to the target environment. The (dev portal) application obtains this token when the user authenticates against the client environment.

Try It

Example responses

200 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"
      }
    }
  },
  "state": "none",
  "environmentId": "string",
  "environmentName": "string"
}

Responses

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

createSampleDataRequest

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=string \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=string 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/apiKeys/explorerKey/sampleDataRequest',
  method: 'post',
  data: '?environment=string&environmentAccessToken=string',
  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/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=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',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest',
  params: {
  'environment' => 'string',
'environmentAccessToken' => 'string'
}, 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/apiKeys/explorerKey/sampleDataRequest', params={
  'environment': 'string',  'environmentAccessToken': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest?environment=string&environmentAccessToken=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"},
        "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/apiKeys/explorerKey/sampleDataRequest", data)
    req.Header = headers

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

Create sample data for the user

POST /explorerKey/sampleDataRequest

Create sample data for the user using their explorer key. This creates an account for the user and then runs the transaction tool to create some finctional historical transactions for the user. If invoked multiple times, it will run the processes again. This operation is asynchronous. The explorer key must be active. This operation does not use a request body.

Note This operation will move from this API to a dev portal users API, but that API does not yet exist.

Parameters

Parameter Description
environment
(query)
string (required)
The target API environment ID or host name where the explorer key is deployed.
environmentAccessToken
(query)
string (required)
The access token which grants the user access to the target environment. The (dev portal) application obtains this token when the user authenticates against the client environment.

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"
      }
    }
  },
  "state": "none",
  "environmentId": "string",
  "environmentName": "string"
}

Responses

StatusDescription
202 Accepted
Accepted. The request was accepted and will be processed.
Schema: sampleDataRequest
StatusDescription
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
StatusDescription
409 Conflict
Conflict. The process is already running, or the explorer key is not active, or some other situation prevents creating sample data.
Schema: errorResponse

resetSampleDataRequestCounter

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest/counter \
  -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/apiKeys/explorerKey/sampleDataRequest/counter 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/apiKeys/explorerKey/sampleDataRequest/counter',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://api.apiture.com/schemas/apiKeys/sampleDataCounterReset/v1.0.0/model.json",
  "username": "max.peck@nasa.gov",
  "environment": "api.devbank.apiture.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/apiKeys/explorerKey/sampleDataRequest/counter',
{
  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/apiKeys/explorerKey/sampleDataRequest/counter',
  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/apiKeys/explorerKey/sampleDataRequest/counter', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/explorerKey/sampleDataRequest/counter");
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/apiKeys/explorerKey/sampleDataRequest/counter", data)
    req.Header = headers

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

Reset a user's sample data request counter

POST /explorerKey/sampleDataRequest/counter

The API enforces a limit of the number of times a user may request sample data. However, if the sample generation fails repeatedly for the user, they may reach the limit without any data being generated for them. An administrator can use this operation to reset the counter back to zero so the user can try again.

Body parameter

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/sampleDataCounterReset/v1.0.0/model.json",
  "username": "max.peck@nasa.gov",
  "environment": "api.devbank.apiture.com"
}

Parameters

Parameter Description
body
(body)
sampleDataCounterReset (required)
Request resetting the samle data counter back to zero for a user.

Try It

Example responses

202 Response

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/sampleDataCounterReset/v1.0.0/model.json",
  "username": "max.peck@nasa.gov",
  "environment": "api.devbank.apiture.com"
}

Responses

StatusDescription
202 Accepted
Accepted. The request was accepted and will be processed.
Schema: sampleDataCounterReset
StatusDescription
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

API

Endpoints which describe this API.

getApi

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiKeys/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/apiKeys/ 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/apiKeys/',
  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/apiKeys/',
{
  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/apiKeys/',
  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/apiKeys/', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/");
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/apiKeys/", 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

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/apiKeys/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/apiKeys/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/apiKeys/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/apiKeys/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/apiKeys/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/apiKeys/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/apiKeys/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/apiKeys/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

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

Schemas

createKey

{
  "name": "3rd Party Bank web application at api.3rdparty.bank (production)",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/dd5122bd-a8cd-4d23-a001-d29fcdf346cc"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/d85d9eb2-4d4b-4cdf-8b69-5a3ea0ddfaac"
    }
  }
}

Create Key (v1.0.0)

Request body to create a new API key. The request must contain links as described in the createKey schema. The type of the key is determined by the environment's type.

Response and request bodies using this createKey schema may contain the following links:

RelSummaryMethod
apiture:clientApplication GET
apiture:environment GET

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The name of the API key. If not passed when creating a key, the name is derived by concatenating the application name, the parter organization domain name,and the key's type. Names need not be unique (each key's _id is generated by the server and unique).
minLength: 6
maxLength: 128

key

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "My Apiture POC",
  "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
  "clientId": "1b97ad67397640c89208bdfd1e039b1f",
  "clientSecret": "5035cef945054f96a56d07620652b6bf",
  "applicationName": "My Apiture POC",
  "partnerName": "Example FinTex",
  "partnerDomain": "fintech.example.com",
  "_links": {
    "apiture:clientApplication": {
      "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
    },
    "apiture:partner": {
      "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
    },
    "apiture:environment": {
      "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
    },
    "apiture:deactivate": {
      "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Key (v1.0.0)

API key resources.

Response and request bodies using this key schema may contain the following links:

RelSummaryMethod
apiture:activateActivate a keyPOST
apiture:deactivateDeactivate a keyPOST

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
name string
The name of the API key. If not passed when creating a key, the name is derived by concatenating the application name, the parter organization domain name,and the key's type. Names need not be unique (each key's _id is generated by the server and unique).
minLength: 6
maxLength: 128
_id string
The resource ID of this API key resource. This is not the actual API Key; the API-Key header is the key property.
read-only
minLength: 6
maxLength: 40
key string
The value of the API key, to be used in the API-Key request header on API calls.
read-only
minLength: 6
maxLength: 64
applicationName string
The name of the client application for this API key. This is derived from the apiture:clientApplication resource passed in at creation time.
read-only
minLength: 4
maxLength: 64
environmentName string
The name of the API environment for this API key. This is derived from the apiture:environment resource passed in at creation time.
read-only
minLength: 8
maxLength: 64
environmentHost string
The name of the API environment host for this API key. This is derived from the apiture:environment resource passed in at creation time.
read-only
minLength: 4
maxLength: 64
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
clientId string
The client ID porton of the client credentials associated with the API key.
read-only
minLength: 6
maxLength: 128
clientSecret string
The client secret porton of the client credentials associated with the API key.
read-only
minLength: 6
maxLength: 128
type keyType
Defines what type of key this is.
read-only
state keyState
The current state of the key. This is immutable and derived, based on the actions to activate or deactivate the key via the activateKey and deactivateKey operations. The initial state is pending; it changes to active when the API key and credentials have been deployed into the target environment via the activateKey operation.
read-only
createdAt string(date-time)
The date-time when the key was created. This is an RFC 3336 formatted string in UTC time.
read-only
expiresAt string(date-time)
The date-time when the key expires. If this is omitted, the key does not have an expiration time. (This expiration is typically is used only for Discoverer keys). This is an RFC 3336 formatted string in UTC time.
read-only

keyState

"pending"

Key State (v1.0.0)

Possible state of an API key.

Type: string
Enumerated values:
pending
active
inactive

keyType

"discoverer"

Key Type (v1.0.0)

The type describe the purpose and use of the API key. This field is derived from the target environment used when the key is created.

Type: string
Enumerated values:
discoverer
explorer
partner
production
private

discovererKey

{
  "_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"
      }
    }
  },
  "apiKey": {
    "_profile": "https://api.apiture.com/schemas/apiKeys/key/v1.0.0/profile.json",
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
    "name": "My Apiture POC",
    "key": "295fd0e8b0b449f9a5a3dbfd4a3e3149",
    "clientId": "1b97ad67397640c89208bdfd1e039b1f",
    "clientSecret": "5035cef945054f96a56d07620652b6bf",
    "applicationName": "My Apiture POC",
    "partnerName": "Example FinTex",
    "partnerDomain": "fintech.example.com",
    "_links": {
      "apiture:clientApplication": {
        "href": "/clientApplications/applications/00aaf46d-05c2-4237-9305-fd9ed9c4994b"
      },
      "apiture:partner": {
        "href": "/organizations/organizations/2435a7f0-2650-49df-9988-c113e36e3c96"
      },
      "apiture:environment": {
        "href": "/apiEnvironments/environments/8c112888-f139-4583-bb0e-cbd378550a48"
      },
      "apiture:deactivate": {
        "href": "/apiKeys/inactiveKeys?key=0399abed-fd3d-4830-a88b-30f38b8a365c"
      }
    }
  },
  "accessToken": "string"
}

Discoverer Key (v1.0.0)

An API key and access token for an unauthenticated user to make API calls against the devbank target environment.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
apiKey key
The API key for Discoverer use.
accessToken string
An OAuth access token which may be used for API calls on the devbank envirornment. This token expires every hour. The client should fetch a new access token before this expires.

keys

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

Key Collection (v1.0.0)

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

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects.
ยป items [key]
An array containing a page of key 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.

discoverKeyRequest

{
  "sampleUserName": "user.name@example.com",
  "sampleUserPassword": "string"
}

Discover Key Request (v1.0.0)

Data the admin can pass when creating or recycling the discoverer key. This is optional, but may contain new credentials for the sample user. If sampleUserName is passed, the request must also contain sampleUserPassword. If only sampleUserPassword is passed, the request will update the password for the current sample user.

Properties

NameDescription
sampleUserName string(email)
The user name (login userid) of the user used for sample data. This user must exist in the devbank environment used by the portal.
sampleUserPassword string
The password of the sample user.

sampleDataRequest

{
  "_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"
      }
    }
  },
  "state": "none",
  "environmentId": "string",
  "environmentName": "string"
}

Sample Data Request (v1.0.0)

Reflects a user's request to create sample data in an environment.

Response and request bodies using this sampleDataRequest schema may contain the following links:

RelSummaryMethod
apiture:environment GET

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
state sampleDataRequestState
The state of the sample data request.
environmentId string
The _id of the API environment.
maxLength: 64
environmentName string
The name of the API environment.
maxLength: 64

sampleDataRequestState

"none"

Sample Data Request State (v1.0.0)

The state of the sample data request.

Type: string
Enumerated values:
none
started
completed
failed

sampleDataCounterReset

{
  "_profile": "https://api.apiture.com/schemas/apiKeys/sampleDataCounterReset/v1.0.0/model.json",
  "username": "max.peck@nasa.gov",
  "environment": "api.devbank.apiture.com"
}

Sample Data Counter Reset (v1.0.0)

A request to reset a user's sample data generation counter back to zero.

Properties

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
username string(email) (required)
The username (email address) that the user uses to login to the developer portal.
environment string (required)
The host name of the target environment where the user is trying to generate sample data.
minLength: 8
maxLength: 64

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

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

root

{
  "id": "apiName",
  "name": "API name",
  "apiVersion": "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

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

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

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

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:

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

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

NameDescription
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.

error

{
  "_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

NameDescription
message string (required)
A localized message string describing the error condition.
_id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
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.

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

Links

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

Properties

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

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

Link

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

Properties

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

attributes

{
  "property1": {},
  "property2": {}
}

Attributes

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

Properties

NameDescription
additionalProperties attributeValue
The data associated with this attribute.

attributeValue

{}

Attribute Value

The data associated with this attribute.

Properties