Shell HTTP JavaScript Node.JS Ruby Python Java Go

Identity v0.12.1

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

This API manages the set of actions that allow financial institutions to verify the identity of their customers and applicants. 'Identity' is defined as a set of personally identifiable information (PII) that can potentially identify a specific individual.

PII consists of the following attributes:

There are two major steps to the identity verification process - fraud-risk analysis and knowledge-base authentication (KBA) quizzes.

A fraud-risk report can be generated by specifying the PII associated with an individual. The report contains a state indicating the result of the operation as well as an optional list of fraud risk factors associated with that identity. A passed state indicates that the provided PII was located and contains no risk factors. A passedWithRiskFactors state means that the provided PII matches an identity but contains risk factors. A failed state means that the provided PII does not match any identity records.

In order to generate a report, submit the PII via POST to /fraudRiskReports. This returns a 201 response containing a new fraudRiskReport resource which includes outputs with a collection of fraudRiskCategories. These categories are:

A quiz containing a list of questions and their possible answers can be generated with a set of PII. This information can be used to assist in the verification of the identity, by presenting the customer or applicant with the questions and prompting them to choose the appropriate answers. These answers can then be submitted to verify their correctness, confirming the identity.

In order to generate a quiz, submit the PII via POST to /quizzes. This returns a 201 response containing a new quiz resource with a state of pending. You can then POST to /quizzes/{quizId}/questions by following the apiture:getQuestions link to generate one-time-use (transient) set of questions. Submit the answers to /quizzes/{quizId}/answers via POST by following the apiture:score link. This returns the quiz resource with an updated state, either passed, failed or expired.

Error Types

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

contactOrUser

Description: Only one of contact or user parameter is allowed.
Remediation: Supply either contact or user but not both.

invalidUser

Description: The user parameter is not the _id or URI of a valid user resource.
Remediation: Supply the _id or URI of an existing user resource.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

Scope Scope Description
profiles/read Read access to user and contact related resources.
profiles/write Write (update) access to user and contact related resources.
profiles/delete Delete access to user and contact related resources.
profiles/full Full access to user and contact related resources.

Fraud-Risk Reports

Identity Fraud-Risk Reports

getFraudRiskReports

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Returns a collection of fraud-risk analysis results

GET /fraudRiskReports

Return a paginated sortable filterable searchable collection of fraud-risk analysis reports. The links in the response include pagination links.

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first fraud-risk analysis report in this page. The default, 0, represents the first report in the collection.
limit
(query)
integer(int32)
The maximum number of fraud-risk analysis report representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
type.
filter
(query)
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property type using functions eq, ne, in
• Property _id using functions eq, in.
q
(query)
string
Optional search string. See searching.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReports/v2.1.0/profile.json",
  "start": 0,
  "limit": 1,
  "count": 1,
  "name": "fraudRiskReports",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=1&limit=1"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports"
    }
  },
  "_embedded": {
    "items": [
      {
        "_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
          },
          "apiture:user": {
            "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
          }
        },
        "_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
        "type": "fraudRiskReport",
        "inputs": {
          "identity": {
            "taxId": "*****3333",
            "firstName": "John",
            "lastName": "Smith",
            "address1": "1741 Tiburon Dr",
            "city": "Wilmington",
            "region": "NC",
            "postalCode": "28403",
            "phone": "555-555-5555",
            "birthdate": "1940-10-15",
            "email": "api@apiture.com",
            "ipAddress": "127.0.0.1"
          }
        },
        "outputs": {
          "state": "passedWithRiskFactors",
          "providerReportId": 1234,
          "fraudRiskCategories": [
            {
              "type": "personalInfoDoesNotMatch",
              "description": "The retrieved identity does not match the provided PII."
            },
            {
              "type": "addressIsPOBoxOrNonApproved",
              "description": "The provided address is a PO Box or other non-approved address"
            },
            {
              "type": "identityOnGovernmentWatchlist",
              "description": "The provided identity is located on one or more government watchlists"
            },
            {
              "type": "identityOnAlertList",
              "description": "The provided identity is located on one or more alert lists"
            },
            {
              "type": "ipRestricted",
              "description": "The provided IP address is restricted"
            },
            {
              "type": "emailRestricted",
              "description": "The provided email address is restricted"
            }
          ]
        }
      }
    ]
  }
}

Responses

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

createFraudRiskReport

Code samples

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

POST https://api.devbank.apiture.com/identity/fraudRiskReports HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/identity/fraudRiskReports',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/identity/fraudRiskReports',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/identity/fraudRiskReports', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new fraud-risk analysis report

POST /fraudRiskReports

Create a new fraud-risk analysis report in the fraud-risk analysis reports collection.

If an apiture:user or apiture:contact link is specified in the request, the response includes a verification token. If the apiture:user or apiture:contact link is invalid, the API returns a 400 Bad Request response

The following links may appear in a successful response under the _links property:

Body parameter

{
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  }
}

Parameters

Parameter Description
body
(body)
createFraudRiskReport (required)
The identity

Try It

Example responses

201 Response

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

Responses

StatusDescription
201 Created
Created.
Schema: fraudRiskReport
StatusDescription
400 Bad Request
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
201 Location string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with schema://host

getFraudRiskReport

Code samples

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

GET https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}',
  method: 'get',

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

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

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

};

fetch('https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/identity/fraudRiskReports/{fraudRiskReportId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this fraud-risk report

GET /fraudRiskReports/{fraudRiskReportId}

Return a HAL representation of this fraud-risk analysis report resource. The following links may appear in a successful response under the _links property:

Parameters

Parameter Description
fraudRiskReportId
(path)
string (required)
The unique identifier of this fraud-risk report. This is an opaque string.

Try It

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: fraudRiskReport
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such fraud-risk report resource at the specified {fraudRiskReportId} The _error field in the response contains details about the request error.
Schema: errorResponse

Quizzes

Identity Verification Quizzes

getQuizzes

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Returns a collection of quizzes

GET /quizzes

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

Parameters

Parameter Description
start
(query)
integer(int64)
The zero-based index of the first quiz in this page. The default, 0, represents the first report in the collection.
limit
(query)
integer(int32)
The maximum number of quiz representations to return in this page.
Default: 100
sortBy
(query)
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
createdAt
expiresAt.
filter
(query)
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property createdAt using functions eq, ne, lt, le, gt, ge
• Property expiresAt using functions eq, ne, lt, le, gt, ge
• Property _id using functions eq, in.
q
(query)
string
Optional search string. See searching.

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/identity/quizzes/v2.0.0/profile.json",
  "start": 0,
  "limit": 1,
  "count": 1,
  "name": "quizzes",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
    },
    "first": {
      "href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
    },
    "next": {
      "href": "https://api.example.bank/identity/quizzes?start=1&limit=1"
    },
    "collection": {
      "href": "https://api.example.bank/identity/quizzes"
    }
  },
  "_embedded": {
    "items": [
      {
        "createdAt": "2018-01-12T10:15:17Z",
        "expiresAt": "2018-01-12T10:30:17Z",
        "_links": {
          "self": {
            "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
          },
          "apiture:score": {
            "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
          },
          "apiture:user": {
            "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
          }
        },
        "inputs": {
          "identity": {
            "taxId": "*****3333",
            "firstName": "John",
            "lastName": "Smith",
            "address1": "1741 Tiburon Dr",
            "city": "Wilmington",
            "region": "NC",
            "postalCode": "28403",
            "phone": "+15555555555",
            "birthdate": "1940-10-15",
            "email": "api@apiture.com",
            "ipAddress": "127.0.0.1"
          }
        },
        "outputs": {
          "state": "failed",
          "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
        }
      },
      {
        "createdAt": "2018-01-02T12:11:47Z",
        "expiresAt": "2018-01-02T12:26:47Z",
        "_links": {
          "self": {
            "href": "https://api.example.bank/identity/quizzes/a71c3843-32c2-4054-b7b2-fcf11a84532f"
          }
        },
        "inputs": {
          "identity": {
            "taxId": "*****3333",
            "firstName": "Mary",
            "lastName": "Williams",
            "address1": "1741 Tiburon Dr",
            "city": "Wilmington",
            "region": "NC",
            "postalCode": "28403",
            "phone": "+15555555555",
            "birthdate": "1960-03-05",
            "email": "api@apiture.com",
            "ipAddress": "127.0.0.1"
          }
        },
        "outputs": {
          "state": "passed",
          "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
        }
      }
    ]
  }
}

Responses

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

createQuiz

Code samples

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

POST https://api.devbank.apiture.com/identity/quizzes HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/identity/quizzes',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/identity/quizzes',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/identity/quizzes', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new quiz

POST /quizzes

Create a new quiz in the quizzes collection for the specified identity. state defaults to pending If the apiture:userorapiture:contactlink is invalid, the API returns a 400 Bad Request response. The following links may appear in a successful response under the_links` property:

Body parameter

{
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  }
}

Parameters

Parameter Description
body
(body)
createQuiz (required)
The identity

Try It

Example responses

201 Response

{
  "_id": "73be83af-9e64-4214-8e90-76da43610b31",
  "type": "quiz",
  "createdAt": "2018-01-12T10:15:17Z",
  "expiresAt": "2018-01-12T10:30:17Z",
  "_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
    },
    "apiture:score": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
    },
    "apiture:getQuestions": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
    },
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "inputs": {
    "identity": {
      "_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
      "taxId": "*****3333",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "1741 Tiburon Dr",
      "city": "Wilmington",
      "region": "NC",
      "postalCode": "28403",
      "phone": "+15555555555",
      "birthdate": "1940-10-15",
      "email": "api@apiture.com",
      "ipAddress": "127.0.0.1"
    }
  },
  "outputs": {
    "state": "passed",
    "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: quiz
StatusDescription
400 Bad Request
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
201 Location string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with schema://host

getQuiz

Code samples

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

GET https://api.devbank.apiture.com/identity/quizzes/{quizId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/identity/quizzes/{quizId}',
  method: 'get',

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

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

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

};

fetch('https://api.devbank.apiture.com/identity/quizzes/{quizId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://api.devbank.apiture.com/identity/quizzes/{quizId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://api.devbank.apiture.com/identity/quizzes/{quizId}', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this quiz

GET /quizzes/{quizId}

Return a HAL representation of this quiz resource. The following links may appear in a successful response under the _links property:

Parameters

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

Try It

Example responses

200 Response

{
  "_id": "73be83af-9e64-4214-8e90-76da43610b31",
  "type": "quiz",
  "createdAt": "2018-01-12T10:15:17Z",
  "expiresAt": "2018-01-12T10:30:17Z",
  "_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
    },
    "apiture:score": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
    },
    "apiture:getQuestions": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
    },
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "inputs": {
    "identity": {
      "_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
      "taxId": "*****3333",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "1741 Tiburon Dr",
      "city": "Wilmington",
      "region": "NC",
      "postalCode": "28403",
      "phone": "+15555555555",
      "birthdate": "1940-10-15",
      "email": "api@apiture.com",
      "ipAddress": "127.0.0.1"
    }
  },
  "outputs": {
    "state": "passed",
    "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
  }
}

Responses

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

createQuizQuestions

Code samples

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

POST https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions',
  method: 'post',

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

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

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

};

fetch('https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/identity/quizzes/{quizId}/questions', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Generate the questions for a quiz

POST /quizzes/{quizId}/questions

Generates the a set of questions for the quiz. Questions can only be generated if the state of the resource is pending. The following links may appear in a successful response under the _links property:

Parameters

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

Try It

Example responses

201 Response

{
  "_links": {
    "up": {
      "href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
    },
    "apiture:score": {
      "href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
    }
  },
  "questions": [
    {
      "id": "1",
      "question": "Who have you lived with?",
      "choices": [
        "Mary",
        "Caleb",
        "Angela",
        "Elliott"
      ]
    },
    {
      "id": "2",
      "question": "What's your mother's maiden name?",
      "choices": [
        "Clark",
        "Morris",
        "Niffle",
        "Bennett"
      ]
    }
  ],
  "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}

Responses

StatusDescription
201 Created
Created.
Schema: quizQuestions
StatusDescription
400 Bad Request
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict
Conflict. Questions may only be retrieved if the current state of the resource is pending.
Schema: errorResponse

scoreQuiz

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

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

};

$.ajax({
  url: 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers',
  method: 'post',

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

const fetch = require('node-fetch');
const inputBody = '{
  "answers": [
    {
      "questionId": "1",
      "answer": "Honda Accord"
    },
    {
      "questionId": "2",
      "answer": "Missouri"
    }
  ]
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://api.devbank.apiture.com/identity/quizzes/{quizId}/answers', params={

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Submit the answers to a quiz

POST /quizzes/{quizId}/answers

Submits the answers for scoring and returns the quiz with a state of passed, failed, scoring or expired. Can only be processed if state is asked. The following links may appear in a successful response under the _links property:

Body parameter

{
  "answers": [
    {
      "questionId": "1",
      "answer": "Honda Accord"
    },
    {
      "questionId": "2",
      "answer": "Missouri"
    }
  ]
}

Parameters

Parameter Description
quizId
(path)
string (required)
The unique identifier of this quiz. This is an opaque string.
body
(body)
scoreQuizAnswers (required)
The identity

Try It

Example responses

201 Response

{
  "_id": "73be83af-9e64-4214-8e90-76da43610b31",
  "type": "quiz",
  "createdAt": "2018-01-12T10:15:17Z",
  "expiresAt": "2018-01-12T10:30:17Z",
  "_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
    },
    "apiture:score": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
    },
    "apiture:getQuestions": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
    },
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "inputs": {
    "identity": {
      "_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
      "taxId": "*****3333",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "1741 Tiburon Dr",
      "city": "Wilmington",
      "region": "NC",
      "postalCode": "28403",
      "phone": "+15555555555",
      "birthdate": "1940-10-15",
      "email": "api@apiture.com",
      "ipAddress": "127.0.0.1"
    }
  },
  "outputs": {
    "state": "passed",
    "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: quiz
StatusDescription
400 Bad Request
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict
Conflict. Answers may only be submitted if the current state of the resource is asked.
Schema: errorResponse

Identity Verifications

Identity Verifications

getContactVerification

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Retrieves contact verification resource.

GET /contactVerification

Retrieves the contact verification status. If the contactUri link is invalid, the API returns a 400 Bad Request response.
Warning: The operation getContactVerification was deprecated on version v0.8.0 of the API. Use getIdentityVerification operation instead. getContactVerification will be removed on version v0.13.0 of the API.

Parameters

Parameter Description
contactUri
(query)
string
The URI of the contact being verified.
Warning: The parameter contactUri was deprecated on version v0.6.0 of the API. Use contact instead. contactUri will be removed on version v0.13.0 of the API.
type
(query)
string
The identity method type. Possible values are fraudRiskReport, quiz or adminApproval.

Try It

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: contactVerification
StatusDescription
400 Bad Request
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error.
Schema: errorResponse

getIdentityVerification

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Retrieves user verification resource.

GET /identityVerification

Retrieves the results of identity verification for a user or a contact.

Parameters

Parameter Description
user
(query)
string
The _id or URI of a user resource being verified.
contact
(query)
string
The _id or URI of the contact being verified.
type
(query)
string
The type of identity verification method.
Enumerated values:
fraudRiskReport
quiz

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/identity/identityVerification/v1.1.0/profile.json",
  "provider": "IDology",
  "sessionId": "c97671fc-b658-4c15-a1c8-819e691b7d3c",
  "scoredAt": "2020-06-04T13:28:59.375Z",
  "score": "passed",
  "result": "verified",
  "_links": {
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "verifications": [
    {
      "type": "fraudRiskReport",
      "_links": {
        "self": {
          "href": "https://api.example.bank/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
        }
      },
      "state": "passed",
      "createdAt": "2018-01-12T10:15:17Z"
    },
    {
      "type": "quiz",
      "_links": {
        "self": {
          "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
        }
      },
      "state": "passed",
      "createdAt": "2018-01-12T10:19:41Z"
    }
  ]
}

Responses

StatusDescription
200 OK
OK.
Schema: identityVerification
StatusDescription
400 Bad Request
Bad Request. One or more of the query parameters was not well formed. The _error field in the response contains details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity

Unprocessable Entity. The input was syntactically valid but not usable.

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

Schema: errorResponse

Approvals

Manual Identity Verification Approvals

createApproval

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Create a new approval resource

POST /approvals

Create a new approval resource for the specified identity (user).
Warning: The operation createApproval was deprecated on version v0.8.0 of the API. Use an approval resource in the Approvals API instead. createApproval will be removed on version v0.13.0 of the API.

Parameters

Parameter Description
contactUri
(query)
string
The URI of the contact being verified.
Warning: The parameter contactUri was deprecated on version v0.6.0 of the API. Use contact instead. contactUri will be removed on version v0.13.0 of the API.
userUri
(query)
string
The URI of a user resource being verified.
Warning: The parameter userUri was deprecated on version v0.6.0 of the API. Use user instead. userUri will be removed on version v0.13.0 of the API.
type
(query)
string
The identity method type. Possible values are fraudRiskReport, quiz or adminApproval.

Try It

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/identity/approval/v2.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
    },
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "_id": "a42234d9-b16a-439d-b464-55296a0b229a",
  "type": "adminApproval",
  "createdAt": "2018-01-12T10:15:17Z"
}

Responses

StatusDescription
201 Created
Created.
Schema: approval
StatusDescription
400 Bad Request
Bad Request. The {contactUri} query parameter was not well formed. The _error field in the response contains details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. The {contactUri} parameter was well formed but otherwise invalid. The _error field in the response contains details about the request error.
Schema: errorResponse

Response Headers

StatusDescription
201 Location string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with schema://host

getApproval

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Fetch a representation of this approval

GET /approvals/{approvalId}

Return a HAL representation of this approval resource.
Warning: The operation getApproval was deprecated on version v0.8.0 of the API. Use an approval resource in the Approvals API instead. getApproval will be removed on version v0.13.0 of the API.

Parameters

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

Try It

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/identity/approval/v2.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
    },
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "_id": "a42234d9-b16a-439d-b464-55296a0b229a",
  "type": "adminApproval",
  "createdAt": "2018-01-12T10:15:17Z"
}

Responses

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

API

The Identity Verification API

getLabels

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Localized Labels

GET /labels

Return a JSON object which defines labels for enumeration types defined by the schemas defined in this API. The labels in the response may not all match the requested language; some may be in the default language (en-us).

Parameters

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

Try It

Example responses

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: labelGroups

getApi

Code samples

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

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

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

};

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

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

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

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

};

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

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

require 'rest-client'
require 'json'

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

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

p JSON.parse(result)

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

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

}, headers = headers)

print r.json()

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

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

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

Top-level resources and operations in this API

GET /

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

Try It

Example responses

OK.

{
  "id": "identity",
  "name": "Identity",
  "apiVersion": "0.1.0",
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.0.1/profile.json",
  "_links": {
    "apiture:fraudRiskReports": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports"
    },
    "apiture:quizzes": {
      "href": "https://api.devbank.apiture.com/identity/quizzes"
    }
  }
}

200 Response

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

Responses

StatusDescription
200 OK
OK.
Schema: root

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

StatusDescription
200 OK
OK.
Schema: Inline

Response Schema

Schemas

abstractRequest

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

Abstract Request (v2.0.0)

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

This schema was resolved from common/abstractRequest.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only

abstractResource

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f"
    }
  }
}

Abstract Resource (v2.1.0)

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

This schema was resolved from common/abstractResource.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

approval

{
  "_profile": "https://production.api.apiture.com/schemas/identity/approval/v2.0.1/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/approval/a42234d9-b16a-439d-b464-55296a0b229a"
    },
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "_id": "a42234d9-b16a-439d-b464-55296a0b229a",
  "type": "adminApproval",
  "createdAt": "2018-01-12T10:15:17Z"
}

Approval (v2.0.1)

The core representation of an Approval resource. This represents a manual approval and would typically be created by an FI admin when a Contact fails one or more steps of the identity verification workflow.
Warning: The schema approval was deprecated on version v0.8.0 of the API. Use an approval resource in the Approvals API instead. approval will be removed on version v0.13.0 of the API.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
A unique identifier for this resource instance. This is is an opaque string.
read-only
createdAt string(date-time)
The date-time when the resource was created. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.
expiresAt string(date-time)
The date-time when the resource expires. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.
type identityVerificationType
The type of identity verification report. An approval uses type of approval.
read-only

attributes

{}

Attributes (v2.1.0)

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

This schema was resolved from common/attributes.

Properties

collection

{
  "_links": {
    "property1": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    },
    "property2": {
      "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
      "title": "Application"
    }
  },
  "_embedded": {},
  "_profile": "http://example.com",
  "_error": {
    "_id": "2eae46e1575c0a7b0115a4b3",
    "message": "Descriptive error message...",
    "statusCode": 422,
    "type": "errorType1",
    "remediation": "Remediation string...",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "errors": [
      {
        "_id": "ccdbe2c5c938a230667b3827",
        "message": "An optional embedded error"
      },
      {
        "_id": "dbe9088dcfe2460f229338a3",
        "message": "Another optional embedded error"
      }
    ],
    "_links": {
      "describedby": {
        "href": "https://developer.apiture.com/errors/errorType1"
      }
    }
  },
  "count": 0,
  "start": 0,
  "limit": 0,
  "name": "string"
}

Collection (v2.1.0)

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

This schema was resolved from common/collection.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

contactVerification

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

Verification (v2.1.0)

The contact's verification history and status.
Warning: The schema contactVerification was deprecated on version v0.12.0 of the API. Use identityVerification schema instead. contactVerification will be removed on version v0.13.0 of the API.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
verifications [identityHistoryItem]
The history of this contact's identity verifications.

coreAnswer

{
  "questionId": "1",
  "answer": "Honda Accord"
}

Quiz Answer (v1.0.0)

An answer to a quiz question.

Properties

NameDescription
questionId string (required)
The ID corresponding to the question in the quiz.
minLength: 1
maxLength: 256
answer string (required)
The answer to the question.
minLength: 1
maxLength: 256

coreQuizAnswers

{
  "answers": [
    {
      "questionId": "1",
      "answer": "Honda Accord"
    },
    {
      "questionId": "2",
      "answer": "Missouri"
    }
  ]
}

Quiz Answers (v1.0.0)

A collection of answers to a quiz.

Properties

NameDescription
answers [coreAnswer]
The list of answers the contact gave to the quiz questions.

coreQuizQuestion

{
  "id": "1",
  "question": "Who have you lived with?",
  "choices": [
    "Mary",
    "Caleb",
    "Angela",
    "Elliott"
  ]
}

Quiz Question (v1.0.0)

A question of a quiz.

Properties

NameDescription
id string (required)
The identifier for this question. A quiz answer is associated with the question via the questionId.
question string (required)
The question text.
choices [string]
An array containing a page of quiz question choice items.

coreQuizQuestions

{
  "questions": [
    {
      "id": "1",
      "question": "Who have you lived with?",
      "choices": [
        "Mary",
        "Caleb",
        "Angela",
        "Elliott"
      ]
    },
    {
      "id": "2",
      "question": "What's your mother's maiden name?",
      "choices": [
        "Clark",
        "Morris",
        "Niffle",
        "Bennett"
      ]
    }
  ]
}

Quiz Questions (v1.0.0)

The questions of a quiz.

Properties

NameDescription
questions [coreQuizQuestion]
An array containing a page of quiz question items.

createFraudRiskReport

{
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  }
}

Create Fraud Risk Report (v2.0.0)

Representation used to create a new fraud-risk analysis report.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
taxId string (required)
The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last four digits are shown. The mask consists of one ore more '*' characters.
minLength: 1
maxLength: 128
firstName string (required)
The identity's first name.
minLength: 1
maxLength: 128
lastName string (required)
The identity's last name.
minLength: 1
maxLength: 128
address1 string (required)
Line 1 of the identity's street address.
minLength: 1
maxLength: 512
address2 string
Line 2 of the identity's street address.
minLength: 1
maxLength: 512
city string (required)
The identity's city.
minLength: 1
maxLength: 64
region string (required)
The identity's region.
minLength: 1
maxLength: 128
postalCode string (required)
The identity's postal code.
minLength: 1
maxLength: 32
phone string (required)
The identity's phone.
minLength: 1
maxLength: 32
birthdate string(date) (required)
The identity's birth date in yyyy-mm-dd format.
minLength: 10
maxLength: 10
pattern: ^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$
email string(email)
The identity's email address.
maxLength: 256
ipAddress string(ipv4)
The identity's IP address.

createQuiz

{
  "_links": {
    "apiture:user": {
      "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  }
}

Create Quiz (v2.0.0)

Representation used to create a new quiz.

Properties

NameDescription
taxId string (required)
The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last four digits are shown. The mask consists of one ore more '*' characters.
minLength: 1
maxLength: 128
firstName string (required)
The identity's first name.
minLength: 1
maxLength: 128
lastName string (required)
The identity's last name.
minLength: 1
maxLength: 128
address1 string (required)
Line 1 of the identity's street address.
minLength: 1
maxLength: 512
address2 string
Line 2 of the identity's street address.
minLength: 1
maxLength: 512
city string (required)
The identity's city.
minLength: 1
maxLength: 64
region string (required)
The identity's region.
minLength: 1
maxLength: 128
postalCode string (required)
The identity's postal code.
minLength: 1
maxLength: 32
phone string (required)
The identity's phone.
minLength: 1
maxLength: 32
birthdate string(date) (required)
The identity's birth date in yyyy-mm-dd format.
minLength: 10
maxLength: 10
pattern: ^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$
email string(email)
The identity's email address.
maxLength: 256
ipAddress string(ipv4)
The identity's IP address.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only

error

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

Error (v2.1.0)

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

This schema was resolved from common/error.

Properties

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

This schema was resolved from common/links.

errorResponse

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

Error Response (v2.1.0)

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

This schema was resolved from common/errorResponse.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

fraudRiskCategory

{
  "type": "personalInfoDoesNotMatch",
  "description": "The retrieved identity does not match the provided PII.",
  "message": "ZIP code located does not match the ZIP code submitted."
}

Fraud-risk Category (v1.0.0)

Representation of a fraud-risk category.

Properties

NameDescription
type fraudRiskCategoryType
Represents the possible types of fraud-risk.

fraudRiskCategoryType strings may have one of the following enumerated values:

ValueDescription
ipRestrictedIP Restricted: The user's IP address is restricted.
identityOnGovernmentWatchlistOn Government Watch list: The identity is on a government watch list.
identityOnAlertListOn Alert List: The identity is on an alert list.
addressIsPOBoxOrNonApprovedAddress is PO Box or non-approved
addressIsHighRiskAddress is high risk
ageRestrictedAge Restricted: The person's age is restricted
nonStandardTaxIdNon-standard Tax ID
personalInfoDoesNotMatchPersonal information does not match
emailRestrictedEmail Restricted: The person's email address is restricted.

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

description string
The description of the fraud.
message string
The original result message that was received from the identity verification provider.

fraudRiskCategoryType

"ipRestricted"

Fraud Risk Category Type (v1.0.0)

Represents the possible types of fraud-risk.

fraudRiskCategoryType strings may have one of the following enumerated values:

ValueDescription
ipRestrictedIP Restricted: The user's IP address is restricted.
identityOnGovernmentWatchlistOn Government Watch list: The identity is on a government watch list.
identityOnAlertListOn Alert List: The identity is on an alert list.
addressIsPOBoxOrNonApprovedAddress is PO Box or non-approved
addressIsHighRiskAddress is high risk
ageRestrictedAge Restricted: The person's age is restricted
nonStandardTaxIdNon-standard Tax ID
personalInfoDoesNotMatchPersonal information does not match
emailRestrictedEmail Restricted: The person's email address is restricted.

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

Type: string
Enumerated values:
ipRestricted
identityOnGovernmentWatchlist
identityOnAlertList
addressIsPOBoxOrNonApproved
addressIsHighRisk
ageRestricted
nonStandardTaxId
personalInfoDoesNotMatch
emailRestricted

fraudRiskReport

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

Fraud-risk Report (v2.1.0)

The result of running a fraud-risk analysys.

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

RelSummaryMethod
selfFetch a representation of this fraud-risk reportGET
apiture:user The userGET
apiture:contact The contactGET

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
A unique identifier for this resource instance. This is is an opaque string.
read-only
createdAt string(date-time)
The date-time when the resource was created. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.
expiresAt string(date-time)
The date-time when the resource expires. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.
type identityVerificationType
The type of identity verification report. A fraud-risk report uses type of fraudRiskReport.
read-only
inputs fraudRiskReportInputs
The inputs of a fraud-risk report.
outputs fraudRiskReportOutputs
The outputs of a fraud-risk report.

fraudRiskReportInputs

{
  "identity": {
    "taxId": "112-22-3333",
    "firstName": "John",
    "lastName": "Smith",
    "address1": "1741 Tiburon Dr",
    "city": "Wilmington",
    "region": "NC",
    "postalCode": "28403",
    "phone": "+15555555555",
    "birthdate": "1940-10-15",
    "email": "api@apiture.com",
    "ipAddress": "127.0.0.1"
  }
}

Fraud-risk Report Inputs (v1.0.0)

The inputs of a fraud-risk report.

Properties

NameDescription
identity identity
Information that describes the identity.

fraudRiskReportOutputs

{
  "token": "string",
  "providerReportId": "string",
  "state": "passed",
  "fraudRiskCategories": [
    {
      "type": "personalInfoDoesNotMatch",
      "description": "The retrieved identity does not match the provided PII.",
      "message": "ZIP code located does not match the ZIP code submitted."
    }
  ]
}

Fraud-risk Report Outputs (v1.0.0)

The outputs of a fraud-risk report.

Properties

NameDescription
token string
An opaque string that conveys the state of the contact's identity verification.
providerReportId string
External identity provider report Id.
state fraudRiskReportState
The state of a fraud report. passed indicates that the provided personally identifiable information (PII) was located and contains no risk factors. passedWithRiskFactors means that the provided PII matches an identity but contains risk factors. failed means that the provided PII does not match any identity records.

fraudRiskReportState strings may have one of the following enumerated values:

ValueDescription
passedPassed: Identity verification passed.
failedFailed: Identity verification failed.
passedWithRiskFactorsPassed with Risk Factors: Identity verification passed with risk factors.

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

fraudRiskCategories [fraudRiskCategory]
A list of categories in this report.

fraudRiskReportState

"passed"

Fraud Risk Report State (v1.0.0)

The state of a fraud report. passed indicates that the provided personally identifiable information (PII) was located and contains no risk factors. passedWithRiskFactors means that the provided PII matches an identity but contains risk factors. failed means that the provided PII does not match any identity records.

fraudRiskReportState strings may have one of the following enumerated values:

ValueDescription
passedPassed: Identity verification passed.
failedFailed: Identity verification failed.
passedWithRiskFactorsPassed with Risk Factors: Identity verification passed with risk factors.

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

Type: string
Enumerated values:
passed
passedWithRiskFactors
failed

fraudRiskReports

{
  "_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReports/v2.1.0/profile.json",
  "start": 0,
  "limit": 1,
  "count": 1,
  "name": "fraudRiskReports",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=0&limit=1"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports?start=1&limit=1"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/identity/fraudRiskReports"
    }
  },
  "_embedded": {
    "items": [
      {
        "_profile": "https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.1.0/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
          },
          "apiture:user": {
            "href": "https://api.devbank.apiture.com/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
          }
        },
        "_id": "c6dbc32f-e0eb-4947-9819-c691bb9164a5",
        "type": "fraudRiskReport",
        "inputs": {
          "identity": {
            "taxId": "*****3333",
            "firstName": "John",
            "lastName": "Smith",
            "address1": "1741 Tiburon Dr",
            "city": "Wilmington",
            "region": "NC",
            "postalCode": "28403",
            "phone": "555-555-5555",
            "birthdate": "1940-10-15",
            "email": "api@apiture.com",
            "ipAddress": "127.0.0.1"
          }
        },
        "outputs": {
          "state": "passedWithRiskFactors",
          "providerReportId": 1234,
          "fraudRiskCategories": [
            {
              "type": "personalInfoDoesNotMatch",
              "description": "The retrieved identity does not match the provided PII."
            },
            {
              "type": "addressIsPOBoxOrNonApproved",
              "description": "The provided address is a PO Box or other non-approved address"
            },
            {
              "type": "identityOnGovernmentWatchlist",
              "description": "The provided identity is located on one or more government watchlists"
            },
            {
              "type": "identityOnAlertList",
              "description": "The provided identity is located on one or more alert lists"
            },
            {
              "type": "ipRestricted",
              "description": "The provided IP address is restricted"
            },
            {
              "type": "emailRestricted",
              "description": "The provided email address is restricted"
            }
          ]
        }
      }
    ]
  }
}

Fraud Risk Reports (v2.1.0)

The items in the collection are ordered in the _embedded object with name items. The top-level _links object may contain pagination links (self, next, prev, first, last, collection).

Properties

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

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items [fraudRiskReport]
An array containg a page of fraud-risk analysis reports.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

identity

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

Identity (v1.0.0)

Information that describes the identity.

Properties

NameDescription
taxId string (required)
The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last four digits are shown. The mask consists of one ore more '*' characters.
minLength: 1
maxLength: 128
firstName string (required)
The identity's first name.
minLength: 1
maxLength: 128
lastName string (required)
The identity's last name.
minLength: 1
maxLength: 128
address1 string (required)
Line 1 of the identity's street address.
minLength: 1
maxLength: 512
address2 string
Line 2 of the identity's street address.
minLength: 1
maxLength: 512
city string (required)
The identity's city.
minLength: 1
maxLength: 64
region string (required)
The identity's region.
minLength: 1
maxLength: 128
postalCode string (required)
The identity's postal code.
minLength: 1
maxLength: 32
phone string (required)
The identity's phone.
minLength: 1
maxLength: 32
birthdate string(date) (required)
The identity's birth date in yyyy-mm-dd format.
minLength: 10
maxLength: 10
pattern: ^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$
email string(email)
The identity's email address.
maxLength: 256
ipAddress string(ipv4)
The identity's IP address.

identityHistoryItem

{
  "state": "passed",
  "createdAt": "2019-11-21T08:43:54.375Z",
  "type": "quiz",
  "_links": {
    "apiture:user": {
      "href": "https://api.example.bank/users/users/d77bef0b-c75c-4192-ba88-278b9ce4063b"
    }
  }
}

Identity Verification Item (v1.0.0)

One verification record for a contact's history of verifications.

Properties

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

This schema was resolved from common/links.

state identityVerificationState (required)
The type of the historical verification.

identityVerificationState strings may have one of the following enumerated values:

ValueDescription
passedPassed: Identity verification passed.
failedFailed: Identity verification failed.
passedWithRiskFactorsPassedWithRiskFactors: Identity verification passed with risk factors.
pendingPending: Identity verification has not started.
askedAsked: Identity verification is in progress, after personal questions have been presented to the user.
identityServiceFailureIdentityServiceFailure: Identity verification failed to complete due to a failure in a back-end or third party service.
scoringScoring: Identity verification is generating a verification score.
expiredExpired: The user did not complete the identity verification process before it expired.

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

type identityVerificationType
Describes how the identity verification was performed.

identityVerificationType strings may have one of the following enumerated values:

ValueDescription
fraudRiskReportFraud Risk Report: Verification performed by generating a fraud risk report based on the identity's personal information.
quizQuiz: Verification performed by executing a quiz based on personal knowledge the individual should know.
adminApprovalAdmin Approval: Verification performed by an administrator explicitly approving the identity, for example after manually inspecting identity verification documents from the user.

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

createdAt string(date-time) (required)
The date-time when the verification occurred or completed. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.
expiredAt string(date-time)
The date-time when the verification expired. This is only set if the state is expired. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.

identityVerification

{
  "_profile": "https://production.api.apiture.com/schemas/identity/identityVerification/v1.1.0/profile.json",
  "provider": "IDology",
  "sessionId": "c97671fc-b658-4c15-a1c8-819e691b7d3c",
  "scoredAt": "2020-06-04T13:28:59.375Z",
  "score": "passed",
  "result": "verified",
  "_links": {
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "verifications": [
    {
      "type": "fraudRiskReport",
      "_links": {
        "self": {
          "href": "https://api.example.bank/identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5"
        }
      },
      "state": "passed",
      "createdAt": "2018-01-12T10:15:17Z"
    },
    {
      "type": "quiz",
      "_links": {
        "self": {
          "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
        }
      },
      "state": "passed",
      "createdAt": "2018-01-12T10:19:41Z"
    }
  ]
}

Identity Verification Data (v1.1.0)

Results of identity verification process that tells if a user has passed or failed the identity check or if the verification expired.

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

RelSummaryMethod
apiture:user The userGET
apiture:contact The contactGET

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
verifications [identityHistoryItem]
The history of this contact's identity verifications.
read-only
provider string
The name of the identity verification provider.
read-only
sessionId string
The unique id for a session of the identity verification process.
read-only
scoredAt string(date-time)
The date-time when the provider ran identity verification. This is an RFC 3339 time stamp.
read-only
score string
The indication if the user has passed or failed the identity verification process.
read-only


Enumerated values:
passed
failed
expired

result verificationResult
The identity verification status for this person. This field is read-only and is derived from the results of any identity verification processes executed against the personally identifiable information (PII) in the associated user.
read-only

identityVerificationState

"passed"

IdentityVerification Type (v1.0.0)

The type of the historical verification.

identityVerificationState strings may have one of the following enumerated values:

ValueDescription
passedPassed: Identity verification passed.
failedFailed: Identity verification failed.
passedWithRiskFactorsPassedWithRiskFactors: Identity verification passed with risk factors.
pendingPending: Identity verification has not started.
askedAsked: Identity verification is in progress, after personal questions have been presented to the user.
identityServiceFailureIdentityServiceFailure: Identity verification failed to complete due to a failure in a back-end or third party service.
scoringScoring: Identity verification is generating a verification score.
expiredExpired: The user did not complete the identity verification process before it expired.

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

Type: string
Enumerated values:
passed
failed
passedWithRiskFactors
pending
asked
identityServiceFailure
scoring
expired

identityVerificationType

"fraudRiskReport"

Identity Verification Type (v1.0.0)

Describes how the identity verification was performed.

identityVerificationType strings may have one of the following enumerated values:

ValueDescription
fraudRiskReportFraud Risk Report: Verification performed by generating a fraud risk report based on the identity's personal information.
quizQuiz: Verification performed by executing a quiz based on personal knowledge the individual should know.
adminApprovalAdmin Approval: Verification performed by an administrator explicitly approving the identity, for example after manually inspecting identity verification documents from the user.

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

Type: string
Enumerated values:
fraudRiskReport
quiz
adminApproval

labelGroup

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

Label Group (v1.0.0)

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

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

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

This schema was resolved from common/labelGroup.

Properties

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

This schema was resolved from common/labelItem.

labelGroups

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

Label Groups (v1.1.0)

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

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

This schema was resolved from common/labelGroups.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
groups object
Groups of localized labels. This maps group namesa group of labels within that group.
» additionalProperties labelGroup
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

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

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

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

This schema was resolved from common/labelGroup.

labelItem

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

Label Item (v1.0.0)

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

This schema was resolved from common/labelItem.

Properties

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

This schema was resolved from common/simpleLabel.

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

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

Link (v1.0.0)

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

This schema was resolved from common/link.

Properties

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

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

Links (v1.0.0)

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

This schema was resolved from common/links.

Properties

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

This schema was resolved from common/link.

outputs

{
  "token": "string"
}

Outputs (v1.0.0)

Base model schema for identity verification operations outputs.

Properties

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

quiz

{
  "_id": "73be83af-9e64-4214-8e90-76da43610b31",
  "type": "quiz",
  "createdAt": "2018-01-12T10:15:17Z",
  "expiresAt": "2018-01-12T10:30:17Z",
  "_profile": "https://production.api.apiture.com/schemas/identity/quiz/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
    },
    "apiture:score": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
    },
    "apiture:getQuestions": {
      "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/questions"
    },
    "apiture:user": {
      "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
    }
  },
  "inputs": {
    "identity": {
      "_profile": "https://production.api.apiture.com/schemas/identity/identity/v1.0.0/profile.json",
      "taxId": "*****3333",
      "firstName": "John",
      "lastName": "Smith",
      "address1": "1741 Tiburon Dr",
      "city": "Wilmington",
      "region": "NC",
      "postalCode": "28403",
      "phone": "+15555555555",
      "birthdate": "1940-10-15",
      "email": "api@apiture.com",
      "ipAddress": "127.0.0.1"
    }
  },
  "outputs": {
    "state": "passed",
    "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
  }
}

Quiz (v2.1.0)

A quiz containing a collection of questions and their possible answers. These questions can be used to present a multiple-choice quiz in order to verify the identity.

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

RelSummaryMethod
apiture:createQuizQuestionsGenerate the questions for a quizPOST
apiture:scoreSubmit the answers to a quizPOST
apiture:user The userGET
apiture:contact The contactGET

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
A unique identifier for this resource instance. This is is an opaque string.
read-only
createdAt string(date-time)
The date-time when the resource was created. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.
expiresAt string(date-time)
The date-time when the resource expires. This is an RFC 3066 time stamp in the form YYYY-DD-MMThh:mm:ss.sssZ.
type identityVerificationType
The type of identity verification report. A quiz uses type of quiz.
read-only
inputs quizInputs
The inputs of a quiz.
outputs quizOutputs
The outputs of a quiz. Used for workflow.

quizInputs

{
  "identity": {
    "taxId": "112-22-3333",
    "firstName": "John",
    "lastName": "Smith",
    "address1": "1741 Tiburon Dr",
    "city": "Wilmington",
    "region": "NC",
    "postalCode": "28403",
    "phone": "+15555555555",
    "birthdate": "1940-10-15",
    "email": "api@apiture.com",
    "ipAddress": "127.0.0.1"
  }
}

Quiz Inputs (v1.0.0)

The inputs of a quiz.

Properties

NameDescription
identity identity
Information that describes the identity.

quizOutputs

{
  "token": "string",
  "state": "passed"
}

Quiz Outputs (v1.0.0)

The outputs of a quiz. Used for workflow.

Properties

NameDescription
token string
An opaque string that conveys the state of the contact's identity verification.
state identityVerificationState
The type of the historical verification.

identityVerificationState strings may have one of the following enumerated values:

ValueDescription
passedPassed: Identity verification passed.
failedFailed: Identity verification failed.
passedWithRiskFactorsPassedWithRiskFactors: Identity verification passed with risk factors.
pendingPending: Identity verification has not started.
askedAsked: Identity verification is in progress, after personal questions have been presented to the user.
identityServiceFailureIdentityServiceFailure: Identity verification failed to complete due to a failure in a back-end or third party service.
scoringScoring: Identity verification is generating a verification score.
expiredExpired: The user did not complete the identity verification process before it expired.

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

quizQuestions

{
  "_links": {
    "up": {
      "href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
    },
    "apiture:score": {
      "href": "https://api.devbank.apiture.com/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
    }
  },
  "questions": [
    {
      "id": "1",
      "question": "Who have you lived with?",
      "choices": [
        "Mary",
        "Caleb",
        "Angela",
        "Elliott"
      ]
    },
    {
      "id": "2",
      "question": "What's your mother's maiden name?",
      "choices": [
        "Clark",
        "Morris",
        "Niffle",
        "Bennett"
      ]
    }
  ],
  "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
}

Create Questions (v2.1.0)

Representation used to create a new set of questions.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
questions [coreQuizQuestion]
An array containing a page of quiz question items.
token string
An opaque string that conveys the state of the contact's identity verification.

quizzes

{
  "_profile": "https://production.api.apiture.com/schemas/identity/quizzes/v2.0.0/profile.json",
  "start": 0,
  "limit": 1,
  "count": 1,
  "name": "quizzes",
  "_links": {
    "self": {
      "href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
    },
    "first": {
      "href": "https://api.example.bank/identity/quizzes?start=0&limit=1"
    },
    "next": {
      "href": "https://api.example.bank/identity/quizzes?start=1&limit=1"
    },
    "collection": {
      "href": "https://api.example.bank/identity/quizzes"
    }
  },
  "_embedded": {
    "items": [
      {
        "createdAt": "2018-01-12T10:15:17Z",
        "expiresAt": "2018-01-12T10:30:17Z",
        "_links": {
          "self": {
            "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31"
          },
          "apiture:score": {
            "href": "https://api.example.bank/identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31/answers"
          },
          "apiture:user": {
            "href": "https://api.example.bank/users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3"
          }
        },
        "inputs": {
          "identity": {
            "taxId": "*****3333",
            "firstName": "John",
            "lastName": "Smith",
            "address1": "1741 Tiburon Dr",
            "city": "Wilmington",
            "region": "NC",
            "postalCode": "28403",
            "phone": "+15555555555",
            "birthdate": "1940-10-15",
            "email": "api@apiture.com",
            "ipAddress": "127.0.0.1"
          }
        },
        "outputs": {
          "state": "failed",
          "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
        }
      },
      {
        "createdAt": "2018-01-02T12:11:47Z",
        "expiresAt": "2018-01-02T12:26:47Z",
        "_links": {
          "self": {
            "href": "https://api.example.bank/identity/quizzes/a71c3843-32c2-4054-b7b2-fcf11a84532f"
          }
        },
        "inputs": {
          "identity": {
            "taxId": "*****3333",
            "firstName": "Mary",
            "lastName": "Williams",
            "address1": "1741 Tiburon Dr",
            "city": "Wilmington",
            "region": "NC",
            "postalCode": "28403",
            "phone": "+15555555555",
            "birthdate": "1960-03-05",
            "email": "api@apiture.com",
            "ipAddress": "127.0.0.1"
          }
        },
        "outputs": {
          "state": "passed",
          "token": "m8JhbGciOiJIUzI1NiIsInRjWgQzWXcXNrz0ogtVhfEd2o"
        }
      }
    ]
  }
}

Quizzes (v2.0.0)

Collection of quizzes.

Properties

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

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items [quiz]
An array containg a page of quizzes.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

root

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

API Root (v2.1.0)

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

This schema was resolved from common/root.

Properties

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

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
This API's version.

scoreQuizAnswers

{
  "answers": [
    {
      "questionId": "1",
      "answer": "Honda Accord"
    },
    {
      "questionId": "2",
      "answer": "Missouri"
    }
  ]
}

Score Quiz Answers (v1.0.0)

Representation used to provide answers to a quiz.

Properties

NameDescription
answers [coreAnswer]
The list of answers the contact gave to the quiz questions.

simpleLabel

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

Simple Label (v1.0.0)

A text label and optional description.

This schema was resolved from common/simpleLabel.

Properties

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

verificationResult

"unknown"

Verification Result (v1.0.0)

The identity verification status for this person. This field is read-only and is derived from the results of any identity verification processes executed against the personally identifiable information (PII) contained in this record.

verificationResult strings may have one of the following enumerated values:

ValueDescription
unknownUnknown: The user's identity verification result is unknown.
verifiedVerified: The user's identity has been verified (passed).
unverifiedUnverified: The user's identity has not been verified (failed).

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

Type: string
Enumerated values:
unknown
verified
unverified

verificationToken

{
  "token": "string"
}

Verification Token (v1.0.0)

The token used to validate and track a contact for identity verification purposes.

Properties

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