NAV Navigation
Shell HTTP JavaScript Node.js Ruby Python Java Go PHP

Verifier REST API v1.2.0

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

This document describes how you will interact with the AccountChek Verifier API. The API allows you to create AccountChek orders.

Base URLs:

Production Domain: https://verifierapi.accountchek.com/v1

Client Testing (CTE) Domain: https://verifierapi.accountchek.net/v1

Email: AccountChek | Web: AccountChek

Authentication

Migration

This tag is applied to operations that allow a previous SOAP API integration to easily migrate orders from SOAP to REST.

Get AccountChekOrder by VodId

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/migrations/voa/{vodId}/order', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /migrations/voa/{vodId}/order

Get an AccountChek order using the SOAP API VodId.

This request can be used to get an AccountChek order by the SOAP API VodId.

Parameters

Name In Type Required Description
vodId path string(guid) true The ID of a AccountChek order in the SOAP API.

Example responses

200 Response

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "id": "string",
  "created": "2019-08-24T14:15:22Z",
  "isArchived": false,
  "status": "building",
  "loginUrl": "http://example.com",
  "daysRemaining": 0,
  "employmentVerificationRequested": true
}

Responses

Status Meaning Description Schema
200 OK The order was found and its data is returned. AccountChekOrder
404 Not Found The AccountChek order does not exist. None

Company

This tag is applied to operations that allow you to get information about your current company.

Get Company

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/company \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/company HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/company',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/company',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/company',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/company', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/company", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/company', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /company

Get information about your company.

Returns the information currently available in the system about your company.

Requires CorporateAdmin role.

Example responses

200 Response

{
  "companyName": "string",
  "contactName": "string",
  "standardMonitoring": 0,
  "standardDaysBack": 0,
  "billingInfo": {
    "name": "string",
    "email": "user@example.com",
    "phone": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A company object with your company's information. Company
401 Unauthorized Authorization has been denied for this request. None

Replace Company

Code samples

# You can also use wget
curl -X PUT https://verifierapi.accountchek.com/v1/company \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PUT https://verifierapi.accountchek.com/v1/company HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "companyName": "string",
  "contactName": "string",
  "standardMonitoring": 0,
  "standardDaysBack": 0,
  "billingInfo": {
    "name": "string",
    "email": "user@example.com",
    "phone": "string"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/company',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "companyName": "string",
  "contactName": "string",
  "standardMonitoring": 0,
  "standardDaysBack": 0,
  "billingInfo": {
    "name": "string",
    "email": "user@example.com",
    "phone": "string"
  }
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/company',
{
  method: 'PUT',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.put 'https://verifierapi.accountchek.com/v1/company',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://verifierapi.accountchek.com/v1/company', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://verifierapi.accountchek.com/v1/company", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://verifierapi.accountchek.com/v1/company', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT /company

Modify information about your company.

Change information about your company such as the name, contact, or invoicing information.

Requires CorporateAdmin role.

Body parameter

{
  "companyName": "string",
  "contactName": "string",
  "standardMonitoring": 0,
  "standardDaysBack": 0,
  "billingInfo": {
    "name": "string",
    "email": "user@example.com",
    "phone": "string"
  }
}

Parameters

Name In Type Required Description
body body Company true none

Example responses

200 Response

{
  "companyName": "string",
  "contactName": "string",
  "standardMonitoring": 0,
  "standardDaysBack": 0,
  "billingInfo": {
    "name": "string",
    "email": "user@example.com",
    "phone": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Your company information was updated. The updated company object is returned. Company
401 Unauthorized Authorization has been denied for this request. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

List Company Days Back

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/company/daysback \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/company/daysback HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/company/daysback',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/company/daysback',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/company/daysback',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/company/daysback', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/company/daysback", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/company/daysback', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /company/daysback

Get a list of days back values available for your VOA reports.

Get a list of integer days back values that are allowed when creating a new report.

Example responses

200 Response

[
  0
]

Responses

Status Meaning Description Schema
200 OK Successfully fetched the allowed days back information and a list of integer values has been returned. Inline

Response Schema

List Company Refresh Periods

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/company/refreshperiods \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/company/refreshperiods HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/company/refreshperiods',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/company/refreshperiods',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/company/refreshperiods',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/company/refreshperiods', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/company/refreshperiods", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/company/refreshperiods', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /company/refreshperiods

Get a list of refresh periods available for VOA orders you place.

The list of refresh periods is determined by your contract with AccountChek. This methods returns all refresh periods that you are allowed to use. You must use one of the values returned by this method when creating a VOA order.

Example responses

200 Response

[
  0
]

Responses

Status Meaning Description Schema
200 OK Successfully fetched the allowed refresh periods and a list of integer values has been returned. Inline

Response Schema

List Company Verifications

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/company/verifications \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/company/verifications HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/company/verifications',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/company/verifications',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/company/verifications',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/company/verifications', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/company/verifications", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/company/verifications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /company/verifications

Get the verification services available for your company.

The verification services available for your company is determined by your contract with AccountChek. This method returns a boolean value for each verification service to inform which is available.

Example responses

200 Response

{
  "voaEnabled": true,
  "voieEnabled": true,
  "dvoeEnabled": true
}

Responses

Status Meaning Description Schema
200 OK Successfully fetched the allowed verification services for your company. Verifications

Verifier

This tag is applied to operations that have to do with modification and creation of verifiers.

List Roles

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/roles \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/roles HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/roles',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/roles',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/roles',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/roles', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/roles", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/roles', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /roles

Get a list of roles available to your company in the system.

Get a list of roles available to your company in the system. These are the roles you are allowed to assign when creating or updating individual verifiers.

Requires CorporateAdmin role.

Example responses

200 Response

[
  "CorporateAdmin"
]

Responses

Status Meaning Description Schema
200 OK The list of roles available. Inline
401 Unauthorized Authorization has been denied for this request. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Role] false none [This is the list of available roles to assign a Verifier. Each role
contains different permissions.

The only role allowed to add, edit or remove verifiers is the
"CorporateAdmin".
]

List Regions

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/regions \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/regions HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/regions',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/regions',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/regions',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/regions', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/regions", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/regions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /regions

Get the list of regions available for use when creating a Verifier.

Gets the list of regions which may be assigned to Verifier and Processor's branch visbility.

Requires CorporateAdmin role.

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK The list of regions available. Inline
401 Unauthorized Authorization has been denied for this request. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Region] false none [A region typically represents a larger geographic area in which multiple physical branches are located. The purpose of the region is to allow Verifier's with the RegionAdmin role to view all orders within their assigned region.
]
» id integer(int32) true none The unique identifier of the region for your company.
» name string true none The name of the region.

List Region Branches

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/regions/{regionId}/branches \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/regions/{regionId}/branches HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/regions/{regionId}/branches',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/regions/{regionId}/branches',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/regions/{regionId}/branches',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/regions/{regionId}/branches', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/regions/{regionId}/branches", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/regions/{regionId}/branches', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /regions/{regionId}/branches

Get a list of branches which are under the given region.

Returns a list of branches which are grouped together in the given region. These values may be assigned to a Verifier and a Processor's branch visibility.

Requires CorporateAdmin role.

Parameters

Name In Type Required Description
regionId path integer(int32) true The ID of the region for which you want the branch list.

Example responses

200 Response

[
  {
    "id": 0,
    "name": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK The list of branches associated with the region. Inline
401 Unauthorized Authorization has been denied for this request. None
404 Not Found The region does not exist. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Branch] false none [A branch represents a single physical location from which business is conducted. Processors with the assigned visibility and BranchAdmins can view all orders within the given branch.
]
» id integer(int32) true none The unique identifier of the branch within the region.
» name string true none The name of the branch within the region.

List Verifiers

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/verifiers \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/verifiers HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/verifiers',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/verifiers',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/verifiers',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/verifiers', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/verifiers", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/verifiers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /verifiers

Get a list of verifiers.

Get a list of verifiers associated with your company or organization. You must have sufficient access privileges to make this call or you will get an 403 error. If you have the ability to add new users for your organization you will likely have permission to make this call.

Requires CorporateAdmin role.

Parameters

Name In Type Required Description
firstname query string false When included, this parameter limits the returned verifiers to those whose firstname starts with the given value. It is not case sensitive.
lastname query string false When included, this parameter limits the returned verifiers to those whose lastname starts with the given value. It is not case sensitive.
email query string(email) false When included, this parameter limits the returned verifiers to those whose email address starts within the given value. It is not case sensitive.

Detailed descriptions

firstname: When included, this parameter limits the returned verifiers to those whose firstname starts with the given value. It is not case sensitive.

lastname: When included, this parameter limits the returned verifiers to those whose lastname starts with the given value. It is not case sensitive.

email: When included, this parameter limits the returned verifiers to those whose email address starts within the given value. It is not case sensitive.

Example responses

200 Response

{
  "next": "http://example.com",
  "previous": "http://example.com",
  "verifiers": [
    {
      "id": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "user@example.com",
      "title": "string",
      "password": "stringst",
      "mustChangePassword": true,
      "role": "CorporateAdmin",
      "isLocked": true,
      "regionId": 0,
      "branchId": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A list of verifiers that match the criteria in the query parameters. Inline
401 Unauthorized Authorization has been denied for this request. None
403 Forbidden You do not have permission to perform this operation. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Response Schema

Status Code 200

Name Type Required Restrictions Description
» next string(uri) false none none
» previous string(uri) false none none
» verifiers [Verifier] false none none
»» id string(guid) false read-only The unique ID that identifies the individual Verifier within the company.
»» firstName string true none The first name of the Verifier.
»» lastName string true none The last name of the Verifier.
»» email string(email) true none The email of the Verifier. This serves as the Verifier's login name and is used for sending emails to the Verifier.
»» title string false none The job title of the Verifier.
»» password string false none This value is required when you are creating a new Verifier if not using generatePassword. When updating an existing Verifier, do not send it or send a null value to indicate no password change should happen. If you send a value when updating the Verifier, that Verifier's password will be set to the value sent.
»» mustChangePassword boolean false none This value indicates whether this Verifier is required to change their password the next time they login to the AccountChek Verifier website. This does not affect their ability to use the API.
»» role Role true none This is the list of available roles to assign a Verifier. Each role
contains different permissions.

The only role allowed to add, edit or remove verifiers is the
"CorporateAdmin".
»» isLocked boolean false none Set to true when the Verifier is not allowed to login to the system. This is useful for keeping a Verifier in the system, but preventing them from performing operations.
»» regionId integer false none This value is optional. It allows you to select from your hierarchy the region in which this Verifier is located. If you include this value, you must also include the branchId.
»» branchId integer false none This value must be null or left off when no regionId is included, but if a regionId is included this value must also be included. This value is the ID of a branch within the given region. The pair of regionId and branchId allow you specify a location at which the Verifier is located.

Enumerated Values

Property Value
role CorporateAdmin
role Operations
role RegionAdmin
role BranchAdmin
role Processor
role User

Create Verifier

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/verifiers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/verifiers HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0,
  "generatePassword": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/verifiers',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0,
  "generatePassword": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/verifiers',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/verifiers',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/verifiers', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/verifiers");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/verifiers", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/verifiers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /verifiers

Create a new verifier user.

Create a new verifier that is associated with your company. The role you add to the user must correspond to a role found by calling /roles endpoint.

Requires CorporateAdmin role.

Body parameter

{
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0,
  "generatePassword": true
}

Parameters

Name In Type Required Description
body body NewVerifier true none

Example responses

201 Response

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0
}

Responses

Status Meaning Description Schema
201 Created The new verifier was created and is returned. Verifier
401 Unauthorized Authorization has been denied for this request. None
403 Forbidden You do not have permission to perform this operation. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Get Verifier

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/verifiers/{verifierId} \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/verifiers/{verifierId} HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/verifiers/{verifierId}", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/verifiers/{verifierId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /verifiers/{verifierId}

Get the user information.

Retrieve the verifier information.

Requires CorporateAdmin role.

Parameters

Name In Type Required Description
verifierId path string(guid) true The verifier's ID.

Example responses

200 Response

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0
}

Responses

Status Meaning Description Schema
200 OK Returns the verifier information. Verifier
401 Unauthorized Authorization has been denied for this request. None
403 Forbidden You do not have permission to perform this operation. None
404 Not Found A verifier with the given ID does not exist. None

Replace Verifier

Code samples

# You can also use wget
curl -X PUT https://verifierapi.accountchek.com/v1/verifiers/{verifierId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PUT https://verifierapi.accountchek.com/v1/verifiers/{verifierId} HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
{
  method: 'PUT',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.put 'https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://verifierapi.accountchek.com/v1/verifiers/{verifierId}", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://verifierapi.accountchek.com/v1/verifiers/{verifierId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT /verifiers/{verifierId}

Update information for the given verifier user.

Update information for the verifier user. If you want to prevent a verifier from using the system anymore, you may lock their account. Any change in the verifier role must match a role from the /roles endpoint.

Requires CorporateAdmin role.

Body parameter

{
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0
}

Parameters

Name In Type Required Description
body body Verifier true none
verifierId path string(guid) true The verifier's ID.

Example responses

200 Response

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0
}

Responses

Status Meaning Description Schema
200 OK Modifies the verifier and returns the verifier. Verifier
401 Unauthorized Authorization has been denied for this request. None
403 Forbidden You do not have permission to perform this operation. None
404 Not Found A verifier with the given ID does not exist. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Delete Verifier

Code samples

# You can also use wget
curl -X DELETE https://verifierapi.accountchek.com/v1/verifiers/{verifierId}

DELETE https://verifierapi.accountchek.com/v1/verifiers/{verifierId} HTTP/1.1
Host: verifierapi.accountchek.com


fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
{
  method: 'DELETE'

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

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

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
{
  method: 'DELETE'

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

require 'rest-client'
require 'json'

result = RestClient.delete 'https://verifierapi.accountchek.com/v1/verifiers/{verifierId}',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.delete('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}')

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/verifiers/{verifierId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://verifierapi.accountchek.com/v1/verifiers/{verifierId}", data)
    req.Header = headers

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

request('DELETE','https://verifierapi.accountchek.com/v1/verifiers/{verifierId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

DELETE /verifiers/{verifierId}

Delete the verifier.

Deletes the Verifier from the system. Information that relates the Verifier to the orders that they created is separate and not removed from the system. This means in practical terms you can create another Verifier with the exact same email after the previous is deleted.

Requires CorporateAdmin role.

Parameters

Name In Type Required Description
verifierId path string(guid) true The verifier's ID.

Responses

Status Meaning Description Schema
200 OK The verifier was deleted successfully from the system. None
401 Unauthorized Authorization has been denied for this request. None
403 Forbidden You do not have permission to perform this operation. None
404 Not Found A verifier with the given ID does not exist. None

List Verifier Branch Visibility

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /verifiers/{verifierId}/branch-visibility

Get the branch visibilities for a Processor.

Gets the list of branch visibilities for a given Verifier with the Processor role.

Requires CorporateAdmin role.

Parameters

Name In Type Required Description
verifierId path string(guid) true The Verifier's ID.

Example responses

200 Response

[
  {
    "regionId": 0,
    "branchId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK The list of branch visibilities was found and returned. Inline
401 Unauthorized Authorization has been denied for this request. None
403 Forbidden You do not have permission to perform this operation. None
404 Not Found A verifier with the given ID does not exist or the verifier is not a Processor. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [BranchVisibility] false none [This object is used when a Verifier is assigned the role of Processor.
Setting a branch visibility on a processor allows access to all Orders
within the region and branch pair of their assigned branch visibilities.

Order availability to a branch and region is currently defined by the
Verifier that created it. This means two things:

1. An order only has a branch and region when one is assigned to the
owning Verifier.

2. When you change the branch and region of the owning Verifier, the
branch and region of the order change.
]
» regionId integer true none The ID of the region to assign.
» branchId integer true none The ID of the branch to assign. The branch ID set to this value must be returned as an available value for the region ID set.

Replace Verifier Branch Visibility

Code samples

# You can also use wget
curl -X PUT https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PUT https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '[
  {
    "regionId": 0,
    "branchId": 0
  }
]';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = [
  {
    "regionId": 0,
    "branchId": 0
  }
];
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility',
{
  method: 'PUT',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.put 'https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://verifierapi.accountchek.com/v1/verifiers/{verifierId}/branch-visibility', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT /verifiers/{verifierId}/branch-visibility

Set the branch visibilities for a Processor.

Sets the branch visibilities for a verifier with the Processor role. If you attempt this call on a verifier without the Processor role, you will receive a 404 response.

By adding a branch visibility to a verifier with the Processor role. The verifier is allowed to access and modify all orders that were created by verifiers that have a matching regionId and branchId.

Requires CorporateAdmin role.

Body parameter

[
  {
    "regionId": 0,
    "branchId": 0
  }
]

Parameters

Name In Type Required Description
body body BranchVisibility true none
verifierId path string(guid) true The Verifier's ID.

Example responses

200 Response

[
  {
    "regionId": 0,
    "branchId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK The branch visibilities where successfully changed. Inline
401 Unauthorized Authorization has been denied for this request. None
403 Forbidden You do not have permission to perform this operation. None
404 Not Found A verifier with the given ID does not exist or the verifier is not a Processor. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [BranchVisibility] false none [This object is used when a Verifier is assigned the role of Processor.
Setting a branch visibility on a processor allows access to all Orders
within the region and branch pair of their assigned branch visibilities.

Order availability to a branch and region is currently defined by the
Verifier that created it. This means two things:

1. An order only has a branch and region when one is assigned to the
owning Verifier.

2. When you change the branch and region of the owning Verifier, the
branch and region of the order change.
]
» regionId integer true none The ID of the region to assign.
» branchId integer true none The ID of the branch to assign. The branch ID set to this value must be returned as an available value for the region ID set.

Status Code 422

Name Type Required Restrictions Description
anonymous [Errors] false none none
» general [string] true none A list of errors that could not be attached to a property.
» properties [Property] true none none
»» property string true none The name of the property that had the error.
»» message string true none The error message for the property.

Order

This tag is applied to operations that work directly with the AccountChek order.

List AccountChekOrders

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders

List your AccountChek orders.

This operation lists all your AccountChek orders in a paginated way. You use the "next" and "previous" parameters returned in the response to to get the next and previous page of results.

Roles Viewable/Editable Orders:

Parameters

Name In Type Required Description
verifierUserId query string(guid) false The ID of the verifier user that all orders must have been created by. This value is always your user if you don't have the appropriate permission. You may include your user ID if you don't have permission, but will recieve an error if you try with another user id. You have permission to use any user ID if you can create verifiers.
after query string(date-time) false The date and time after which all orders must have been created. Can be combined with "before" to create a range query. In such a case, this datetime value must occur strictly prior in time to the "before" value.
before query string(date-time) false The data and time before which all orders must have been created. Can be combined with "after" to create a range query. In such a case, this datetime value must occur strictly later in time than the "after" value.
name query string false Limit the orders returned to those on which either the firstName or lastName value starts with given string.
status query string false One of AccountChekOrder status values. The following values are allowed at the time of writing but are not definitive - building, opened, inprogress, canceled, closed.
referenceNumber query string false Search for all AccountChekOrders by the reference number that was provided when they were created. It is up to the user what they provide, but in the loan space this is typically the Loan Number.
search query string false This is an omni-search like parameter that will look for it's contents as a prefix of the firstName, lastName, or referenceNumber. In the future, more values may be added to be searched via this parameter.
max query integer false Maximum number of results to return per page. Allowed value is in the range 1 to 25.

Detailed descriptions

verifierUserId: The ID of the verifier user that all orders must have been created by. This value is always your user if you don't have the appropriate permission. You may include your user ID if you don't have permission, but will recieve an error if you try with another user id. You have permission to use any user ID if you can create verifiers.

after: The date and time after which all orders must have been created. Can be combined with "before" to create a range query. In such a case, this datetime value must occur strictly prior in time to the "before" value.

before: The data and time before which all orders must have been created. Can be combined with "after" to create a range query. In such a case, this datetime value must occur strictly later in time than the "after" value.

name: Limit the orders returned to those on which either the firstName or lastName value starts with given string.

status: One of AccountChekOrder status values. The following values are allowed at the time of writing but are not definitive - building, opened, inprogress, canceled, closed. The definitive allowed values may be found in the JSON Schema Definition of the AccountChekOrder object.

referenceNumber: Search for all AccountChekOrders by the reference number that was provided when they were created. It is up to the user what they provide, but in the loan space this is typically the Loan Number.

search: This is an omni-search like parameter that will look for it's contents as a prefix of the firstName, lastName, or referenceNumber. In the future, more values may be added to be searched via this parameter.

max: Maximum number of results to return per page. Allowed value is in the range 1 to 25.

Example responses

200 Response

{
  "next": "http://example.com",
  "previous": "http://example.com",
  "orders": [
    {
      "email": "user@example.com",
      "last4SSN": "string",
      "referenceNumber": "string",
      "firstName": "string",
      "lastName": "string",
      "phoneNumber": "string",
      "notificationUrl": "http://example.com",
      "returnUrl": "http://example.com",
      "employerName": "string",
      "ssn": "string",
      "dateOfBirth": "2019-08-24",
      "address": {
        "street": "string",
        "street2": "string",
        "city": "string",
        "state": "st",
        "zip": "string"
      },
      "id": "string",
      "created": "2019-08-24T14:15:22Z",
      "isArchived": false,
      "status": "building",
      "loginUrl": "http://example.com",
      "daysRemaining": 0,
      "employmentVerificationRequested": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A list of orders. Inline
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Response Schema

Status Code 200

Name Type Required Restrictions Description
» next string(uri) false none none
» previous string(uri) false none none
» orders [allOf] false none none

allOf

Name Type Required Restrictions Description
»» anonymous NewAccountChekOrder false none none
»»» email string(email) true none The email of the Borrower for which you are opening the order. Email communications from the system to the Borrower will be sent to this email address.
»»» last4SSN string true none The last four digits of the Borrower social security number.
»»» referenceNumber string true none A required value that you may use to link an order to your system. Typically this value is a loan number.
»»» firstName string true none The first name of the Borrower. This value is used by the system when sending communications to the Borrower. You may also search on this value to find orders.
»»» lastName string true none The last name of the Borrower. This value is used by the system when sending communications to the Borrower. You may also search on this value to find orders.
»»» phoneNumber string false none A phone number that will be used to send a text message to the
Borrower.

If you include this value, a text message is sent, so do not include
it if you don't want a text message sent.
»»» notificationUrl string(uri) false none When set, this URL will be called for all webhook callbacks. See the webhooks documentation for more information on this.
»»» returnUrl string(uri) false none The location the Borrower is redirected to after they logout. This is useful if you want the Borrower to be redirected to a custom location for later processing or a more integrated experience with your own systems.
»»» employerName string false none Name of the employer for the Borrower. AccountChek will search for this value attempting to find it in transactions.
»»» ssn string false none The full SSN of the Borrower. This is optional and should be sent if
you are going to add a verification that needs it, like IdChek.

If you send this value, you can skip sending the last4SSN
property, as this value will overwrite any value you set there.

The full value is never echoed here, only a masked value with the
last 4 digits visible.
»»» dateOfBirth string(date) false none The date of birth of the Borrower. This is optional and should only be sent if you are going to add a verification that needs it, like IdChek.
»»» address Address false none none
»»»» street string true none The street address of where the Borrower lives.
»»»» street2 string false none A secondary option part of a street address for the Borrower. Something that might go here is the apartment number.
»»»» city string true none The name of the city the Borrower lives in.
»»»» state string true none The 2 character postal abbreviation of the state in which the Borrower lives.
»»»» zip string true none The 5 digit zip code of where the Borrower lives.

and

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string(guid) false read-only The unique identifier of this order within the system.
»»» created string(date-time) false read-only The date and time that this order was created within the system.
»»» isArchived boolean true none Whether this order is archived. Currently does not have function.
»»» status string true none The following is a description for each available status.

* "building" - The AccountChekOrder is being built. You are allowed at this
point to add different services (ex. VOA and/or VOIE) to the order.

* "opened" - The AccountChekOrder is finished building and ready for the
Borrower to take action.

* "inprogress" - The Borrower has started action against the
AccountChekOrder.

* "closed" - The AccountChekOrder has been closed by the system and is
considered completed.

* "canceled" - The AccountChekOrder was canceled either while still being
built or before the Borrower had taken action.
»»» loginUrl string(uri) false read-only The login url that a Borrower can use to login to and link their financial institution accounts.
»»» daysRemaining number(double) false read-only The number of days, including fractional parts, that this order
will remain open. There are two scenerios for this value.

1) The Borrower has not acted on the order, so the order starts
with default number days remaining (at this time 30 days).

2) The Borrower has interacted with the order and the value is
calcluated against the initial interaction and any number of
conditions based upon the verifications added to the order.
»»» employmentVerificationRequested boolean false read-only A simple boolean value indicating if employment verification was requested on this order.

Enumerated Values

Property Value
status building
status opened
status inprogress
status closed
status canceled

Create AccountChekOrder

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  }
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders

Create a new AccountChek order.

This request is used to create a new AccountChek order.

Body parameter

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  }
}

Parameters

Name In Type Required Description
body body NewAccountChekOrder true none

Example responses

201 Response

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "id": "string",
  "created": "2019-08-24T14:15:22Z",
  "isArchived": false,
  "status": "building",
  "loginUrl": "http://example.com",
  "daysRemaining": 0,
  "employmentVerificationRequested": true
}

Responses

Status Meaning Description Schema
201 Created The order was created and it is returned. AccountChekOrder
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Get AccountChekOrder

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId} \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId} HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}

Get an AccountChek order.

This request can be used to get an AccountChek order.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "id": "string",
  "created": "2019-08-24T14:15:22Z",
  "isArchived": false,
  "status": "building",
  "loginUrl": "http://example.com",
  "daysRemaining": 0,
  "employmentVerificationRequested": true
}

Responses

Status Meaning Description Schema
200 OK The order was found and its data is returned. AccountChekOrder
404 Not Found The AccountChek order does not exist. None

Update AccountChekOrder

Code samples

# You can also use wget
curl -X PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId} HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "status": "opened"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.patch 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /accountchekorders/{orderId}

Update an AccountChek Order.

This request can be used to update an AccountChek Order.

Note: a service should be attached to an order, such as VOA or VOE, before setting the order to "opened" (from "building").

Body parameter

{
  "status": "opened"
}

Parameters

Name In Type Required Description
body body AccountChekOrder false none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "id": "string",
  "created": "2019-08-24T14:15:22Z",
  "isArchived": false,
  "status": "building",
  "loginUrl": "http://example.com",
  "daysRemaining": 0,
  "employmentVerificationRequested": true
}

Responses

Status Meaning Description Schema
200 OK The order was successfully updated. AccountChekOrder
404 Not Found The AccountChek order does not exist. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Replace AccountChekOrder

Code samples

# You can also use wget
curl -X PUT https://verifierapi.accountchek.com/v1/accountchekorders/{orderId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PUT https://verifierapi.accountchek.com/v1/accountchekorders/{orderId} HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "isArchived": false,
  "status": "building"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "isArchived": false,
  "status": "building"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
{
  method: 'PUT',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.put 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT /accountchekorders/{orderId}

Replace an AccountChekOrder.

This request is used to replace fields (not marked as read-only) using a modified AccountChekOrder provided in the body of the request. You will want to provide the entire AccountChekOrder except any read-only fields and modify the fields you want to change. The read-only fields will remain the same in the modified AccountChekOrder and should not be included in the request body as a result.

It is recommended to make a GET request to retrieve the current AccountChekOrder and then modify the fields before making this request. This will ensure you preserve any fields you aren't attempting to update after the request is made.

Body parameter

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "isArchived": false,
  "status": "building"
}

Parameters

Name In Type Required Description
body body AccountChekOrder true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "id": "string",
  "created": "2019-08-24T14:15:22Z",
  "isArchived": false,
  "status": "building",
  "loginUrl": "http://example.com",
  "daysRemaining": 0,
  "employmentVerificationRequested": true
}

Responses

Status Meaning Description Schema
200 OK The order was successfully updated. AccountChekOrder
404 Not Found The AccountChek order does not exist. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Create AccountChekOrder Ownership Token

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens',
{
  method: 'POST',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens',
{
  method: 'POST',

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

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens");
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/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership/tokens', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/ownership/tokens

Generate a limited time token for ownership transfer.

DEPRECATED - Transfer Order Ownership (TOO) will be removed in a future release.

Returns a limited life token that will allow for another user to "take ownership" of an order.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "token": "string"
}

Responses

Status Meaning Description Schema
200 OK An object containing the ownership token. OwnershipToken
404 Not Found The AccountChek order does not exist or the user does not have access to transfer ownership. None

Take AccountChekOrder Ownership

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "token": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ownership:take', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/ownership:take

Take ownership of an order.

DEPRECATED - Transfer Order Ownership (TOO) will be removed in a future release.

Allows a user to take ownership of an order by passing a valid ownership token.

Body parameter

{
  "token": "string"
}

Parameters

Name In Type Required Description
body body OwnershipToken true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "token": "string"
}

Responses

Status Meaning Description Schema
200 OK Ownership transfer successful. OwnershipToken
404 Not Found The AccountChek order does not exist or the token is invalid. None

VOA

This tag is applied to operations that retrieve VOA data.

List Financial Institutions

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/financialinstitutions \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/financialinstitutions HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/financialinstitutions',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/financialinstitutions',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/financialinstitutions',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/financialinstitutions', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/financialinstitutions", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/financialinstitutions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /financialinstitutions

Get a list of Financial Institutions which we support.

Get a list of Financial Institutions supported in a VOA request.

Example responses

200 Response

[
  {
    "id": "string",
    "name": "string",
    "url": "string",
    "fdicCertificate": "string",
    "ncuaNumber": 0,
    "rssdId": 0
  }
]

Responses

Status Meaning Description Schema
200 OK Returns a list of available financial institutions and their ids. Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [FinancialInstitution] false none [Information about an available financial institution.]
» id string true none The unique identifier of the financial institution in the system.
» name string true none The name of the financial institution within the system.
» url string(url) true none A link to financial institutions main page.
» fdicCertificate string false none The FDIC Certificate number for the given financial institution.
» ncuaNumber integer false none The NCUA Number for the institution if it is a credit union.
» rssdId integer false none The Federal Reserve ID for the institution.

Get VOA

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa

Get the VOA request for the AccountChek order.

Get the VOA object containing status information for the given AccountChek order.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "status": 500,
  "reportType": "voa"
}

Responses

Status Meaning Description Schema
200 OK A VOA request was found for the order and it is returned. VOA
404 Not Found The AccountChek order does not exist or no VOA service is attached. None

Attach VOA Service

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "reportType": "voa",
  "daysBack": 90
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "reportType": "voa",
  "daysBack": 90
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/voa

Add a VOA service request to the AccountChek order.

Add a VOA service request to the specified AccountChek order. You can add the VOA service to an order as long as a VOA service is not already attached, and the order is not in a "canceled" or "closed" status.

Lite vs. Full

Body parameter

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "reportType": "voa",
  "daysBack": 90
}

Parameters

Name In Type Required Description
body body NewVOA true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

201 Response

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "status": 500,
  "reportType": "voa"
}

Responses

Status Meaning Description Schema
201 Created Return the successfully created VOA information. VOA
403 Forbidden You do not have permission to perform this operation. None
404 Not Found The AccountChek order does not exist. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Replace VOA

Code samples

# You can also use wget
curl -X PUT https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PUT https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "reportType": "voa",
  "daysBack": 90
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "reportType": "voa",
  "daysBack": 90
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'PUT',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.put 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.put('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PUT /accountchekorders/{orderId}/voa

Replace the VOA.

This operation allows you to replace the VOA.

Upgrade: It is possible upgrade VOAs with requestType lite to full. All that is necessary is to change the requestType from lite to full and send the updated VOA via this put request. However, it is not possible to downgrade requests. Upgrading from lite to full does not cause a report to created. You must generate one yourself.

Body parameter

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "reportType": "voa",
  "daysBack": 90
}

Parameters

Name In Type Required Description
body body NewVOA true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "status": 500,
  "reportType": "voa"
}

Responses

Status Meaning Description Schema
200 OK The VOA has been updated and new reports will be generated. VOA
403 Forbidden You do not have permission to perform this operation. None
404 Not Found The AccountChek order does not exist or no VOA service is attached. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Update VOA

Code samples

# You can also use wget
curl -X PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "reportType": "voa"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.patch 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /accountchekorders/{orderId}/voa

Update the VOA.

This operation allows you to update the VOA service on the AccountChek order, and should be used to toggle the VOA requestType from "voa" to "dvoe" and vice versa.

Body parameter

{
  "reportType": "voa"
}

Parameters

Name In Type Required Description
body body VOA false none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "status": 500,
  "reportType": "voa"
}

Responses

Status Meaning Description Schema
200 OK The VOA has been updated. VOA
403 Forbidden You do not have permission to perform this operation. None
404 Not Found The AccountChek order does not exist or no VOA service is attached. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Get Lite VOA

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/lite', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa/lite

Get the lite report for a given order's VOA request.

The lite report returns a list of account information including the account holder's name, the financial institution, and the account balance.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

[
  {
    "accountId": "string",
    "accountType": "string",
    "accountName": "string",
    "accountNumber": "string",
    "accountHolder": "string",
    "fiName": "string",
    "fiAccountType": "string",
    "fiPlanName": "string",
    "balance": 0,
    "balanceDate": "2019-08-24T14:15:22Z"
  }
]

Responses

Status Meaning Description Schema
200 OK Return an array of LiteAccountInfo. Inline
404 Not Found The AccountChek order does not exist or no VOA service is attached. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [LiteAccountInfo] false none none
» accountId string true none The unique ID of the Account within the VOA.
» accountType string true none The type of account.
» accountName string false none The financial institution's name for the account.
» accountNumber string true none The financial institution's account number for the account. This may
be the:

1. Full Account Number - if the system was able to access it.
2. Last 4 Digits - if the full account number is not available.
» accountHolder string true none A string containing the names on the account as returned by the financial institution.
» fiName string false none The display name of the financial institution.
» fiAccountType string false none The type of account as stated by the financial institution. AccountChek maps this string value to a different enum value field called accountType which contains common financial institution account types.
» fiPlanName string false none The name of the "plan" for the account at the financial institution.
» balance number(double) false none The balance available in the account.
» balanceDate string(date-time) false none The date and time at which the balance was acquired.

List Reports

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa/reports

Get a list of available reports.

If this order had a VOA created for it, then you are able to list the reports available.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

[
  {
    "id": "string",
    "employerName": "string",
    "daysBack": 0,
    "accountIds": [
      "string"
    ],
    "dataHarvested": true,
    "currentAsOfDate": "2019-08-24T14:15:22Z",
    "historyStartDate": "2019-08-24T14:15:22Z",
    "requestDate": "2019-08-24T14:15:22Z",
    "reportDate": "2019-08-24T14:15:22Z",
    "requestorName": "string",
    "requestorCompanyName": "string",
    "status": 400,
    "reportType": "voa"
  }
]

Responses

Status Meaning Description Schema
200 OK A list of reports for the VOA is returned. Inline
404 Not Found The AccountChek order does not exist or no VOA service is attached. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VoaReport] false none none
» id string(guid) false read-only The unique ID of the VOA report.
» employerName string false none Name of the employer for the Borrower. AccountChek will search for this value attempting to find it in transactions.
» daysBack integer(int16) true none This is the number of days of history you would like to be present on the report. The values available for use by your company can be find by calling the company/daysback endpoint. Typically, the default values are 30, 60, and 90 days.
» accountIds [string] false none A list of account numbers you wish reported. Do not include the array if you want all accounts listed. These must be valid account ids as returned in a LiteAccountInfo object, acquired via the VOA Lite Report
» dataHarvested boolean false none If true, a harvest was run to get new transaction and account balance information for the generated report. Creation: when set to true a new harvest is guaranteed to run; when false a harvest may run if no harvest has run before.
» currentAsOfDate string(date-time) false read-only The date and time at which the information on the report was verfied.
» historyStartDate string(date-time) false read-only The date and time on which the latest transaction was found.
» requestDate string(date-time) false read-only The date and time on which the report was requested.
» reportDate string(date-time) false read-only The date and time at which the report was generated.
» requestorName string false read-only The name of the Verifier that requested the report.
» requestorCompanyName string false read-only The name of the company that requested the report.
» status integer false read-only The following is a list of the meaning for each status code. Code
507 means that the report is completed and ready for access.

* 400 - Report Object Created
* 507 - Report Ready
* 509 - Borrower Credentials Need Update
* 510 - Report in Progress
* 511 - No Transactions found
* 512 - Enrolled - Harvest Unsuccessful
* 540 - Data Error
* 700 - Harvest Already in Progress
» reportType string false read-only The type of asset report generated. This is set based on the reportType field on the VOA service object at the time of creating the VoaReport.

Enumerated Values

Property Value
status 400
status 507
status 509
status 510
status 511
status 512
status 540
status 700
reportType voa
reportType dvoe

Create Report

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "employerName": "string",
  "daysBack": 0,
  "accountIds": [
    "string"
  ],
  "dataHarvested": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "employerName": "string",
  "daysBack": 0,
  "accountIds": [
    "string"
  ],
  "dataHarvested": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/voa/reports

Create a new VOA report.

If the order had a VOA service attached, then you can make this call to generate a new Report for the order and VOA. This call is only available when an AccountChek order has the status 'inprogress'.

It is recommended that you call for the /accountchekorders/{id}/voa/lite endpoint to ensure that accounts have been added by the Borrower. Otherwise, you risk generating an empty report.

NOTE: The type of report generated from this API call is based on the reportType field on the VOA Service object (set initially when the service was attached to the order). If a different reportType is needed, you must update the VOA object via a PATCH call to the endpoint /accountchekorders/{orderId}/voa first.

Body parameter

{
  "employerName": "string",
  "daysBack": 0,
  "accountIds": [
    "string"
  ],
  "dataHarvested": true
}

Parameters

Name In Type Required Description
body body VoaReport true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

201 Response

{
  "id": "string",
  "employerName": "string",
  "daysBack": 0,
  "accountIds": [
    "string"
  ],
  "dataHarvested": true,
  "currentAsOfDate": "2019-08-24T14:15:22Z",
  "historyStartDate": "2019-08-24T14:15:22Z",
  "requestDate": "2019-08-24T14:15:22Z",
  "reportDate": "2019-08-24T14:15:22Z",
  "requestorName": "string",
  "requestorCompanyName": "string",
  "status": 400,
  "reportType": "voa"
}

Responses

Status Meaning Description Schema
201 Created The report was created and is being generated. VoaReport
404 Not Found The AccountChek order does not exist or no VOA service is attached. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Get Report

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId} \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId} HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa/reports/{reportId}

Get the report object for the given order's VOA request.

Get the report object which contains information about the status of the report. When the status of the report is ready it is safe to call /accountchekorders/{id}/voa/reports/{reportId}/summary to get the PDF or JSON output of the report.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of the VOA report to retrieve.

Example responses

200 Response

{
  "id": "string",
  "employerName": "string",
  "daysBack": 0,
  "accountIds": [
    "string"
  ],
  "dataHarvested": true,
  "currentAsOfDate": "2019-08-24T14:15:22Z",
  "historyStartDate": "2019-08-24T14:15:22Z",
  "requestDate": "2019-08-24T14:15:22Z",
  "reportDate": "2019-08-24T14:15:22Z",
  "requestorName": "string",
  "requestorCompanyName": "string",
  "status": 400,
  "reportType": "voa"
}

Responses

Status Meaning Description Schema
200 OK Return the Report object. VoaReport
404 Not Found The AccountChek order or VOA report does not exist, or no VOA service is attached. None

Get Summary Report

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/summary', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa/reports/{reportId}/summary

Get the report for a given order's VOA request.

Retrieve the report as either json or a pdf file. The json schema for this operation describes the json returned when use "application/json" for the Accept header. When you use "application/pdf" for your Accept header, the server will respond with a file download via the Content-Disposition header.

You may get bank statements attached to the report by setting the "attachBankStatements" query parameter to true. If the query parameter is not present, it is treated as if the value is false.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of the VOA report to retrieve.
attachBankStatements query boolean false Indicate if bank statements should be appended to the Report PDF. Defaults to false if not present.

Detailed descriptions

attachBankStatements: Indicate if bank statements should be appended to the Report PDF. Defaults to false if not present.

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK Return the JSON summary or PDF file summary. Detailed JSON schema information: VOA Report string
404 Not Found The AccountChek order or VOA report does not exist, or no VOA service is attached. None

Regenerate Report

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "newestHarvestUsed": true,
  "daysBack": 0,
  "accountIds": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "newestHarvestUsed": true,
  "daysBack": 0,
  "accountIds": [
    "string"
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/regenerate', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/voa/reports/{reportId}/regenerate

Create a new report that is a copy of a previous report.

DEPRECATED in favor of using the Create New Report API endpoint.

Take a previous report to generate a new report. The transaction data is constrained to either the previous report's information or the latest information as selected in CopyReport object. The account list is taken from the previous report if excluded from the CopyReport.

Body parameter

{
  "newestHarvestUsed": true,
  "daysBack": 0,
  "accountIds": [
    "string"
  ]
}

Parameters

Name In Type Required Description
body body CopyVoaReport true none
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of a previously generated report.

Example responses

201 Response

{
  "id": "string",
  "employerName": "string",
  "daysBack": 0,
  "accountIds": [
    "string"
  ],
  "dataHarvested": true,
  "currentAsOfDate": "2019-08-24T14:15:22Z",
  "historyStartDate": "2019-08-24T14:15:22Z",
  "requestDate": "2019-08-24T14:15:22Z",
  "reportDate": "2019-08-24T14:15:22Z",
  "requestorName": "string",
  "requestorCompanyName": "string",
  "status": 400,
  "reportType": "voa"
}

Responses

Status Meaning Description Schema
201 Created The new report was created and is returned. VoaReport
404 Not Found The AccountChek order or previous VOA report does not exist, or no VOA service is attached. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

List Report Bank Statements

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa/reports/{reportId}/statements

Get list of bank statements associated with the report.

Returns a list of BankStatement objects that contain information about the bank statements that are associated with the report. If not bank statements are associated then an empty list is returned.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of a previously generated report.

Example responses

200 Response

[
  {
    "id": "string",
    "name": "string",
    "documentId": "string",
    "extension": "string",
    "statementDate": "2019-08-24"
  }
]

Responses

Status Meaning Description Schema
200 OK A list of the associated banks statements. Inline
404 Not Found The AccountChek order or VOA report does not exist, or no VOA service is attached. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [BankStatement] false none none
» id string(guid) false read-only The unique ID for the statement.
» name string false read-only The filename from the bank for the statement.
» documentId string false read-only The unique ID from the bank for the statement.
» extension string false read-only The file extension of the bank statement.
» statementDate string(date) false read-only The date the statement was issued.

Get Report Bank Statement

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId} \
  -H 'Accept: application/pdf'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId} HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/pdf


const headers = {
  'Accept':'application/pdf'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}',
{
  method: 'GET',

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

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

const headers = {
  'Accept':'application/pdf'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}");
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/pdf"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}", data)
    req.Header = headers

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

 'application/pdf',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa/reports/{reportId}/statements/{statementId}

Get the document based bank statement.

Return the given bank statements Json information or PDF representation based upon the Accept header set in the request; application/pdf for PDF and application/json for the Json BankStatement object.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of a previously generated report.
statementId path string(guid) true The ID of the statement associated with a report.

Example responses

200 Response

{
  "id": "string",
  "name": "string",
  "documentId": "string",
  "extension": "string",
  "statementDate": "2019-08-24"
}

Responses

Status Meaning Description Schema
200 OK Return either the BankStatement object or the PDF depending on the Accept header. BankStatement
404 Not Found The AccountChek order, VOA report or requested bank statement does not exist, or no VOA service is attached. None

Get 1006 Report

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006 HTTP/1.1
Host: verifierapi.accountchek.com


fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006',
{
  method: 'GET'

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006',
{
  method: 'GET'

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

require 'rest-client'
require 'json'

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006')

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006");
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() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006", data)
    req.Header = headers

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

request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voa/reports/{reportId}/1006', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voa/reports/{reportId}/1006

Get the 1006 report for a given order's VOA request.

Get's the 1006 report as a PDF file. The accept header must be "application/pdf" in order to download the file. The response will contain a Content-Disposition for file meta-data.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of the report.

Responses

Status Meaning Description Schema
200 OK Returns the file data and includes the Content-Disposition header. None
404 Not Found The AccountChek order or VOA report does not exist, or no VOA service is attached. None

VOE

This tag is applied to operations that retrieve VOE/VOIE data.

Get VOE

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voe

Get the VOE object for the AccountChek order.

Retrieve the VOE object containing status information for the given AccountChek order.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "aggregationRequested": true,
  "directRequested": true,
  "paystubUploadRequested": true,
  "requestType": "voe",
  "status": "created"
}

Responses

Status Meaning Description Schema
200 OK A VOE request was found for the order and it is returned. VOE
404 Not Found The AccountChek order does not exist or no VOE service is attached. None

Attach VOE Service

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "requestType": "voe"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/voe

Add a VOE service request to the AccountChek order.

Add a VOE service request to the specified AccountChek order. You can add the VOE service to an order as long as a VOE service is not already attached, and the order is not in a "canceled" or "closed" status.

Note: if an empty body is passed (i.e. "{}"), the requestType will be set to "voie". If you desire to set the requestType to "voe" for VOE only reports then you will need to pass that accordingly in the body of this call.

Body parameter

{
  "requestType": "voe"
}

Parameters

Name In Type Required Description
body body VOE true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

201 Response

{
  "aggregationRequested": true,
  "directRequested": true,
  "paystubUploadRequested": true,
  "requestType": "voe",
  "status": "created"
}

Responses

Status Meaning Description Schema
201 Created The VOE service was attached to the AccountChek order. VOE
404 Not Found The AccountChek order does not exist. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Update VOE

Code samples

# You can also use wget
curl -X PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "requestType": "voe"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.patch 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /accountchekorders/{orderId}/voe

Update the VOE.

This operation allows you to update the VOE service on the AccountChek order, and should be used to toggle the VOE requestType from "voe" to "voie" and vice versa.

Body parameter

{
  "requestType": "voe"
}

Parameters

Name In Type Required Description
body body VOE true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "aggregationRequested": true,
  "directRequested": true,
  "paystubUploadRequested": true,
  "requestType": "voe",
  "status": "created"
}

Responses

Status Meaning Description Schema
200 OK The VOE has been updated. VOE
404 Not Found The AccountChek order does not exist or no VOE service is attached. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

List VOE Reports

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voe/reports

Get a list of available VOE reports.

List all the VOE Reports that exist for the AccountChek order.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

[
  {
    "id": "string",
    "status": "created",
    "type": "voe",
    "createdAt": "2019-08-24T14:15:22Z",
    "generatedAt": "2019-08-24T14:15:22Z",
    "providers": [
      "string"
    ],
    "requestorName": "string",
    "requestorCompanyName": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK A list of reports for the VOE service is returned. Inline
404 Not Found The AccountChek order does not exist or no VOE service is attached. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [VoeReport] false none none
» id string(guid) false read-only The unique ID of the VOE report.
» status string false read-only The status of the VOE Report.

* created - The VOE report object has been created.
* inprogress - The VOE report is undergoing the generation process.
* complete - The VOE report has been successfully generated.
* completewitherrors - The VOE report was generated, but encountered
some errors. This can occur if an aggregation source provider
encountered an MFA during a refresh.
* failed - An error was encountered when generating the VOE report.
* credentialupdaterequired - The employment provider requires the
borrower to update their credentials before a report can be
generated.
* harvestfailure - Encountered a situation in which the data from
the provider is unavailable.
» type string false read-only The type of report generated. This is set based on the requestType field on the VOE service object at the time of creating the VoeReport.
» createdAt string(date-time) false read-only The date and time at which the VOE report object was created.
» generatedAt string(date-time) false read-only The date and time at which the VOE report was generated.
» providers [string] false none The list of providers used to generate the VOE report.
» requestorName string false read-only The name of the verifier who created the order.
» requestorCompanyName string false read-only The name of the company the verifier who created the order is listed under.

Enumerated Values

Property Value
status created
status inprogress
status complete
status completewitherrors
status failed
status credentialupdaterequired
status harvestfailure
type voe
type voie

Create VOE Report

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "providers": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "providers": [
    "string"
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/voe/reports

Create a new VOE report.

If the order had a VOE service attached, then you can make this call to generate a new Report for the order and VOE. This call is only available when an AccountChek order has the status "inprogress".

If the borrower has not completed their VOE steps, you will be able to create a report but it will fail to generate.

If you desire to create a VOE only report or need to switch back to creating a VOIE from VOE only, then you must change the "requestType" by updating the VOE.

Body parameter

{
  "providers": [
    "string"
  ]
}

Parameters

Name In Type Required Description
body body VoeReport true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

201 Response

{
  "id": "string",
  "status": "created",
  "type": "voe",
  "createdAt": "2019-08-24T14:15:22Z",
  "generatedAt": "2019-08-24T14:15:22Z",
  "providers": [
    "string"
  ],
  "requestorName": "string",
  "requestorCompanyName": "string"
}

Responses

Status Meaning Description Schema
201 Created The VOE report was created and is being generated. VoeReport
404 Not Found The AccountChek order does not exist or no VOE service is attached. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Get VOE Report

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId} \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId} HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voe/reports/{reportId}

Get the report object for the given order's VOE request.

Retrieve the report object which contains information about the status of the report. When the status of the report is ready it is safe to call /accountchekorders/{id}/voe/reports/{reportId}/summary to get the PDF or JSON output of the report.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of the VOE Report.

Example responses

200 Response

{
  "id": "string",
  "status": "created",
  "type": "voe",
  "createdAt": "2019-08-24T14:15:22Z",
  "generatedAt": "2019-08-24T14:15:22Z",
  "providers": [
    "string"
  ],
  "requestorName": "string",
  "requestorCompanyName": "string"
}

Responses

Status Meaning Description Schema
200 OK Return the VOE Report object. VoeReport
404 Not Found The AccountChek order or VOE/VOIE report does not exist, or no VOE service is attached. None

Get VOE Summary Report

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/voe/reports/{reportId}/summary', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/voe/reports/{reportId}/summary

Get the report for a given order's VOE request.

Retrieve the report as either json or a pdf file. The json schema for this operation describes the json returned when use "application/json" for the Accept header. When you use "application/pdf" for your Accept header, the server will respond with a file download via the Content-Disposition header.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.
reportId path string(guid) true The ID of the VOE Report.

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK Return the JSON summary or PDF file summary. Detailed JSON schema information: VOE Report string
404 Not Found The AccountChek order or VOE/VOIE report does not exist, or no VOE service is attached. None

BorrowerUI

This tag is applied to operations that retrieve methods used for embedding the BorrowerUI.

Get Borrower Enrollment Widget

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget HTTP/1.1
Host: verifierapi.accountchek.com


fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget',
{
  method: 'GET'

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget',
{
  method: 'GET'

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

require 'rest-client'
require 'json'

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget',
  params: {
  }

p JSON.parse(result)

import requests

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget')

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget");
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() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget", data)
    req.Header = headers

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

request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/enrollmentWidget', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/enrollmentWidget

Get HTML that you can include in page for the your customer to complete the VOA.

This operation will return HTML and Script code that can be included in your page allowing your customer to complete the VOA inline on your website.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Responses

Status Meaning Description Schema
200 OK The body of the response will include the HTML content that can be included within your web page. None
404 Not Found The AccountChek order does not exist. None

Get SSO URL

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/ssoURL

Create a single sign-on (SSO) URL to log a borrower directly into the borrower portal.

This operation will return a URL with a 120 second time-to-live to provide a single-sign on into the Borrower UI. The url returned by this value can be included in an IFrame or used to open a new window for the borrower.

Once the SSO URL is created, you can add the following optional query parameters to the SSO URL to adjust the Borrower UI experience:

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

201 Response

{
  "url": "http://example.com"
}

Responses

Status Meaning Description Schema
201 Created The body of the response will include the SSO URL that can be included within your web page. SSOUrl
404 Not Found The AccountChek order does not exist. None

Create SSO URL

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "returnUrl": "http://example.com"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "returnUrl": "http://example.com"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/ssoURL', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/ssoURL

Create a single sign-on (SSO) URL to log a borrower directly into the borrower portal.

This operation will return a URL with a 120 second time-to-live to provide a single-sign on into the Borrower UI. The url returned by this value can be included in an IFrame or used to open a new window for the borrower.

This version requires an input parameter with a returnUrl. The included returnUrl overrides the default returnUrl and the borrower is returned to that location when they were logged in via returned SSO Url.

Once the SSO URL is created, you can add the following optional query parameters to the SSO URL to adjust the Borrower UI experience:

Body parameter

{
  "returnUrl": "http://example.com"
}

Parameters

Name In Type Required Description
body body NewSSOUrl true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

201 Response

{
  "url": "http://example.com"
}

Responses

Status Meaning Description Schema
201 Created The body of the response will include the SSO URL that can be included within your web page. SSOUrl
404 Not Found The AccountChek order does not exist. None

Email

This tag is applied to operations that control sending email for the AccountChek order.

Get AccountChekOrder Email

Code samples

# You can also use wget
curl -X GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email \
  -H 'Accept: application/json'

GET https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email HTTP/1.1
Host: verifierapi.accountchek.com
Accept: application/json


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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email',
{
  method: 'GET',

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

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

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email',
{
  method: 'GET',

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

require 'rest-client'
require 'json'

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

result = RestClient.get 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.get('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email', headers = headers)

print(r.json())

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

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email", data)
    req.Header = headers

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

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

GET /accountchekorders/{orderId}/email

Get the email sent to the user.

Returns the text of the email that would be sent to the user based on what services are attached to the Accountchek order. You will get back the plain text and/or html versions of the email text.

Parameters

Name In Type Required Description
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "email": "user@example.com",
  "text": "string",
  "html": "string"
}

Responses

Status Meaning Description Schema
200 OK An object containing the email information. Email
404 Not Found The AccountChek order does not exist. None

Update AccountChekOrder Email

Code samples

# You can also use wget
curl -X PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

PATCH https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "user@example.com"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "user@example.com"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.patch 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.patch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

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

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/email', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

PATCH /accountchekorders/{orderId}/email

Update the email for an order and send a new email.

Updates the email field on the AccountChek order if the email is different than the one currently stored. Whether the email is updated or not an email is sent to the address in the request for the given order based on what services are attached.

Body parameter

{
  "email": "user@example.com"
}

Parameters

Name In Type Required Description
body body Email true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "email": "user@example.com",
  "text": "string",
  "html": "string"
}

Responses

Status Meaning Description Schema
200 OK The email was updated and an email was queued for sending. Email
404 Not Found The AccountChek order does not exist. None

Borrower API

Create Borrower API Token

Code samples

# You can also use wget
curl -X POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token HTTP/1.1
Host: verifierapi.accountchek.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "ttl": 1800
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

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

fetch('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

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

result = RestClient.post 'https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token',
  params: {
  }, headers: headers

p JSON.parse(result)

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

r = requests.post('https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token', headers = headers)

print(r.json())

URL obj = new URL("https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token");
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/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token", data)
    req.Header = headers

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

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://verifierapi.accountchek.com/v1/accountchekorders/{orderId}/borrower-token', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

POST /accountchekorders/{orderId}/borrower-token

Get a time limited token which allows you access the Borrower API for the AccountChek order.

Given the information such as TTL length create a token that will allow for access to the Borrower API.

The token will only be created given the following restrictions -

  1. Order has status "opened" or "inprogress".
  2. Order was created after the Borrower API was introduced.
    • If it was created before a 422 is returned specifying this error.

Body parameter

{
  "ttl": 1800
}

Parameters

Name In Type Required Description
body body BorrowerToken true none
orderId path string(guid) true The ID of the AccountChek order.

Example responses

200 Response

{
  "borrowerToken": "string"
}

Responses

Status Meaning Description Schema
200 OK The created and valid token for accessing the Borrower API. Inline
404 Not Found The AccountChek order does not exist. None
422 Unprocessable Entity There was an error in the provided request body and it cannot be processed. The response body will contain the details of the error. Errors

Response Schema

Status Code 200

Name Type Required Restrictions Description
» borrowerToken string false read-only The token to be used for accessing the Borrower API.

Schemas

Address

{
  "street": "string",
  "street2": "string",
  "city": "string",
  "state": "st",
  "zip": "string"
}

Properties

Name Type Required Restrictions Description
street string true None The street address of where the Borrower lives.
street2 string false None A secondary option part of a street address for the Borrower. Something that might go here is the apartment number.
city string true None The name of the city the Borrower lives in.
state string true None The 2 character postal abbreviation of the state in which the Borrower lives.
zip string true None The 5 digit zip code of where the Borrower lives.

Property

{
  "property": "string",
  "message": "string"
}

Properties

Name Type Required Restrictions Description
property string true None The name of the property that had the error.
message string true None The error message for the property.

Errors

{
  "general": [
    "string"
  ],
  "properties": [
    {
      "property": "string",
      "message": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
general [string] true None A list of errors that could not be attached to a property.
properties [Property] true None None

Company

{
  "companyName": "string",
  "contactName": "string",
  "standardMonitoring": 0,
  "standardDaysBack": 0,
  "billingInfo": {
    "name": "string",
    "email": "user@example.com",
    "phone": "string"
  }
}

Properties

Name Type Required Restrictions Description
companyName string true None The display name of your company used by the system.
contactName string true None The name of the contact person at your company.
standardMonitoring number true None Set the number of days you want to monitor bank accounts for a VOA request. Setting the value to 0 clears it or is ignored when creating a new company.
standardDaysBack number true None Set the number of days back from the current date for bank account information included a VOA report. If you select 60 then the report will contain information from at most 60 days ago. Setting the value to 0 clears it or is ignored when creating a new company.
billingInfo object true None None
» name string true None The full name of the billing contact.
» email string(email) true None The email address of the billing contact.
» phone string(phone) true None The phone number of the billing contact.

Verifications

{
  "voaEnabled": true,
  "voieEnabled": true,
  "dvoeEnabled": true
}

Properties

Name Type Required Restrictions Description
voaEnabled boolean false None This value indicates whether the company has VOA verification service enabled.
voieEnabled boolean false None This value indicates whether the company has VOE/VOIE verification service enabled.
dvoeEnabled boolean false None This value indicates whether the company has DVOE enabled (type of VOA verification service).

Role

"CorporateAdmin"

This is the list of available roles to assign a Verifier. Each role contains different permissions.

The only role allowed to add, edit or remove verifiers is the "CorporateAdmin".

Properties

Name Type Required Restrictions Description
anonymous string false None This is the list of available roles to assign a Verifier. Each role
contains different permissions.

The only role allowed to add, edit or remove verifiers is the
"CorporateAdmin".

Enumerated Values

Property Value
anonymous CorporateAdmin
anonymous Operations
anonymous RegionAdmin
anonymous BranchAdmin
anonymous Processor
anonymous User

Verifier

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0
}

Properties

Name Type Required Restrictions Description
id string(guid) false read-only The unique ID that identifies the individual Verifier within the company.
firstName string true None The first name of the Verifier.
lastName string true None The last name of the Verifier.
email string(email) true None The email of the Verifier. This serves as the Verifier's login name and is used for sending emails to the Verifier.
title string false None The job title of the Verifier.
password string false None This value is required when you are creating a new Verifier if not using generatePassword. When updating an existing Verifier, do not send it or send a null value to indicate no password change should happen. If you send a value when updating the Verifier, that Verifier's password will be set to the value sent.
mustChangePassword boolean false None This value indicates whether this Verifier is required to change their password the next time they login to the AccountChek Verifier website. This does not affect their ability to use the API.
role Role true None The role which the Verifier has within the system for your company.
isLocked boolean false None Set to true when the Verifier is not allowed to login to the system. This is useful for keeping a Verifier in the system, but preventing them from performing operations.
regionId integer false None This value is optional. It allows you to select from your hierarchy the region in which this Verifier is located. If you include this value, you must also include the branchId.
branchId integer false None This value must be null or left off when no regionId is included, but if a regionId is included this value must also be included. This value is the ID of a branch within the given region. The pair of regionId and branchId allow you specify a location at which the Verifier is located.

NewVerifier

{
  "id": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "user@example.com",
  "title": "string",
  "password": "stringst",
  "mustChangePassword": true,
  "role": "CorporateAdmin",
  "isLocked": true,
  "regionId": 0,
  "branchId": 0,
  "generatePassword": true
}

Properties

allOf

Name Type Required Restrictions Description
anonymous Verifier false None None

and

Name Type Required Restrictions Description
anonymous object false None None
» generatePassword boolean true None Set to true if you would like AccountChek to generate a password and send it to the Verifier via email. False means that you must include the password yourself via the password property. It is recommended that you include the password yourself.

BranchVisibility

{
  "regionId": 0,
  "branchId": 0
}

This object is used when a Verifier is assigned the role of Processor. Setting a branch visibility on a processor allows access to all Orders within the region and branch pair of their assigned branch visibilities.

Order availability to a branch and region is currently defined by the Verifier that created it. This means two things:

  1. An order only has a branch and region when one is assigned to the owning Verifier.

  2. When you change the branch and region of the owning Verifier, the branch and region of the order change.

Properties

Name Type Required Restrictions Description
regionId integer true None The ID of the region to assign.
branchId integer true None The ID of the branch to assign. The branch ID set to this value must be returned as an available value for the region ID set.

Region

{
  "id": 0,
  "name": "string"
}

A region typically represents a larger geographic area in which multiple physical branches are located. The purpose of the region is to allow Verifier's with the RegionAdmin role to view all orders within their assigned region.

Properties

Name Type Required Restrictions Description
id integer(int32) true None The unique identifier of the region for your company.
name string true None The name of the region.

Branch

{
  "id": 0,
  "name": "string"
}

A branch represents a single physical location from which business is conducted. Processors with the assigned visibility and BranchAdmins can view all orders within the given branch.

Properties

Name Type Required Restrictions Description
id integer(int32) true None The unique identifier of the branch within the region.
name string true None The name of the branch within the region.

FinancialInstitution

{
  "id": "string",
  "name": "string",
  "url": "string",
  "fdicCertificate": "string",
  "ncuaNumber": 0,
  "rssdId": 0
}

Information about an available financial institution.

Properties

Name Type Required Restrictions Description
id string true None The unique identifier of the financial institution in the system.
name string true None The name of the financial institution within the system.
url string(url) true None A link to financial institutions main page.
fdicCertificate string false None The FDIC Certificate number for the given financial institution.
ncuaNumber integer false None The NCUA Number for the institution if it is a credit union.
rssdId integer false None The Federal Reserve ID for the institution.

NewAccountChekOrder

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  }
}

Properties

Name Type Required Restrictions Description
email string(email) true None The email of the Borrower for which you are opening the order. Email communications from the system to the Borrower will be sent to this email address.
last4SSN string true None The last four digits of the Borrower social security number.
referenceNumber string true None A required value that you may use to link an order to your system. Typically this value is a loan number.
firstName string true None The first name of the Borrower. This value is used by the system when sending communications to the Borrower. You may also search on this value to find orders.
lastName string true None The last name of the Borrower. This value is used by the system when sending communications to the Borrower. You may also search on this value to find orders.
phoneNumber string false None A phone number that will be used to send a text message to the
Borrower.

If you include this value, a text message is sent, so do not include
it if you don't want a text message sent.
notificationUrl string(uri) false None When set, this URL will be called for all webhook callbacks. See the webhooks documentation for more information on this.
returnUrl string(uri) false None The location the Borrower is redirected to after they logout. This is useful if you want the Borrower to be redirected to a custom location for later processing or a more integrated experience with your own systems.
employerName string false None Name of the employer for the Borrower. AccountChek will search for this value attempting to find it in transactions.
ssn string false None The full SSN of the Borrower. This is optional and should be sent if
you are going to add a verification that needs it, like IdChek.

If you send this value, you can skip sending the last4SSN
property, as this value will overwrite any value you set there.

The full value is never echoed here, only a masked value with the
last 4 digits visible.
dateOfBirth string(date) false None The date of birth of the Borrower. This is optional and should only be sent if you are going to add a verification that needs it, like IdChek.
address Address false None The address information of the Borrower. This is optional and should only be sent if you are going to add a verification that needs it, like IdChek.

AccountChekOrder

{
  "email": "user@example.com",
  "last4SSN": "string",
  "referenceNumber": "string",
  "firstName": "string",
  "lastName": "string",
  "phoneNumber": "string",
  "notificationUrl": "http://example.com",
  "returnUrl": "http://example.com",
  "employerName": "string",
  "ssn": "string",
  "dateOfBirth": "2019-08-24",
  "address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "state": "st",
    "zip": "string"
  },
  "id": "string",
  "created": "2019-08-24T14:15:22Z",
  "isArchived": false,
  "status": "building",
  "loginUrl": "http://example.com",
  "daysRemaining": 0,
  "employmentVerificationRequested": true
}

Properties

allOf

Name Type Required Restrictions Description
anonymous NewAccountChekOrder false None None

and

Name Type Required Restrictions Description
anonymous object false None None
» id string(guid) false read-only The unique identifier of this order within the system.
» created string(date-time) false read-only The date and time that this order was created within the system.
» isArchived boolean true None Whether this order is archived. Currently does not have function.
» status string true None The following is a description for each available status.

* "building" - The AccountChekOrder is being built. You are allowed at this
point to add different services (ex. VOA and/or VOIE) to the order.

* "opened" - The AccountChekOrder is finished building and ready for the
Borrower to take action.

* "inprogress" - The Borrower has started action against the
AccountChekOrder.

* "closed" - The AccountChekOrder has been closed by the system and is
considered completed.

* "canceled" - The AccountChekOrder was canceled either while still being
built or before the Borrower had taken action.
» loginUrl string(uri) false read-only The login url that a Borrower can use to login to and link their financial institution accounts.
» daysRemaining number(double) false read-only The number of days, including fractional parts, that this order
will remain open. There are two scenerios for this value.

1) The Borrower has not acted on the order, so the order starts
with default number days remaining (at this time 30 days).

2) The Borrower has interacted with the order and the value is
calcluated against the initial interaction and any number of
conditions based upon the verifications added to the order.
» employmentVerificationRequested boolean false read-only A simple boolean value indicating if employment verification was requested on this order.

Enumerated Values

Property Value
status building
status opened
status inprogress
status closed
status canceled

Email

{
  "email": "user@example.com",
  "text": "string",
  "html": "string"
}

Properties

Name Type Required Restrictions Description
email string(email) true None The email address to which the email was sent or will be sent depending on whether you are retrieving a list of past emails or asking to the system to send an email.
text string false read-only The text representation of the email that was sent to the user when retrieving a list of emails sent.
html string false read-only The HTML representation of the email that was sent to the user when retrieving a list of emails sent.

NewVOA

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "status": 500,
  "reportType": "voa",
  "daysBack": 90
}

Properties

allOf

Name Type Required Restrictions Description
anonymous VOA false None None

and

Name Type Required Restrictions Description
anonymous object false None None
» daysBack integer(int32) false None This field determines how much transaction history will be requested on the initial AccountChek VOA Report.
The values allowed in this field can be determined by calling the company/daysback endpoint. Most companies start out with the values of 30, 60, and 90 days. If field is empty, the company's default value will be used.

VOA

{
  "requestType": "lite",
  "accountMonitoring": 0,
  "expectedAccounts": [
    {
      "accountNumber": "string",
      "fiName": "string",
      "nickName": "string"
    }
  ],
  "status": 500,
  "reportType": "voa"
}

Properties

Name Type Required Restrictions Description
requestType string true None The type of the VOA request.

* lite - Only top level account information is available in JSON
format (ex. account number and balance). Note: 'dvoe' report type
cannot be selected if VOA is set to 'lite' request type.

* full - Detailed information about the accounts is available in
both PDF and JSON report formats.
accountMonitoring integer(int32) false None This field determines how many days the AccountChek order will
remain open for the client to re-verify assets. During the account
monitoring period, also known as the refresh period, AccountChek
will check nightly for a successful connection to the Borrower's
accounts.

The values allowed in this field can be determined by calling the
company/refreshperiods endpoint. Most companies start out with the
values of 30, 60, and 90 days. If field is empty, the company's
default value will be used.
expectedAccounts [ExpectedAccount] false None DEPRECATED - A list of accounts for which to prompt the Borrower.
status integer false read-only The following is a list of the meaning for each status code.
Code 507 means that reports are completed and ready for access.

* 500 - Invite in Process - Customer has not accepted terms.
* 501 - Opened Website
* 502 - OLB Signup in Progress
* 503 - Accepted terms of service.
* 504 - Harvest system registration fail.
* 505 - Enrollment started
* 506 - Validating Answer to Security Question.
* 507 - Report Ready
* 508 - No OLB Access -- Opt Out
* 509 - Borrower Credentials Need Update
* 5101 - Report Queued
* 510 - Report in Progress
* 511 - No Transactions found
* 512 - Enrolled - Harvest Unsuccessful
* 513 - Refresh Period Ended
* 520 - Archived
* 530 - FI Not Supported
* 531 - FI Unavailable
* 532 - No Credentials
* 533 - Customer Abandoned
* 5010 - SSO Link Expired
* 5031 - Issue Validating FI Credentials
* 5061 - Starting Account Verification
* 5070 - SnapChek Data Ready
* 540 - Data Error
* 700 - Harvest Already in Progress
reportType string false None The type of report. This is used to determine which type of
VoaReport to generate when a report is created. This field can be
toggled between the available types at any time during the lifespan
of the AccountChek order.

Note: 'dvoe' report type cannot be selected if VOA is set to 'lite'
request type.

Enumerated Values

Property Value
requestType lite
requestType full
status 500
status 501
status 503
status 505
status 506
status 507
status 509
status 510
status 5101
status 511
status 512
status 513
status 5010
status 5031
status 5032
status 5061
status 5070
status 540
status 700
reportType voa
reportType dvoe

VOE

{
  "aggregationRequested": true,
  "directRequested": true,
  "paystubUploadRequested": true,
  "requestType": "voe",
  "status": "created"
}

Properties

Name Type Required Restrictions Description
aggregationRequested boolean false read-only Indicates whether a VOE Aggregation service was requested.
directRequested boolean false read-only Indicates whether a VOE Direct service was requested.
paystubUploadRequested boolean false read-only Indicates whether a VOE Paystub Upload service was requested.
requestType string false None The type of request. This is used to determine which type of VoeReport to generate when a report is created. This field can be toggled between the available types at any time during the lifespan of the AccountChek order.
status string false read-only The status of the VOE service.

* created - The VOE has been created.
* inprogress - The borrower has started the VOE workflow.
* closed - The AccountChek order has been closed.

Enumerated Values

Property Value
requestType voe
requestType voie
status created
status inprogress
status closed

ExpectedAccount

{
  "accountNumber": "string",
  "fiName": "string",
  "nickName": "string"
}

This allows you indicate to a Borrower an account you expect them to provide. AccountChek will attempt to match this information to a Borrower provided account.

Properties

Name Type Required Restrictions Description
accountNumber string true None The account number of the account which is expected.
fiName string true None The name of the financial institution at which the account is held.
nickName string false None An optional nickname.

VoaReport

{
  "id": "string",
  "employerName": "string",
  "daysBack": 0,
  "accountIds": [
    "string"
  ],
  "dataHarvested": true,
  "currentAsOfDate": "2019-08-24T14:15:22Z",
  "historyStartDate": "2019-08-24T14:15:22Z",
  "requestDate": "2019-08-24T14:15:22Z",
  "reportDate": "2019-08-24T14:15:22Z",
  "requestorName": "string",
  "requestorCompanyName": "string",
  "status": 400,
  "reportType": "voa"
}

Properties

Name Type Required Restrictions Description
id string(guid) false read-only The unique ID of the VOA report.
employerName string false None Name of the employer for the Borrower. AccountChek will search for this value attempting to find it in transactions.
daysBack integer(int16) true None This is the number of days of history you would like to be present on the report. The values available for use by your company can be find by calling the company/daysback endpoint. Typically, the default values are 30, 60, and 90 days.
accountIds [string] false None A list of account numbers you wish reported. Do not include the array if you want all accounts listed. These must be valid account ids as returned in a LiteAccountInfo object, acquired via the VOA Lite Report
dataHarvested boolean false None If true, a harvest was run to get new transaction and account balance information for the generated report. Creation: when set to true a new harvest is guaranteed to run; when false a harvest may run if no harvest has run before.
currentAsOfDate string(date-time) false read-only The date and time at which the information on the report was verfied.
historyStartDate string(date-time) false read-only The date and time on which the latest transaction was found.
requestDate string(date-time) false read-only The date and time on which the report was requested.
reportDate string(date-time) false read-only The date and time at which the report was generated.
requestorName string false read-only The name of the Verifier that requested the report.
requestorCompanyName string false read-only The name of the company that requested the report.
status integer false read-only The following is a list of the meaning for each status code. Code
507 means that the report is completed and ready for access.

* 400 - Report Object Created
* 507 - Report Ready
* 509 - Borrower Credentials Need Update
* 510 - Report in Progress
* 511 - No Transactions found
* 512 - Enrolled - Harvest Unsuccessful
* 540 - Data Error
* 700 - Harvest Already in Progress
reportType string false read-only The type of asset report generated. This is set based on the reportType field on the VOA service object at the time of creating the VoaReport.

Enumerated Values

Property Value
status 400
status 507
status 509
status 510
status 511
status 512
status 540
status 700
reportType voa
reportType dvoe

CopyVoaReport

{
  "newestHarvestUsed": true,
  "daysBack": 0,
  "accountIds": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
newestHarvestUsed boolean true None When set to true, the transactions in the report use the newest data available, but no new harvest is done. When false the transactions from the previous report are used and not changed.
daysBack integer(int16) true None See the description in the Report object.
accountIds [string] false None A list of account numbers you wish reported. If the array is not included then the accounts from the previous report are used. These must be valid account ids as returned in a LiteAccountInfo object, acquired via the VOA Lite Report

VoeReport

{
  "id": "string",
  "status": "created",
  "type": "voe",
  "createdAt": "2019-08-24T14:15:22Z",
  "generatedAt": "2019-08-24T14:15:22Z",
  "providers": [
    "string"
  ],
  "requestorName": "string",
  "requestorCompanyName": "string"
}

Properties

Name Type Required Restrictions Description
id string(guid) false read-only The unique ID of the VOE report.
status string false read-only The status of the VOE Report.

* created - The VOE report object has been created.
* inprogress - The VOE report is undergoing the generation process.
* complete - The VOE report has been successfully generated.
* completewitherrors - The VOE report was generated, but encountered
some errors. This can occur if an aggregation source provider
encountered an MFA during a refresh.
* failed - An error was encountered when generating the VOE report.
* credentialupdaterequired - The employment provider requires the
borrower to update their credentials before a report can be
generated.
* harvestfailure - Encountered a situation in which the data from
the provider is unavailable.
type string false read-only The type of report generated. This is set based on the requestType field on the VOE service object at the time of creating the VoeReport.
createdAt string(date-time) false read-only The date and time at which the VOE report object was created.
generatedAt string(date-time) false read-only The date and time at which the VOE report was generated.
providers [string] false None The list of providers used to generate the VOE report.
requestorName string false read-only The name of the verifier who created the order.
requestorCompanyName string false read-only The name of the company the verifier who created the order is listed under.

Enumerated Values

Property Value
status created
status inprogress
status complete
status completewitherrors
status failed
status credentialupdaterequired
status harvestfailure
type voe
type voie

BankStatement

{
  "id": "string",
  "name": "string",
  "documentId": "string",
  "extension": "string",
  "statementDate": "2019-08-24"
}

Properties

Name Type Required Restrictions Description
id string(guid) false read-only The unique ID for the statement.
name string false read-only The filename from the bank for the statement.
documentId string false read-only The unique ID from the bank for the statement.
extension string false read-only The file extension of the bank statement.
statementDate string(date) false read-only The date the statement was issued.

SSOUrl

{
  "url": "http://example.com"
}

Object that describes the single sign-on url.

Properties

Name Type Required Restrictions Description
url string(uri) true None A url that when provided will automatically log the Borrower into the AccountChek-hosted Borrower website.

NewSSOUrl

{
  "returnUrl": "http://example.com"
}

Information required to create an single sign-on url with attached information.

Properties

Name Type Required Restrictions Description
returnUrl string(uri) true None This is the url to which the Borrower will be returned when they log out of the the application after having been logged in using the returned SSO Url.

OwnershipToken

{
  "token": "string"
}

DEPRECATED - Transfer Order Ownership (TOO) will be removed in a future release.

Object that allows for order ownership transfer.

Properties

Name Type Required Restrictions Description
token string(guid) true None DEPRECATED - A limited life token that will allow for another user to "take ownership" of an order.

BorrowerToken

{
  "ttl": 1800
}

Properties

Name Type Required Restrictions Description
ttl integer(int32) true None The number of seconds for which the token will be valid. Maximum value is 24 hours while minimum is 30 minutes.

LiteAccountInfo

{
  "accountId": "string",
  "accountType": "string",
  "accountName": "string",
  "accountNumber": "string",
  "accountHolder": "string",
  "fiName": "string",
  "fiAccountType": "string",
  "fiPlanName": "string",
  "balance": 0,
  "balanceDate": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description
accountId string true None The unique ID of the Account within the VOA.
accountType string true None The type of account.
accountName string false None The financial institution's name for the account.
accountNumber string true None The financial institution's account number for the account. This may
be the:

1. Full Account Number - if the system was able to access it.
2. Last 4 Digits - if the full account number is not available.
accountHolder string true None A string containing the names on the account as returned by the financial institution.
fiName string false None The display name of the financial institution.
fiAccountType string false None The type of account as stated by the financial institution. AccountChek maps this string value to a different enum value field called accountType which contains common financial institution account types.
fiPlanName string false None The name of the "plan" for the account at the financial institution.
balance number(double) false None The balance available in the account.
balanceDate string(date-time) false None The date and time at which the balance was acquired.