Shell HTTP JavaScript Node.JS Ruby Python Java Go

API Environments v0.9.0

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

An API to manage runtime API environments. API environments are targets where a developer requests API keys to allow their app to call Apiture APIs. These may be test or UAT environments, partner environments, demo environments, or full production environments.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
admin/write Write (update) access to API environment.
admin/delete Delete access to API environments.
admin/full Full access to API environments.

API

Endpoints which describe this API.

getApi

Code samples

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

GET /apiEnvironments/ HTTP/1.1

Accept: application/hal+json

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

};

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

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

Top-level resources and operations in this API

GET /

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

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

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

GET /apiEnvironments/apiDoc HTTP/1.1

Accept: application/json

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

};

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

URL obj = new URL("/apiEnvironments/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", "/apiEnvironments/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. An environment must be inactive before it may be deleted.

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline
409 Conflict
Conflict. The environment may not be deleted if the state is active.
Schema: errorResponse

Response Schema

Environment

API Runtime Environments

getEnvironments

Code samples

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

GET /apiEnvironments/environments HTTP/1.1

Accept: application/hal+json

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

};

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

p JSON.parse(result)

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

r = requests.get('/apiEnvironments/environments', params={

}, headers = headers)

print r.json()

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

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

Return a collection of environments

GET /environments

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

Parameters

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

Example responses

200 Response

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

Responses

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

createEnvironment

Code samples

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

POST /apiEnvironments/environments HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json

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

};

$.ajax({
  url: '/apiEnvironments/environments',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

}, headers = headers)

print r.json()

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

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

Create a new environment

POST /environments

Create a new environment in the environments collection. The host must be unique.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Parameters

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

Example responses

201 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Responses

StatusDescription
201 Created
Created
Schema: environment
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
409 Conflict
Conflict. The host is already in use in another environment resource.
Schema: errorResponse

Response Headers

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

getEnvironment

Code samples

# You can also use wget
curl -X GET /apiEnvironments/environments/{environmentId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY'

GET /apiEnvironments/environments/{environmentId} HTTP/1.1

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

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

};

$.ajax({
  url: '/apiEnvironments/environments/{environmentId}',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY'

};

fetch('/apiEnvironments/environments/{environmentId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY'
}

result = RestClient.get '/apiEnvironments/environments/{environmentId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/apiEnvironments/environments/{environmentId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this environment

GET /environments/{environmentId}

Return a HAL representation of this environment resource.

Parameters

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

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Responses

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

Response Headers

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

updateEnvironment

Code samples

# You can also use wget
curl -X PUT /apiEnvironments/environments/{environmentId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PUT /apiEnvironments/environments/{environmentId} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

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

};

$.ajax({
  url: '/apiEnvironments/environments/{environmentId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/apiEnvironments/environments/{environmentId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put '/apiEnvironments/environments/{environmentId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('/apiEnvironments/environments/{environmentId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "/apiEnvironments/environments/{environmentId}", data)
    req.Header = headers

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

Update this environment

PUT /environments/{environmentId}

Perform a complete replacement of this environment.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Parameters

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

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Responses

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

Response Headers

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

patchEnvironment

Code samples

# You can also use wget
curl -X PATCH /apiEnvironments/environments/{environmentId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

PATCH /apiEnvironments/environments/{environmentId} HTTP/1.1

Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

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

};

$.ajax({
  url: '/apiEnvironments/environments/{environmentId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/apiEnvironments/environments/{environmentId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch '/apiEnvironments/environments/{environmentId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('/apiEnvironments/environments/{environmentId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "/apiEnvironments/environments/{environmentId}", data)
    req.Header = headers

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

Update this environment

PATCH /environments/{environmentId}

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

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Parameters

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

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Responses

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

Response Headers

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

deleteEnvironment

Code samples

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

DELETE /apiEnvironments/environments/{environmentId} HTTP/1.1

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

};

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

p JSON.parse(result)

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

r = requests.delete('/apiEnvironments/environments/{environmentId}', params={

}, headers = headers)

print r.json()

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

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

Delete this environment resource

DELETE /environments/{environmentId}

Delete this environment resource and any resources that are owned by it. An environment must be inactive before it may be deleted.

Parameters

Parameter Description
environmentId
(path)
string (required)
The unique identifier of this environment. This is an opaque string.

Responses

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

Environment States

API Runtime Environments states

deactivateEnvironment

Code samples

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

POST /apiEnvironments/inactiveEnvironments?environment=string HTTP/1.1

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

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

};

$.ajax({
  url: '/apiEnvironments/inactiveEnvironments',
  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',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/apiEnvironments/inactiveEnvironments?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',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/apiEnvironments/inactiveEnvironments',
  params: {
  'environment' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/apiEnvironments/inactiveEnvironments', params={
  'environment': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/apiEnvironments/inactiveEnvironments?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"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Deactivate an environment

POST /inactiveEnvironments

Update an environment by adding it to the set of inactive environments. This changes the state property of the environment to inactive. This operation is available via the apiture:deactivate link on the environment resource, if and only if the environment is eligible for the deactivate operation. An environment may not be deactivated if it is in use by any client applications, unless the ?force=true option is used.

The responses is the updated representation of the environment. The If-Match request header value, if used, must match the current entity tag value of the environment.

Parameters

Parameter Description
environment
(query)
string (required)
A string which uniquely identifies an environment which is to added to the active environments resource set. This may be the unique environmentId or the URI of the environment.
force
(query)
boolean
Force deactivation of the environmment, even if client applications are using the environment. This is false by default.
If-Match
(header)
string (required)
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Responses

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

Response Headers

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

activateEnvironment

Code samples

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

POST /apiEnvironments/activeEnvironments?environment=string HTTP/1.1

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

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

};

$.ajax({
  url: '/apiEnvironments/activeEnvironments',
  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',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('/apiEnvironments/activeEnvironments?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',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post '/apiEnvironments/activeEnvironments',
  params: {
  'environment' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/apiEnvironments/activeEnvironments', params={
  'environment': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/apiEnvironments/activeEnvironments?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"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

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

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

Activate an environment

POST /activeEnvironments

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

Parameters

Parameter Description
environment
(query)
string (required)
A string which uniquely identifies an environment which is to added to the active environments resource set. This may be the unique environmentId or the URI of the environment.
If-Match
(header)
string (required)
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Responses

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

Response Headers

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

Schemas

environment

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "name": "DevBank",
  "description": "The sample runtime environment attached to the developer portal.",
  "host": "api.devbank.apiture.com",
  "openId": {
    "userPoolId": "63438dc44d3e949befcb7f6c2411",
    "clientId": "4e71bb49bdf14fa97058851959a8"
  },
  "domains": [
    "apiture.com"
  ],
  "state": "active",
  "_profile": "https://api.apiture.com/schemas/apiEnvironments/environment/v1.0.0/profile.json"
}

Environment

Representation of environment resources.

Properties

NameDescription
_links object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
» additionalProperties link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.
_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
_id string
This API environment's unique ID.
read-only
name string
This API environment's unique name.
minLength: 4
maxLength: 64
description string(markdown)
The full description of this API environment, such as its purpose.
minLength: 4
maxLength: 256
host string
The hostname for the environment. This is normalized to all lowercase.
minLength: 8
maxLength: 64
domains [string]
The domains of the organiztions (such as apiture.com) which have access to this environment. When an organization defines a new client application, they can only see (and select) target environments if the organization's domain is in this array. If the array is empty, all organizations may use this environment.
state string
The state of this API environment. The default state is pending. The environment must be activated before API keys may be requested/provisioned for it. Use the POST HTTP method on the corresponding activateEnvironment and deactivateEnvironment operations to activate or deactivate the environment.


Enumerated values:
pending
active
inactive

authenticationParameters authenticationParameters
Information necessary for end users to authenticate with the identity provider.

authenticationParameters

{
  "clientId": "string",
  "identityGroupId": "string"
}

Open ID Connect

Information necessary for end users to authenticate with the identity provider.

Properties

NameDescription
clientId string
The registration ID of the client application (Developer Portal) within the identity provider. This is an opaque string.
maxLength: 128
identityGroupId string
The ID of the identity provider's group of users. This is an opaque string. (An example is the Cognito UserPoolId.)
maxLength: 128

environments

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

Environment Collection

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

Properties

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

root

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

API Root

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

Properties

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

errorResponse

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

Error Response

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

Properties

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

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

Link

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

Properties

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

error

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

Error

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

Properties

NameDescription
message string (required)
A localized message string describing the error condition.
_id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
occurredAt string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors [error]
An optional array of nested error objects. This property is not always present.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
_embedded object
Embedded objects. An error object may contain nested errors. For example, an API which validates its request body may find multiple errors in the request, which are returned with an error response with nested errors. These are held in an items array of errorResponse objects. _embedded or _embedded.items may not exist if the error does not have nested errors. This property is deprecated; use see error.errors instead.
» items [errorResponse]
An array of error objects.

attributes

{}

Attributes

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

Properties

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