Approvals v0.14.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.

This API manages state-transition based approvals for Financial Institutions. Approvals are useful in confirming that part or all of a process is complete. An Approval is a resource which represents something that the financial institution must approve. Examples of approvals may include Identity Verification Document approval or Account Application approval.

Approval States may be one of the following:

  • open Created but not yet ready for review
  • submitted Pending review by approver
  • approved Approval granted
  • rejected Approval denied
  • waived Approval forgiven
  • returned Approver returns approval for modification
  • canceled Approval request withdrawn

Allowed state transitions are:

  • open -> submitted
  • open -> waived
  • submitted -> approved
  • submitted -> rejected
  • submitted -> waived
  • submitted -> returned
  • returned -> submitted
  • open -> canceled
  • submitted -> canceled
  • returned -> canceled

An approval may only be deleted if its state is open or canceled. In order to change the state, use POST to the href in the corresponding links (apiture:approve, apiture:submit, apiture:reject, etc.) in the approval resource as described fully in the approval schema.

Approval type resources

All approval resources contain an approval type, a resource that is also managed in this API. Approval types provide financial institutions the ability to track, reconcile and group specific approvals. Some examples of approval types may be specific documents related to new account opening that need to be manually approved, account applications or transfer requests. There can be many approval resources per approval type. In addition, metadata regarding specific types of approvals can be stored on the approval type. Approval types may only be deleted if they are not in use by any existing approvals.

Approval types may also indicate which approval states are not allowed. For example, some approval types disallow waived or returned. See the disallowedStates property.

Approval targets

The target of the approval, which may be any resource, is not required but may be provided on the POST operation that creates the approval. The target is defined in the _links in the request body, with the link relation apiture:target. Alternatively, the content to be approved may be embedded within the attributes on the approval request. It will also be conveyed in the approval representation in the GET operation on the instance and the summary representation in the /approvals collection. Examples of targets may include an account application or a document.

Approval attributes

An approval or approval type may store additional data in the resource's attributes property. Attributes can be modified through PATCH. Attributes are not copied from the approval type to the approval.

Error Types

Error responses in this API may have one of the type values described below. See Errors for more information on error responses and error types.

approvalTypeInUse

Description: Approval Types may only be deleted if they are not being used by an Approval.
Remediation: Check to see if any Approval resources are linked to the supplied Approval Type.

approveApprovalInvalidState

Description: Approvals may only be approved if they are in a submitted state.
Remediation: Check the state of your Approval and the applicable allowed state transitions in the Approvals API documentation.

The attributes object in the error may have the following properties:

Property Type Description
disallowedStates [string] States that are disallowed for this instance.
currentState string The current state of the instance
requestedState string The requested new state for the instance

cancelApprovalInvalidState

Description: Approvals may only be canceled if they are in a submitted, open or returned state.
Remediation: Check the state of your Approval and the applicable allowed state transitions in the Approvals API documentation.

deleteApprovalInvalidState

Description: Approvals may only be deleted if they are in an open or canceled state.
Remediation: Check the state of your Approval and the applicable allowed state transitions in the Approvals API documentation.

The attributes object in the error may have the following properties:

Property Type Description
requiredStates [string] The approval must be in one of the listed states before it is eligible for deletion.

ifMatchHeaderMissing

Description: The "If-Match" header was not supplied.
Remediation: Verify you are supplying an "If-Match" header in the request.

This error type may be included in error responses for the following HTTP status code: 428

invalidApprovalId

Description: No approvals were found for the specified approvalId.
Remediation: Check to make sure that the supplied approvalId corresponds to an apiture approval resource.

invalidApprovalTypeId

Description: No approvalTypes were found for the specified approvalTypeId.
Remediation: Check to make sure that the supplied approvalTypeId corresponds to an apiture approvalType resource.

Description: No approvalType link was supplied.
Remediation: Your request must contain a link to a valid approvalType.

Description: Invalid target link.
Remediation: Your request must contain a link to a valid approvalType.

malformedRequestBody

Description: The supplied request body was malformed.
Remediation: Check to make sure that your request body exists and that it does not contain syntax errors.

nameAndDomainMustBeUnique

Description: The combination of name and domain must be unique across ApprovalTypes.
Remediation: Check the existing ApprovalTypes for an existing resource that matches the name and domain on your request.

rejectApprovalInvalidState

Description: Approvals may only be rejected if they are in a submitted state.
Remediation: Check the state of your Approval and the applicable allowed state transitions in the Approvals API documentation.

returnApprovalInvalidState

Description: Approvals may only be returned if they are in a submitted state.
Remediation: Check the state of your Approval and the applicable allowed state transitions in the Approvals API documentation.

stateDisallowedByApprovalType

Description: The approval's request new state is disallowed by the approval's type.
Remediation: Avoid attempts to change the state to a disallowed state.

The attributes object in the error may have the following properties:

Property Type Description
currentState string The current state of the the approval.
Example: submitted
requestedState string The requested new state value in the request.
Example: canceled
disallowedStates [string] The set of states that are forbidden for the approvalType
Example: waived,canceled

submitApprovalInvalidState

Description: Approvals may only be submitted if they are in an open or returned state.
Remediation: Check the state of your Approval and the applicable allowed state transitions in the Approvals API documentation.

waiveApprovalInvalidState

Description: Approvals may only be waived if they are in an open or submitted state.
Remediation: Check the state of your Approval and the applicable allowed state transitions in the Approvals API documentation.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

  • API Key (apiKey)
    • header parameter: API-Key
    • API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the API-Key: {api-key} request header.

  • OAuth2 authentication (accessToken)
    • OAuth2 client access token authentication. The client authenticates against the server at authorizationUrl, passing the client's private clientId (and optional and clientSecret) as part of this flow. The client obtains an access token from the server at tokenUrl. It then passes the received access token via the Authorization: Bearer {access-token} header in subsequent API calls. The authorization process also returns a refresh token which the client should use to renew the access token before it expires.
    • Flow: authorizationCode
    • Authorization URL = https://auth.devbank.apiture.com/auth/oauth2/authorize
    • Token URL = https://api.devbank.apiture.com/auth/oauth2/token
Scope Scope Description
data/read Read access to non-account, non-profile data.
data/write Write (update) access to non-account, non-profile data.
data/delete Delete access to non-account, non-profile data.
data/full Full access to non-account, non-profile data.
admin/write Admin write (update) access to non-account, non-profile data.

Approval

Approval

getApprovals

Code samples

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

GET https://api.devbank.apiture.com/approvals/approvals HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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/approvals/approvals',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvals',
  method: 'get',

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

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/approvals/approvals',
  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/approvals/approvals', params={

}, headers = headers)

print r.json()

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

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

Return a collection of approvals

GET https://api.devbank.apiture.com/approvals/approvals

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

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first approval item to include in this page. The default 0 denotes the beginning of the collection.
format: int64
default: 0
limit
in: query
integer(int32)
The maximum number of approval representations to return in this page.
format: int32
default: 100
sortBy
in: query
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
state
label
createdAt.
filter
in: query
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property state using functions eq, ne, in
• Property label using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property _id using functions eq, in
• Property target using functions eq, contains
• Property typeName using functions eq, contains.
q
in: query
string
Optional search string. See searching.
state
in: query
array[string]
Subset the approvals collection to those whose state matches this value. Use | to separate multiple values. For example, ?state=submitted matches only items whose state is submitted; ?state=rejected|approved matches items whose state is rejected or approved. The value or |-separated values should be from the approvalState enumeration. This is combined with an implicit and with other filters if they are used. See filtering.
unique items
minLength: 1
maxLength: 5
pipe-delimited
items: string
» enum values: open, submitted, approved, rejected, waived, returned, canceled
label
in: query
string
Subset the approvals collection to those with this label value. Use | to separate multiple values. For example, ?label=email_verification matches only items whose label is email_verification; ?label=email_verification|account_verification will match items whose label is email_verification or account_verification. This is combined with an implicit and with other filters if they are used. See filtering.
_id
in: query
array[string]
Subset the approvals collection to those whose _id matches this value. Use | to separate multiple values. This is combined with an implicit and with other filters if they are used. See filtering. Example: ?_id=id-1|id-2|id-3.
unique items
minLength: 1
pipe-delimited
items: string

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvals/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals?start=10&limit=10"
    },
    "first": {
      "href": "https://production.api.apiture.com/approvals/approvals?start=0&limit=10"
    },
    "next": {
      "href": "https://production.api.apiture.com/approvals/approvals?start=20&limit=10"
    },
    "collection": {
      "href": "https://production.api.apiture.com/approvals/approvals"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "approvals",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/approvals/summaryApproval/v1.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "state": "active",
        "done": true,
        "label": "Government Issued ID",
        "description": "A document that identifies a user",
        "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
        "reviewedAt": "2018-04-17T10:12:58.375Z"
      }
    ]
  }
}

Responses

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

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
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

createApproval

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/approvals/approvals \
  -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/approvals/approvals HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/approvals/createApproval/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approval/approvalType/40884353-266e-4891-9612-57e786bc8d7c"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z"
}';
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/approvals/approvals',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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/approvals/approvals',
  method: 'post',

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

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/approvals/approvals',
  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/approvals/approvals', params={

}, headers = headers)

print r.json()

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

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

Create a new approval

POST https://api.devbank.apiture.com/approvals/approvals

Create a new approval in the approvals collection. The link to an Approval Type resource is required in order to create a new Approval resource. This link should be passed in the _links in the request with an apiture:approvalType key. The optional target of an approval may be passed on in either the _links with the link relation apiture:target, or in attributes.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/createApproval/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approval/approvalType/40884353-266e-4891-9612-57e786bc8d7c"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z"
}

Parameters

ParameterDescription
body createApproval (required)
The data necessary to create a new approval.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: approval
HeaderLocation
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.
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource.
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.

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse

getApproval

Code samples

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

GET https://api.devbank.apiture.com/approvals/approvals/{approvalId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  method: 'get',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/approvals/approvals/{approvalId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/approvals/{approvalId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/approvals/approvals/{approvalId}", data)
    req.Header = headers

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

Fetch a representation of this approval

GET https://api.devbank.apiture.com/approvals/approvals/{approvalId}

Return a HAL representation of this approval resource.

Parameters

ParameterDescription
approvalId
in: path
string (required)
The unique identifier of this approval. This is an opaque string.
If-None-Match
in: 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.
embed
in: query
array[string]
The embed query parameter specifies which related resources to include in the _embedded object in the response. embed supports the following comma-separated values:
  • approvalType : include the approval type in the _embedded.approvalType object. (See the approvalEmbeddedObjects schema.)
  • target : include the approval target.
For example, to embed both the approvalType and target for approvals use GET .../approval/{approvalId}?embed=approvalType,target. To embed the target only, use GET .../approval/{approvalId}?embed=target.
default: "approvalType"
comma-delimited
items: string
» enum values: approvalType, target

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such approval resource at the specified {approvalId}. The _error field in the response will contain details about the request error.

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

Schema: errorResponse

updateApproval

Code samples

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

PUT https://api.devbank.apiture.com/approvals/approvals/{approvalId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  method: 'put',

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

require 'rest-client'
require 'json'

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

result = RestClient.put 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://api.devbank.apiture.com/approvals/approvals/{approvalId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/approvals/{approvalId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.devbank.apiture.com/approvals/approvals/{approvalId}", data)
    req.Header = headers

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

Update this approval

PUT https://api.devbank.apiture.com/approvals/approvals/{approvalId}

Perform a complete replacement of this approval. Nested _embedded and _links are ignored if included. The state is not updated by this operation; use the state-change operations described in the approval schema.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Parameters

ParameterDescription
approvalId
in: path
string (required)
The unique identifier of this approval. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.
body approval (required)
An approval.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval resource.
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.

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such approval resource at the specified {approvalId}. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request attempted to change the state in an incompatible way, such as an attempt to change a readOnly property such as state or done.
Schema: errorResponse
StatusDescription
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
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

patchApproval

Code samples

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

PATCH https://api.devbank.apiture.com/approvals/approvals/{approvalId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  method: 'patch',

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

require 'rest-client'
require 'json'

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

result = RestClient.patch 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://api.devbank.apiture.com/approvals/approvals/{approvalId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/approvals/{approvalId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.devbank.apiture.com/approvals/approvals/{approvalId}", data)
    req.Header = headers

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

Update this approval

PATCH https://api.devbank.apiture.com/approvals/approvals/{approvalId}

Perform a partial update of this approval. Omitted fields are not updated. Nested _embedded and _links are ignored if included. The state is not updated by this operation; use the state-change operations described in the approval schema.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Parameters

ParameterDescription
approvalId
in: path
string (required)
The unique identifier of this approval. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.
body approval (required)
An approval.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval resource.
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.

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such approval resource at the specified {approvalId}. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
409 Conflict
Conflict. The request attempted to change the state in an incompatible way, such as an attempt to change a readOnly property such as state or done.
Schema: errorResponse
StatusDescription
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
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

deleteApproval

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/approvals/approvals/{approvalId} \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.devbank.apiture.com/approvals/approvals/{approvalId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
{
  method: 'DELETE',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  method: 'delete',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete 'https://api.devbank.apiture.com/approvals/approvals/{approvalId}',
  params: {
  }, 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.delete('https://api.devbank.apiture.com/approvals/approvals/{approvalId}', params={

}, headers = headers)

print r.json()

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

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

Delete this approval resource

DELETE https://api.devbank.apiture.com/approvals/approvals/{approvalId}

Delete this approval resource and any resources that are owned by it. An approval may only be deleted if its state is open or canceled.

Parameters

ParameterDescription
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.
approvalId
in: path
string (required)
The unique identifier of this approval. This is an opaque string.

Example responses

401 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
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

Approval Actions

Actions on Approval Resources

approveApproval

Code samples

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

POST https://api.devbank.apiture.com/approvals/approvedApprovals?approval=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/approvedApprovals?approval=string',
{
  method: 'POST',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvedApprovals',
  method: 'post',
  data: '?approval=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/approvals/approvedApprovals',
  params: {
  'approval' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/approvals/approvedApprovals', params={
  'approval': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/approvedApprovals?approval=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/approvals/approvedApprovals", data)
    req.Header = headers

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

Approve an approval

POST https://api.devbank.apiture.com/approvals/approvedApprovals

Approve an approval.

Only approvals which are submitted may be approved.

This operation is invoked from the apiture:approve link on a product type when it is eligible to be approved.

This changes the state to approved.

Parameters

ParameterDescription
approval
in: query
string (required)
A server-generated key which identifies an existing approval resource.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
StatusDescription
400 Bad Request
Bad Request. The approval or approvalUri parameter was malformed or does not refer to an approval.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an Approval resource may only be changed in accordance with the state transitions described in this specification.

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

Schema: errorResponse
StatusDescription
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
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

rejectApproval

Code samples

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

POST https://api.devbank.apiture.com/approvals/rejectedApprovals?approval=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/rejectedApprovals?approval=string',
{
  method: 'POST',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/rejectedApprovals',
  method: 'post',
  data: '?approval=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/approvals/rejectedApprovals',
  params: {
  'approval' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/approvals/rejectedApprovals', params={
  'approval': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/rejectedApprovals?approval=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/approvals/rejectedApprovals", data)
    req.Header = headers

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

Reject an approval

POST https://api.devbank.apiture.com/approvals/rejectedApprovals

Reject an approval. Only approvals which are submitted may be rejected. This operation is invoked from the apiture:reject link on an approval when it is eligible to be rejected. This changes the state to rejected.

Parameters

ParameterDescription
approval
in: query
string (required)
A server-generated key which identifies an existing approval resource.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
StatusDescription
400 Bad Request
Bad Request. The approval or approvalUri was malformed or does not refer to an approval.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an Approval resource may only be changed in accordance with the state transitions described in this specification.

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

Schema: errorResponse
StatusDescription
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
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

waiveApproval

Code samples

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

POST https://api.devbank.apiture.com/approvals/waivedApprovals?approval=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/waivedApprovals?approval=string',
{
  method: 'POST',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/waivedApprovals',
  method: 'post',
  data: '?approval=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/approvals/waivedApprovals',
  params: {
  'approval' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/approvals/waivedApprovals', params={
  'approval': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/waivedApprovals?approval=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/approvals/waivedApprovals", data)
    req.Header = headers

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

Waive an approval

POST https://api.devbank.apiture.com/approvals/waivedApprovals

Waive an approval. Only approvals which are open or submitted may be waived. This operation is invoked from the apiture:waive link on an approval when it is eligible to be waived. This changes the state to waived.

Parameters

ParameterDescription
approval
in: query
string (required)
A server-generated key which identifies an existing approval resource.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
StatusDescription
400 Bad Request
Bad Request. The 'approvalorapprovalUri` was malformed or does not refer to an approval.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an Approval resource may only be changed in accordance with the state transitions described in this specification.

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

Schema: errorResponse
StatusDescription
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
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

submitApproval

Code samples

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

POST https://api.devbank.apiture.com/approvals/submittedApprovals?approval=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/submittedApprovals?approval=string',
{
  method: 'POST',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/submittedApprovals',
  method: 'post',
  data: '?approval=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/approvals/submittedApprovals',
  params: {
  'approval' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/approvals/submittedApprovals', params={
  'approval': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/submittedApprovals?approval=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/approvals/submittedApprovals", data)
    req.Header = headers

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

Submit an approval

POST https://api.devbank.apiture.com/approvals/submittedApprovals

Submit an approval. Only approvals which are open or returned may be submitted. This operation is invoked from the apiture:submit link on an approval when it is eligible to be submitted. This changes the state to submitted.

Parameters

ParameterDescription
approval
in: query
string (required)
A server-generated key which identifies an existing approval resource.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
StatusDescription
400 Bad Request
Bad Request. The approval or approvalUri was malformed or does not refer to an approval.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an Approval resource may only be changed in accordance with the state transitions described in this specification.

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

Schema: errorResponse
StatusDescription
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
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

returnApproval

Code samples

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

POST https://api.devbank.apiture.com/approvals/returnedApprovals?approval=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/returnedApprovals?approval=string',
{
  method: 'POST',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/returnedApprovals',
  method: 'post',
  data: '?approval=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/approvals/returnedApprovals',
  params: {
  'approval' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/approvals/returnedApprovals', params={
  'approval': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/returnedApprovals?approval=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/approvals/returnedApprovals", data)
    req.Header = headers

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

Return an approval

POST https://api.devbank.apiture.com/approvals/returnedApprovals

Return an approval. Only approvals which are submitted may be returned. This operation is invoked from the apiture:return link on an approval when it is eligible to be returned. This changes the state to returned.

Parameters

ParameterDescription
approval
in: query
string (required)
A server-generated key which identifies an existing approval resource.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
StatusDescription
400 Bad Request
Bad Request. The approval or approvalUri was malformed or does not refer to an approval.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an Approval resource may only be changed in accordance with the state transitions described in this specification.

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

Schema: errorResponse
StatusDescription
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
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

cancelApproval

Code samples

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

POST https://api.devbank.apiture.com/approvals/canceledApprovals?approval=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/canceledApprovals?approval=string',
{
  method: 'POST',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/canceledApprovals',
  method: 'post',
  data: '?approval=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/approvals/canceledApprovals',
  params: {
  'approval' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/approvals/canceledApprovals', params={
  'approval': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/canceledApprovals?approval=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/approvals/canceledApprovals", data)
    req.Header = headers

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

Cancel an approval

POST https://api.devbank.apiture.com/approvals/canceledApprovals

Cancel an approval. Only approvals which are open, submitted or returned may be canceled. This operation is invoked from the apiture:cancel link on an approval when it is eligible to be canceled. This changes the state to canceled.

Parameters

ParameterDescription
approval
in: query
string (required)
A server-generated key which identifies an existing approval resource.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: approval
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
StatusDescription
400 Bad Request
Bad Request. The approval or approvalUri was malformed or does not refer to an approval.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The state of an Approval resource may only be changed in accordance with the state transitions described in this specification.

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

Schema: errorResponse
StatusDescription
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
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

Approval Type

The type of an Approval

getApprovalTypes

Code samples

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

GET https://api.devbank.apiture.com/approvals/approvalTypes HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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/approvals/approvalTypes',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvalTypes',
  method: 'get',

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

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/approvals/approvalTypes',
  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/approvals/approvalTypes', params={

}, headers = headers)

print r.json()

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

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

Return a collection of approval types

GET https://api.devbank.apiture.com/approvals/approvalTypes

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

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first approval type item to include in this page. The default 0 denotes the beginning of the collection.
format: int64
default: 0
limit
in: query
integer(int32)
The maximum number of approval type representations to return in this page.
format: int32
default: 100
sortBy
in: query
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
label
name.
filter
in: query
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property label using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property name using functions eq, ne, lt, le, gt, ge, startsWith, endsWith, contains, search
• Property _id using functions eq, in.
q
in: query
string
Optional search string. See searching.
label
in: query
string
Subset the approvals collection to those with this label value. Use | to separate multiple values. For example, ?label=email_verification matches only items whose label is email_verification; ?label=email_verification|account_verification will match items whose label is email_verification or account_verification. This is combined with an implicit and with other filters if they are used. See filtering.
name
in: query
string
Subset the approvals collection to those with this name value. Use | to separate multiple values. For example, ?name=Bartell will match only items whose name is Bartell; ?name=Bartell|kirsten will match items whose name is Bartell or kirsten. This is combined with an implicit and with other filters if they are used. See filtering.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalTypes/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes?start=10&limit=10"
    },
    "first": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes?start=0&limit=10"
    },
    "next": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes?start=20&limit=10"
    },
    "collection": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "approvalTypes",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/approvals/summaryApprovalType/v1.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "name": "governmentId",
        "label": "Government Issued ID",
        "description": "A document that identifies a user"
      }
    ]
  }
}

Responses

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

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
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

createApprovalType

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/approvals/approvalTypes \
  -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/approvals/approvalTypes HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/approvals/createApprovalType/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "name": "governmentId",
  "label": "Government Identification",
  "description": "An image of the applicant's government-issued ID card, such as a driver's license or passport.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement"
}';
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/approvals/approvalTypes',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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/approvals/approvalTypes',
  method: 'post',

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

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/approvals/approvalTypes',
  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/approvals/approvalTypes', params={

}, headers = headers)

print r.json()

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

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

Create a new approval type

POST https://api.devbank.apiture.com/approvals/approvalTypes

Create a new approval type in the approval types collection.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/createApprovalType/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "name": "governmentId",
  "label": "Government Identification",
  "description": "An image of the applicant's government-issued ID card, such as a driver's license or passport.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement"
}

Parameters

ParameterDescription
body createApprovalType (required)
The data necessary to create a new approval type.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}

Responses

StatusDescription
201 Created
Created.
Schema: approvalType
HeaderLocation
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
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update the resource.
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.

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The name and domain of the Approval Type must be a unique combination within the FI Approval Type Resources.
  • The Approval Type is in use and cannot be deleted.

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

Schema: errorResponse

getApprovalType

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  method: 'get',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}", data)
    req.Header = headers

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

Fetch a representation of this approval type

GET https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}

Return a HAL representation of this approval type resource.

Parameters

ParameterDescription
approvalTypeId
in: path
string (required)
The unique identifier of this approval type. This is an opaque string.
If-None-Match
in: 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

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}

Responses

StatusDescription
200 OK
OK.
Schema: approvalType
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such approval type resource at the specified {approvalTypeId}. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
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

updateApprovalType

Code samples

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

PUT https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  method: 'put',

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

require 'rest-client'
require 'json'

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

result = RestClient.put 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}", data)
    req.Header = headers

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

Update this approval type

PUT https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}

Perform a complete replacement of this approval type.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}

Parameters

ParameterDescription
approvalTypeId
in: path
string (required)
The unique identifier of this approval type. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.
body approvalType (required)
An approval type.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}

Responses

StatusDescription
200 OK
OK.
Schema: approvalType
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
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.

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such approval type resource at the specified {approvalTypeId}. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
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
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

patchApprovalType

Code samples

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

PATCH https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId} HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  method: 'patch',

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

require 'rest-client'
require 'json'

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

result = RestClient.patch 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}", data)
    req.Header = headers

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

Update this approval type

PATCH https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}

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

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}

Parameters

ParameterDescription
approvalTypeId
in: path
string (required)
The unique identifier of this approval type. This is an opaque string.
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.
body approvalType (required)
An approval type.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}

Responses

StatusDescription
200 OK
OK.
Schema: approvalType
HeaderETag
string
The ETag response header specifies an entity tag which may be provided in an If-Match request header for PUT or PATCH operations which update this approval type resource.
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.

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

Schema: errorResponse
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
404 Not Found

Not Found. There is no such approval type resource at the specified {approvalTypeId}. The _error field in the response will contain details about the request error.

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

Schema: errorResponse
StatusDescription
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
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

deleteApprovalType

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId} \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
{
  method: 'DELETE',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  method: 'delete',

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

require 'rest-client'
require 'json'

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

result = RestClient.delete 'https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}',
  params: {
  }, 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.delete('https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}', params={

}, headers = headers)

print r.json()

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

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

Delete this approval type resource

DELETE https://api.devbank.apiture.com/approvals/approvalTypes/{approvalTypeId}

Delete this approval type resource and any resources that are owned by it. Deleting an Approval Type is only allowed if it is not in use by any existing Approvals.

Parameters

ParameterDescription
If-Match
in: header
string
The entity tag that was returned in the ETag response. If supplied, this must match the current entity tag of the resource.
approvalTypeId
in: path
string (required)
The unique identifier of this approval type. This is an opaque string.

Example responses

401 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
StatusDescription
401 Unauthorized
Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:

  • The name and domain of the Approval Type must be a unique combination within the FI Approval Type Resources.
  • The Approval Type is in use and cannot be deleted.

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

Schema: errorResponse
StatusDescription
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

API

The Approvals API

getApi

Code samples

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

GET https://api.devbank.apiture.com/approvals/ HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

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

};

fetch('https://api.devbank.apiture.com/approvals/',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/',
  method: 'get',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://api.devbank.apiture.com/approvals/',
  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/approvals/', params={

}, headers = headers)

print r.json()

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

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

Top-level resources and operations in this API

GET https://api.devbank.apiture.com/approvals/

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

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

Responses

StatusDescription
200 OK
OK.
Schema: root

getApiDoc

Code samples

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

GET https://api.devbank.apiture.com/approvals/apiDoc HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json

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

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

};

fetch('https://api.devbank.apiture.com/approvals/apiDoc',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/apiDoc',
  method: 'get',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.devbank.apiture.com/approvals/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/approvals/apiDoc', params={

}, headers = headers)

print r.json()

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

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

Return API definition document

GET https://api.devbank.apiture.com/approvals/apiDoc

Return the OpenAPI document that describes this API.

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK.
Schema: Inline

Response Schema

getLabels

Code samples

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

GET https://api.devbank.apiture.com/approvals/labels HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Accept-Language: string

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

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

};

fetch('https://api.devbank.apiture.com/approvals/labels',
{
  method: 'GET',

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

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/approvals/labels',
  method: 'get',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://api.devbank.apiture.com/approvals/labels',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/approvals/labels', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/approvals/labels");
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"},
        "Accept-Language": []string{"string"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/approvals/labels", data)
    req.Header = headers

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

Localized Labels

GET https://api.devbank.apiture.com/approvals/labels

Return a JSON object which defines labels for enumeration types defined by the schemas defined in this API.

The labels in the response may not all match the requested language; some may be in the default language (en-us).

Parameters

ParameterDescription
Accept-Language
in: header
string
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "fristGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "key1": {
        "label": "Label for Key 1",
        "code": "1",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 1)"
          },
          "fr": {
            "label": "(French label for Key 1)"
          }
        }
      },
      "key2": {
        "label": "Label for Key 2",
        "code": "2",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 2)"
          },
          "fr": {
            "label": "(French label for Key 2)"
          }
        }
      },
      "key3": {
        "label": "Label for Key 3",
        "code": "3",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 3)"
          },
          "fr": {
            "label": "(French label for Key 3)"
          }
        }
      },
      "other": {
        "label": "Other",
        "variants": {
          "es": {
            "label": "(Spanish label for Other)"
          },
          "fr": {
            "label": "(French label for Other)"
          }
        },
        "code": "254"
      }
    },
    "secondGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "?",
        "hidden": true
      },
      "optionA": {
        "label": "Option A",
        "code": "A"
      },
      "optionB": {
        "label": "Option B",
        "code": "B"
      },
      "optionC": {
        "label": "Option C",
        "code": "C"
      },
      "other": {
        "label": "Other",
        "code": "_"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: labelGroups

Schemas

abstractRequest

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {}
}

Abstract Request (v2.0.0)

An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

This schema was resolved from common/abstractRequest.

Properties

NameDescription
Abstract Request (v2.0.0) object
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

This schema was resolved from common/abstractRequest.

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

This schema was resolved from common/links.

_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.
read-only
format: uri

abstractResource

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Abstract Resource (v2.1.0)

An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

This schema was resolved from common/abstractResource.

Properties

NameDescription
Abstract Resource (v2.1.0) object
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.

This schema was resolved from common/abstractResource.

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

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

approval

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approval/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://production.api.apiture.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reason": "Invalid U.S. Address",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
      "_links": {
        "self": {
          "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Approval (v1.2.0)

An approval represents the review of some process, activity or resource, such as a document or an application. The state of the approval is recorded in its state property. The target of the approval is in the link named apiture:target; see the Create Approval schema and createApproval operation.

Links on an approval convey which state transitions are available. The client should use POST to invoke these operations, using the href on the named link object. No request body is used on these operations.

The absence of a link indicates that the particular state transition is not available at that time or that the caller is not authorized to make the change. For example, a bank customer may lack permissions to approve a wire transfer they submitted.

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

RelSummaryMethod
selfFetch a representation of this approvalGET
apiture:approveApprove an approvalPOST
apiture:rejectReject an approvalPOST
apiture:waiveWaive an approvalPOST
apiture:returnReturn an approvalPOST
apiture:submitSubmit an approvalPOST
apiture:cancelCancel an approvalPOST
apiture:target Approval TargetGET
apiture:approvalTypeFetch a representation of this approval typeGET

Properties

NameDescription
Approval (v1.2.0) object

An approval represents the review of some process, activity or resource, such as a document or an application. The state of the approval is recorded in its state property. The target of the approval is in the link named apiture:target; see the Create Approval schema and createApproval operation.

Links on an approval convey which state transitions are available. The client should use POST to invoke these operations, using the href on the named link object. No request body is used on these operations.

The absence of a link indicates that the particular state transition is not available at that time or that the caller is not authorized to make the change. For example, a bank customer may lack permissions to approve a wire transfer they submitted.

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

RelSummaryMethod
selfFetch a representation of this approvalGET
apiture:approveApprove an approvalPOST
apiture:rejectReject an approvalPOST
apiture:waiveWaive an approvalPOST
apiture:returnReturn an approvalPOST
apiture:submitSubmit an approvalPOST
apiture:cancelCancel an approvalPOST
apiture:target Approval TargetGET
apiture:approvalTypeFetch a representation of this approval typeGET
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded approvalEmbeddedObjects
Embedded objects.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
label string
The approval's common name. If omitted on create request, this will default to the label of the Approval Type.
description string
The approval's description. If omitted on create request, this will default to the description of the Approval Type.
state approvalState
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding POST operations, submitApproval, approveApproval, rejectApproval, waiveApproval, returnApproval, and cancelApproval, if the corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined by the approval type.
read-only
default: "open"
enum values: open, submitted, approved, rejected, waived, returned, canceled
done boolean
If done is true, the approval is in a terminal state and may no longer be acted upon. Done states include canceled, approved, waived or rejected. This property is derived from the state field and is immutable.
read-only
typeName string
The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
reviewedBy string
The id of the User that reviewed the approval.
read-only
reviewedAt string(date-time)
The date-time when the approval was reviewed.
read-only
format: date-time
_id string
The unique identifier for this approval resource. This is an immutable opaque string.
read-only
reason string
The reason given for the last state change, such as why the approval was approved, rejected, waived, canceled, or returned.
maxLength: 512
createdAt string(date-time)
The approval's creation date-time, in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ format.
read-only
format: date-time
updatedAt string(date-time)
The date-time of the approval's most recent update, in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ format.
read-only
format: date-time
attributes attributes
An optional map of name/value pairs which provide additional metadata about the approval.
Additional Properties: true

approvalEmbeddedObjects

{
  "approvalType": {
    "_profile": "https://production.api.apiture.com/schemas/approvals/summaryApprovalType/v1.1.0/profile.json",
    "_links": {
      "self": {
        "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
      }
    },
    "name": "governmentId",
    "label": "Government Issued ID",
    "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
    "disallowedStates": [
      "waived",
      "canceled"
    ],
    "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c"
  },
  "target": {}
}

Approval Embedded Objects (v1.1.0)

The objects which participate in this approval.

Properties

NameDescription
Approval Embedded Objects (v1.1.0) object
The objects which participate in this approval.
approvalType summaryApprovalType
The type of this approval.
target object
The target of this approval.

approvalFields

{
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z"
}

Approval Fields (v1.0.0)

Common fields of the approval resource, used to define other model schemas.

Properties

NameDescription
Approval Fields (v1.0.0) object
Common fields of the approval resource, used to define other model schemas.
label string
The approval's common name. If omitted on create request, this will default to the label of the Approval Type.
description string
The approval's description. If omitted on create request, this will default to the description of the Approval Type.
state approvalState
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding POST operations, submitApproval, approveApproval, rejectApproval, waiveApproval, returnApproval, and cancelApproval, if the corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined by the approval type.
read-only
default: "open"
enum values: open, submitted, approved, rejected, waived, returned, canceled
done boolean
If done is true, the approval is in a terminal state and may no longer be acted upon. Done states include canceled, approved, waived or rejected. This property is derived from the state field and is immutable.
read-only
typeName string
The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
reviewedBy string
The id of the User that reviewed the approval.
read-only
reviewedAt string(date-time)
The date-time when the approval was reviewed.
read-only
format: date-time

approvalState

"open"

Approval State (v1.0.0)

The state of this approval.

approvalState strings may have one of the following enumerated values:

ValueDescription
openOpen: An approval that has been created but not submitted for review.
submittedSubmitted: An approval that has been submitted for review but not yet reviewed.
approvedApproved: An approval which has been approved by the financial institution.
rejectedRejected: An approval which has been rejected by the financial institution.
waivedWaived: An approval which has been waived by the financial institution.
returnedReturned: An approval which has been returned by the financial institution. The user should update the data that is the target of the review.
canceledCanceled: An approval which has been canceled by the user or the financial institution.

These enumeration values are further described by the label group named approvalState in the response from the getLabels operation.

type: string


default: "open"
enum values: open, submitted, approved, rejected, waived, returned, canceled

approvalType

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalType/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api..com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "accountApplication",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "40884353-266e-4891-9612-57e786bc8d7c",
  "state": "approved",
  "createAt": "2020-08-17T06:31:32.375Z",
  "updatedAt": "2020-08-17T010:45:37.000Z"
}

Approval Type (v1.2.0)

All Approval resources contain an Approval Type, a resource that is also managed in this API. Approval Types provide Financial Institutions the ability to track, reconcile and group specific Approvals. In addition, metadata regarding specific types of Approvals can be stored on the Approval Type. Approval Types may only be deleted if they are not in use by any existing Approvals. Some examples of Approval Types may be specific documents related to New Account Opening that need to be manually approved, Account Applications or Transfer requests.

Properties

NameDescription
Approval Type (v1.2.0) object
All Approval resources contain an Approval Type, a resource that is also managed in this API. Approval Types provide Financial Institutions the ability to track, reconcile and group specific Approvals. In addition, metadata regarding specific types of Approvals can be stored on the Approval Type. Approval Types may only be deleted if they are not in use by any existing Approvals. Some examples of Approval Types may be specific documents related to New Account Opening that need to be manually approved, Account Applications or Transfer requests.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The approval's name.
label string
The approval's common name.
description string
The approval's description.
domain string
A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may define a domain, and all Approval Type instances they define will use that domain, so that they can avoid conflicting with Approval Type names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of domain and name must be unique within the set of all approval types. It is a best practice to define domain with a URI or a URN.
disallowedStates array: [disallowedState]
An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states open and approved are always allowed, so this enumeration set is a subset of the approvalState enumeration on an approval.
items: string
» enum values: rejected, waived, returned, canceled
_id string
The unique identifier for this approval resource. This is an immutable opaque string.
read-only
attributes attributes
An optional map of name/value pairs which provide additional metadata about the approval type.
Additional Properties: true
createdAt string(date-time)
The approval types's creation date-time, in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ format.
read-only
format: date-time
updatedAt string(date-time)
The date-time of the approval type's most recent update, in RFC 3339 YYYY-MM-DDThh:mm:ss.sssZ format.
read-only
format: date-time

approvalTypeFields

{
  "name": "governmentId",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement"
}

Approval Type Fields (v1.0.0)

Common fields of the approval resource used to build other model schemas.

Properties

NameDescription
Approval Type Fields (v1.0.0) object
Common fields of the approval resource used to build other model schemas.
name string
The approval's name.
label string
The approval's common name.
description string
The approval's description.
domain string
A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may define a domain, and all Approval Type instances they define will use that domain, so that they can avoid conflicting with Approval Type names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of domain and name must be unique within the set of all approval types. It is a best practice to define domain with a URI or a URN.
disallowedStates array: [disallowedState]
An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states open and approved are always allowed, so this enumeration set is a subset of the approvalState enumeration on an approval.
items: string
» enum values: rejected, waived, returned, canceled

approvalTypes

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvalTypes/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes?start=10&limit=10"
    },
    "first": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes?start=0&limit=10"
    },
    "next": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes?start=20&limit=10"
    },
    "collection": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "approvalTypes",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/approvals/summaryApprovalType/v1.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "name": "governmentId",
        "label": "Government Issued ID",
        "description": "A document that identifies a user"
      }
    ]
  }
}

Approval Types Collection (v1.1.0)

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

Properties

NameDescription
Approval Types Collection (v1.1.0) object
Collection of approval types. The items in the collection are ordered in the _embedded.items array; the name is approvals. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items array: [summaryApprovalType]
An array containing a page of approval type items.
items: object
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may 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.

approvals

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/approvals/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals?start=10&limit=10"
    },
    "first": {
      "href": "https://production.api.apiture.com/approvals/approvals?start=0&limit=10"
    },
    "next": {
      "href": "https://production.api.apiture.com/approvals/approvals?start=20&limit=10"
    },
    "collection": {
      "href": "https://production.api.apiture.com/approvals/approvals"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "approvals",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "https://production.api.apiture.com/schemas/approvals/summaryApproval/v1.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "state": "active",
        "done": true,
        "label": "Government Issued ID",
        "description": "A document that identifies a user",
        "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
        "reviewedAt": "2018-04-17T10:12:58.375Z"
      }
    ]
  }
}

Approval Collection (v1.1.0)

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

Properties

NameDescription
Approval Collection (v1.1.0) object
Collection of approvals. The items in the collection are ordered in the _embedded.items array; the name is approvals. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items array: [summaryApproval]
An array containing a page of approval items.
items: object
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may 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.

attributes

{}

Attributes (v2.1.0)

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

This schema was resolved from common/attributes.

Properties

NameDescription
Attributes (v2.1.0) object
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.
Additional Properties: true

collection

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Collection (v2.1.0)

A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

This schema was resolved from common/collection.

Properties

NameDescription
Collection (v2.1.0) object
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

This schema was resolved from common/collection.

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

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may 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.

createApproval

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/createApproval/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    },
    "apiture:approvalType": {
      "href": "https://production.api.apiture.com/approval/approvalType/40884353-266e-4891-9612-57e786bc8d7c"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z"
}

Create Approval (v1.1.0)

Representation used to create a new approval. A link to an apiture:approvalType is required to perform this operation. An optional apiture:target link may also be specified to represent the target resource for the approval. The target can be any resource, for example, an account application or a document.

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

RelSummaryMethod
apiture:target Approval TargetGET
apiture:approvalTypeFetch a representation of this approval typeGET

Properties

NameDescription
Create Approval (v1.1.0) object

Representation used to create a new approval. A link to an apiture:approvalType is required to perform this operation. An optional apiture:target link may also be specified to represent the target resource for the approval. The target can be any resource, for example, an account application or a document.

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

RelSummaryMethod
apiture:target Approval TargetGET
apiture:approvalTypeFetch a representation of this approval typeGET
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
label string
The approval's common name. If omitted on create request, this will default to the label of the Approval Type.
description string
The approval's description. If omitted on create request, this will default to the description of the Approval Type.
state approvalState
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding POST operations, submitApproval, approveApproval, rejectApproval, waiveApproval, returnApproval, and cancelApproval, if the corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined by the approval type.
read-only
default: "open"
enum values: open, submitted, approved, rejected, waived, returned, canceled
done boolean
If done is true, the approval is in a terminal state and may no longer be acted upon. Done states include canceled, approved, waived or rejected. This property is derived from the state field and is immutable.
read-only
typeName string
The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
reviewedBy string
The id of the User that reviewed the approval.
read-only
reviewedAt string(date-time)
The date-time when the approval was reviewed.
read-only
format: date-time
attributes attributes
An optional map of name/value pairs which provide additional metadata about the approval.
Additional Properties: true

createApprovalType

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/createApprovalType/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "name": "governmentId",
  "label": "Government Identification",
  "description": "An image of the applicant's government-issued ID card, such as a driver's license or passport.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement"
}

Create Approval Type (v1.1.0)

Representation used to create a new approval type.

Properties

NameDescription
Create Approval Type (v1.1.0) object
Representation used to create a new approval type.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string (required)
The approval's name.
label string
The approval's common name.
description string
The approval's description.
domain string
A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may define a domain, and all Approval Type instances they define will use that domain, so that they can avoid conflicting with Approval Type names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of domain and name must be unique within the set of all approval types. It is a best practice to define domain with a URI or a URN.
disallowedStates array: [disallowedState]
An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states open and approved are always allowed, so this enumeration set is a subset of the approvalState enumeration on an approval.
items: string
» enum values: rejected, waived, returned, canceled
attributes attributes
An optional map of name/value pairs which provide additional metadata about the approval type.
Additional Properties: true

disallowedState

"rejected"

Disallowed State (v1.0.0)

A disallowed state for an approval. Approvals of this type may not be set to any of the states defined by this.

disallowedState strings may have one of the following enumerated values:

ValueDescription
returnedReturned: The returned state is not allowed for approvals of this type.
rejectedWaived: The rejected state is not allowed for approvals of this type.
waivedWaived: The waived state is not allowed for approvals of this type.
canceledCanceled: The canceled state is not allowed for approvals of this type.

These enumeration values are further described by the label group named disallowedState in the response from the getLabels operation.

type: string


enum values: rejected, waived, returned, canceled

error

{
  "_id": "2eae46e1575c0a7b0115a4b3",
  "message": "Descriptive error message...",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [
    {
      "_id": "ccdbe2c5c938a230667b3827",
      "message": "An optional embedded error"
    },
    {
      "_id": "dbe9088dcfe2460f229338a3",
      "message": "Another optional embedded error"
    }
  ],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}

Error (v2.1.0)

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

This schema was resolved from common/error.

Properties

NameDescription
Error (v2.1.0) object
Describes an error in an API request or in a service called via the API.

This schema was resolved from common/error.

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.
format: date-time
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.
Additional Properties: true
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors array: [error]
An optional array of nested error objects. This property is not always present.
items: object

errorResponse

{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response (v2.1.0)

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

This schema was resolved from common/errorResponse.

Properties

NameDescription
Error Response (v2.1.0) object
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

This schema was resolved from common/errorResponse.

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

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

labelGroup

{
  "unknown": {
    "label": "Unknown",
    "code": "0",
    "hidden": true
  },
  "under1Million": {
    "label": "Under $1M",
    "code": "1",
    "range": "[0,1000000.00)",
    "variants": {
      "fr": {
        "label": "Moins de $1M"
      }
    }
  },
  "from1to10Million": {
    "label": "$1M to $10M",
    "code": "2",
    "range": "[1000000.00,10000000.00)",
    "variants": {
      "fr": {
        "label": "$1M \\u00e0 $10M"
      }
    }
  },
  "from10to100Million": {
    "label": "$10M to $100M",
    "code": "3",
    "range": "[10000000.00,100000000.00)",
    "variants": {
      "fr": [
        "label $10M \\u00e0 $100M"
      ]
    }
  },
  "over100Million": {
    "label": "Over $100,000,000.00",
    "code": "4",
    "range": "[100000000.00,]",
    "variants": {
      "fr": {
        "label": "Plus de $10M"
      }
    }
  },
  "other": {
    "label": "Other",
    "code": 254
  }
}

Label Group (v1.0.0)

A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

Properties

NameDescription
Label Group (v1.0.0) object
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

Label Item (v1.0.0) labelItem
An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

labelGroups

{
  "_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "fristGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "key1": {
        "label": "Label for Key 1",
        "code": "1",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 1)"
          },
          "fr": {
            "label": "(French label for Key 1)"
          }
        }
      },
      "key2": {
        "label": "Label for Key 2",
        "code": "2",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 2)"
          },
          "fr": {
            "label": "(French label for Key 2)"
          }
        }
      },
      "key3": {
        "label": "Label for Key 3",
        "code": "3",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 3)"
          },
          "fr": {
            "label": "(French label for Key 3)"
          }
        }
      },
      "other": {
        "label": "Other",
        "variants": {
          "es": {
            "label": "(Spanish label for Other)"
          },
          "fr": {
            "label": "(French label for Other)"
          }
        },
        "code": "254"
      }
    },
    "secondGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "?",
        "hidden": true
      },
      "optionA": {
        "label": "Option A",
        "code": "A"
      },
      "optionB": {
        "label": "Option B",
        "code": "B"
      },
      "optionC": {
        "label": "Option C",
        "code": "C"
      },
      "other": {
        "label": "Other",
        "code": "_"
      }
    }
  }
}

Label Groups (v1.1.0)

A set of named groups of labels, each of which contains multiple item labels.

The abbreviated example shows two groups, one named structure and one named estimatedAnnualRevenue. The first has items with names such as corporation, llc and soleProprietorship, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million has the label "$1M to $10M" and the range [1000000.00,10000000.00).

This schema was resolved from common/labelGroups.

Properties

NameDescription
Label Groups (v1.1.0) object
A set of named groups of labels, each of which contains multiple item labels.

The abbreviated example shows two groups, one named structure and one named estimatedAnnualRevenue. The first has items with names such as corporation, llc and soleProprietorship, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million has the label "$1M to $10M" and the range [1000000.00,10000000.00).

This schema was resolved from common/labelGroups.

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

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
groups object
Groups of localized labels. This maps group namesa group of labels within that group.
» Label Group (v1.0.0) labelGroup
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

labelItem

{
  "over100Million": {
    "label": "Over $100,000,000.00",
    "code": "4",
    "range": "[100000000.00,]",
    "variants": {
      "fr": {
        "label": "Plus de $10M"
      }
    }
  }
}

Label Item (v1.0.0)

An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

Properties

NameDescription
Label Item (v1.0.0) object
An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.
variants object
The language-specific variants of this label. The keys in this object are RFC 7231 language codes.
» Simple Label (v1.0.0) simpleLabel
A text label and optional description.

This schema was resolved from common/simpleLabel.

code string
If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value.
minLength: 1
hidden boolean
If true, this item is normally hidden from the User Interface.
range string
The range of values, if the item describes a bounded numeric value. This is range notation such as [min,max], (exclusiveMin,max], [min,exclusiveMax), or (exclusiveMin,exclusiveMax). For example, [0,100) is the range greater than or equal to 0 and less than 100. If the min or max value are omitted, that end of the range is unbounded. For example, (,1000.00) means less than 1000.00 and [20000.00,] means 20000.00 or more. The ranges do not overlap or have gaps.
pattern: "^[\\[\\(](-?(0|[1-9][0-9]*)(\\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\\.[0-9]+)?)?[\\]\\)]$"

{
  "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Application"
}

Link (v1.0.0)

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

This schema was resolved from common/link.

NameDescription
Link (v1.0.0) object
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.

This schema was resolved from common/link.

href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
format: uri
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.
format: uri
profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.
format: uri

{
  "property1": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  },
  "property2": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  }
}

Links (v1.0.0)

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

This schema was resolved from common/links.

NameDescription
Links (v1.0.0) object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

Link (v1.0.0) 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.

This schema was resolved from common/link.

root

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

API Root (v2.1.0)

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

This schema was resolved from common/root.

Properties

NameDescription
API Root (v2.1.0) object
A HAL response, with hypermedia _links for the top-level resources and operations in API.

This schema was resolved from common/root.

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

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
This API's version.

simpleLabel

{
  "label": "Board of Directors",
  "description": "string"
}

Simple Label (v1.0.0)

A text label and optional description.

This schema was resolved from common/simpleLabel.

Properties

NameDescription
Simple Label (v1.0.0) object
A text label and optional description.

This schema was resolved from common/simpleLabel.

label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.

summaryApproval

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/summaryApproval/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "state": "approved",
  "done": true,
  "label": "Government Issued ID",
  "typeName": "governmentId",
  "description": "A document that identifies a user",
  "reviewedBy": "/users/users/0399abed-fd3d-4830-a88b-30f38b8a365c",
  "reviewedAt": "2018-04-17T10:12:58.375Z",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c"
}

Approval Summary (v1.1.0)

Summary representation of an approval resource in approvals collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

Properties

NameDescription
Approval Summary (v1.1.0) object
Summary representation of an approval resource in approvals collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
label string
The approval's common name. If omitted on create request, this will default to the label of the Approval Type.
description string
The approval's description. If omitted on create request, this will default to the description of the Approval Type.
state approvalState
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding POST operations, submitApproval, approveApproval, rejectApproval, waiveApproval, returnApproval, and cancelApproval, if the corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined by the approval type.
read-only
default: "open"
enum values: open, submitted, approved, rejected, waived, returned, canceled
done boolean
If done is true, the approval is in a terminal state and may no longer be acted upon. Done states include canceled, approved, waived or rejected. This property is derived from the state field and is immutable.
read-only
typeName string
The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
reviewedBy string
The id of the User that reviewed the approval.
read-only
reviewedAt string(date-time)
The date-time when the approval was reviewed.
read-only
format: date-time
_id string
The unique identifier for this approval resource. This is an immutable opaque string.
read-only

summaryApprovalType

{
  "_profile": "https://production.api.apiture.com/schemas/approvals/summaryApprovalType/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://production.api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "name": "governmentId",
  "label": "Government Issued ID",
  "description": "A document that identifies a user. `governmentId` approvals may not be waived or canceled.",
  "disallowedStates": [
    "waived",
    "canceled"
  ],
  "domain": "https://production.api.apiture.com/domains/approvals/documentRequirement",
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c"
}

Approval Type Summary (v1.1.0)

Summary representation of an approval type resource in approvals collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.

Properties

NameDescription
Approval Type Summary (v1.1.0) object
Summary representation of an approval type resource in approvals collections. This representation normally does not contain any _embedded objects. If needed, call the GET operation on the item's self link to get _embedded objects.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_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.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
name string
The approval's name.
label string
The approval's common name.
description string
The approval's description.
domain string
A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may define a domain, and all Approval Type instances they define will use that domain, so that they can avoid conflicting with Approval Type names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of domain and name must be unique within the set of all approval types. It is a best practice to define domain with a URI or a URN.
disallowedStates array: [disallowedState]
An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states open and approved are always allowed, so this enumeration set is a subset of the approvalState enumeration on an approval.
items: string
» enum values: rejected, waived, returned, canceled
_id string
The unique identifier for this approval resource. This is an immutable opaque string.
read-only

Generated by @apiture/api-doc 3.2.4 on Mon Oct 28 2024 14:41:03 GMT+0000 (Coordinated Universal Time).