Identity v0.12.1
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
This API manages the set of actions that allow financial institutions to verify the identity of their customers and applicants. 'Identity' is defined as a set of personally identifiable information (PII) that can potentially identify a specific individual.
PII consists of the following attributes:
taxId
The identity's tax or government IDfirstName
The identity's first namelastName
The identity's last nameaddress1
Line 1 of the identity's street addressaddress2
Line 2 of the identity's street addresscity
The identity's cityregion
The identity's regionpostalCode
The identity's postal codephone
The identity's phonebirthdate
The identity's birth date inyyyy-mm-dd
format.email
The identity's email addressipAddress
The identity's IP address
There are two major steps to the identity verification process - fraud-risk analysis and knowledge-base authentication (KBA) quizzes.
A fraud-risk report can be generated by specifying the PII associated with an individual. The report contains a state indicating the result of the operation as well as an optional list of fraud risk factors associated with that identity. A passed
state indicates that the provided PII was located and contains no risk factors. A passedWithRiskFactors
state means that the provided PII matches an identity but contains risk factors. A failed
state means that the provided PII does not match any identity records.
In order to generate a report, submit the PII via POST
to /fraudRiskReports
. This returns a 201
response containing a new fraudRiskReport
resource which includes outputs
with a collection of fraudRiskCategories
. These categories are:
personalInfoDoesNotMatch
The retrieved identity does not match the provided PII.addressIsPOBoxOrNonApproved
The provided address is a PO Box or other non-approved addressaddressIsHighRisk
The provided address is considered high-riskidentityOnGovernmentWatchlist
The provided identity is located on one or more government watchlistsidentityOnAlertList
The provided identity is located on one or more alert listsipRestricted
The provided IP address is restrictedemailRestricted
The provided email address is restrictedageRestricted
The provided identity does not meet the required age. Example: US COPPA laws forbids conducting e-commerce with people under 14 years of age.nonStandardTaxId
The provided taxId is non-standard. Example: The provided SSN is an ITIN (Individual Taxpayer Identification Number)
A quiz containing a list of questions and their possible answers can be generated with a set of PII. This information can be used to assist in the verification of the identity, by presenting the customer or applicant with the questions and prompting them to choose the appropriate answers. These answers can then be submitted to verify their correctness, confirming the identity.
In order to generate a quiz, submit the PII via POST
to /quizzes
. This returns a 201
response containing a new quiz
resource with a state of pending
. You can then POST
to /quizzes/{quizId}/questions
by following the apiture:getQuestions
link to generate one-time-use (transient) set of questions. Submit the answers to /quizzes/{quizId}/answers
via POST
by following the apiture:score
link. This returns the quiz resource with an updated state, either passed
, failed
or expired
.
Error Types
Error responses in this API may have one of the type
values described below.
See Errors for more information
on error responses and error types.
contactOrUser
Description: Only one of contact
or user
parameter is allowed.
Remediation: Supply either contact
or user
but not both.
invalidUser
Description: The user
parameter is not the _id
or URI of a valid user resource.
Remediation: Supply the _id
or URI of an existing user resource.
Download OpenAPI Definition (YAML)
Base URLs:
Authentication
- API Key (
apiKey
)- header parameter: API-Key
- API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the
API-Key: {api-key}
request header.
- OAuth2 authentication (
accessToken
)- OAuth2 client access token authentication. The client authenticates against the server at
authorizationUrl
, passing the client's privateclientId
(and optionalclientSecret
) as part of this flow. The client obtains an access token from the server attokenUrl
. It then passes the received access token via theAuthorization: Bearer {access-token}
header in subsequent API calls. The authorization process also returns a refresh token which the client should use to renew the access token before it expires. - Flow:
authorizationCode
- Authorization URL = https://auth.devbank.apiture.com/auth/oauth2/authorize
- Token URL = https://api.devbank.apiture.com/auth/oauth2/token
- OAuth2 client access token authentication. The client authenticates against the server at
Scope | Scope Description |
---|---|
profiles/read |
Read access to user and contact related resources. |
profiles/write |
Write (update) access to user and contact related resources. |
profiles/delete |
Delete access to user and contact related resources. |
profiles/full |
Full access to user and contact related resources. |
Fraud-Risk Reports
Identity Fraud-Risk Reports
getFraudRiskReports
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/fraudRiskReports \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/fraudRiskReports HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/fraudRiskReports',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/fraudRiskReports',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/fraudRiskReports',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/fraudRiskReports', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/fraudRiskReports");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/fraudRiskReports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Returns a collection of fraud-risk analysis results
GET /fraudRiskReports
Return a paginated sortable filterable searchable collection of fraud-risk analysis reports. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first fraud-risk analysis report in this page. The default, 0, represents the first report in the collection. |
limit (query) |
integer(int32) The maximum number of fraud-risk analysis report representations to return in this page. Default: 100 |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 .This collection may be sorted by the following properties: • type . |
filter (query) |
string Optional filter criteria. See filtering. This collection may be filtered by the following properties and functions: • Property type using functions eq , ne , in • Property _id using functions eq , in . |
q (query) |
string Optional search string. See searching. |
Try It
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReports/v2.1.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "fraudRiskReports",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
},
"first": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
},
"next": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=1&limit=1"
},
"collection": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports"
}
},
"_embedded": {
"items": [
{
"_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"taxId": "*****3333",
"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": {
"state": "passedWithRiskFactors",
"providerReportId": 1234,
"fraudRiskCategories": [
{
"type": "personalInfoDoesNotMatch",
"description": "The retrieved identity does not match the provided PII."
},
{
"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 government watchlists"
},
{
"type": "identityOnAlertList",
"description": "The provided identity is located on one or more alert lists"
},
{
"type": "ipRestricted",
"description": "The provided IP address is restricted"
},
{
"type": "emailRestricted",
"description": "The provided email address is restricted"
}
]
}
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: fraudRiskReports |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
createFraudRiskReport
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/identity/fraudRiskReports \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/identity/fraudRiskReports HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/fraudRiskReports',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/fraudRiskReports',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/identity/fraudRiskReports',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/identity/fraudRiskReports', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/fraudRiskReports");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/hal+json"},
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/identity/fraudRiskReports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new fraud-risk analysis report
POST /fraudRiskReports
Create a new fraud-risk analysis report in the fraud-risk analysis reports collection.
If an apiture:user
or apiture:contact
link is specified in the request, the response includes a verification token. If the apiture:user
or apiture:contact
link is invalid, the API returns a 400 Bad Request response
The following links may appear in a successful response under the _links
property:
self
: URI of the created fraud-risk report resource -/fraudRiskReports/{fraudRiskReportId}
apiture:user
: If the resource was created with anapiture:user
, this is the link to the specified resourceapiture:contact
: If the resource was created with anapiture:contact
, this is the link to the specified resource
Body parameter
{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}
Parameters
Parameter | Description |
---|---|
body (body) |
createFraudRiskReport (required) The identity |
Try It
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"taxId": "*****3333",
"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": {
"state": "passedWithRiskFactors",
"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": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: fraudRiskReport |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with schema ://host |
getFraudRiskReport
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this fraud-risk report
GET /fraudRiskReports/{fraudRiskReportId}
Return a HAL representation of this fraud-risk analysis report resource.
The following links may appear in a successful response under the _links
property:
self
: URI of the this fraud-risk report resource -/fraudRiskReports/{fraudRiskReportId}
apiture:user
: If the resource was created with anapiture:user
link, this is the link to the specified resourceapiture:contact
: If the resource was created with anapiture:contact
link, this is the link to the specified resource
Parameters
Parameter | Description |
---|---|
fraudRiskReportId (path) |
string (required) The unique identifier of this fraud-risk report. This is an opaque string. |
Try It
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"taxId": "*****3333",
"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": {
"state": "passedWithRiskFactors",
"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": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: fraudRiskReport |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such fraud-risk report resource at the specified {fraudRiskReportId} The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Quizzes
Identity Verification Quizzes
getQuizzes
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/quizzes \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/quizzes HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/quizzes',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/quizzes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/quizzes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/quizzes', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/quizzes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/quizzes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Returns a collection of quizzes
GET /quizzes
Return a paginated sortable filterable searchable collection of quizzes. The links in the response include pagination links.
Parameters
Parameter | Description |
---|---|
start (query) |
integer(int64) The zero-based index of the first quiz in this page. The default, 0, represents the first report in the collection. |
limit (query) |
integer(int32) The maximum number of quiz representations to return in this page. Default: 100 |
sortBy (query) |
string Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2 .This collection may be sorted by the following properties: • createdAt • expiresAt . |
filter (query) |
string Optional filter criteria. See filtering. This collection may be filtered by the following properties and functions: • Property createdAt using functions eq , ne , lt , le , gt , ge • Property expiresAt using functions eq , ne , lt , le , gt , ge • Property _id using functions eq , in . |
q (query) |
string Optional search string. See searching. |
Try It
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/identity/quizzes/v2.0.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "quizzes",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
},
"first": {
"href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
},
"next": {
"href": "https://api.example.bank/identity/quizzes?start=1&limit=1"
},
"collection": {
"href": "https://api.example.bank/identity/quizzes"
}
},
"_embedded": {
"items": [
{
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"taxId": "*****3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "failed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
},
{
"createdAt": "2018-01-02T12:11:47Z",
"expiresAt": "2018-01-02T12:26:47Z",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/a71c3843-32c2-4054-b7b2-fcf11a84532f"
}
},
"inputs": {
"identity": {
"taxId": "*****3333",
"firstName": "Mary",
"lastName": "Williams",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1960-03-05",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
]
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: quizzes |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
createQuiz
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/identity/quizzes \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/identity/quizzes HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/quizzes',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/quizzes',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/identity/quizzes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/identity/quizzes', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/quizzes");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/hal+json"},
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/identity/quizzes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new quiz
POST /quizzes
Create a new quiz in the quizzes collection for the specified identity. state
defaults to pending
If the apiture:useror
apiture:contactlink is invalid, the API returns a 400 Bad Request response. The following links may appear in a successful response under the
_links` property:
self
: URI of the created quiz resource -/quizzes/{quizId}
apiture:user
: If the resource was created with anapiture:user
link, this is the link to the specified resourceapiture:contact
: If the resource was created with anapiture:contact
link, this is the link to the specified resource
Body parameter
{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}
Parameters
Parameter | Description |
---|---|
body (body) |
createQuiz (required) The identity |
Try It
Example responses
201 Response
{
"_id": "73be83af-9e64-4214-8e90-76da43610b31",
"type": "quiz",
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "*****3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: quiz |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with schema ://host |
getQuiz
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/quizzes/{quizId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/quizzes/{quizId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/quizzes/{quizId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/quizzes/{quizId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/quizzes/{quizId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/quizzes/{quizId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/quizzes/{quizId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/quizzes/{quizId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this quiz
GET /quizzes/{quizId}
Return a HAL representation of this quiz resource.
The following links may appear in a successful response under the _links
property:
self
: URI of the this quiz resource -/quizzes/{quizId}
apiture:user
: If the resource was created with anapiture:user
link, this is the link to the specified resourceapiture:contact
: If the resource was created with anapiture:contact
link, this is the link to the specified resource
Parameters
Parameter | Description |
---|---|
quizId (path) |
string (required) The unique identifier of this quiz. This is an opaque string. |
Try It
Example responses
200 Response
{
"_id": "73be83af-9e64-4214-8e90-76da43610b31",
"type": "quiz",
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "*****3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: quiz |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such quiz resource at the specified {quizId} The _error field in the response contains details about the request error. | |
Schema: errorResponse |
createQuizQuestions
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Generate the questions for a quiz
POST /quizzes/{quizId}/questions
Generates the a set of questions for the quiz. Questions can only be generated if the state of the resource is pending
.
The following links may appear in a successful response under the _links
property:
up
: URI of the quiz resource -/quizzes/{quizId}
apiture:score
: URI of the/quizzes/{quizId}/answers
endpointapiture:user
: If the resource was created with anapiture:user
link, this is the link to the specified resourceapiture:contact
: If the resource was created with anapiture:contact
link, this is the link to the specified resource
Parameters
Parameter | Description |
---|---|
quizId (path) |
string (required) The unique identifier of this quiz. This is an opaque string. |
Try It
Example responses
201 Response
{
"_links": {
"up": {
"href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
}
},
"questions": [
{
"id": "1",
"question": "Who have you lived with?",
"choices": [
"Mary",
"Caleb",
"Angela",
"Elliott"
]
},
{
"id": "2",
"question": "What's your mother's maiden name?",
"choices": [
"Clark",
"Morris",
"Niffle",
"Bennett"
]
}
],
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: quizQuestions |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. Questions may only be retrieved if the current state of the resource is pending . | |
Schema: errorResponse |
scoreQuiz
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers \
-H 'Content-Type: application/hal+json' \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json
var headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"answers": [
{
"questionId": "1",
"answer": "Honda Accord"
},
{
"questionId": "2",
"answer": "Missouri"
}
]
}';
const headers = {
'Content-Type':'application/hal+json',
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/hal+json',
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/hal+json',
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/hal+json"},
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Submit the answers to a quiz
POST /quizzes/{quizId}/answers
Submits the answers for scoring and returns the quiz with a state of passed
, failed
, scoring
or expired
. Can only be processed if state is asked
.
The following links may appear in a successful response under the _links
property:
up
: URI of the quiz resource -/quizzes/{quizId}
apiture:user
: If the resource was created with anapiture:user
link, this is the link to the specified resourceapiture:contact
: If the resource was created with anapiture:contact
link, this is the link to the specified resource
Body parameter
{
"answers": [
{
"questionId": "1",
"answer": "Honda Accord"
},
{
"questionId": "2",
"answer": "Missouri"
}
]
}
Parameters
Parameter | Description |
---|---|
quizId (path) |
string (required) The unique identifier of this quiz. This is an opaque string. |
body (body) |
scoreQuizAnswers (required) The identity |
Try It
Example responses
201 Response
{
"_id": "73be83af-9e64-4214-8e90-76da43610b31",
"type": "quiz",
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "*****3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: quiz |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
409 | Conflict |
Conflict. Answers may only be submitted if the current state of the resource is asked . | |
Schema: errorResponse |
Identity Verifications
Identity Verifications
getContactVerification
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/contactVerification \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/contactVerification HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/contactVerification',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/contactVerification',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/contactVerification',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/contactVerification', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/contactVerification");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/contactVerification", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Retrieves contact verification resource.
GET /contactVerification
Retrieves the contact verification status. If the contactUri
link is invalid, the API returns a 400 Bad Request response.
Warning: The operation getContactVerification
was deprecated on version v0.8.0
of the API. Use getIdentityVerification
operation instead. getContactVerification
will be removed on version v0.13.0
of the API.
Parameters
Parameter | Description |
---|---|
contactUri (query) |
string The URI of the contact being verified. Warning: The parameter contactUri was deprecated on version v0.6.0 of the API. Use contact instead. contactUri will be removed on version v0.13.0 of the API. |
type (query) |
string The identity method type. Possible values are fraudRiskReport , quiz or adminApproval . |
Try It
Example responses
200 Response
{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"verifications": [
{
"type": "fraudRiskReport",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:15:17Z"
},
{
"type": "quiz",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:19:41Z"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: contactVerification |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
getIdentityVerification
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/identityVerification \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/identityVerification HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/identityVerification',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/identityVerification',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/identityVerification',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/identityVerification', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/identityVerification");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/identityVerification", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Retrieves user verification resource.
GET /identityVerification
Retrieves the results of identity verification for a user or a contact.
Parameters
Parameter | Description |
---|---|
user (query) |
string The _id or URI of a user resource being verified. |
contact (query) |
string The _id or URI of the contact being verified. |
type (query) |
string The type of identity verification method. Enumerated values: fraudRiskReport quiz |
Try It
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/identity/identityVerification/v1.1.0/profile.json",
"provider": "IDology",
"sessionId": "c97671fc-b658-4c15-a1c8-819e691b7d3c",
"scoredAt": "2020-06-04T13:28:59.375Z",
"score": "passed",
"result": "verified",
"_links": {
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"verifications": [
{
"type": "fraudRiskReport",
"_links": {
"self": {
"href": "https://api.example.bank/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:15:17Z"
},
{
"type": "quiz",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:19:41Z"
}
]
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: identityVerification |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The input was syntactically valid but not usable. This error response may have one of the following | |
Schema: errorResponse |
Approvals
Manual Identity Verification Approvals
createApproval
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/identity/approvals \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/identity/approvals HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/approvals',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/approvals',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/identity/approvals',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/identity/approvals', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/approvals");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/identity/approvals", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Create a new approval resource
POST /approvals
Create a new approval resource for the specified identity (user).
Warning: The operation createApproval
was deprecated on version v0.8.0
of the API. Use an approval
resource in the Approvals API instead. createApproval
will be removed on version v0.13.0
of the API.
Parameters
Parameter | Description |
---|---|
contactUri (query) |
string The URI of the contact being verified. Warning: The parameter contactUri was deprecated on version v0.6.0 of the API. Use contact instead. contactUri will be removed on version v0.13.0 of the API. |
userUri (query) |
string The URI of a user resource being verified. Warning: The parameter userUri was deprecated on version v0.6.0 of the API. Use user instead. userUri will be removed on version v0.13.0 of the API. |
type (query) |
string The identity method type. Possible values are fraudRiskReport , quiz or adminApproval . |
Try It
Example responses
201 Response
{
"_profile": "https://production.api.apiture.com/schemas/identity/approval/v2.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.example.bank/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "a42234d9-b16a-439d-b464-55296a0b229a",
"type": "adminApproval",
"createdAt": "2018-01-12T10:15:17Z"
}
Responses
Status | Description |
---|---|
201 | Created |
Created. | |
Schema: approval |
Status | Description |
---|---|
400 | Bad Request |
Bad Request. The {contactUri} query parameter was not well formed. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Status | Description |
---|---|
422 | Unprocessable Entity |
Unprocessable Entity. The {contactUri} parameter was well formed but otherwise invalid. The _error field in the response contains details about the request error. | |
Schema: errorResponse |
Response Headers
Status | Description |
---|---|
201 | Location string uri |
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with schema ://host |
getApproval
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/approvals/{approvalId} \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/approvals/{approvalId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/approvals/{approvalId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/approvals/{approvalId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/approvals/{approvalId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/approvals/{approvalId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/approvals/{approvalId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/approvals/{approvalId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Fetch a representation of this approval
GET /approvals/{approvalId}
Return a HAL representation of this approval resource.
Warning: The operation getApproval
was deprecated on version v0.8.0
of the API. Use an approval
resource in the Approvals API instead. getApproval
will be removed on version v0.13.0
of the API.
Parameters
Parameter | Description |
---|---|
approvalId (path) |
string (required) The unique identifier of this approval. This is an opaque string. |
Try It
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/identity/approval/v2.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.example.bank/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "a42234d9-b16a-439d-b464-55296a0b229a",
"type": "adminApproval",
"createdAt": "2018-01-12T10:15:17Z"
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: approval |
Status | Description |
---|---|
304 | Not Modified |
Not Modified. The resource has not been modified since it was last fetched. |
Status | Description |
---|---|
404 | Not Found |
Not Found. There is no such approval at the specified {fraudRiskReportId} The _error field in the response contains details about the request error. | |
Schema: errorResponse |
API
The Identity Verification API
getLabels
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/labels \
-H 'Accept: application/hal+json' \
-H 'Accept-Language: string' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/identity/labels HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Accept-Language: string
var headers = {
'Accept':'application/hal+json',
'Accept-Language':'string',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/labels',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'Accept-Language':'string',
'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/identity/labels',
{
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',
'Accept-Language' => 'string',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/labels',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'Accept-Language': 'string',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.devbank.apiture.com/identity/labels', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/labels");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"Accept-Language": []string{"string"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/labels", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Localized Labels
GET /labels
Return a JSON object which defines labels for enumeration types defined by the schemas defined in this API. The labels in the response may not all match the requested language; some may be in the default language (en-us
).
Parameters
Parameter | Description |
---|---|
Accept-Language (header) |
string The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231. |
Try It
Example responses
200 Response
{
"_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.0/profile.json",
"groups": {
"fristGroup": {
"unknown": {
"label": "Unknown",
"code": "0",
"hidden": true
},
"key1": {
"label": "Label for Key 1",
"code": "1",
"variants": {
"es": {
"label": "(Spanish label for Key 1)"
},
"fr": {
"label": "(French label for Key 1)"
}
}
},
"key2": {
"label": "Label for Key 2",
"code": "2",
"variants": {
"es": {
"label": "(Spanish label for Key 2)"
},
"fr": {
"label": "(French label for Key 2)"
}
}
},
"key3": {
"label": "Label for Key 3",
"code": "3",
"variants": {
"es": {
"label": "(Spanish label for Key 3)"
},
"fr": {
"label": "(French label for Key 3)"
}
}
},
"other": {
"label": "Other",
"variants": {
"es": {
"label": "(Spanish label for Other)"
},
"fr": {
"label": "(French label for Other)"
}
},
"code": "254"
}
},
"secondGroup": {
"unknown": {
"label": "Unknown",
"code": "?",
"hidden": true
},
"optionA": {
"label": "Option A",
"code": "A"
},
"optionB": {
"label": "Option B",
"code": "B"
},
"optionC": {
"label": "Option C",
"code": "C"
},
"other": {
"label": "Other",
"code": "_"
}
}
}
}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: labelGroups |
getApi
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/ \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/identity/ HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/identity/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.devbank.apiture.com/identity/', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Top-level resources and operations in this API
GET /
Return links to the top-level resources and operations in this API.
Try It
Example responses
OK.
{
"id": "identity",
"name": "Identity",
"apiVersion": "0.1.0",
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.1/profile.json",
"_links": {
"apiture:fraudRiskReports": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports"
},
"apiture:quizzes": {
"href": "https://api.devbank.apiture.com/identity/quizzes"
}
}
}
200 Response
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
"_links": {}
}
Responses
getApiDoc
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/apiDoc \
-H 'Accept: application/json' \
-H 'API-Key: API_KEY'
GET https://api.devbank.apiture.com/identity/apiDoc HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json
var headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/apiDoc',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'API-Key':'API_KEY'
};
fetch('https://api.devbank.apiture.com/identity/apiDoc',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'API-Key' => 'API_KEY'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/apiDoc',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'API-Key': 'API_KEY'
}
r = requests.get('https://api.devbank.apiture.com/identity/apiDoc', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/apiDoc");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"API-Key": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/identity/apiDoc", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Return API definition document
GET /apiDoc
Return the OpenAPI document that describes this API.
Try It
Example responses
200 Response
{}
Responses
Status | Description |
---|---|
200 | OK |
OK. | |
Schema: Inline |
Response Schema
Schemas
abstractRequest
{
"_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/applications/"
}
}
}
Abstract Request (v2.0.0)
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error
defined in abstractResource
.
This schema was resolved from common/abstractRequest
.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
abstractResource
{
"_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
}
}
}
Abstract Resource (v2.1.0)
An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links
, and either optional domain object data with _profile
and optional _embedded
objects, or an _error
object. In responses, if the operation was successful, this object will not include the _error
, but if the operation was a 4xx or 5xx error, this object will not include _embedded
or any data fields, only _error
and optionally _links
.
This schema was resolved from common/abstractResource
.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
approval
{
"_profile": "https://production.api.apiture.com/schemas/identity/approval/v2.0.1/profile.json",
"_links": {
"self": {
"href": "https://api.example.bank/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "a42234d9-b16a-439d-b464-55296a0b229a",
"type": "adminApproval",
"createdAt": "2018-01-12T10:15:17Z"
}
Approval (v2.0.1)
The core representation of an Approval resource. This represents a manual approval and would typically be created by an FI admin when a Contact fails one or more steps of the identity verification workflow.
Warning: The schema approval
was deprecated on version v0.8.0
of the API. Use an approval
resource in the Approvals API instead. approval
will be removed on version v0.13.0
of the API.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
_id | string A unique identifier for this resource instance. This is is an opaque string. read-only
|
createdAt | string(date-time) The date-time when the resource was created. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
|
expiresAt | string(date-time) The date-time when the resource expires. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
|
type | identityVerificationType The type of identity verification report. An approval uses type of approval .
read-only
|
attributes
{}
Attributes (v2.1.0)
An optional map of name/value pairs which contains additional dynamic data about the resource.
This schema was resolved from common/attributes
.
Properties
collection
{
"_links": {
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"count": 0,
"start": 0,
"limit": 0,
"name": "string"
}
Collection (v2.1.0)
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.
This schema was resolved from common/collection
.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
start | integer The start index of this page of items. |
limit | integer The maximum number of items per page. |
name | string The name of the collection. |
contactVerification
{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"verifications": [
{
"type": "fraudRiskReport",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:15:17Z"
},
{
"type": "quiz",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:19:41Z"
}
]
}
Verification (v2.1.0)
The contact's verification history and status.
Warning: The schema contactVerification
was deprecated on version v0.12.0
of the API. Use identityVerification
schema instead. contactVerification
will be removed on version v0.13.0
of the API.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
verifications | [identityHistoryItem] The history of this contact's identity verifications. |
coreAnswer
{
"questionId": "1",
"answer": "Honda Accord"
}
Quiz Answer (v1.0.0)
An answer to a quiz question.
Properties
Name | Description |
---|---|
questionId | string (required) The ID corresponding to the question in the quiz. minLength: 1
maxLength: 256
|
answer | string (required) The answer to the question. minLength: 1
maxLength: 256
|
coreQuizAnswers
{
"answers": [
{
"questionId": "1",
"answer": "Honda Accord"
},
{
"questionId": "2",
"answer": "Missouri"
}
]
}
Quiz Answers (v1.0.0)
A collection of answers to a quiz.
Properties
Name | Description |
---|---|
answers | [coreAnswer] The list of answers the contact gave to the quiz questions. |
coreQuizQuestion
{
"id": "1",
"question": "Who have you lived with?",
"choices": [
"Mary",
"Caleb",
"Angela",
"Elliott"
]
}
Quiz Question (v1.0.0)
A question of a quiz.
Properties
Name | Description |
---|---|
id | string (required) The identifier for this question. A quiz answer is associated with the question via the questionId .
|
question | string (required) The question text. |
choices | [string] An array containing a page of quiz question choice items. |
coreQuizQuestions
{
"questions": [
{
"id": "1",
"question": "Who have you lived with?",
"choices": [
"Mary",
"Caleb",
"Angela",
"Elliott"
]
},
{
"id": "2",
"question": "What's your mother's maiden name?",
"choices": [
"Clark",
"Morris",
"Niffle",
"Bennett"
]
}
]
}
Quiz Questions (v1.0.0)
The questions of a quiz.
Properties
Name | Description |
---|---|
questions | [coreQuizQuestion] An array containing a page of quiz question items. |
createFraudRiskReport
{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}
Create Fraud Risk Report (v2.0.0)
Representation used to create a new fraud-risk analysis report.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
taxId | string (required) The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last four digits are shown. The mask consists of one ore more '*' characters.
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. |
createQuiz
{
"_links": {
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}
Create Quiz (v2.0.0)
Representation used to create a new quiz.
Properties
Name | Description |
---|---|
taxId | string (required) The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last four digits are shown. The mask consists of one ore more '*' characters.
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. |
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
error
{
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
}
Error (v2.1.0)
Describes an error in an API request or in a service called via the API.
This schema was resolved from common/error
.
Properties
Name | Description |
---|---|
message | string (required) A localized message string describing the error condition. |
_id | string A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string. read-only
|
statusCode | integer The HTTP status code associate with this error. minimum: 100
maximum: 599
|
type | string An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode . For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet .
|
occurredAt | string(date-time) An RFC 3339 UTC time stamp indicating when the error occurred. |
attributes | attributes Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type .
|
remediation | string An optional localized string which provides hints for how the user or client can resolve the error. |
errors | [error] An optional array of nested error objects. This property is not always present. |
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
errorResponse
{
"_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "Description of the error will appear here.",
"statusCode": 422,
"type": "specificErrorType",
"attributes": {
"value": "Optional attribute describing the error"
},
"remediation": "Optional instructions to remediate the error may appear here.",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://production.api.apiture.com/errors/specificErrorType"
}
},
"_embedded": {
"errors": []
}
}
}
Error Response (v2.1.0)
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error
object contains the error details.
This schema was resolved from common/errorResponse
.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
fraudRiskCategory
{
"type": "personalInfoDoesNotMatch",
"description": "The retrieved identity does not match the provided PII.",
"message": "ZIP code located does not match the ZIP code submitted."
}
Fraud-risk Category (v1.0.0)
Representation of a fraud-risk category.
Properties
Name | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | fraudRiskCategoryType Represents the possible types of fraud-risk.
These enumeration values are further described by the label group named | ||||||||||||||||||||
description | string The description of the fraud. | ||||||||||||||||||||
message | string The original result message that was received from the identity verification provider. |
fraudRiskCategoryType
"ipRestricted"
Fraud Risk Category Type (v1.0.0)
Represents the possible types of fraud-risk.
fraudRiskCategoryType
strings may have one of the following enumerated values:
Value | Description |
---|---|
ipRestricted | IP Restricted: The user's IP address is restricted. |
identityOnGovernmentWatchlist | On Government Watch list: The identity is on a government watch list. |
identityOnAlertList | On Alert List: The identity is on an alert list. |
addressIsPOBoxOrNonApproved | Address is PO Box or non-approved |
addressIsHighRisk | Address is high risk |
ageRestricted | Age Restricted: The person's age is restricted |
nonStandardTaxId | Non-standard Tax ID |
personalInfoDoesNotMatch | Personal information does not match |
emailRestricted | Email Restricted: The person's email address is restricted. |
These enumeration values are further described by the label group named fraudRiskCategoryType
in the response from the getLabels
operation.
Type: string
Enumerated values: ipRestricted
identityOnGovernmentWatchlist
identityOnAlertList
addressIsPOBoxOrNonApproved
addressIsHighRisk
ageRestricted
nonStandardTaxId
personalInfoDoesNotMatch
emailRestricted
fraudRiskReport
{
"_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"taxId": "*****3333",
"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": {
"state": "passedWithRiskFactors",
"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": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Fraud-risk Report (v2.1.0)
The result of running a fraud-risk analysys.
Links
Response and request bodies using this fraudRiskReport
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
self | Fetch a representation of this fraud-risk report | GET |
apiture:user | The user | GET |
apiture:contact | The contact | GET |
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
_id | string A unique identifier for this resource instance. This is is an opaque string. read-only
|
createdAt | string(date-time) The date-time when the resource was created. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
|
expiresAt | string(date-time) The date-time when the resource expires. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
|
type | identityVerificationType The type of identity verification report. A fraud-risk report uses type of fraudRiskReport .
read-only
|
inputs | fraudRiskReportInputs The inputs of a fraud-risk report. |
outputs | fraudRiskReportOutputs The outputs of a fraud-risk report. |
fraudRiskReportInputs
{
"identity": {
"taxId": "112-22-3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
}
Fraud-risk Report Inputs (v1.0.0)
The inputs of a fraud-risk report.
Properties
Name | Description |
---|---|
identity | identity Information that describes the identity. |
fraudRiskReportOutputs
{
"token": "string",
"providerReportId": "string",
"state": "passed",
"fraudRiskCategories": [
{
"type": "personalInfoDoesNotMatch",
"description": "The retrieved identity does not match the provided PII.",
"message": "ZIP code located does not match the ZIP code submitted."
}
]
}
Fraud-risk Report Outputs (v1.0.0)
The outputs of a fraud-risk report.
Properties
Name | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
token | string An opaque string that conveys the state of the contact's identity verification. | ||||||||
providerReportId | string External identity provider report Id. | ||||||||
state | fraudRiskReportState The state of a fraud report. passed indicates that the provided personally identifiable information (PII) was located and contains no risk factors. passedWithRiskFactors means that the provided PII matches an identity but contains risk factors. failed means that the provided PII does not match any identity records.
These enumeration values are further described by the label group named | ||||||||
fraudRiskCategories | [fraudRiskCategory] A list of categories in this report. |
fraudRiskReportState
"passed"
Fraud Risk Report State (v1.0.0)
The state of a fraud report. passed
indicates that the provided personally identifiable information (PII) was located and contains no risk factors. passedWithRiskFactors
means that the provided PII matches an identity but contains risk factors. failed
means that the provided PII does not match any identity records.
fraudRiskReportState
strings may have one of the following enumerated values:
Value | Description |
---|---|
passed | Passed: Identity verification passed. |
failed | Failed: Identity verification failed. |
passedWithRiskFactors | Passed with Risk Factors: Identity verification passed with risk factors. |
These enumeration values are further described by the label group named fraudRiskReportState
in the response from the getLabels
operation.
Type: string
Enumerated values: passed
passedWithRiskFactors
failed
fraudRiskReports
{
"_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReports/v2.1.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "fraudRiskReports",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
},
"first": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
},
"next": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=1&limit=1"
},
"collection": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports"
}
},
"_embedded": {
"items": [
{
"_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:user": {
"href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"taxId": "*****3333",
"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": {
"state": "passedWithRiskFactors",
"providerReportId": 1234,
"fraudRiskCategories": [
{
"type": "personalInfoDoesNotMatch",
"description": "The retrieved identity does not match the provided PII."
},
{
"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 government watchlists"
},
{
"type": "identityOnAlertList",
"description": "The provided identity is located on one or more alert lists"
},
{
"type": "ipRestricted",
"description": "The provided IP address is restricted"
},
{
"type": "emailRestricted",
"description": "The provided email address is restricted"
}
]
}
}
]
}
}
Fraud Risk Reports (v2.1.0)
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
).
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object Embedded objects. |
» items | [fraudRiskReport] An array containg a page of fraud-risk analysis reports. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
start | integer The start index of this page of items. |
limit | integer The maximum number of items per page. |
name | string The name of the collection. |
identity
{
"taxId": "112-22-3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
Identity (v1.0.0)
Information that describes the identity.
Properties
Name | Description |
---|---|
taxId | string (required) The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last four digits are shown. The mask consists of one ore more '*' characters.
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. |
identityHistoryItem
{
"state": "passed",
"createdAt": "2019-11-21T08:43:54.375Z",
"type": "quiz",
"_links": {
"apiture:user": {
"href": "https://api.example.bank/users/users/d77bef0b-c75c-4192-ba88-278b9ce4063b"
}
}
}
Identity Verification Item (v1.0.0)
One verification record for a contact's history of verifications.
Properties
Name | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from | ||||||||||||||||||
state | identityVerificationState (required) The type of the historical verification.
These enumeration values are further described by the label group named | ||||||||||||||||||
type | identityVerificationType Describes how the identity verification was performed.
These enumeration values are further described by the label group named | ||||||||||||||||||
createdAt | string(date-time) (required) The date-time when the verification occurred or completed. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
| ||||||||||||||||||
expiredAt | string(date-time) The date-time when the verification expired. This is only set if the state is expired . This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
|
identityVerification
{
"_profile": "https://production.api.apiture.com/schemas/identity/identityVerification/v1.1.0/profile.json",
"provider": "IDology",
"sessionId": "c97671fc-b658-4c15-a1c8-819e691b7d3c",
"scoredAt": "2020-06-04T13:28:59.375Z",
"score": "passed",
"result": "verified",
"_links": {
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"verifications": [
{
"type": "fraudRiskReport",
"_links": {
"self": {
"href": "https://api.example.bank/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:15:17Z"
},
{
"type": "quiz",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:19:41Z"
}
]
}
Identity Verification Data (v1.1.0)
Results of identity verification process that tells if a user has passed or failed the identity check or if the verification expired.
Links
Response and request bodies using this identityVerification
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
apiture:user | The user | GET |
apiture:contact | The contact | GET |
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
verifications | [identityHistoryItem] The history of this contact's identity verifications. read-only
|
provider | string The name of the identity verification provider. read-only
|
sessionId | string The unique id for a session of the identity verification process. read-only
|
scoredAt | string(date-time) The date-time when the provider ran identity verification. This is an RFC 3339 time stamp. read-only
|
score | string The indication if the user has passed or failed the identity verification process. read-only
|
result | verificationResult The identity verification status for this person. This field is read-only and is derived from the results of any identity verification processes executed against the personally identifiable information (PII) in the associated user. read-only
|
identityVerificationState
"passed"
IdentityVerification Type (v1.0.0)
The type of the historical verification.
identityVerificationState
strings may have one of the following enumerated values:
Value | Description |
---|---|
passed | Passed: Identity verification passed. |
failed | Failed: Identity verification failed. |
passedWithRiskFactors | PassedWithRiskFactors: Identity verification passed with risk factors. |
pending | Pending: Identity verification has not started. |
asked | Asked: Identity verification is in progress, after personal questions have been presented to the user. |
identityServiceFailure | IdentityServiceFailure: Identity verification failed to complete due to a failure in a back-end or third party service. |
scoring | Scoring: Identity verification is generating a verification score. |
expired | Expired: The user did not complete the identity verification process before it expired. |
These enumeration values are further described by the label group named identityVerificationState
in the response from the getLabels
operation.
Type: string
Enumerated values: passed
failed
passedWithRiskFactors
pending
asked
identityServiceFailure
scoring
expired
identityVerificationType
"fraudRiskReport"
Identity Verification Type (v1.0.0)
Describes how the identity verification was performed.
identityVerificationType
strings may have one of the following enumerated values:
Value | Description |
---|---|
fraudRiskReport | Fraud Risk Report: Verification performed by generating a fraud risk report based on the identity's personal information. |
quiz | Quiz: Verification performed by executing a quiz based on personal knowledge the individual should know. |
adminApproval | Admin Approval: Verification performed by an administrator explicitly approving the identity, for example after manually inspecting identity verification documents from the user. |
These enumeration values are further described by the label group named identityVerificationType
in the response from the getLabels
operation.
Type: string
Enumerated values: fraudRiskReport
quiz
adminApproval
labelGroup
{
"unknown": {
"label": "Unknown",
"code": "0",
"hidden": true
},
"under1Million": {
"label": "Under $1M",
"code": "1",
"range": "[0,1000000.00)",
"variants": {
"fr": {
"label": "Moins de $1M"
}
}
},
"from1to10Million": {
"label": "$1M to $10M",
"code": "2",
"range": "[1000000.00,10000000.00)",
"variants": {
"fr": {
"label": "$1M \\u00e0 $10M"
}
}
},
"from10to100Million": {
"label": "$10M to $100M",
"code": "3",
"range": "[10000000.00,100000000.00)",
"variants": {
"fr": [
"label $10M \\u00e0 $100M"
]
}
},
"over100Million": {
"label": "Over $100,000,000.00",
"code": "4",
"range": "[100000000.00,]",
"variants": {
"fr": {
"label": "Plus de $10M"
}
}
},
"other": {
"label": "Other",
"code": 254
}
}
Label Group (v1.0.0)
A map that defines labels for the items in a group. This is a map from each item name → a labelItem
object. For example, consider a JSON response that includes a property named revenueEstimate
; the values for revenueEstimate
must be one of the items in the group named estimatedAnnualRevenue
, with options ranging under1Million
, to over100Million
. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}
, and the item with the name from10to100Million
defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00)
.
This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:
- Unknown
- Under $1M
- $1M to $10M
- $10M to $100M
- $100M or more
Note that the other
item is hidden from the selection list, as that item is marked as hidden
. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate
to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }
.
This schema was resolved from common/labelGroup
.
Properties
Name | Description |
---|---|
additionalProperties | labelItem An item in a labelGroup , with a set of variants which contains different localized labels for the item. Each (simpleLabel ) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI. This schema was resolved from |
labelGroups
{
"_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.0/profile.json",
"groups": {
"fristGroup": {
"unknown": {
"label": "Unknown",
"code": "0",
"hidden": true
},
"key1": {
"label": "Label for Key 1",
"code": "1",
"variants": {
"es": {
"label": "(Spanish label for Key 1)"
},
"fr": {
"label": "(French label for Key 1)"
}
}
},
"key2": {
"label": "Label for Key 2",
"code": "2",
"variants": {
"es": {
"label": "(Spanish label for Key 2)"
},
"fr": {
"label": "(French label for Key 2)"
}
}
},
"key3": {
"label": "Label for Key 3",
"code": "3",
"variants": {
"es": {
"label": "(Spanish label for Key 3)"
},
"fr": {
"label": "(French label for Key 3)"
}
}
},
"other": {
"label": "Other",
"variants": {
"es": {
"label": "(Spanish label for Other)"
},
"fr": {
"label": "(French label for Other)"
}
},
"code": "254"
}
},
"secondGroup": {
"unknown": {
"label": "Unknown",
"code": "?",
"hidden": true
},
"optionA": {
"label": "Option A",
"code": "A"
},
"optionB": {
"label": "Option B",
"code": "B"
},
"optionC": {
"label": "Option C",
"code": "C"
},
"other": {
"label": "Other",
"code": "_"
}
}
}
}
Label Groups (v1.1.0)
A set of named groups of labels, each of which contains multiple item labels.
The abbreviated example shows two groups, one named structure
and one named estimatedAnnualRevenue
. The first has items with names such as corporation
, llc
and soleProprietorship
, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million
has the label
"$1M to $10M" and the range [1000000.00,10000000.00)
.
This schema was resolved from common/labelGroups
.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
groups | object Groups of localized labels. This maps group names → a group of labels within that group. |
» additionalProperties | labelGroup A map that defines labels for the items in a group. This is a map from each item name → a labelItem object. For example, consider a JSON response that includes a property named revenueEstimate ; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue , with options ranging under1Million , to over100Million . The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...} , and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00) . This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:
Note that the This schema was resolved from |
labelItem
{
"over100Million": {
"label": "Over $100,000,000.00",
"code": "4",
"range": "[100000000.00,]",
"variants": {
"fr": {
"label": "Plus de $10M"
}
}
}
}
Label Item (v1.0.0)
An item in a labelGroup
, with a set of variants
which contains different localized labels for the item. Each (simpleLabel
) variant defines the presentation text label and optional description for a language. Items may also have a lookup code
to map to external syststems, a numeric range, and a hidden
boolean to indicate the item is normally hidden in the UI.
This schema was resolved from common/labelItem
.
Properties
Name | Description |
---|---|
label | string (required) A label or title which may be used as labels or other UI controls which present a value. |
description | string A more detailed localized description of a localizable label. |
variants | object The language-specific variants of this label. The keys in this object are RFC 7231 language codes. |
» additionalProperties | simpleLabel A text label and optional description. This schema was resolved from |
code | string If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value. minLength: 1
|
hidden | boolean If true , this item is normally hidden from the User Interface.
|
range | string The range of values, if the item describes a bounded numeric value. This is range notation such as [min,max] , (exclusiveMin,max] , [min,exclusiveMax) , or (exclusiveMin,exclusiveMax) . For example, [0,100) is the range greater than or equal to 0 and less than 100. If the min or max value are omitted, that end of the range is unbounded. For example, (,1000.00) means less than 1000.00 and [20000.00,] means 20000.00 or more. The ranges do not overlap or have gaps.
pattern: ^[\[\(](-?(0|[1-9][0-9]*)(\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\.[0-9]+)?)?[\]\)]$
|
link
{
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
Link (v1.0.0)
Describes a hypermedia link within a _links
object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name
or hreflang
properties of HAL. Apiture links may include a method
property.
This schema was resolved from common/link
.
Properties
Name | Description |
---|---|
href | string(uri) (required) The URI or URI template for the resource/operation this link refers to. |
type | string The media type for the resource. |
templated | boolean If true, the link's href is a URI template. |
title | string An optional human-readable localized title for the link. |
deprecation | string(uri) If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation. |
profile | string(uri) The URI of a profile document, a JSON document which describes the target resource/operation. |
links
{
"property1": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
},
"property2": {
"href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Application"
}
}
Links (v1.0.0)
An optional map of links, mapping each link relation to a link object. This model defines the _links
object of HAL representations.
This schema was resolved from common/links
.
Properties
Name | Description |
---|---|
additionalProperties | link Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property. This schema was resolved from |
outputs
{
"token": "string"
}
Outputs (v1.0.0)
Base model schema for identity verification operations outputs.
Properties
Name | Description |
---|---|
token | string An opaque string that conveys the state of the contact's identity verification. |
quiz
{
"_id": "73be83af-9e64-4214-8e90-76da43610b31",
"type": "quiz",
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "*****3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Quiz (v2.1.0)
A quiz containing a collection of questions and their possible answers. These questions can be used to present a multiple-choice quiz in order to verify the identity.
Links
Response and request bodies using this quiz
schema may contain the following links:
Rel | Summary | Method |
---|---|---|
apiture:createQuizQuestions | Generate the questions for a quiz | POST |
apiture:score | Submit the answers to a quiz | POST |
apiture:user | The user | GET |
apiture:contact | The contact | GET |
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
_id | string A unique identifier for this resource instance. This is is an opaque string. read-only
|
createdAt | string(date-time) The date-time when the resource was created. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
|
expiresAt | string(date-time) The date-time when the resource expires. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ .
|
type | identityVerificationType The type of identity verification report. A quiz uses type of quiz .
read-only
|
inputs | quizInputs The inputs of a quiz. |
outputs | quizOutputs The outputs of a quiz. Used for workflow. |
quizInputs
{
"identity": {
"taxId": "112-22-3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
}
Quiz Inputs (v1.0.0)
The inputs of a quiz.
Properties
Name | Description |
---|---|
identity | identity Information that describes the identity. |
quizOutputs
{
"token": "string",
"state": "passed"
}
Quiz Outputs (v1.0.0)
The outputs of a quiz. Used for workflow.
Properties
Name | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
token | string An opaque string that conveys the state of the contact's identity verification. | ||||||||||||||||||
state | identityVerificationState The type of the historical verification.
These enumeration values are further described by the label group named |
quizQuestions
{
"_links": {
"up": {
"href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
}
},
"questions": [
{
"id": "1",
"question": "Who have you lived with?",
"choices": [
"Mary",
"Caleb",
"Angela",
"Elliott"
]
},
{
"id": "2",
"question": "What's your mother's maiden name?",
"choices": [
"Clark",
"Morris",
"Niffle",
"Bennett"
]
}
],
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
Create Questions (v2.1.0)
Representation used to create a new set of questions.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
questions | [coreQuizQuestion] An array containing a page of quiz question items. |
token | string An opaque string that conveys the state of the contact's identity verification. |
quizzes
{
"_profile": "https://production.api.apiture.com/schemas/identity/quizzes/v2.0.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "quizzes",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
},
"first": {
"href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
},
"next": {
"href": "https://api.example.bank/identity/quizzes?start=1&limit=1"
},
"collection": {
"href": "https://api.example.bank/identity/quizzes"
}
},
"_embedded": {
"items": [
{
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:user": {
"href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"taxId": "*****3333",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "failed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
},
{
"createdAt": "2018-01-02T12:11:47Z",
"expiresAt": "2018-01-02T12:26:47Z",
"_links": {
"self": {
"href": "https://api.example.bank/identity/quizzes/a71c3843-32c2-4054-b7b2-fcf11a84532f"
}
},
"inputs": {
"identity": {
"taxId": "*****3333",
"firstName": "Mary",
"lastName": "Williams",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "+15555555555",
"birthdate": "1960-03-05",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}
}
]
}
}
Quizzes (v2.0.0)
Collection of quizzes.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object Embedded objects. |
» items | [quiz] An array containg a page of quizzes. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
count | integer The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter. |
start | integer The start index of this page of items. |
limit | integer The maximum number of items per page. |
name | string The name of the collection. |
root
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
"_links": {}
}
API Root (v2.1.0)
A HAL response, with hypermedia _links
for the top-level resources and operations in API.
This schema was resolved from common/root
.
Properties
Name | Description |
---|---|
_links | links An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations. This schema was resolved from |
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. read-only
|
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. read-only
|
_id | string This API's unique ID. read-only
|
name | string This API's name. |
apiVersion | string This API's version. |
scoreQuizAnswers
{
"answers": [
{
"questionId": "1",
"answer": "Honda Accord"
},
{
"questionId": "2",
"answer": "Missouri"
}
]
}
Score Quiz Answers (v1.0.0)
Representation used to provide answers to a quiz.
Properties
Name | Description |
---|---|
answers | [coreAnswer] The list of answers the contact gave to the quiz questions. |
simpleLabel
{
"label": "Board of Directors",
"description": "string"
}
Simple Label (v1.0.0)
A text label and optional description.
This schema was resolved from common/simpleLabel
.
Properties
Name | Description |
---|---|
label | string (required) A label or title which may be used as labels or other UI controls which present a value. |
description | string A more detailed localized description of a localizable label. |
verificationResult
"unknown"
Verification Result (v1.0.0)
The identity verification status for this person. This field is read-only and is derived from the results of any identity verification processes executed against the personally identifiable information (PII) contained in this record.
verificationResult
strings may have one of the following enumerated values:
Value | Description |
---|---|
unknown | Unknown: The user's identity verification result is unknown. |
verified | Verified: The user's identity has been verified (passed). |
unverified | Unverified: The user's identity has not been verified (failed). |
These enumeration values are further described by the label group named verificationResult
in the response from the getLabels
operation.
Type: string
Enumerated values: unknown
verified
unverified
verificationToken
{
"token": "string"
}
Verification Token (v1.0.0)
The token used to validate and track a contact for identity verification purposes.
Properties
Name | Description |
---|---|
token | string An opaque string that conveys the state of the contact's identity verification. |