NAV Navigation
Shell HTTP JavaScript Node.JS Ruby Python Java Go

Account Applications v0.2.0

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

This API manages applications to create new accounts. An account application coordinates the following resources necessary to complete the application:

These individual resources will be nested within in the full representation inside the application resource, but are omitted in the summary application representations that are returned in the applications collection. Only the banking product is required to create a new account application. The application retains snapshots of these objects as they existed when the application was reviewed. An application may be seeded with initial data. This allows "pre-approved" applications from external sources. All completed applications (whether approved or rejected) are retained indefinitely for auditing purposes. Incomplete applications expire after 30 days of inactivity or a period specified by the financial institution in the service configuration. Each banking product (such as a checking account or money market account) has an association to an account application workflow definition which defines the business process for opening a new account for that product. This workflow is a set of tasks the user must perform in order to open a new account for that product. This service instantiates the workflow, sets the accountApplication, accountApplicant, product, fundingAccount, and organization properties of the workflow instance, and starts the workflow. Note: A task in the workflow typically performs the actual account creation. A valid account is necessary for an initial funding operation to occur. Each application maintains a state field which indicates the state of that application: pending, running, canceled, expired, rejected, approved. Note: This API uses the base path /accountApplications to avoid confusion with software applications.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

API

Endpoints which describe this API.

getApi

Code samples

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

GET /accountApplications/ HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('/accountApplications/',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get '/accountApplications/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

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

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/");
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"},
        
    }

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

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

Top-level resources and operations in this API

GET /

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET /accountApplications/apiDoc \
  -H 'Accept: application/json'

GET /accountApplications/apiDoc HTTP/1.1

Accept: application/json

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: '/accountApplications/apiDoc',
  method: 'get',

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

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

const headers = {
  'Accept':'application/json'

};

fetch('/accountApplications/apiDoc',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get '/accountApplications/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

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

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/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"},
        
    }

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

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

Return API definition document

GET /apiDoc

Return the OpenAPI document that describes this API.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

Account Application

Application for a New Banking Account

getRunningApplications

Code samples

# You can also use wget
curl -X GET /accountApplications/runningApplications \
  -H 'Accept: application/hal+json'

GET /accountApplications/runningApplications HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/runningApplications',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('/accountApplications/runningApplications',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get '/accountApplications/runningApplications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

r = requests.get('/accountApplications/runningApplications', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/runningApplications");
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"},
        
    }

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

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

Return a collection of active, running account applications

GET /runningApplications

Return a paginated sortable filterable searchable collection of active running account applications. The links in the response include pagination links. This is a virtual view of all applications, filtered to those whose state is running or blocked

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of account application representations to return in this page.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

start

limit

sortBy

filter

q

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/collection/application/v0.1.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "account applications",
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications?start=10&limit=10"
    },
    "first": {
      "href": "https://www.example.com/accountApplications/applications?start=0&limit=10"
    },
    "next": {
      "href": "https://www.example.com/accountApplications/applications?start=20&limit=10"
    },
    "collection": {
      "href": "https://www.example.com/accountApplications/applications"
    }
  },
  "_embedded": {
    "items": [
      {
        "_profile": "http://api.apiture.com/schemas/application/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My Personal Checking",
        "completedTaskCount": 1,
        "runningTaskCount": 0,
        "pendingTaskCount": 1,
        "blockedTaskCount": 4,
        "canceledTaskCount": 0,
        "state": "pending"
      },
      {
        "_profile": "http://api.apiture.com/schemas/application/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365d"
          }
        },
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "6 Month CD",
        "completedTaskCount": 5,
        "runningTaskCount": 0,
        "pendingTaskCount": 0,
        "blockedTaskCount": 0,
        "canceledTaskCount": 0,
        "state": "approved"
      }
    ]
  }
}

Responses

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

getApplications

Code samples

# You can also use wget
curl -X GET /accountApplications/applications \
  -H 'Accept: application/hal+json'

GET /accountApplications/applications HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/applications',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('/accountApplications/applications',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get '/accountApplications/applications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

r = requests.get('/accountApplications/applications', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        
    }

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

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

Return a collection of account applications

GET /applications

Return a paginated sortable filterable searchable collection of account applications. The links in the response include pagination links. Not all nested objects are supported for filtering or sorting applications. The following fields may be used: accountName, applicantName, productName, organizationName',state,createdAt,completedAt`

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of account application representations to return in this page.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

start

limit

sortBy

filter

q

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/collection/application/v0.1.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "account applications",
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications?start=10&limit=10"
    },
    "first": {
      "href": "https://www.example.com/accountApplications/applications?start=0&limit=10"
    },
    "next": {
      "href": "https://www.example.com/accountApplications/applications?start=20&limit=10"
    },
    "collection": {
      "href": "https://www.example.com/accountApplications/applications"
    }
  },
  "_embedded": {
    "items": [
      {
        "_profile": "http://api.apiture.com/schemas/application/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My Personal Checking",
        "completedTaskCount": 1,
        "runningTaskCount": 0,
        "pendingTaskCount": 1,
        "blockedTaskCount": 4,
        "canceledTaskCount": 0,
        "state": "pending"
      },
      {
        "_profile": "http://api.apiture.com/schemas/application/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365d"
          }
        },
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "6 Month CD",
        "completedTaskCount": 5,
        "runningTaskCount": 0,
        "pendingTaskCount": 0,
        "blockedTaskCount": 0,
        "canceledTaskCount": 0,
        "state": "approved"
      }
    ]
  }
}

Responses

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

createApplication

Code samples

# You can also use wget
curl -X POST /accountApplications/applications \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json'

POST /accountApplications/applications HTTP/1.1

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

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/applications',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "http://api.apiture.com/schemas/application/v1.0.0/profile.json",
  "accountName": "My checking account",
  "_links": {
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    }
  },
  "applicants": [
    {
      "contact": {
        "firstName": "Elsa",
        "lastName": "Snowqueen",
        "_links": {
          "self": {
            "href": "https://www.example.com/users/user/3017d005-9910-4a8b-874b-397749353e7a"
          }
        }
      },
      "role": {
        "name": "primaryUser",
        "label": "Primary User",
        "_links": {
          "self": {
            "href": "https://www.example.com/associations/roles/3ad50a2a-3129-491f-9bd9-d4cccf54b228"
          }
        }
      }
    }
  ],
  "products": [
    {
      "name": "Personal Savings",
      "_links": {
        "self": {
          "href": "https://www.example.com/products/products/40ed6e40-cffa-4944-8d54-f9b50ed2081f"
        }
      }
    }
  ]
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json'

};

fetch('/accountApplications/applications',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json'
}

result = RestClient.post '/accountApplications/applications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json'
}

r = requests.post('/accountApplications/applications', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        
    }

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

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

Create a new account application

POST /applications

Create a new account application in the account applications collection.

Body parameter

{
  "_profile": "http://api.apiture.com/schemas/application/v1.0.0/profile.json",
  "accountName": "My checking account",
  "_links": {
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    }
  },
  "applicants": [
    {
      "contact": {
        "firstName": "Elsa",
        "lastName": "Snowqueen",
        "_links": {
          "self": {
            "href": "https://www.example.com/users/user/3017d005-9910-4a8b-874b-397749353e7a"
          }
        }
      },
      "role": {
        "name": "primaryUser",
        "label": "Primary User",
        "_links": {
          "self": {
            "href": "https://www.example.com/associations/roles/3ad50a2a-3129-491f-9bd9-d4cccf54b228"
          }
        }
      }
    }
  ],
  "products": [
    {
      "name": "Personal Savings",
      "_links": {
        "self": {
          "href": "https://www.example.com/products/products/40ed6e40-cffa-4944-8d54-f9b50ed2081f"
        }
      }
    }
  ]
}

Parameters

Parameter Description
body
(body)
createApplication (required)
The data necessary to create a new account application.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

201 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

StatusDescription
201 Created
Created
Schema: application
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse

Response Headers

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

getApplication

Code samples

# You can also use wget
curl -X GET /accountApplications/applications/{applicationId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string'

GET /accountApplications/applications/{applicationId} HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/applications/{applicationId}',
  method: 'get',

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

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

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

};

fetch('/accountApplications/applications/{applicationId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/accountApplications/applications/{applicationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/accountApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this account application

GET /applications/{applicationId}

Return a HAL representation of this account application resource.

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* applicationId

If-None-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

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

Response Headers

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

updateApplication

Code samples

# You can also use wget
curl -X PUT /accountApplications/applications/{applicationId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

PUT /accountApplications/applications/{applicationId} HTTP/1.1

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

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string'

};

$.ajax({
  url: '/accountApplications/applications/{applicationId}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string'

};

fetch('/accountApplications/applications/{applicationId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string'
}

result = RestClient.put '/accountApplications/applications/{applicationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'If-Match': 'string'
}

r = requests.put('/accountApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        
    }

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

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

Update this account application

PUT /applications/{applicationId}

Perform a complete replacement of this account application.

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPUT
* URL
* API Key
* Access Token

* applicationId

* If-Match

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: application
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
404 Not Found
Not Found. There is no such application resource at the specified {applicationId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse
428 Precondition Required
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource.
Schema: errorResponse

Response Headers

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

patchApplication

Code samples

# You can also use wget
curl -X PATCH /accountApplications/applications/{applicationId} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

PATCH /accountApplications/applications/{applicationId} HTTP/1.1

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

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string'

};

$.ajax({
  url: '/accountApplications/applications/{applicationId}',
  method: 'patch',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string'

};

fetch('/accountApplications/applications/{applicationId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string'
}

result = RestClient.patch '/accountApplications/applications/{applicationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'If-Match': 'string'
}

r = requests.patch('/accountApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        
    }

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

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

Update this account application

PATCH /applications/{applicationId}

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

Body parameter

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPATCH
* URL
* API Key
* Access Token

* applicationId

* If-Match

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: application
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
404 Not Found
Not Found. There is no such application resource at the specified {applicationId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
412 Precondition Failed
Precondition Failed. The supplied if-Match header value does not match the most recent ETag response header value. The resource has changed in the interim.
Schema: errorResponse
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse
428 Precondition Required
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource.
Schema: errorResponse

Response Headers

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

deleteApplication

Code samples

# You can also use wget
curl -X DELETE /accountApplications/applications/{applicationId} \
  -H 'Accept: application/hal+json'

DELETE /accountApplications/applications/{applicationId} HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/applications/{applicationId}',
  method: 'delete',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('/accountApplications/applications/{applicationId}',
{
  method: 'DELETE',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.delete '/accountApplications/applications/{applicationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

r = requests.delete('/accountApplications/applications/{applicationId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "/accountApplications/applications/{applicationId}", data)
    req.Header = headers

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

Delete a pending application

DELETE /applications/{applicationId}

Delete this account application resource. An application may only be deleted by the user if its state is pending, or by a financial institution if its state is expired.

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodDELETE
* URL
* API Key
* Access Token

* applicationId

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

409 Response

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

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.
409 Conflict
Conflict. An application not be deleted by the applicant if the state is anything other than pending, or by the financial institution if the state is expired.
Schema: errorResponse

Account Application State Transitions

Operations to Update the State of an Application

expireApplication

Code samples

# You can also use wget
curl -X POST /accountApplications/expiredApplications?application=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

POST /accountApplications/expiredApplications?application=string HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/expiredApplications',
  method: 'post',
  data: '?application=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

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

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

};

fetch('/accountApplications/expiredApplications?application=string',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/accountApplications/expiredApplications',
  params: {
  'application' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/accountApplications/expiredApplications', params={
  'application': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/expiredApplications?application=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Expire an application

POST /expiredApplications

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

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* application

* If-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

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

Response Headers

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

rejectApplication

Code samples

# You can also use wget
curl -X POST /accountApplications/rejectedApplications?application=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

POST /accountApplications/rejectedApplications?application=string HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/rejectedApplications',
  method: 'post',
  data: '?application=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

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

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

};

fetch('/accountApplications/rejectedApplications?application=string',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/accountApplications/rejectedApplications',
  params: {
  'application' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/accountApplications/rejectedApplications', params={
  'application': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/rejectedApplications?application=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Reject an application

POST /rejectedApplications

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

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* application

* If-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

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

Response Headers

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

approveApplication

Code samples

# You can also use wget
curl -X POST /accountApplications/approvedApplications?application=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

POST /accountApplications/approvedApplications?application=string HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/approvedApplications',
  method: 'post',
  data: '?application=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

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

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

};

fetch('/accountApplications/approvedApplications?application=string',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/accountApplications/approvedApplications',
  params: {
  'application' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/accountApplications/approvedApplications', params={
  'application': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/approvedApplications?application=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Approve an application

POST /approvedApplications

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

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* application

* If-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

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

Response Headers

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

cancelApplication

Code samples

# You can also use wget
curl -X POST /accountApplications/canceledApplications?application=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

POST /accountApplications/canceledApplications?application=string HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/canceledApplications',
  method: 'post',
  data: '?application=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

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

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

};

fetch('/accountApplications/canceledApplications?application=string',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/accountApplications/canceledApplications',
  params: {
  'application' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/accountApplications/canceledApplications', params={
  'application': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/canceledApplications?application=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Cancel an application

POST /canceledApplications

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

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* application

* If-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

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

Response Headers

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

startApplication

Code samples

# You can also use wget
curl -X POST /accountApplications/runningApplications?application=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

POST /accountApplications/runningApplications?application=string HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/runningApplications',
  method: 'post',
  data: '?application=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

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

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

};

fetch('/accountApplications/runningApplications?application=string',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post '/accountApplications/runningApplications',
  params: {
  'application' => 'string'
}, headers: headers

p JSON.parse(result)

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

r = requests.post('/accountApplications/runningApplications', params={
  'application': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/runningApplications?application=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Start an application

POST /runningApplications

Start an application by adding it to the set of running applications. This changes the state property of the application to running. This operation is available via the apiture:start link on the application resource, if and only if the application is eligible for the start operation. The response is the updated representation of the application. The If-Match required request header value must match the current entity tag value of the application.

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPOST
* URL
* API Key
* Access Token

* application

* If-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Responses

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

Response Headers

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

Configuration

A set of endpoints that allows for the creation and retrieval of configuration options specific to this service

getConfiguration

Code samples

# You can also use wget
curl -X GET /accountApplications/configuration \
  -H 'Accept: application/hal+json'

GET /accountApplications/configuration HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/configuration',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('/accountApplications/configuration',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get '/accountApplications/configuration',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

r = requests.get('/accountApplications/configuration', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration");
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"},
        
    }

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

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

Configuration definition for this API

GET /configuration

Returns the configuration for this API

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_links": {
    "self": {
      "href": "/accountApplications/configuration/"
    },
    "apiture:groups": {
      "href": "/accountApplications/configuration/groups"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: configuration

getConfigurationGroups

Code samples

# You can also use wget
curl -X GET /accountApplications/configuration/groups \
  -H 'Accept: application/hal+json'

GET /accountApplications/configuration/groups HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/configuration/groups',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('/accountApplications/configuration/groups',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get '/accountApplications/configuration/groups',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

r = requests.get('/accountApplications/configuration/groups', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration/groups");
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"},
        
    }

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

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

Return a collection of configuration groups

GET /configuration/groups

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

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first configuration group item to include in this page. The default 0 denotes the beginning of the collection.
limit
(query)
integer(int32)
The maximum number of configuration group representations to return in this page.
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
filter
(query)
string
Optional filter criteria. See filtering.
q
(query)
string
Optional search string. See searching.

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

start

limit

sortBy

filter

q

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/accountApplications/configurationGroups/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_links": {
    "self": {
      "href": "/accountApplications/configuration/groups?start=10&limit=10"
    },
    "first": {
      "href": "/accountApplications/configuration/groups?start=0&limit=10"
    },
    "next": {
      "href": "/accountApplications/configuration/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/accountApplications/configuration/groups"
    }
  },
  "_embedded": {
    "items": [
      {
        "_profile": "http://api.apiture.com/schemas/accountApplications/configurationGroup/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/configuration/groups/basic"
          },
          "apiture:configuration": {
            "href": "/configuration"
          }
        },
        "name": "basic",
        "label": "Basic Settings",
        "description": "The basic settings for the Applications API"
      }
    ]
  }
}

Responses

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

getConfigurationGroup

Code samples

# You can also use wget
curl -X GET /accountApplications/configuration/groups/{groupName} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string'

GET /accountApplications/configuration/groups/{groupName} HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/configuration/groups/{groupName}',
  method: 'get',

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

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

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

};

fetch('/accountApplications/configuration/groups/{groupName}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/accountApplications/configuration/groups/{groupName}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/accountApplications/configuration/groups/{groupName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration/groups/{groupName}");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/accountApplications/configuration/groups/{groupName}", data)
    req.Header = headers

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

Fetch a representation of this configuration group

GET /configuration/groups/{groupName}

Return a HAL representation of this configuration group resource.

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* groupName

If-None-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "_profile": "http://api.apiture.com/schemas/accountApplications/configurationGroup/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/configuration/groups/basic"
    },
    "apiture:configuration": {
      "href": "/configuration"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Applications API",
  "schema": {
    "type": "object",
    "properties": {
      "defaultPersonalWorkflowDefinitionUri": {
        "type": "string",
        "description": "The default workflow definition uri to use for personal product types"
      },
      "defaultBusinessWorkflowDefinitionUri": {
        "type": "string",
        "description": "The default workflow definition uri to use for business product types"
      }
    }
  },
  "values": {
    "defaultPersonalWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/5311b7f6-8370-4b24-9050-9b030f432eb2",
    "defaultBusinessWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/260d3dec-214e-4010-8448-898c4c07f1ae"
  }
}

Responses

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

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which may be provided in an If-None-Match request header for GET operations for this configuration group resource.

getConfigurationGroupSchema

Code samples

# You can also use wget
curl -X GET /accountApplications/configuration/groups/{groupName}/schema \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string'

GET /accountApplications/configuration/groups/{groupName}/schema HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/configuration/groups/{groupName}/schema',
  method: 'get',

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

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

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

};

fetch('/accountApplications/configuration/groups/{groupName}/schema',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/accountApplications/configuration/groups/{groupName}/schema',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/accountApplications/configuration/groups/{groupName}/schema', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration/groups/{groupName}/schema");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/accountApplications/configuration/groups/{groupName}/schema", data)
    req.Header = headers

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

Fetch the schema for this configuration group

GET /configuration/groups/{groupName}/schema

Return a HAL representation of this configuration group schema resource.

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* groupName

If-None-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "type": "object",
  "properties": {
    "defaultPersonalWorkflowDefinitionUri": {
      "type": "string",
      "description": "The default workflow definition uri to use for personal product types"
    },
    "defaultBusinessWorkflowDefinitionUri": {
      "type": "string",
      "description": "The default workflow definition uri to use for business product types"
    }
  }
}

Responses

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

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT

getConfigurationGroupValues

Code samples

# You can also use wget
curl -X GET /accountApplications/configuration/groups/{groupName}/values \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string'

GET /accountApplications/configuration/groups/{groupName}/values HTTP/1.1

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

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

};

$.ajax({
  url: '/accountApplications/configuration/groups/{groupName}/values',
  method: 'get',

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

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

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

};

fetch('/accountApplications/configuration/groups/{groupName}/values',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get '/accountApplications/configuration/groups/{groupName}/values',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('/accountApplications/configuration/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration/groups/{groupName}/values");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/accountApplications/configuration/groups/{groupName}/values", data)
    req.Header = headers

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

Fetch the values for the specified configuration group

GET /configuration/groups/{groupName}/values

Return a representation of this configuration group values resource.

Parameters

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

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* groupName

If-None-Match

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "defaultPersonalWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/5311b7f6-8370-4b24-9050-9b030f432eb2",
  "defaultBusinessWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/260d3dec-214e-4010-8448-898c4c07f1ae"
}

Responses

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

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT

updateConfigurationGroupValues

Code samples

# You can also use wget
curl -X PUT /accountApplications/configuration/groups/{groupName}/values \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string'

PUT /accountApplications/configuration/groups/{groupName}/values HTTP/1.1

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

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string'

};

$.ajax({
  url: '/accountApplications/configuration/groups/{groupName}/values',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{
  "defaultPersonalWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/5311b7f6-8370-4b24-9050-9b030f432eb2",
  "defaultBusinessWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/260d3dec-214e-4010-8448-898c4c07f1ae"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'If-Match':'string'

};

fetch('/accountApplications/configuration/groups/{groupName}/values',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'If-Match' => 'string'
}

result = RestClient.put '/accountApplications/configuration/groups/{groupName}/values',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'If-Match': 'string'
}

r = requests.put('/accountApplications/configuration/groups/{groupName}/values', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration/groups/{groupName}/values");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "/accountApplications/configuration/groups/{groupName}/values", data)
    req.Header = headers

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

Update the values for the specified configuration group

PUT /configuration/groups/{groupName}/values

Perform a complete replacement of this set of values

Body parameter

{
  "defaultPersonalWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/5311b7f6-8370-4b24-9050-9b030f432eb2",
  "defaultBusinessWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/260d3dec-214e-4010-8448-898c4c07f1ae"
}

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
If-Match
(header)
string (required)
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.
body
(body)
configurationValues (required)

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPUT
* URL
* API Key
* Access Token

* groupName

* If-Match

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{
  "type": "object",
  "properties": {
    "defaultPersonalWorkflowDefinitionUri": {
      "type": "string",
      "description": "The default workflow definition uri to use for personal product types"
    },
    "defaultBusinessWorkflowDefinitionUri": {
      "type": "string",
      "description": "The default workflow definition uri to use for business product types"
    }
  }
}

Responses

StatusDescription
200 OK
OK
Schema: configurationSchema
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
404 Not Found
Not Found. There is no such configuration group resource at the specified {groupName} The _error field in the response will contain details about the request error.
Schema: error
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
428 Precondition Required
Precondition Required. The request did not include the required if-Match header. Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource.
Schema: errorResponse

Response Headers

StatusDescription
200 ETag string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT

getConfigurationGroupValue

Code samples

# You can also use wget
curl -X GET /accountApplications/configuration/groups/{groupName}/values/{valueName} \
  -H 'Accept: application/hal+json'

GET /accountApplications/configuration/groups/{groupName}/values/{valueName} HTTP/1.1

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/configuration/groups/{groupName}/values/{valueName}',
  method: 'get',

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

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

const headers = {
  'Accept':'application/hal+json'

};

fetch('/accountApplications/configuration/groups/{groupName}/values/{valueName}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json'
}

result = RestClient.get '/accountApplications/configuration/groups/{groupName}/values/{valueName}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json'
}

r = requests.get('/accountApplications/configuration/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration/groups/{groupName}/values/{valueName}");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "/accountApplications/configuration/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

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

Fetch a single value associated with the specified configuration group

GET /configuration/groups/{groupName}/values/{valueName}

Fetch a single value associated with this configuration group. This provides convenient access to the map of values of the configuration group. To update a specific value, use PUT /accountApplications/configuration/groups/{groupName}/values/{valueName} (operation updateConfigurationGroupValue).

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
valueName
(path)
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*

Try it

Fields marked with * are mandatory.

ParameterValue
MethodGET
* URL
* API Key
* Access Token

* groupName

* valueName

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline
404 Not Found
Not Found. There is either no such configuration group resource at the specified {groupName} or no such value at the specified {valueName}. The _error field in the response will contain details about the request error.
Schema: error

Response Schema

Response Headers

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

updateConfigurationGroupValue

Code samples

# You can also use wget
curl -X PUT /accountApplications/configuration/groups/{groupName}/values/{valueName} \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json'

PUT /accountApplications/configuration/groups/{groupName}/values/{valueName} HTTP/1.1

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

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json'

};

$.ajax({
  url: '/accountApplications/configuration/groups/{groupName}/values/{valueName}',
  method: 'put',

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

const fetch = require('node-fetch');
const inputBody = '{}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json'

};

fetch('/accountApplications/configuration/groups/{groupName}/values/{valueName}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json'
}

result = RestClient.put '/accountApplications/configuration/groups/{groupName}/values/{valueName}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json'
}

r = requests.put('/accountApplications/configuration/groups/{groupName}/values/{valueName}', params={

}, headers = headers)

print r.json()

URL obj = new URL("/accountApplications/configuration/groups/{groupName}/values/{valueName}");
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"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "/accountApplications/configuration/groups/{groupName}/values/{valueName}", data)
    req.Header = headers

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

Update a single value associated with the specified configuration group

PUT /configuration/groups/{groupName}/values/{valueName}

Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration group as defined in the configuration group's schema. The request body must conform to the configuration group's schema for the named {valueName}. This operation is idempotent.

To update a specific value, use PUT /accountApplications/configuration/groups/{groupName}/values/{valueName} (operation updateConfigurationGroupValue).

Body parameter

{}

Parameters

Parameter Description
groupName
(path)
string (required)
The unique name of this configuration group.
valueName
(path)
string (required)
The unique name of a value in a configuration group. This is the name of the value in the schema. A {valueName} must be a simple identifier following the pattern letter [letter | digit | '-' | '_']*
body
(body)
attributes (required)

Try it

Fields marked with * are mandatory.

ParameterValue
MethodPUT
* URL
* API Key
* Access Token

* groupName

* valueName

* body

Response

Response Code:

Response Headers:

Response Body:

    
      Click on 'Try It' to get a response.
    
  

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK
Schema: Inline

Response Schema

Response Headers

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

Schemas

applicationFields

{
  "accountName": "string",
  "fundingAmount": {
    "value": "3456.78",
    "currency": "USD"
  }
}

Account Application Fields

Properties

Schema NameDescription
accountName string
The name of new account. If initially blank, this will be initialized from the name of the first product.
maxLength: 128
fundingAmount money
How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.

applicationObjects

{
  "products": [
    {
      "_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
      "_profile": "https://api.apiture.com/schemas/products/product/v0.3.0/profile.json",
      "_links": {
        "self": {
          "href": "https://www.example.com/products/products/a6459cdf-543e-46df-887b-ac5378ee9acd"
        },
        "apiture:productType": {
          "href": "https://www.example.com/products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8"
        },
        "apiture:productSubtype": {
          "href": "https://www.example.com/products/productTypes/fa4f2335-3306-4721-b74c-8ec0c77823e9"
        }
      },
      "name": "Premiere Checking",
      "label": "Premiere Checking",
      "description": "A premiere demand deposit checking account for business use.",
      "state": "active",
      "type": "Demand Deposit",
      "subtype": "Demand Deposit with Interest",
      "newAccountAvailability": "available",
      "revision": "2019-04-25T07:56:46.375Z",
      "_embedded": {}
    }
  ],
  "applicants": [
    {
      "contact": {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "http://api.apiture.com/schemas/contacts/summaryContact/v0.1.0/profile.json",
        "firstName": "John",
        "middleName": "Daniel",
        "lastName": "Smith",
        "preferredName": "John",
        "identification": [
          {
            "value": "111-11-1111",
            "type": "taxId"
          }
        ],
        "emailAddresses": [
          "api@apiture.com",
          "support@apiture.com"
        ],
        "phones": [
          {
            "type": "home",
            "number": "(555) 555-5555"
          },
          {
            "type": "mobile",
            "number": "(999) 555-5555"
          }
        ],
        "birthdate": "1974-10-27",
        "citizenship": [
          {
            "countryCode": "US",
            "status": "citizen"
          }
        ],
        "occupation": "Software Engineer",
        "addresses": [
          {
            "type": "home",
            "addressLine1": "555 N Front Street",
            "addressLine2": "Suite 5555",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28401-5405",
            "countryCode": "US"
          },
          {
            "type": "work",
            "addressLine1": "123 S 3rd Street",
            "addressLine2": "Apt 42",
            "city": "Wilmington",
            "regionCode": "NC",
            "postalCode": "28411-5405",
            "countryCode": "US"
          }
        ],
        "yearsAtAddress": 3,
        "mailingDifferentAddress": false,
        "kycAnswers": {
          "citizen": true,
          "permanentResident": true,
          "w9Withholdings": false,
          "employmentStatus": "employed",
          "occupation": "Software Engineer",
          "foreignPoliticalFigure": false,
          "countryPoliticalFigure": "N/A",
          "familyOfPoliticalFigure": false
        },
        "state": "active",
        "_links": {
          "self": {
            "href": "https://www.example.com/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      "role": {
        "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "{uri of current resource}"
          }
        },
        "_id": "string",
        "name": "owner",
        "label": "Primary User",
        "description": "string",
        "createdAt": "2019-01-31T13:31:41Z"
      },
      "verification": {
        "_links": {
          "apiture:contact": {
            "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
          }
        },
        "verifications": [
          {
            "type": "fraudRiskReport",
            "_links": {
              "self": {
                "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
              }
            },
            "state": "passed",
            "verifiedAt": "2019-01-12T10:15:17Z"
          },
          {
            "type": "quiz",
            "_links": {
              "self": {
                "href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
              }
            },
            "state": "passed",
            "verifiedAt": "2019-01-12T10:19:41Z"
          }
        ]
      },
      "acknowledgements": [
        {
          "documentUri": "https://www.example.com/vault/documents/7e27f43e-8b14-4f71-8065-57f364347aab",
          "locale": "en_US",
          "accepted": true,
          "acceptedAt": "2019-11-14T07:45:52.375Z"
        }
      ],
      "fraudReport": {
        "_profile": "https://api.apiture.com/schemas/identity/fraudRiskReport/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
          },
          "apiture:contact": {
            "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
          }
        },
        "_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
        "type": "fraudRiskReport",
        "inputs": {
          "identity": {
            "_profile": "https://api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
            "taxId": "555-55-5555",
            "firstName": "John",
            "lastName": "Smith",
            "address1": "1741 Tiburon Dr",
            "city": "Wilmington",
            "region": "NC",
            "postalCode": "28403",
            "phone": "555-555-5555",
            "birthdate": "1940-10-15",
            "email": "api@apiture.com",
            "ipAddress": "127.0.0.1"
          }
        },
        "outputs": {
          "fraudRiskCategories": [
            {
              "type": "personalInfoDoesNotMatch",
              "description": "The retrieved identity does not match the provided PII."
            },
            {
              "type": "addressIsHighRisk",
              "description": "The provided address is considered high-risk"
            },
            {
              "type": "addressIsPOBoxOrNonApproved",
              "description": "The provided address is a PO Box or other non-approved address"
            },
            {
              "type": "identityOnGovernmentWatchlist",
              "description": "The provided identity is located on one or more watchlists"
            },
            {
              "type": "ipRestricted",
              "description": "The provided IP address is restricted"
            },
            {
              "type": "emailRestricted",
              "description": "The provided email address is restricted"
            },
            {
              "type": "nonStandardTaxId",
              "description": "The provided taxId is non-standard. Example: The provided SSN is an ITIN (Individual Taxpayer  Identification Number)"
            },
            {
              "type": "ageRestricted",
              "description": "The provided identity does not meet the required age. Example: US COPPA laws forbid conducting e-commerce with people under 14 years of age."
            }
          ],
          "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
        }
      },
      "verified": true,
      "verificationToken": "string"
    }
  ],
  "organization": {
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
    "_profile": "http://api.apiture.com/schemas/organizations/organization/v0.1.0/profile.json",
    "createdAt": "2018-04-17T10:04:46.375Z",
    "updatedAt": "2018-04-17T10:12:58.375Z",
    "_links": {
      "self": {
        "href": "/organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:deactivate": {
        "href": "/organizations/inactiveOrganizations?organization=0399abed-fd3d-4830-a88b-30f38b8a365c"
      }
    },
    "_embedded": {}
  },
  "organizationVerification": {
    "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
    "_links": {
      "self": {
        "href": "{uri of current resource}"
      }
    },
    "businessVerifications": [
      {
        "state": "failed",
        "completedAt": "2018-04-17T10:04:46.375Z",
        "type": "verificationReport",
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_links": {
          "apiture:verificationReport": {
            "href": "/businessVerifications/verificationReports/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      },
      {
        "state": "passed",
        "completedAt": "2018-04-17T10:04:46.375Z",
        "type": "administratorApproval",
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_links": {
          "apiture:approval": {
            "href": "/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        }
      }
    ]
  },
  "documents": [
    {
      "documentUri": "string",
      "contentType": "application/pdf",
      "type": "governmentId",
      "approval": {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "http://api.apiture.com/schemas/approvals/approvals/v0.1.0/profile.json",
        "createdAt": "2019-04-17T10:04:46.375Z",
        "updatedAt": "2019-04-17T10:12:58.375Z",
        "_links": {
          "self": {
            "href": "https://www.example.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:approvalType": {
            "href": "https://www.example.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
          },
          "apiture:target": {
            "href": "https://www.example.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
          },
          "apiture:approve": {
            "href": "https://www.example.com/approvals/approvedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:reject": {
            "href": "https://www.example.com/approvals/rejectedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:return": {
            "href": "https://www.example.com/approvals/returnedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
          },
          "apiture:waive": {
            "href": "https://www.example.com/approvals/waivedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "_embedded": {
          "approvalType": {
            "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
            "_profile": "http://api.apiture.com/schemas/approvals/approvalTypes/v0.1.0/profile.json",
            "_links": {
              "self": {
                "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
              }
            },
            "name": "governmentId",
            "label": "Government Issued ID",
            "description": "A document that identifies a user"
          }
        }
      }
    }
  ],
  "accountApproval": {
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
    "_profile": "http://api.apiture.com/schemas/approvals/approvals/v0.1.0/profile.json",
    "createdAt": "2019-04-17T10:04:46.375Z",
    "updatedAt": "2019-04-17T10:12:58.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:approvalType": {
        "href": "https://www.example.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
      },
      "apiture:target": {
        "href": "https://www.example.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
      },
      "apiture:approve": {
        "href": "https://www.example.com/approvals/approvedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:reject": {
        "href": "https://www.example.com/approvals/rejectedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:return": {
        "href": "https://www.example.com/approvals/returnedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:waive": {
        "href": "https://www.example.com/approvals/waivedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      }
    },
    "_embedded": {
      "approvalType": {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "http://api.apiture.com/schemas/approvals/approvalTypes/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "name": "governmentId",
        "label": "Government Issued ID",
        "description": "A document that identifies a user"
      }
    }
  },
  "approvals": [
    {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "http://api.apiture.com/schemas/approvals/approvals/v0.1.0/profile.json",
      "createdAt": "2019-04-17T10:04:46.375Z",
      "updatedAt": "2019-04-17T10:12:58.375Z",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:approvalType": {
          "href": "https://www.example.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
        },
        "apiture:target": {
          "href": "https://www.example.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
        },
        "apiture:approve": {
          "href": "https://www.example.com/approvals/approvedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:reject": {
          "href": "https://www.example.com/approvals/rejectedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:return": {
          "href": "https://www.example.com/approvals/returnedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
        },
        "apiture:waive": {
          "href": "https://www.example.com/approvals/waivedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "_embedded": {
        "approvalType": {
          "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
          "_profile": "http://api.apiture.com/schemas/approvals/approvalTypes/v0.1.0/profile.json",
          "_links": {
            "self": {
              "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
            }
          },
          "name": "governmentId",
          "label": "Government Issued ID",
          "description": "A document that identifies a user"
        }
      }
    }
  ],
  "fundingAccount": {
    "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
    "_links": {
      "self": {
        "href": "{uri of current resource}"
      }
    },
    "title": "John Smith",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "masked": "*************3210",
      "full": "9876543210"
    },
    "verificationReport": {
      "state": "failed",
      "accountRiskFactors": [
        {
          "riskCode": 101,
          "description": "Account owner first name does not match"
        },
        {
          "riskCode": 102,
          "description": "Account owner last name does not match"
        },
        {
          "riskCode": 103,
          "description": "Account owner zip code does not match"
        }
      ]
    }
  },
  "newAccounts": [
    {
      "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
      "_links": {
        "self": {
          "href": "{uri of current resource}"
        }
      },
      "title": "John Smith",
      "institutionName": "3rd Party Bank",
      "routingNumber": "021000021",
      "accountNumbers": {
        "masked": "*************3210",
        "full": "9876543210"
      },
      "verificationReport": {
        "state": "failed",
        "accountRiskFactors": [
          {
            "riskCode": 101,
            "description": "Account owner first name does not match"
          },
          {
            "riskCode": 102,
            "description": "Account owner last name does not match"
          },
          {
            "riskCode": 103,
            "description": "Account owner zip code does not match"
          }
        ]
      }
    }
  ]
}

Application Resources

Properties

Schema NameDescription
products [summaryProduct] (required)
The bank product(s) for this account. The first item in the array is the primary product for the new account. The remaining optional items in the array are secondary associated products.
minItems: 1
applicants [applicant]
The applicant or co-applicants seeking to open the account. If omitted, the service will create an array with one applicant, based on the Contact resource associated with current user, and assign that contact the primary user role.
minItems: 1
organization organization
The optional organization for a non-personal (business) account.
organizationVerification businessVerifications
The results of verifying a business or other organization.
documents [document]
An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity verification forms, such as agovernment ID, a tax ID, a utility bill, articles of incorporation (for business accounts) etc.
accountApproval approval
An Approval object which the reviewer can use to approve or reject the entire account application. The apiture:approve and apiture:reject links in the resource may be used to reject or approve the applications via POST operations (no request body).
approvals [approval]
All of the Approval objects which are associated with this application. The apiture:approve, apiture:reject, apiture:waive, and apiture:return links in each Approval resource may be used to approve, reject, waive, or return the approval via POST operations (no request body).
read-only
fundingAccount transferAccount
Contact information about the applicant.
newAccounts [transferAccount]
New accounts opened via this application. This array has a one-to-one mapping to the products array. Use the self link in each item's _links to access each account.

createApplication

{
  "_profile": "http://api.apiture.com/schemas/application/v1.0.0/profile.json",
  "accountName": "My checking account",
  "_links": {
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    }
  },
  "applicants": [
    {
      "contact": {
        "firstName": "Elsa",
        "lastName": "Snowqueen",
        "_links": {
          "self": {
            "href": "https://www.example.com/users/user/3017d005-9910-4a8b-874b-397749353e7a"
          }
        }
      },
      "role": {
        "name": "primaryUser",
        "label": "Primary User",
        "_links": {
          "self": {
            "href": "https://www.example.com/associations/roles/3ad50a2a-3129-491f-9bd9-d4cccf54b228"
          }
        }
      }
    }
  ],
  "products": [
    {
      "name": "Personal Savings",
      "_links": {
        "self": {
          "href": "https://www.example.com/products/products/40ed6e40-cffa-4944-8d54-f9b50ed2081f"
        }
      }
    }
  ]
}

Create Account Application

Properties

Schema NameDescription
Create Account Application any
Representation of the request used to create a new account application This does not create an account_, just an _application. When the application is completed and approved, the account will be created. The request must contain the following contents:

  • products - an array of one or more Product objects which determine the banking product for the new account(s). The first(required) item in the array is the primary account; others are optional secondary accounts in a product bundle. The products must be an active internal account products that is eligible for opening new accounts. ("newAccountAvailability": "available")

These objects passed in the request may be complete object representations, or they may be "thin" objects with only HAL _links with a self link containing the object URL; the application resource will fetch these objects. Creating an application will instantiate a workflow instance, based on a workflow definition that is associated with the primary banking product in the application. The client application should process that workflow instance and present any interactive tasks which are available to run, and continue until the workflow is done.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous applicationFields
Common fields of the account application resource used to build other model schemas.

and

Schema NameDescription
anonymous applicationObjects
Additional objects related to a new account application.

summaryApplication

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    }
  }
}

Account Application Summary

Properties

Schema NameDescription
Account Application Summary any
Summary representation of an account application resource in account applications 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.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous applicationFields
Common fields of the account application resource used to build other model schemas.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this application. This is an immutable opaque string.
applicantName string
The name of the person who started this application. This is derived from the applicant resource passed via the first applicant if present, or the current user.
read-only
minLength: 1
maxLength: 128
productName string
The name of the banking product associated with this new account application. This is derived from the first product in the products array and and is imutable.
read-only
minLength: 1
maxLength: 128
organizationName string
The name of the organization, if this is an application for a business acount. This will be derived from the organization resource, if present.
read-only
minLength: 1
maxLength: 128
workflowState string
The state of the embedded application workflow. This is derived and immutable.
read-only
minLength: 1
maxLength: 16
state string

The state of the application. The values mean:

  • pending - The application is available to be started (POST to the apiture:start link on the application to start it.)
  • running - The application has started and has not completed or been canceled.
  • blocked - The application has started but is blocked; there are no available workflow tasks.
  • canceled - The application was canceled prior to completion
  • expired - The application was not completed prior to a pre-defined application lifecycle term. For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
  • rejected - The application was completed and was rejected
  • approved - The application was completed and approved
createdAt string(date-time)
The date-time when this application was opened/created. This is in RFC 3339 format: YYYY-MM-DDThh:mm:ss.sssZ
read-only
completedAt string(date-time)
The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in RFC 3339 format: YYYY-MM-DDThh:mm:ss.sssZ
read-only

Enumerated Values

Property Value
state pending
state running
state blocked
state canceled
state expired
state rejected
state approved

application

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/applications/application/v1.0.0/profile.json",
  "applicantName": "Elsa Snowqueen",
  "accountName": "My Premiere Savings",
  "productName": "Premiere Savings",
  "fundingAmount": {
    "value": "1500.00",
    "currency": "USD"
  },
  "state": "running",
  "workflowState": "running",
  "createdAt": "2019-01-31T13:31:40.547Z",
  "fundingAccount": {
    "title": "Elsa Snowqueen",
    "institutionName": "3rd Party Bank",
    "routingNumber": "021000021",
    "accountNumbers": {
      "full": "9876543210",
      "masked": "*************3210"
    }
  },
  "organization": {},
  "applicants": [],
  "products": [],
  "documents": [],
  "accountApproval": {
    "_id": "f3e5ba25-fd3e-47f2-895e-695eaa02fff6",
    "label": "Account Approval: Premiere Savings, Elsa Snowqueen",
    "state": "open",
    "done": false,
    "typeName": "accountApplication",
    "type": {
      "_id": "bd10a515-5da8-40ec-bd4a-f60e958a297b",
      "name": "accountApplication",
      "label": "Account Application",
      "domain": "https://api.apiture.com/approvals",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    "createdAt": "2019-12-14T06:41:35.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4"
      }
    }
  },
  "acknowledgements": [],
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:product": {
      "href": "https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18"
    },
    "apiture:workflow": {
      "href": "https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121"
    },
    "apiture:fundingAccount": {
      "href": "https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2"
    },
    "apiture:applicant": {
      "href": "https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569"
    },
    "apiture:organization": {
      "href": "https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2"
    },
    "apiture:approval": {
      "href": "https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a"
    }
  }
}

Account Application

Properties

Schema NameDescription
Account Application any
An application for a new account. The resource contains summary fields that identify the account applicant, the primary product, and the state of the applications. The nested arrays and objects contains related resources which support the application: applicants and their identity verification, related products, documents, the organization (for business accounts), etc. TODO: add a folder for application documents

allOf

Schema NameDescription
anonymous summaryApplication
Summary representation of an account application resource in account applications 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.

and

Schema NameDescription
anonymous applicationObjects
Additional objects related to a new account application.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this application. This is an immutable opaque string.
completedTaskCount number(int32)
The number of visible workflow tasks which have been completed.
read-only
runningTaskCount number(int32)
The number of visible workflow tasks which are currently running.
read-only
pendingTaskCount number(int32)
The number of visible workflow tasks which have been completed.
read-only
blockedTaskCount number(int32)
The number of visible workflow tasks which are blocked.
read-only
canceledTaskCount number(int32)
The number of visible workflow tasks which have been canceled.
read-only

transferAccount

{
  "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "title": "John Smith",
  "institutionName": "3rd Party Bank",
  "routingNumber": "021000021",
  "accountNumbers": {
    "masked": "*************3210",
    "full": "9876543210"
  },
  "verificationReport": {
    "state": "failed",
    "accountRiskFactors": [
      {
        "riskCode": 101,
        "description": "Account owner first name does not match"
      },
      {
        "riskCode": 102,
        "description": "Account owner last name does not match"
      },
      {
        "riskCode": 103,
        "description": "Account owner zip code does not match"
      }
    ]
  }
}

Transfer Account

Properties

Schema NameDescription
Transfer Account any
Summary properties of the source or target account for a transfer.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
title string
The title of the account. Traditionally, this is the name of the account holder.
maxLength: 512
institutionName string
The name of the financial institution.
read-only
minLength: 2
maxLength: 128
routingNumber string
The account routing number which identifies the financial institution. The full routing number and full account number are required to fully identify the account.
read-only
minLength: 9
maxLength: 32
accountNumbers accountNumbers
The account numbers for this account
read-only
verificationReport verificationReport
A verification report is an additional layer of validation that can be run against a verification resource. It uses available account aggregation data from an external provider to generate a pass/fail result based on pre-configured risk factors.
read-only

applications

{
  "_profile": "http://api.apiture.com/schemas/collection/application/v0.1.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "account applications",
  "_links": {
    "self": {
      "href": "https://www.example.com/accountApplications/applications?start=10&limit=10"
    },
    "first": {
      "href": "https://www.example.com/accountApplications/applications?start=0&limit=10"
    },
    "next": {
      "href": "https://www.example.com/accountApplications/applications?start=20&limit=10"
    },
    "collection": {
      "href": "https://www.example.com/accountApplications/applications"
    }
  },
  "_embedded": {
    "items": [
      {
        "_profile": "http://api.apiture.com/schemas/application/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "My Personal Checking",
        "completedTaskCount": 1,
        "runningTaskCount": 0,
        "pendingTaskCount": 1,
        "blockedTaskCount": 4,
        "canceledTaskCount": 0,
        "state": "pending"
      },
      {
        "_profile": "http://api.apiture.com/schemas/application/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365d"
          }
        },
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "name": "6 Month CD",
        "completedTaskCount": 5,
        "runningTaskCount": 0,
        "pendingTaskCount": 0,
        "blockedTaskCount": 0,
        "canceledTaskCount": 0,
        "state": "approved"
      }
    ]
  }
}

Account Application Collection

Properties

Schema NameDescription
Account Application Collection any
Collection of account applications. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection.)

allOf

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

and

Schema NameDescription
anonymous object
undefined
_embedded object
undefined
items [summaryApplication]
An array containing a page of account application items.

accountNumbers

{
  "masked": "*************3210",
  "full": "9876543210"
}

Account Numbers

Properties

Schema NameDescription
masked string
A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full account number is the same as the mask length. This value is derived and immutable.
read-only
minLength: 9
maxLength: 32
full string
The full account number. This value only appears when ?unmasked=true is passed on the GET request. Not included in the summary representation of the account that is included in account collection responses.
minLength: 9
maxLength: 32

summaryContact

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/contacts/summaryContact/v0.1.0/profile.json",
  "firstName": "John",
  "middleName": "Daniel",
  "lastName": "Smith",
  "preferredName": "John",
  "identification": [
    {
      "value": "111-11-1111",
      "type": "taxId"
    }
  ],
  "emailAddresses": [
    "api@apiture.com",
    "support@apiture.com"
  ],
  "phones": [
    {
      "type": "home",
      "number": "(555) 555-5555"
    },
    {
      "type": "mobile",
      "number": "(999) 555-5555"
    }
  ],
  "birthdate": "1974-10-27",
  "citizenship": [
    {
      "countryCode": "US",
      "status": "citizen"
    }
  ],
  "occupation": "Software Engineer",
  "addresses": [
    {
      "type": "home",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US"
    }
  ],
  "yearsAtAddress": 3,
  "mailingDifferentAddress": false,
  "kycAnswers": {
    "citizen": true,
    "permanentResident": true,
    "w9Withholdings": false,
    "employmentStatus": "employed",
    "occupation": "Software Engineer",
    "foreignPoliticalFigure": false,
    "countryPoliticalFigure": "N/A",
    "familyOfPoliticalFigure": false
  },
  "state": "active",
  "_links": {
    "self": {
      "href": "https://www.example.com/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Contact

Properties

Schema NameDescription
Contact any
Representation of a contact resource. Contact data (mailing addresses, phone numbers, email addresses) for an individual.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this contact resource. This is an immutable opaque string.
firstName string
The contact's first name (or given name)
middleName string
The contact's middle name
lastName string
The contact's last name (or surname)
preferredName string
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's firstName.
identification [object]
A collection of official identifying information associated with the contact. This currently only supports government tax ID.
value string (required)
The value of this form of identification (the tax ID as a string, for example)
type string (required)
The type of this form of identification. Supported types include taxId and passportNumber.
expiration string(date)
The date when the form of identification expires.
addresses [address]
An array of postal mailing addresses for this contact.
yearsAtAddress string
The contact's years at current home address
mailingDifferentAddress boolean
The contact is handling a different address for mailing
phones [object]
A collection of phone numbers associated with the contact.
type string
The type of phone number this represents.
number string
The phone number, as a string.
emailAddresses [string]
An array of email addresses associated with the contact. The first item, if present, is the default (preferred) contact email.
kycAnswers object
An object that contains the answers to kyc questions. These will be toggle-able and configurable in the future.
birthdate string(date)
The contact's birth date in YYYY-MM-DD format.
citizenship [object]
The contact's citizenship or nationality status.
countryCode string (required)
The ISO 3166-1 country code for the contact's citizenship.
minLength: 2
maxLength: 2
state string (required)
The contact's citizenship status (values TBD).
occupation string
undefined
state string
The state of this contact.

Enumerated Values

Property Value
type taxId
type passportNumber
type home
type work
type mobile
type other
state citizen
state other
state inactive
state active
state merged
state removed

address

{
  "type": "home",
  "addressLine1": "555 N Front Street",
  "addressLine2": "Suite 5555",
  "city": "Wilmington",
  "regionCode": "NC",
  "postalCode": "28401-5405",
  "countryCode": "US"
}

Address

Properties

Schema NameDescription
type string
undefined
label string
A text label, suitable for presentation to the end user. This is also used if type is other.
addressLine1 string
The first street address line of the address, normally a house number and street name.
addressLine2 string
The optional second street address line of the address.
city string
The name of the city or municipality.
regionCode string
The mailing address region code, such as state in the US, or a province in Canada.
postalCode string
The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.
countryCode string
The ISO 3166-1 country code.
minLength: 2
maxLength: 2
addressId any
Identifier for address in finxact

Enumerated Values

Property Value
type home
type work
type school
type other

contactVerification

{
  "_links": {
    "apiture:contact": {
      "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "verifications": [
    {
      "type": "fraudRiskReport",
      "_links": {
        "self": {
          "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
        }
      },
      "state": "passed",
      "verifiedAt": "2019-01-12T10:15:17Z"
    },
    {
      "type": "quiz",
      "_links": {
        "self": {
          "href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
        }
      },
      "state": "passed",
      "verifiedAt": "2019-01-12T10:19:41Z"
    }
  ]
}

Contact Verification

Properties

Schema NameDescription
Contact Verification any
Identity verification results for a Contact (a person).

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
verifications [any]
undefined
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.
state string
undefined
verifiedAt string(date-time)
The date-time when the verification occurred, in RFC 3339 format (YYYY-MM-DDThh:mm:ss.sssZ)

Enumerated Values

Property Value
state passed
state failed

acknowledgement

{
  "documentUri": "https://www.example.com/vault/documents/7e27f43e-8b14-4f71-8065-57f364347aab",
  "locale": "en_US",
  "accepted": true,
  "acceptedAt": "2019-11-14T07:45:52.375Z"
}

Acknowlegement

Properties

Schema NameDescription
documentUri string
The URI of the document that the user viewed.
locale string
Optional locale of user. This is in HTTP Accept-Language format such as "en_US" or "en_MX".
accepted boolean
A boolean value that indicates whether or not the user has accepted the document.
acceptedAt string(date-time)
A time stamp indicating the date and time when the user accepted the document. This is an RFC 3339 formatted date time string.

money

{
  "value": "3456.78",
  "currency": "USD"
}

Money

Properties

Schema NameDescription
value string
The net monetary value. A negative amount denotes a debit; a positive amount a credit. The numeric value is represented as a string so that it can be exact with no loss of precision.
currency string
The ISO 4217 currency code for this monetary value. This is always upper case ASCII. TODO: ISO 4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
minLength: 3
maxLength: 3

applicant

{
  "contact": {
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
    "_profile": "http://api.apiture.com/schemas/contacts/summaryContact/v0.1.0/profile.json",
    "firstName": "John",
    "middleName": "Daniel",
    "lastName": "Smith",
    "preferredName": "John",
    "identification": [
      {
        "value": "111-11-1111",
        "type": "taxId"
      }
    ],
    "emailAddresses": [
      "api@apiture.com",
      "support@apiture.com"
    ],
    "phones": [
      {
        "type": "home",
        "number": "(555) 555-5555"
      },
      {
        "type": "mobile",
        "number": "(999) 555-5555"
      }
    ],
    "birthdate": "1974-10-27",
    "citizenship": [
      {
        "countryCode": "US",
        "status": "citizen"
      }
    ],
    "occupation": "Software Engineer",
    "addresses": [
      {
        "type": "home",
        "addressLine1": "555 N Front Street",
        "addressLine2": "Suite 5555",
        "city": "Wilmington",
        "regionCode": "NC",
        "postalCode": "28401-5405",
        "countryCode": "US"
      },
      {
        "type": "work",
        "addressLine1": "123 S 3rd Street",
        "addressLine2": "Apt 42",
        "city": "Wilmington",
        "regionCode": "NC",
        "postalCode": "28411-5405",
        "countryCode": "US"
      }
    ],
    "yearsAtAddress": 3,
    "mailingDifferentAddress": false,
    "kycAnswers": {
      "citizen": true,
      "permanentResident": true,
      "w9Withholdings": false,
      "employmentStatus": "employed",
      "occupation": "Software Engineer",
      "foreignPoliticalFigure": false,
      "countryPoliticalFigure": "N/A",
      "familyOfPoliticalFigure": false
    },
    "state": "active",
    "_links": {
      "self": {
        "href": "https://www.example.com/contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c"
      }
    }
  },
  "role": {
    "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
    "_links": {
      "self": {
        "href": "{uri of current resource}"
      }
    },
    "_id": "string",
    "name": "owner",
    "label": "Primary User",
    "description": "string",
    "createdAt": "2019-01-31T13:31:41Z"
  },
  "verification": {
    "_links": {
      "apiture:contact": {
        "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
      }
    },
    "verifications": [
      {
        "type": "fraudRiskReport",
        "_links": {
          "self": {
            "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
          }
        },
        "state": "passed",
        "verifiedAt": "2019-01-12T10:15:17Z"
      },
      {
        "type": "quiz",
        "_links": {
          "self": {
            "href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
          }
        },
        "state": "passed",
        "verifiedAt": "2019-01-12T10:19:41Z"
      }
    ]
  },
  "acknowledgements": [
    {
      "documentUri": "https://www.example.com/vault/documents/7e27f43e-8b14-4f71-8065-57f364347aab",
      "locale": "en_US",
      "accepted": true,
      "acceptedAt": "2019-11-14T07:45:52.375Z"
    }
  ],
  "fraudReport": {
    "_profile": "https://api.apiture.com/schemas/identity/fraudRiskReport/v1.0.0/profile.json",
    "_links": {
      "self": {
        "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
      },
      "apiture:contact": {
        "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
      }
    },
    "_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
    "type": "fraudRiskReport",
    "inputs": {
      "identity": {
        "_profile": "https://api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
        "taxId": "555-55-5555",
        "firstName": "John",
        "lastName": "Smith",
        "address1": "1741 Tiburon Dr",
        "city": "Wilmington",
        "region": "NC",
        "postalCode": "28403",
        "phone": "555-555-5555",
        "birthdate": "1940-10-15",
        "email": "api@apiture.com",
        "ipAddress": "127.0.0.1"
      }
    },
    "outputs": {
      "fraudRiskCategories": [
        {
          "type": "personalInfoDoesNotMatch",
          "description": "The retrieved identity does not match the provided PII."
        },
        {
          "type": "addressIsHighRisk",
          "description": "The provided address is considered high-risk"
        },
        {
          "type": "addressIsPOBoxOrNonApproved",
          "description": "The provided address is a PO Box or other non-approved address"
        },
        {
          "type": "identityOnGovernmentWatchlist",
          "description": "The provided identity is located on one or more watchlists"
        },
        {
          "type": "ipRestricted",
          "description": "The provided IP address is restricted"
        },
        {
          "type": "emailRestricted",
          "description": "The provided email address is restricted"
        },
        {
          "type": "nonStandardTaxId",
          "description": "The provided taxId is non-standard. Example: The provided SSN is an ITIN (Individual Taxpayer  Identification Number)"
        },
        {
          "type": "ageRestricted",
          "description": "The provided identity does not meet the required age. Example: US COPPA laws forbid conducting e-commerce with people under 14 years of age."
        }
      ],
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
    }
  },
  "verified": true,
  "verificationToken": "string"
}

Applicant

Properties

Schema NameDescription
contact summaryContact
A Contact object representing an individual to user.
role role
The role the user has on the account. This is a Role resource from the Associations API; it must be a bank account role. The default is determined by the number of applicants and the type of account (personal vs. business.)
verification contactVerification
The verification status of the user or contact.
acknowledgements [acknowledgement]
An array of documents which the the applicant has accepted, such as terms of use, electronic consent.
fraudReport fraudRiskReport
The fraud risk report for the applicant.
verified boolean
true if and only if the applicant has been verified.
read-only
verificationToken string
A secure token that contains identity verification data about a given contact including their verified status. The verified property in this applicant schema is derived from the Boolean status embedded in this token. The data contained in this token is derived from the results of any identity verification service operations previously performed on the contact.
read-only

role

{
  "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "_id": "string",
  "name": "owner",
  "label": "Primary User",
  "description": "string",
  "createdAt": "2019-01-31T13:31:41Z"
}

Role

Properties

Schema NameDescription
Role any
A role that a user or contact holds relative to an account, such as Primary User_, _Authorized Signer_, _Power of Attorney.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this role resource. This is an immutable opaque string.
name string
The name of this role, for identification purposes, such as owner, beneficiary, authorizedSigner. Some roles have well-known uses in the platform.
minLength: 1
maxLength: 128
label string
The text label for this role, for use in human presentation. This field may be localized.
minLength: 1
maxLength: 128
description string
A fuller description of this role. This field may be localized.
minLength: 1
maxLength: 4096
createdAt string(date-time)
The date-time when the role was created. This is in RFC 3339 format, UTC. This is derived and immutable.
read-only

document

{
  "documentUri": "string",
  "contentType": "application/pdf",
  "type": "governmentId",
  "approval": {
    "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
    "_profile": "http://api.apiture.com/schemas/approvals/approvals/v0.1.0/profile.json",
    "createdAt": "2019-04-17T10:04:46.375Z",
    "updatedAt": "2019-04-17T10:12:58.375Z",
    "_links": {
      "self": {
        "href": "https://www.example.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:approvalType": {
        "href": "https://www.example.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
      },
      "apiture:target": {
        "href": "https://www.example.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
      },
      "apiture:approve": {
        "href": "https://www.example.com/approvals/approvedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:reject": {
        "href": "https://www.example.com/approvals/rejectedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:return": {
        "href": "https://www.example.com/approvals/returnedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      },
      "apiture:waive": {
        "href": "https://www.example.com/approvals/waivedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
      }
    },
    "_embedded": {
      "approvalType": {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "_profile": "http://api.apiture.com/schemas/approvals/approvalTypes/v0.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
          }
        },
        "name": "governmentId",
        "label": "Government Issued ID",
        "description": "A document that identifies a user"
      }
    }
  }
}

Document

Properties

Schema NameDescription
documentUri string (required)
A URI of the document which the applicant has uploaded and which is to be reviewed and approved or rejected. The document must resides in the document storage system (this is the URI of a document in the Vault API).
contentType string
The media type for this file. For text documents, the content type should include the text encoding; if omitted, the encoding type is assumed to be utf-8.
type string (required)
The document type as determined by the business use case. Unlike the contentType, this indicates what the document content represents (such as a processedCheckImage, mobileCheckDepositImageFront, etc.)
approval approval (required)
An Approval object which the reviewer can use to approve or reject this document. The apiture:approve, apiture:return, apiture:reject and apiture:waive links in the resource may be used to approve, return, reject, or waive the document review via POST operations (no request body) to the href URL in the respective links.

productTypeFields

{
  "state": "pending",
  "name": "string",
  "label": "string",
  "description": "string",
  "subtype": true,
  "subtypeCount": 0
}

Product Type Fields

Properties

Schema NameDescription
Product Type Fields any
Common fields of the product type resource.

allOf

Schema NameDescription
anonymous prodState

The state of a product or type

  • pending is a new product or type that is not yet active. Only pending items may be deleted. This is the default state.

  • active is an item that is in use or available for use.

  • inactive is an item that is no longer in use or available for use. An item cannot be changed to inactive if any other resource is using it. For example, a product type may not be set to inactive if any active product is of that type; a product may not be set to inactive if there are any active accounts for that product.

  • removed Removed and archived. Removed items are not eligible to be activated. When an account is removed, it's name is changed so that the name may be used for new products or product types.

    The state property is immutable and derived and may not be changed via the PUT or PATCH operations.

    To change the state of a product or product type, use the POST operation using the apiture:activate, apiture:deactivate or apiture:remove links on the resource.

and

Schema NameDescription
anonymous object
undefined
name string
The name of this product type.
minLength: 1
maxLength: 128
label string
The text label for this product type. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown)
A fuller description of this product type. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
minLength: 1
maxLength: 4096
subtype boolean
Indicates if this is a subtype. This is a derived, immutable property, based on whether the product type was created with a link to a parent type. See also the apiture:parent link on the productSubtype schema.
subtypeCount number(integer)
0 if this type does not have subtypes; otherwise this holds the indicated number of direct subtypes. This is a derived, immutable property. See also the apiture:children link on the productSubtype schema.

prodState

{
  "state": "pending"
}

State of a Product or Product Type

Properties

Schema NameDescription
state string
undefined

Enumerated Values

Property Value
state pending
state active
state inactive
state removed

summaryProductType

{
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "_profile": "https://api.apiture.com/schemas/products/productType/v0.3.0/profile.json",
  "_links": {
    "self": {
      "href": "https://www.example.com/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "https://www.example.com/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    }
  },
  "name": "Demand Deposit with Interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0
}

Product Type Summary

Properties

Schema NameDescription
Product Type Summary any
Summary representation of a product type resource in product types 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. This representation omits the attributes of the full representation.

allOf

Schema NameDescription
anonymous productTypeFields
Common fields of the product type resource.

and

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this product type resource. This is an opaque string.

productType

{
  "_id": "eccb54ed-0f0a-443b-9f2e-32d5b8f4371c",
  "_profile": "https://api.apiture.com/schemas/products/productType/v0.3.0/profile.json",
  "_links": {
    "self": {
      "href": "https://www.example.com/products/productTypes/eccb54ed-0f0a-443b-9f2e-32d5b8f4371c"
    },
    "apiture:parent": {
      "href": "https://www.example.com/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
    }
  },
  "_embedded": {
    "parent": {
      "_id": "4ea6fe4e-405c-4d71-93e3-ad637b5cab2d",
      "_profile": "https://api.apiture.com/schemas/products/productType/v0.3.0/profile.json",
      "name": "Demand Deposit",
      "label": "Demand Deposit",
      "description": "A demand deposit checking account.",
      "state": "active",
      "subtype": false,
      "subtypeCount": 1,
      "_links": {
        "self": {
          "href": "https://www.example.com/products/productTypes/4ea6fe4e-405c-4d71-93e3-ad637b5cab2d"
        }
      }
    }
  },
  "name": "Demand Deposit with interest",
  "label": "Demand Deposit with Interest",
  "description": "A demand deposit checking account with interest.",
  "state": "active",
  "subtype": true,
  "subtypeCount": 0
}

Product Type

Properties

Schema NameDescription
createdAt string(date-time)
The date-time when this product type was created. This value is derived and immutable.
_embedded object
Embedded resources for this product type. This may contain the parent type, if any. _embedded may not appear if there are no embedded resources.
parent productType
In subtypes, this is the parent type.

allOf

Schema NameDescription
anonymous summaryProductType
Summary representation of a product type resource in product types 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. This representation omits the attributes of the full representation.

and

Schema NameDescription
anonymous object
undefined
attributes object
An optional map of name/value pairs which provide additional metadata about the product type.
createdAt string(date-time)
The date-time when this product type was created. This value is derived and immutable.
_embedded object
Embedded resources for this product type. This may contain the parent type, if any. _embedded may not appear if there are no embedded resources.
parent summaryProductType
In subtypes, this is the parent type.

fee

{
  "type": "service",
  "period": "P1M",
  "description": "string",
  "structure": "unknown",
  "amount": "1.00"
}

Fee

Properties

Schema NameDescription
type string

The fee type.

  • service - servicing fee
  • minimumBalance - average monthly account balance is less than the product's constraints.minimumBalance
  • overdraft - fee assessed if user overdrafts (balance drops below the minimum balance)
  • returnedCheck - check is presented when the account has insufficient funds.
  • statementHardCopy - administration and postage to send physical copy of statement
  • atm - fee for Automatic Teller Machine (ATM) use outside of the financial institutions ATM network
  • foreignTransactions - fee due to foreign transactions
  • earlyClosing - if the acct is closed early as determined by the financial institution.
  • earlyWithdrawal - if a user withdraws funds from CD before the maturity date
  • other - Other fees, as described in the fee description
period string
The period at which the fee is assessed. If omitted, the fee is assessed per transaction.

This value is an ISO 8601 duration string of the form P[n]Y[n]M[n]D to specify the fee period in the number of years/months/weeks/days. For example, the values P1d, P1W, P2W, P1M, P0.25Y, P0.5Y, P1Y indicate a term of daily, weekly, by-weekly, monthly, quarterly, biannually, and annually, respectively, (although other periods may be allowed.)

description string
A description of the fee and its structure and period.
structure string
The fee structure: fixed fee, variable fee, or other. For example, the service fee or atm may be fixed (such as "amount" : "2.00") but the foreignTransactions fee may be variable.
amount string
The amount of the (fixed) fee, in the product's currency.

Enumerated Values

Property Value
type service
type minimumBalance
type overdraft
type returnedCheck
type statementHardCopy
type atm
type foreignTransactions
type earlyClosing
type earlyWithdrawal
type other
structure unknown
structure variable
structure fixed

transactionTypes

[
  "debit"
]

Transaction Types

Properties

Schema NameDescription
Transaction Types [transactionType]
An array which lists which transaction types are allowed for an account.

transactionType

"debit"

Transaction Type

Properties

Schema NameDescription
Transaction Type string

A string which defines a transaction type allowed for an account.

  • credit : Credits may be posted to this account, such as transfer funds to this external account.
  • debit : Debits may be posted to this account, such as transfer funds from this external account.

Enumerated Values

Property Value
Transaction Type debit
Transaction Type credit

productFields

{
  "state": "pending",
  "name": "string",
  "label": "string",
  "description": "string",
  "code": "string",
  "newAccountAvailability": "available",
  "category": "string",
  "rate": {
    "value": "1.40",
    "type": "apr"
  },
  "revision": "string"
}

Product Fields

Properties

Schema NameDescription
Product Fields any
Common fields of the product resource.

allOf

Schema NameDescription
anonymous prodState

The state of a product or type

  • pending is a new product or type that is not yet active. Only pending items may be deleted. This is the default state.

  • active is an item that is in use or available for use.

  • inactive is an item that is no longer in use or available for use. An item cannot be changed to inactive if any other resource is using it. For example, a product type may not be set to inactive if any active product is of that type; a product may not be set to inactive if there are any active accounts for that product.

  • removed Removed and archived. Removed items are not eligible to be activated. When an account is removed, it's name is changed so that the name may be used for new products or product types.

    The state property is immutable and derived and may not be changed via the PUT or PATCH operations.

    To change the state of a product or product type, use the POST operation using the apiture:activate, apiture:deactivate or apiture:remove links on the resource.

and

Schema NameDescription
anonymous object
undefined
name string
The name of this product.
minLength: 1
maxLength: 128
label string
The text label for this product. This field may be localized.
minLength: 1
maxLength: 128
description string(markdown)
A fuller description of this product. This field may be localized. The content is processed as Github Flavored Markdown and thus supports rich text.
minLength: 1
maxLength: 4096
code string
The unique product code for this product, normally defined by the underlying banking core. The code cannot be changed once the state is beyond pending.
maxLength: 64
newAccountAvailability string
Indicates if the product is available for opening new accounts.

  • available means the product may be selected for a new account application.
  • notAvailable means the product may not be selected for a new account application.

The default is available. Note that clients must check both the product state and the newAccountAvailability when listing products for new account opening. The ?openable=true query parameter on /accounts combines these. TODO This field will not be directly mutable in the future; so that changing availability does not require updating the product and creating a new revision. Instead, this field will be _derived_, based on the product's existence in the unlockedProducts collection.

category string
The product category name.
rate rate
The interest rate for this product.
revision string
The revision string for this product. This property derived and immutable.

Enumerated Values

Property Value
newAccountAvailability available
newAccountAvailability notAvailable

summaryProduct

{
  "_id": "a6459cdf-543e-46df-887b-ac5378ee9acd",
  "_profile": "https://api.apiture.com/schemas/products/product/v0.3.0/profile.json",
  "_links": {
    "self": {
      "href": "https://www.example.com/products/products/a6459cdf-543e-46df-887b-ac5378ee9acd"
    },
    "apiture:productType": {
      "href": "https://www.example.com/products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8"
    },
    "apiture:productSubtype": {
      "href": "https://www.example.com/products/productTypes/fa4f2335-3306-4721-b74c-8ec0c77823e9"
    }
  },
  "name": "Premiere Checking",
  "label": "Premiere Checking",
  "description": "A premiere demand deposit checking account for business use.",
  "state": "active",
  "type": "Demand Deposit",
  "subtype": "Demand Deposit with Interest",
  "newAccountAvailability": "available",
  "revision": "2019-04-25T07:56:46.375Z",
  "_embedded": {}
}

Product Summary

Properties

Schema NameDescription
Product Summary any
Summary representation of a product resource in products 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. This representation omits the attributes of the full representation.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous productFields
Common fields of the product resource.

and

Schema NameDescription
anonymous revisionEffectiveInterval
Time interval when a resource revision was active. This schema is used when composing other schemas.

Note: This schema should be moved to common-models.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this product resource. This is an immutable opaque string.
type string
The product type name, which is derived from the linked product type. The product category name
subtype string
The product subtype name, which is derived from the linked product subtype. This is a derived, immutable property.

revisionEffectiveInterval

{
  "effectiveStartAt": "2019-01-31T13:31:41Z",
  "effectiveEndAt": "2019-01-31T13:31:41Z"
}

Revision Effective Time Interval

Properties

Schema NameDescription
effectiveStartAt string(date-time)
The date-time when this revision was created and become effective. This is a string in RFC 3339 format: YYYY-MM-DDThh:mm:ss.sssZ. This field is immutable.
effectiveEndAt string(date-time)
The date-time when the another revision became effective and this revision ceased being effective. This is a string in RFC 3339 format: YYYY-MM-DDThh:mm:ss.sssZ. This field is immutable and is not present until the revision is no longer active. If present in a PUT or PATCH, this date (not the current date-time) will be used for the revision ID and the effectiveStartAt of the next revision, but the date must be between the revision's effectiveStartAt and the current date-time.

rate

{
  "value": "1.40",
  "type": "apr"
}

Rate

Properties

Schema NameDescription
value string
The rate, expressed as an decimal percentage string in order to represent the rate exactly. This number must have 2 to four decimal points, i.e. '2.00' or '0.50' or '1.015', but not 2 or .5. (Regular expression pattern: -?\d{1,3}+\.\d{2,4})
benchmark string

An optional base benchmark that the rate is relative to. If omitted, the rate is fixed. Otherwise the rate is added to the benchmark rate. Values may be (but are not limited to):

compoundPeriod string
The period at which interest compounds.

This value is an ISO 8601 duration string of the form P[n]Y[n]M[n]D to specify the term in the number of years/months/days. The default is "P0D" (continuous).

accrualType string
Indicates how interest is accrued.
adjustmentPeriod string
The period at which the rate is adjusted or recomputed to account for differences in the benchmark rate.

This value is an ISO 8601 duration string of the form P[n]Y[n]M[n]D to specify the term in the number of years/months/days; The default is "P1D" (daily).

type interestRateType
The interest rate type.

Enumerated Values

Property Value
accrualType compounding
accrualType simple
accrualType frontLoading

interestRateType

"apr"

Interest Rate Type

Properties

Schema NameDescription
Interest Rate Type string

The rate type. The rate type may not be changed once it is set at product creation. Rate types are:

  • apr - annual percentage rate
  • apy - annual percentage yield. This applies for Demand Deposit Accounts (DDA), Money Market Accounts (MMA), Certificate of Deposit Accounts (CDA), Savings Deposit Accounts (SDA)

Enumerated Values

Property Value
Interest Rate Type apr
Interest Rate Type apy

approvalFields

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

Approval Fields

Properties

Schema NameDescription
label string
The approval's common name. If ommitted on create request, this will default to the label of the Approval Type.
description string
The approval's description. If ommitted on create request, this will default to the description of the Approval Type.
state string
The approval's state.

  • open Created but pending input subject to approval
  • submitted Pending review by approver
  • approved Approval granted
  • rejected Approval denied
  • waived Approval forgiven
  • returned Approver returns approval for modification
  • canceled Approval request withdrawn

This is an immutable and derived property. It's value can only be changed by using the corresponding POST operations, submitApproval, approveApproval, rejectApproval, waiveApproval, returnApproval, and cancelApproval.

done boolean
Inferred done flag. 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.
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.
reviewedAt string(date-time)
The date-time when the approval was reviewed.

Enumerated Values

Property Value
state open
state submitted
state approved
state rejected
state waived
state returned
state canceled

summaryApproval

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/approvals/approvals/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://www.example.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Approval Summary

Properties

Schema NameDescription
Approval Summary any
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.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous approvalFields
Common fields of the approval resource used to build other model schemas.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this approval resource. This is an immutable opaque string.

approval

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/approvals/approvals/v0.1.0/profile.json",
  "createdAt": "2019-04-17T10:04:46.375Z",
  "updatedAt": "2019-04-17T10:12:58.375Z",
  "_links": {
    "self": {
      "href": "https://www.example.com/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:approvalType": {
      "href": "https://www.example.com/approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd"
    },
    "apiture:target": {
      "href": "https://www.example.com/vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe"
    },
    "apiture:approve": {
      "href": "https://www.example.com/approvals/approvedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:reject": {
      "href": "https://www.example.com/approvals/rejectedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:return": {
      "href": "https://www.example.com/approvals/returnedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:waive": {
      "href": "https://www.example.com/approvals/waivedApprovals?approval=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_embedded": {
    "approvalType": {
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_profile": "http://api.apiture.com/schemas/approvals/approvalTypes/v0.1.0/profile.json",
      "_links": {
        "self": {
          "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      },
      "name": "governmentId",
      "label": "Government Issued ID",
      "description": "A document that identifies a user"
    }
  }
}

Approval

Properties

Schema NameDescription
Approval any
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. These links are:

  • apiture:approve -- mark the review request as approved
  • apiture:reject -- to reject the approval request
  • apiture:waive -- to waive the approval requirements. For example, rather than requiring a specific identity verification document to be approved, waiving the requirement means the document does not have to be provided.
  • apiture:return -- to return the request so the client can update the request or resource, then resubmit the request for approval
  • apiture:submit -- to submit a new request for appoval, or resubmit a request after it has been returned
  • apiture:cancel -- to cancel the request for review/approval

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 user may lack permissions to approve a wire transfer they submitted.

allOf

Schema NameDescription
anonymous summaryApproval
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.

and

Schema NameDescription
anonymous object
undefined
attributes object
An optional map of name/value pairs which provide additional metadata about the approval.
createdAt string(date-time)
The date-time when the approval was created.
updatedAt string(date-time)
The date-time when the approval was updated
_embedded object
The objects which participate in this association
approvalType summaryApprovalType
The role for this association

summaryApprovalType

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/approvals/approvalTypes/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Approval Type Summary

Properties

Schema NameDescription
Approval Type Summary any
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.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this approval resource. This is an immutable opaque string.
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 Approval Types that it defines. The combination of domain and name must be unique within the set of all resources of this type. It is a best practice to define domains with URIs.

verificationReport

{
  "state": "failed",
  "accountRiskFactors": [
    {
      "riskCode": 101,
      "description": "Account owner first name does not match"
    },
    {
      "riskCode": 102,
      "description": "Account owner last name does not match"
    },
    {
      "riskCode": 103,
      "description": "Account owner zip code does not match"
    }
  ]
}

Verification Report

Properties

Schema NameDescription
state string
The state of a verification report. passed indicates that the verification does not conain any risk factors based upon the user and account information, failed indicates that the verification contains one or more risk factors.
accountRiskFactors [riskFactor]
[A risk factor indicates a mismatch between user data and available account data.]

Enumerated Values

Property Value
state passed
state failed

riskFactor

{
  "riskCode": "string",
  "description": "string",
  "attributes": {
    "value": "string",
    "expected": [
      "string"
    ]
  }
}

Risk Factor

Properties

Schema NameDescription
riskCode string
The risk factor risk code
description string
The risk code description
attributes riskFactorAttributes
Details of the data used to determine a risk factor

riskFactorAttributes

{
  "value": "string",
  "expected": [
    "string"
  ]
}

Risk Factor Attributes

Properties

Schema NameDescription
value string
Supplied value for risk factor analysis
expected [string]
Known values referenced for risk factor analysis

fraudRiskReport

{
  "_profile": "https://api.apiture.com/schemas/identity/fraudRiskReport/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
    },
    "apiture:contact": {
      "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
  "type": "fraudRiskReport",
  "inputs": {
    "identity": {
      "_profile": "https://api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
      "taxId": "555-55-5555",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "1741 Tiburon Dr",
      "city": "Wilmington",
      "region": "NC",
      "postalCode": "28403",
      "phone": "555-555-5555",
      "birthdate": "1940-10-15",
      "email": "api@apiture.com",
      "ipAddress": "127.0.0.1"
    }
  },
  "outputs": {
    "fraudRiskCategories": [
      {
        "type": "personalInfoDoesNotMatch",
        "description": "The retrieved identity does not match the provided PII."
      },
      {
        "type": "addressIsHighRisk",
        "description": "The provided address is considered high-risk"
      },
      {
        "type": "addressIsPOBoxOrNonApproved",
        "description": "The provided address is a PO Box or other non-approved address"
      },
      {
        "type": "identityOnGovernmentWatchlist",
        "description": "The provided identity is located on one or more watchlists"
      },
      {
        "type": "ipRestricted",
        "description": "The provided IP address is restricted"
      },
      {
        "type": "emailRestricted",
        "description": "The provided email address is restricted"
      },
      {
        "type": "nonStandardTaxId",
        "description": "The provided taxId is non-standard. Example: The provided SSN is an ITIN (Individual Taxpayer  Identification Number)"
      },
      {
        "type": "ageRestricted",
        "description": "The provided identity does not meet the required age. Example: US COPPA laws forbid conducting e-commerce with people under 14 years of age."
      }
    ],
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
  }
}

Fraud-risk Report

Properties

Schema NameDescription
Fraud-risk Report any
undefined

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous identityVerification
The core representation of an identity verification resource

and

Schema NameDescription
anonymous object
undefined
inputs fraudRiskReportInputs
The inputs of a fraud-risk report. Used for workflow
outputs fraudRiskReportOutputs
The outputs of a fraud-risk report. Used for workflow

fraudRiskCategory

{
  "type": "addressIsPOBoxOrNonApproved",
  "description": "The provided address is a PO Box or other non-approved address"
}

Fraud-risk Category

Properties

Schema NameDescription
type fraudRiskCategoryType
Represents the possible types of fraud-risk
description string
The description of the fraud.

fraudRiskCategoryType

"ipRestricted"

Fraud Risk Category Type

Properties

Schema NameDescription
Fraud Risk Category Type string
Represents the possible types of fraud-risk

Enumerated Values

Property Value
Fraud Risk Category Type ipRestricted
Fraud Risk Category Type identityOnGovernmentWatchlist
Fraud Risk Category Type identityOnAlertList
Fraud Risk Category Type addressIsPOBoxOrNonApproved
Fraud Risk Category Type addressIsHighRisk
Fraud Risk Category Type ageRestricted
Fraud Risk Category Type nonStandardTaxId
Fraud Risk Category Type personalInfoDoesNotMatch
Fraud Risk Category Type emailRestricted

fraudRiskReportOutputs

{
  "token": "string",
  "fraudRiskCategories": [
    {
      "type": "addressIsPOBoxOrNonApproved",
      "description": "The provided address is a PO Box or other non-approved address"
    }
  ]
}

Fraud-risk Report Outputs

Properties

Schema NameDescription
Fraud-risk Report Outputs any
The outputs of a fraud-risk report. Used for workflow

allOf

Schema NameDescription
anonymous outputs
Base model schema for identity verification operations outputs

and

Schema NameDescription
anonymous object
undefined
fraudRiskCategories [fraudRiskCategory]
[Representation of a fraud-risk category]

fraudRiskReportInputs

null

Fraud-risk Report Inputs

Properties

Schema NameDescription
Fraud-risk Report Inputs any
The inputs of a fraud-risk report. Used for workflow

allOf

Schema NameDescription
anonymous inputs
Base model schema for identity verification operations inputs

and

Schema NameDescription
anonymous object
undefined
identity identity
Information that describes the identity

inputs

null

Inputs

Properties

Schema NameDescription
Inputs any
Base model schema for identity verification operations inputs

outputs

{
  "token": "string"
}

Outputs

Properties

Schema NameDescription
Outputs verificationToken
Base model schema for identity verification operations outputs

verificationToken

{
  "token": "string"
}

Verification Token

Properties

Schema NameDescription
token string
An opaque string that conveys the state of the contact's identity verification.

identity

{
  "taxId": "555-55-5555",
  "firstName": "John",
  "lastName": "Smith",
  "address1": "1741 Tiburon Dr",
  "city": "Wilmington",
  "region": "NC",
  "postalCode": "28403",
  "phone": "555-555-5555",
  "birthdate": "1940-10-15",
  "email": "api@apiture.com",
  "ipAddress": "127.0.0.1"
}

Identity

Properties

Schema NameDescription
taxId string (required)
The identity's tax or government ID
minLength: 1
maxLength: 128
firstName string (required)
The identity's first name.
minLength: 1
maxLength: 128
lastName string (required)
The identity's last name.
minLength: 1
maxLength: 128
address1 string (required)
Line 1 of the identity's street address.
minLength: 1
maxLength: 512
address2 string
Line 2 of the identity's street address.
minLength: 1
maxLength: 512
city string (required)
The identity's city.
minLength: 1
maxLength: 64
region string (required)
The identity's region.
minLength: 1
maxLength: 128
postalCode string (required)
The identity's postal code.
minLength: 1
maxLength: 32
phone string (required)
The identity's phone.
minLength: 1
maxLength: 32
birthdate string(date) (required)
The identity's birth date in yyyy-mm-dd format.
minLength: 10
maxLength: 10
pattern: ^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$
email string(email)
The identity's email address
maxLength: 256
ipAddress string(ipv4)
The identity's IP address

identityVerification

{
  "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    },
    "apiture:contact": {
      "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "verifications": [
    {
      "type": "fraudRiskReport",
      "_links": {
        "self": {
          "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
        }
      },
      "state": "passed",
      "verifiedAt": "2018-01-12T10:15:17Z"
    },
    {
      "type": "quiz",
      "_links": {
        "self": {
          "href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
        }
      },
      "state": "passed",
      "verifiedAt": "2018-01-12T10:19:41Z"
    }
  ],
  "_id": "string",
  "createdAt": "2019-01-31T13:31:41Z",
  "expiresAt": "2019-01-31T13:31:41Z"
}

Identity Verification Resource

Properties

Schema NameDescription
Identity Verification Resource any
The core representation of an identity verification resource

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous identityVerificationType
Represents the possible types of identity verification

and

Schema NameDescription
anonymous object
undefined
_id string
A unique identifier for this resource instance. This is is an opaque string.
createdAt string(date-time)
The date-time when the resource was created.
expiresAt string(date-time)
The date-time when the resource expires.

identityVerificationType

{
  "_links": {
    "apiture:contact": {
      "href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "verifications": [
    {
      "type": "fraudRiskReport",
      "_links": {
        "self": {
          "href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
        }
      },
      "state": "passed",
      "verifiedAt": "2018-01-12T10:15:17Z"
    },
    {
      "type": "quiz",
      "_links": {
        "self": {
          "href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
        }
      },
      "state": "passed",
      "verifiedAt": "2018-01-12T10:19:41Z"
    }
  ]
}

Identity Verification Type

Properties

Schema NameDescription
type string
undefined

Enumerated Values

Property Value
type fraudRiskReport
type quiz
type adminApproval

businessVerifications

{
  "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "businessVerifications": [
    {
      "state": "failed",
      "completedAt": "2018-04-17T10:04:46.375Z",
      "type": "verificationReport",
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_links": {
        "apiture:verificationReport": {
          "href": "/businessVerifications/verificationReports/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    },
    {
      "state": "passed",
      "completedAt": "2018-04-17T10:04:46.375Z",
      "type": "administratorApproval",
      "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
      "_links": {
        "apiture:approval": {
          "href": "/approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c"
        }
      }
    }
  ]
}

Business Verifications

Properties

Schema NameDescription
Business Verifications any
Representation of the verification results that were previously generated by this service via the POST /businessVerifications. The result contains a link to apiture:organization if an apiture:organization link was passed on the request to create the report.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
businessVerifications [businessVerification]
An array of business verification resources

businessVerification

{
  "state": "passed",
  "completedAt": "2019-01-31T13:31:41Z",
  "type": "verificationReport",
  "_id": "string",
  "_links": {
    "property1": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    },
    "property2": {
      "href": "http://example.com",
      "type": "string",
      "templated": true,
      "title": "string",
      "deprecation": "http://example.com",
      "profile": "http://example.com"
    }
  }
}

Business Verification Report

Properties

Schema NameDescription
state string
The state of a verification report. passed indicates that the Business was successfully verified based upon the supplied information, failed indicates it was not.
completedAt string(date-time)
An ISO 8601 UTC time stamp indicating when the verification report was created.
type string
The identity method type. Possible values are verificationReport or administratorApproval.
_id string
This business verification's unique id
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

Enumerated Values

Property Value
state passed
state failed
type verificationReport
type administratorApproval

organization

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/organizations/organization/v0.1.0/profile.json",
  "createdAt": "2018-04-17T10:04:46.375Z",
  "updatedAt": "2018-04-17T10:12:58.375Z",
  "_links": {
    "self": {
      "href": "/organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c"
    },
    "apiture:deactivate": {
      "href": "/organizations/inactiveOrganizations?organization=0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  },
  "_embedded": {}
}

Organization

Properties

Schema NameDescription
Organization any

Representation of content and descriptive data (mailing addresses, phone numbers, email addresses) for an organization. An organization may have the following links in the _links object:

  • apiture:activate - Activate a new, pending organization
  • apiture:deactivate - Deactivate an organization (if it is active)
  • apiture:remove - Remove an inactive organization

allOf

Schema NameDescription
anonymous updateOrganization
Representation used to update or patch an organization.

and

Schema NameDescription
anonymous object
undefined
createdAt string(date-time)
The date-time when the organization was created.
updatedAt string(date-time)
The date-time when the organization was updated

updateOrganization

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json"
}

Update Organization

Properties

Schema NameDescription
Update Organization any
Representation used to update or patch an organization.

allOf

Schema NameDescription
anonymous summaryOrganization
Summary representation of an organization resource in organizations 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.

and

Schema NameDescription
anonymous object
undefined
attributes object
An optional map of name/value pairs which provide additional metadata about the organization.

summaryOrganization

{
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "_profile": "http://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c"
    }
  }
}

Organization Summary

Properties

Schema NameDescription
Organization Summary any
Summary representation of an organization resource in organizations 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.

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous organizationFields
Common fields of the organization resource used to build other model schemas.

and

Schema NameDescription
anonymous object
undefined
_id string
The unique identifier for this organization resource. This is an immutable opaque string.

organizationFields

{
  "name": "Smith's Auto Detailing",
  "label": "Smith's Detailing",
  "emailAddresses": [
    "smitties-detailing@example.com"
  ],
  "phones": [
    {
      "type": "work",
      "number": "(555) 555-5555"
    },
    {
      "type": "mobile",
      "number": "(999) 555-5555"
    }
  ],
  "addresses": [
    {
      "type": "work",
      "addressLine1": "555 N Front Street",
      "addressLine2": "Suite 5555",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28401-5405",
      "countryCode": "US"
    },
    {
      "type": "work",
      "addressLine1": "123 S 3rd Street",
      "addressLine2": "Apt 42",
      "city": "Wilmington",
      "regionCode": "NC",
      "postalCode": "28411-5405",
      "countryCode": "US",
      "state": "active",
      "currency": "USD",
      "estimatedAnnualRevenue": "125000.51",
      "estimatedMonthlyAmounts": {
        "sentWire": "20000.00",
        "receivedWire": "30000.00",
        "mobileCheckDeposit": "250000.00",
        "receivedAch": "40000.00",
        "sentAch": "35000.00"
      }
    }
  ]
}

Organization Fields

Properties

Schema NameDescription
name string
The organization's official full name
label string
The organization's common name.
type string
Indicates what type of organization this resource represents.

NOTE: This may move to a mutable organizationTypes configuration array

subtype string
A refinement of the type.

NOTE: This may move to a mutable organizationSubTypes configuration array

identification [object]
A collection of official identifying information associated with the contact. This currently only supports government tax ID.
value string (required)
The value of this form of identification (the tax ID as a string, for example)
type string (required)
The type of this form of identification. taxId is the only supported type at this time.
expiration string(date)
The date when the form of identification expires.
addresses [address]
An array of postal mailing addresses for this organization.
phones [object]
A collection of phone numbers associated with the organization.
type string
The type of phone number this represents.
number string
The phone number, as a string.
emailAddresses [string]
An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.
finxactId string
undefined
state string
The state of this organization.
tradeName string
The trade name of the organization.
establishedDate string(date)
The date the organization was established.
governmentOwned boolean
Indicates whether the organization is a government-owned entity.
publiclyHeld boolean
Indicates whether the organization is publicly held.
smallBusiness boolean
Indicates whether the organization is classified as a small business
taxExempt boolean
Indicates whether the organization is the tax-exempt.
employeeCountLowerBound number
The lower bound of persons employed.
minimum: 1
employeeCountUpperBound number
The upper bound of persons employed.
maximum: 20000000
homeUrl string
The organization's home page.
industry string
Indicates what industry does this organization work within.
countryOfOperations string
The ISO 3166-1 country code for the organization's operation.
minLength: 2
maxLength: 2
regulatory object
An object containing answers to organization specific regulatory questions.
currency string
The ISO 4217 currency code for this monetary value. This is always upper case ASCII. TODO: ISO 4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
minLength: 3
maxLength: 3
estimatedAnnualRevenue string
Dollar amount of estimated revenue.
mobileCheckDepositEnabled boolean
Indicates that the organization use mobile check deposits.
achEnabled boolean
Indicates that the organization use ACH transfers.
estimatedMonthlyAmounts object
Indicates the estimated monthly amounts for wires, mobile deposits and ACH
sentWire string
Indicates the estimated monthly minimum wires amount sent.
receivedWire string
Indicates the estimated monthly minimum wires amount received.
mobileCheckDeposit string
Indicates the estimated monthly minimum amount to deposit.
receivedAch string
Indicates the estimated monthly total amount to receive by ACH.
sentAch string
Indicates the estimated monthly total amount to send by ACH.

Enumerated Values

Property Value
type corporation
type partnership
type llc
type llp
type nonProfit
type trust
type municipality
subtype soleProprietorship
subtype partnership
subtype limitedPartnership
subtype corporation
subtype sCorporation
subtype limitedLiabilityCompany
subtype revokableTrust
subtype irrevocableTrust
subtype assetProtectionTrust
subtype charitableTrust
subtype constructiveTrust
subtype specialNeedsTrust
subtype spendthriftTrust
subtype taxBypassTrust
subtype tottenTrust
subtype other
type taxId
type dunsNumber
type home
type work
type mobile
type other
state pending
state inactive
state active
state merged
state removed

configuration

{
  "_links": {
    "self": {
      "href": "/accountApplications/configuration/"
    },
    "apiture:groups": {
      "href": "/accountApplications/configuration/groups"
    }
  }
}

Configuration

Properties

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

configurationGroups

{
  "_profile": "http://api.apiture.com/schemas/accountApplications/configurationGroups/v1.0.0/profile.json",
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "configurationGroups",
  "_links": {
    "self": {
      "href": "/accountApplications/configuration/groups?start=10&limit=10"
    },
    "first": {
      "href": "/accountApplications/configuration/groups?start=0&limit=10"
    },
    "next": {
      "href": "/accountApplications/configuration/groups?start=20&limit=10"
    },
    "collection": {
      "href": "/accountApplications/configuration/groups"
    }
  },
  "_embedded": {
    "items": [
      {
        "_profile": "http://api.apiture.com/schemas/accountApplications/configurationGroup/v1.0.0/profile.json",
        "_links": {
          "self": {
            "href": "/configuration/groups/basic"
          },
          "apiture:configuration": {
            "href": "/configuration"
          }
        },
        "name": "basic",
        "label": "Basic Settings",
        "description": "The basic settings for the Applications API"
      }
    ]
  }
}

Configuration Group Collection

Properties

Schema NameDescription
Configuration Group Collection any
Collection of configuration groups. The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection.)

allOf

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

and

Schema NameDescription
anonymous object
undefined
_embedded object
undefined
items [configurationGroupSummary]
An array containing a page of configuration group items.

configurationGroupSummary

{
  "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "name": "applications",
  "label": "Applications Configuration",
  "description": "The configuration for the Applications API."
}

Configuration Group Summary

Properties

Schema NameDescription
Configuration Group Summary any
A summary of the data contained within a configuration group resource

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
name string
The name of this configuration group, must be unique within the set of all resources of this type.
minLength: 1
maxLength: 48
pattern: [a-zA-Z][-\w_]*
label string
The text label for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 128
description string
The full description for this resource, suitable for presentation to the client.
minLength: 1
maxLength: 4096

configurationGroup

{
  "_profile": "http://api.apiture.com/schemas/accountApplications/configurationGroup/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "/configuration/groups/basic"
    },
    "apiture:configuration": {
      "href": "/configuration"
    }
  },
  "name": "basic",
  "label": "Basic Settings",
  "description": "The basic settings for the Applications API",
  "schema": {
    "type": "object",
    "properties": {
      "defaultPersonalWorkflowDefinitionUri": {
        "type": "string",
        "description": "The default workflow definition uri to use for personal product types"
      },
      "defaultBusinessWorkflowDefinitionUri": {
        "type": "string",
        "description": "The default workflow definition uri to use for business product types"
      }
    }
  },
  "values": {
    "defaultPersonalWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/5311b7f6-8370-4b24-9050-9b030f432eb2",
    "defaultBusinessWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/260d3dec-214e-4010-8448-898c4c07f1ae"
  }
}

Configuration Group

Properties

Schema NameDescription
Configuration Group any
Represents a configuration group.

allOf

Schema NameDescription
anonymous configurationGroupSummary
A summary of the data contained within a configuration group resource

and

Schema NameDescription
anonymous object
undefined
schema configurationSchema
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers consisting of alphanumeric characters, -, _ following the pattern letter [letter | digit | '-' | '_']* This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

values configurationValues
The data associated with this configuration: the resource's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values. (For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.)

configurationSchema

{
  "type": "object",
  "properties": {
    "defaultPersonalWorkflowDefinitionUri": {
      "type": "string",
      "description": "The default workflow definition uri to use for personal product types"
    },
    "defaultBusinessWorkflowDefinitionUri": {
      "type": "string",
      "description": "The default workflow definition uri to use for business product types"
    }
  }
}

Configuration Schema

Properties

Schema NameDescription
Configuration Schema any
The schema which defines the name and types of the variables that are part of this configuration definition. Property names must be simple identifiers consisting of alphanumeric characters, -, _ following the pattern letter [letter | digit | '-' | '_']* This is implicitly a schema for type: object and contains the properties.

The values in a configuration conform to the schema. The names and types are described with a subset of JSON Schema Core and JSON Schema Validation similar to that used to define schemas in OpenAPI Specification 2.0.

configurationValues

{
  "defaultPersonalWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/5311b7f6-8370-4b24-9050-9b030f432eb2",
  "defaultBusinessWorkflowDefinitionUri": "http://api.apiture.com/workflow/workflowDefinitions/260d3dec-214e-4010-8448-898c4c07f1ae"
}

Configuration Values

Properties

Schema NameDescription
Configuration Values any
The data associated with this configuration: the resource's variable names and values. These values must conform to this item's schema.

Note: the schema may also contain default values which, if present, are used if a value is not set in the definition's values. (For example, multiple configurations may use the same schema that defines values a, b, and c, but each configuration may have their own unique values for a, b, and c which is separate from the schema.)

abstractResource

{
  "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  }
}

Abstract Resource

Properties

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

root

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

API Root

Properties

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

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
_id string
This API's unique ID.
name string
This API's name.
apiVersion string
This API's version.

errorResponse

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

Error Response

Properties

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

error

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

Error

Properties

Schema NameDescription
message string (required)
A localized message string describing the error condition.
_id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
occurredAt string(date-time)
An RFC 3339 UTC time stamp (YYYY-MM-DDThh:mm:ss.sssZ format) indicating when the error occurred.
attributes attributes
Data attribute associated with the error, such as values or constraints.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
_embedded object
Optional embedded array of errors. This field may not exist if the error does not have nested errors.
items [errorResponse]
An array of error objects.

attributes

{}

Attributes

Properties

No properties

{
  "href": "http://example.com",
  "type": "string",
  "templated": true,
  "title": "string",
  "deprecation": "http://example.com",
  "profile": "http://example.com"
}

Link

Properties

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

collection

{
  "_profile": "http://api.apiture.com/schemas/example/v1.0.0/profile.json",
  "_links": {
    "self": {
      "href": "{uri of current resource}"
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection

Properties

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

allOf

Schema NameDescription
anonymous abstractResource
An augmented 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.

and

Schema NameDescription
anonymous object
undefined
count integer
The number of items in the full collection.
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.

{
  "property1": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  },
  "property2": {
    "href": "http://example.com",
    "type": "string",
    "templated": true,
    "title": "string",
    "deprecation": "http://example.com",
    "profile": "http://example.com"
  }
}

Links

Properties

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