Identity v0.7.3
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 will contain 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 will return 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 forbid 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
will return 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. When you have collected the answers to these
questions you can submit them to /quizzes/{quizId}/answers
via POST
by
following the apiture:score
link. This will return 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.
accessDenied
Description: The credentials supplied in the request are insufficient to grant access.
Remediation: Check the supplied credentials for validity.
identityAccessDenied
Description: The credentials supplied in the request are insufficient to grant access.
Remediation: Check the supplied credentials for validity.
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 = /auth/oauth2/authorize
- Token URL = /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. |
API
Endpoints which describe this API.
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://api.apiture.com/schemas/common/root/v2.0.0/profile.json",
"_links": {
"apiture:fraudRiskReports": {
"href": "/identity/fraudRiskReports"
},
"apiture:quizzes": {
"href": "/identity/quizzes"
}
}
}
200 Response
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
"_links": {}
}
Responses
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
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 . |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
type (query) |
string Subset the fraud reports collection to those with this exact type value. Use | to separate multiple values. For example, ?type=Personal%20Savings matches only items whose type is Personal Savings; ?type=Personal%20Savings|Investment Account matches items whose type is Personal Savings or Investment Account. This is combined with an implicit and with other filters if they are used. See filtering. Enumerated values: fraudRiskReport quiz adminApproval |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/identity/fraudRiskReports/v2.0.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "fraudRiskReports",
"_links": {
"self": {
"href": "/identity/fraudRiskReports?start=0&limit=1"
},
"first": {
"href": "/identity/fraudRiskReports?start=0&limit=1"
},
"next": {
"href": "/identity/fraudRiskReports?start=1&limit=1"
},
"collection": {
"href": "/identity/fraudRiskReports"
}
},
"_embedded": {
"items": [
{
"_profile": "https://api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"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 will contain 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 will contain 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:contact": {
"href": "/contacts/contacts/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:contact
link is specified in the request a verification token will be returned in the response.
If an apiture:contact
link is invalid a 400 Bad Request response will be returned.
The following links will be included in a successful response under the _links
property:
self
: URI of the created fraud-risk report resource -/fraudRiskReports/{fraudRiskReportId}
apiture:contact
: If the resource was created with anapiture:contact
a link to the specified resource will be present
Body parameter
{
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}
Parameters
Parameter | Description |
---|---|
body (body) |
createFraudRiskReport (required) The identity |
Try It
Example responses
201 Response
{
"_profile": "https://api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
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 will contain 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 will be included in a successful response under the _links
property:
self
: URI of the this fraud-risk report resource -/fraudRiskReports/{fraudRiskReportId}
apiture:contact
: If the resource was created with anapiture:contact
a link to the specified resource will be present
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://api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
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 will contain 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 . |
filter (query) |
string Optional filter criteria. See filtering. |
q (query) |
string Optional search string. See searching. |
Try It
Example responses
200 Response
{
"_profile": "https://api.apiture.com/schemas/identity/quizzes/v2.0.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "quizzes",
"_links": {
"self": {
"href": "/identity/quizzes?start=0&limit=1"
},
"first": {
"href": "/identity/quizzes?start=0&limit=1"
},
"next": {
"href": "/identity/quizzes?start=1&limit=1"
},
"collection": {
"href": "/identity/quizzes"
}
},
"_embedded": {
"items": [
{
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_links": {
"self": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:contacts": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "failed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
},
{
"createdAt": "2018-01-02T12:11:47Z",
"expiresAt": "2018-01-02T12:26:47Z",
"_links": {
"self": {
"href": "/identity/quizzes/a71c3843-32c2-4054-b7b2-fcf11a84532f"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "111-11-1111",
"firstName": "Mary",
"lastName": "Williams",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1960-03-05",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
]
}
}
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 will contain 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 will contain 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:contact": {
"href": "/contacts/contacts/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:contactlink is invalid a 400 Bad Request response will be returned. The following links will be included in a successful response under the
_links` property:
self
: URI of the created quiz resource -/quizzes/{quizId}
apiture:contact
: If the resource was created with anapiture:contact
a link to the specified resource will be present
Body parameter
{
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/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://api.apiture.com/schemas/identity/quiz/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
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 will contain 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 will be included in a successful response under the _links
property:
self
: URI of the this quiz resource -/quizzes/{quizId}
apiture:contact
: If the resource was created with anapiture:contact
a link to the specified resource will be present
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://api.apiture.com/schemas/identity/quiz/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
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 will contain 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 will be included 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:contact
: If the resource was created with aapiture:contact
a link to the specified resource will be present
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": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
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 will contain 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 = '{}';
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 will be included in a successful response under the _links
property:
up
: URI of the quiz resource -/quizzes/{quizId}
apiture:contact
: If the resource was created with aapiture:contact
a link to the specified resource will be present
Body parameter
{}
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://api.apiture.com/schemas/identity/quiz/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
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 will contain 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 |
Verify
getContactVerification
Code samples
# You can also use wget
curl -X GET https://api.devbank.apiture.com/identity/contactVerification?contactUri=string \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
GET https://api.devbank.apiture.com/identity/contactVerification?contactUri=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/contactVerification',
method: 'get',
data: '?contactUri=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/contactVerification?contactUri=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.devbank.apiture.com/identity/contactVerification',
params: {
'contactUri' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.devbank.apiture.com/identity/contactVerification', params={
'contactUri': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/contactVerification?contactUri=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/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 a 400 Bad Request response will be returned.
The following links will be included in a successful response under the _links property:
apiture:contact
: If the specified contactUri param refers to a Contact resource a link to it will be present
Parameters
Parameter | Description |
---|---|
contactUri (query) |
string (required) The apiture:contact URI. |
type (query) |
string The identity method type. Possible values are fraudRiskReport , quiz or adminApproval . |
Try It
Example responses
200 Response
{
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"verifications": [
{
"type": "fraudRiskReport",
"_links": {
"self": {
"href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:15:17Z"
},
{
"type": "quiz",
"_links": {
"self": {
"href": "/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 will contain details about the request error. | |
Schema: errorResponse |
Approvals
createApproval
Code samples
# You can also use wget
curl -X POST https://api.devbank.apiture.com/identity/approvals?contactUri=string \
-H 'Accept: application/hal+json' \
-H 'API-Key: API_KEY' \
-H 'Authorization: Bearer {access-token}'
POST https://api.devbank.apiture.com/identity/approvals?contactUri=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
var headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.devbank.apiture.com/identity/approvals',
method: 'post',
data: '?contactUri=string',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/hal+json',
'API-Key':'API_KEY',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.devbank.apiture.com/identity/approvals?contactUri=string',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/hal+json',
'API-Key' => 'API_KEY',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.devbank.apiture.com/identity/approvals',
params: {
'contactUri' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/hal+json',
'API-Key': 'API_KEY',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.devbank.apiture.com/identity/approvals', params={
'contactUri': 'string'
}, headers = headers)
print r.json()
URL obj = new URL("https://api.devbank.apiture.com/identity/approvals?contactUri=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/hal+json"},
"API-Key": []string{"API_KEY"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/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 Contact.
The following links may be included in a successful response under the _links
property:
self
: URI of the created approval resource -/approvals/{approvalId}
apiture:contact
: If the specified contactUri param refers to a Contact resource a link to it will be present
Parameters
Parameter | Description |
---|---|
contactUri (query) |
string (required) The apiture:contact URI. |
type (query) |
string The identity method type. Possible values are fraudRiskReport , quiz or adminApproval . |
Try It
Example responses
201 Response
{
"_profile": "https://api.apiture.com/schemas/identity/approval/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
},
"apiture:contact": {
"href": "/contacts/contacts/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 will contain 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 will contain 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.
The following links will be included in a successful response under the _links
property:
self
: URI of the this fraud-risk report resource -/approvals/{approvalId}
apiture:contact
: If the specified contactUri param refers to a Contact resource a link to it will be present
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://api.apiture.com/schemas/identity/approval/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
},
"apiture:contact": {
"href": "/contacts/contacts/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 will contain details about the request error. | |
Schema: errorResponse |
Schemas
fraudRiskReports
{
"_profile": "https://api.apiture.com/schemas/identity/fraudRiskReports/v2.0.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "fraudRiskReports",
"_links": {
"self": {
"href": "/identity/fraudRiskReports?start=0&limit=1"
},
"first": {
"href": "/identity/fraudRiskReports?start=0&limit=1"
},
"next": {
"href": "/identity/fraudRiskReports?start=1&limit=1"
},
"collection": {
"href": "/identity/fraudRiskReports"
}
},
"_embedded": {
"items": [
{
"_profile": "https://api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"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.0.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.
|
_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. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
count | integer The number of items in the collection. This value is optional and 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. |
fraudRiskReport
{
"_profile": "https://api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
"type": "fraudRiskReport",
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Fraud-risk Report (v2.0.0)
The result of running a fraud-risk analysys.
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.
| ||||||||
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. | ||||||||
_profile | string(uri) The URI of a resource profile which describes the representation. | ||||||||
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. | ||||||||
_id | string A unique identifier for this resource instance. This is is an opaque string. read-only
| ||||||||
type | identityVerificationType Describes how the identity verification was performed.
| ||||||||
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 .
| ||||||||
inputs | fraudRiskReportInputs The inputs of a fraud-risk report. | ||||||||
outputs | fraudRiskReportOutputs The outputs of a fraud-risk report. |
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. |
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.
Type: string
Enumerated values: ipRestricted
identityOnGovernmentWatchlist
identityOnAlertList
addressIsPOBoxOrNonApproved
addressIsHighRisk
ageRestricted
nonStandardTaxId
personalInfoDoesNotMatch
emailRestricted
createFraudRiskReport
{
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/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.
|
_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. |
taxId | string The identity's tax or government ID. minLength: 1
maxLength: 128
|
firstName | string The identity's first name. minLength: 1
maxLength: 128
|
lastName | string The identity's last name. minLength: 1
maxLength: 128
|
address1 | string 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 The identity's city. minLength: 1
maxLength: 64
|
region | string The identity's region. minLength: 1
maxLength: 128
|
postalCode | string The identity's postal code. minLength: 1
maxLength: 32
|
phone | string The identity's phone. minLength: 1
maxLength: 32
|
birthdate | string(date) 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:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
}
}
Create Quiz (v2.0.0)
Representation used to create a new quiz.
Properties
Name | Description |
---|---|
taxId | string The identity's tax or government ID. minLength: 1
maxLength: 128
|
firstName | string The identity's first name. minLength: 1
maxLength: 128
|
lastName | string The identity's last name. minLength: 1
maxLength: 128
|
address1 | string 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 The identity's city. minLength: 1
maxLength: 64
|
region | string The identity's region. minLength: 1
maxLength: 128
|
postalCode | string The identity's postal code. minLength: 1
maxLength: 32
|
phone | string The identity's phone. minLength: 1
maxLength: 32
|
birthdate | string(date) 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.
|
_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. |
scoreQuizAnswers
{}
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. |
quizQuestions
{
"_links": {
"up": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
Create Questions (v2.0.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.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
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. |
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. |
contactVerification
{
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"verifications": [
{
"type": "fraudRiskReport",
"_links": {
"self": {
"href": "/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:15:17Z"
},
{
"type": "quiz",
"_links": {
"self": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
}
},
"state": "passed",
"createdAt": "2018-01-12T10:19:41Z"
}
]
}
Verification (v2.0.0)
The contact's verification history and status.
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.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
verifications | [identityHistoryItem] The history of this contact's identity verifications. |
identityVerificationState
"passed"
IdentityVerification Type (v1.0.0)
The type of the historical verification.
identityVerificationState
strings may have one of the following enumerated values values (described by the named identityVerificationState)
Value | Description |
---|---|
passed | |
failed | |
passedWithRiskFactors | |
pending | |
asked | |
identityServiceFailure | |
scoring | |
expired |
Type: string
Enumerated values: passed
failed
passedWithRiskFactors
pending
asked
identityServiceFailure
scoring
expired
identityHistoryItem
{
"state": "passed",
"createdAt": "2019-11-21T08:43:54.375Z",
"type": "quiz",
"_links": {
"apiture:contact": {
"href": "/contacts/contacts/d77bef0b-c75c-4192-ba88-278b9ce4063b"
}
}
}
Identity Verification Item (v1.0.0)
One verification record for a contact's history of verifications. This may contain a link to the contact in the link apiture:contact
.
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.
| ||||||||||||||||||
state | identityVerificationState (required) The type of the historical verification.
| ||||||||||||||||||
type | identityVerificationType Describes how the identity verification was performed.
| ||||||||||||||||||
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 .
|
identity
{
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
Identity (v1.0.0)
Information that describes the identity.
Properties
Name | Description |
---|---|
taxId | string (required) The identity's tax or government ID. minLength: 1
maxLength: 128
|
firstName | string (required) The identity's first name. minLength: 1
maxLength: 128
|
lastName | string (required) The identity's last name. minLength: 1
maxLength: 128
|
address1 | string (required) Line 1 of the identity's street address. minLength: 1
maxLength: 512
|
address2 | string Line 2 of the identity's street address. minLength: 1
maxLength: 512
|
city | string (required) The identity's city. minLength: 1
maxLength: 64
|
region | string (required) The identity's region. minLength: 1
maxLength: 128
|
postalCode | string (required) The identity's postal code. minLength: 1
maxLength: 32
|
phone | string (required) The identity's phone. minLength: 1
maxLength: 32
|
birthdate | string(date) (required) The identity's birth date in yyyy-mm-dd format.
minLength: 10
maxLength: 10
pattern: ^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$
|
email | string(email) The identity's email address. maxLength: 256
|
ipAddress | string(ipv4) The identity's IP address. |
quizzes
{
"_profile": "https://api.apiture.com/schemas/identity/quizzes/v2.0.0/profile.json",
"start": 0,
"limit": 1,
"count": 1,
"name": "quizzes",
"_links": {
"self": {
"href": "/identity/quizzes?start=0&limit=1"
},
"first": {
"href": "/identity/quizzes?start=0&limit=1"
},
"next": {
"href": "/identity/quizzes?start=1&limit=1"
},
"collection": {
"href": "/identity/quizzes"
}
},
"_embedded": {
"items": [
{
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_links": {
"self": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:contacts": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "failed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
},
{
"createdAt": "2018-01-02T12:11:47Z",
"expiresAt": "2018-01-02T12:26:47Z",
"_links": {
"self": {
"href": "/identity/quizzes/a71c3843-32c2-4054-b7b2-fcf11a84532f"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json",
"taxId": "111-11-1111",
"firstName": "Mary",
"lastName": "Williams",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1960-03-05",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
]
}
}
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.
|
_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. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
count | integer The number of items in the collection. This value is optional and 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. |
quiz
{
"_id": "73be83af-9e64-4214-8e90-76da43610b31",
"type": "quiz",
"createdAt": "2018-01-12T10:15:17Z",
"expiresAt": "2018-01-12T10:30:17Z",
"_profile": "https://api.apiture.com/schemas/identity/quiz/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
},
"apiture:score": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
},
"apiture:getQuestions": {
"href": "/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"inputs": {
"identity": {
"_profile": "https://api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
},
"outputs": {
"state": "passed",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o"
}
}
Quiz (v2.0.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.
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.
| ||||||||
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. | ||||||||
_profile | string(uri) The URI of a resource profile which describes the representation. | ||||||||
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. | ||||||||
_id | string A unique identifier for this resource instance. This is is an opaque string. read-only
| ||||||||
type | identityVerificationType Describes how the identity verification was performed.
| ||||||||
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 .
| ||||||||
inputs | quizInputs The inputs of a quiz. | ||||||||
outputs | quizOutputs The outputs of a quiz. Used for workflow. |
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. |
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. |
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. |
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
|
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. |
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.
|
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 values (described by the named fraudRiskReportState)
Value | Description |
---|---|
passed | |
failed | |
passedWithRiskFactors |
Type: string
Enumerated values: passed
passedWithRiskFactors
failed
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.
| ||||||||
fraudRiskCategories | [fraudRiskCategory] A list of categories in this report. |
quizInputs
{
"identity": {
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
}
Quiz Inputs (v1.0.0)
The inputs of a quiz.
Properties
Name | Description |
---|---|
identity | identity Information that describes the identity. |
fraudRiskReportInputs
{
"identity": {
"taxId": "555-55-5555",
"firstName": "John",
"lastName": "Smith",
"address1": "1741 Tiburon Dr",
"city": "Wilmington",
"region": "NC",
"postalCode": "28403",
"phone": "555-555-5555",
"birthdate": "1940-10-15",
"email": "api@apiture.com",
"ipAddress": "127.0.0.1"
}
}
Fraud-risk Report Inputs (v1.0.0)
The inputs of a fraud-risk report.
Properties
Name | Description |
---|---|
identity | identity Information that describes the identity. |
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 values (described by the named identityVerificationType)
Value | Description |
---|---|
fraudRiskReport | |
quiz | |
adminApproval |
Type: string
Enumerated values: fraudRiskReport
quiz
adminApproval
approval
{
"_profile": "https://api.apiture.com/schemas/identity/approval/v2.0.0/profile.json",
"_links": {
"self": {
"href": "/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
},
"apiture:contact": {
"href": "/contacts/contacts/6da5ccc7-727a-4256-bdd4-74023ae349c3"
}
},
"_id": "a42234d9-b16a-439d-b464-55296a0b229a",
"type": "adminApproval",
"createdAt": "2018-01-12T10:15:17Z"
}
Approval (v2.0.0)
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.
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.
| ||||||||
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. | ||||||||
_profile | string(uri) The URI of a resource profile which describes the representation. | ||||||||
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. | ||||||||
_id | string A unique identifier for this resource instance. This is is an opaque string. read-only
| ||||||||
type | identityVerificationType Describes how the identity verification was performed.
| ||||||||
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 .
|
attributes
{
"property1": {},
"property2": {}
}
Attributes
An optional map of name/value pairs which contains additional dynamic data about the resource.
Properties
Name | Description |
---|---|
additionalProperties | attributeValue The data associated with this attribute. |
root
{
"id": "apiName",
"name": "API name",
"apiVersion": "1.0.0",
"_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json",
"_links": {}
}
API Root
A HAL response, with hypermedia _links
for the top-level resources and operations in API.
Properties
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.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
_id | string This API's unique ID. read-only
|
name | string This API's name. |
apiVersion | string This API's version. |
collection
{
"_links": {
"property1": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
},
"_embedded": {},
"_profile": "http://example.com",
"_error": {
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
},
"count": 0,
"start": 0,
"limit": 0,
"name": "string"
}
Collection
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.
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.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
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. |
abstractResource
{
"_profile": "{uri of resource profile.json}",
"_links": {
"self": {
"href": "{uri of current resource}"
}
}
}
Abstract Resource
An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links
, and either optional domain object data with _profile
and optional _embedded
objects, or an _error
object. In responses, if the operation was successful, this object will not include the _error
, but if the operation was a 4xx or 5xx error, this object will not include _embedded
or any data fields, only _error
and optionally _links
.
Properties
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.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
abstractRequest
{
"_profile": "{uri of resource profile.json}",
"_links": {
"self": {
"href": "{uri of current resource}"
}
}
}
Abstract Request
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error
defined in abstractResource
.
Properties
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.
|
_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. |
links
{
"property1": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
},
"property2": {
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
}
Links
An optional map of links, mapping each link relation to a link object. This model defines the _links
object of HAL representations.
Properties
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.
|
errorResponse
{
"_profile": "https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json",
"_error": {
"_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
"message": "The value for deposit must be greater than 0.",
"statusCode": 422,
"type": "positiveNumberRequired",
"attributes": {
"value": -125.5
},
"remediation": "Provide a value which is greater than 0",
"occurredAt": "2018-01-25T05:50:52.375Z",
"_links": {
"describedby": {
"href": "https://api.apiture.com/errors/positiveNumberRequired"
}
},
"_embedded": {
"errors": []
}
}
}
Error Response
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error
object contains the error details.
Properties
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.
|
_embedded | object An optional map of nested resources, mapping each nested resource name to a nested resource representation. |
_profile | string(uri) The URI of a resource profile which describes the representation. |
_error | error An object which describes an error. This value is omitted if the operation succeeded without error. |
error
{
"_id": "2eae46e1575c0a7b0115a4b3",
"message": "Descriptive error message...",
"statusCode": 422,
"type": "errorType1",
"remediation": "Remediation string...",
"occurredAt": "2018-01-25T05:50:52.375Z",
"errors": [
{
"_id": "ccdbe2c5c938a230667b3827",
"message": "An optional embedded error"
},
{
"_id": "dbe9088dcfe2460f229338a3",
"message": "Another optional embedded error"
}
],
"_links": {
"describedby": {
"href": "https://developer.apiture.com/errors/errorType1"
}
}
}
Error
Describes an error in an API request or in a service called via the API.
Properties
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.
|
link
{
"href": "/contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
"title": "Applicant"
}
Link
Describes a hypermedia link within a _links
object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name
or hreflang
properties of HAL. Apiture links may include a method
property.
Properties
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. |
attributeValue
{}
Attribute Value
The data associated with this attribute.