API Documentation v1.0.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.
It contains various APIs to scan various type of documents
Base URLs:
https://{environment}.doxai.co/{basePath}
environment - Environment to target.
api: production environment.api-sandbox: sandbox environment for testing, no effect on production data. Default: api- api
- api-sandbox
basePath - API base path version. v1: legacy version, maintained for backward compatibility. v2: Only works for DVS. For other services use v1 Default: v1
- v1
- v2
General:
- Terms of service
- Email: support@doxai.co
- Web: https://doxai.co/
Health Check
Health Check
Code samples
# You can also use wget
curl -X GET https://{environment}.doxai.co/{basePath}/health \
-H 'Accept: application/json' \
-H 'x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab' \
-H 'x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f'
GET https://{environment}.doxai.co/{basePath}/health HTTP/1.1
Accept: application/json
x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab
x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakeGetRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/health";
var result = await GetAsync(url);
}
/// Performs a GET Request
public async Task GetAsync(string url)
{
//Start the request
HttpResponseMessage response = await Client.GetAsync(url);
//Validate result
response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f'
}
result = RestClient.get 'https://{environment}.doxai.co/{basePath}/health',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-access-key': '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key': '6d40374f-704c-593d-93df-b076ffe1427f'
}
r = requests.get('https://{environment}.doxai.co/{basePath}/health', headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'x-access-key':'5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key':'6d40374f-704c-593d-93df-b076ffe1427f'
};
fetch('https://{environment}.doxai.co/{basePath}/health',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://{environment}.doxai.co/{basePath}/health', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/health");
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"},
"x-access-key": []string{"5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab"},
"x-secret-key": []string{"6d40374f-704c-593d-93df-b076ffe1427f"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{environment}.doxai.co/{basePath}/health", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /health
Health check
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
Example responses
200 Response
{
"msg": "Request Success"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Australian Invoice OCR
Invoice OCR
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/invoice \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: e8586de2-185e-4ed1-97be-d0ebbdd50eef' \
-H 'x-secret-key: a2429a6c-be5a-5b63-a009-b99b054bb386'
POST https://{environment}.doxai.co/{basePath}/invoice HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: e8586de2-185e-4ed1-97be-d0ebbdd50eef
x-secret-key: a2429a6c-be5a-5b63-a009-b99b054bb386
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/invoice";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'e8586de2-185e-4ed1-97be-d0ebbdd50eef',
'x-secret-key' => 'a2429a6c-be5a-5b63-a009-b99b054bb386'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/invoice',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': 'e8586de2-185e-4ed1-97be-d0ebbdd50eef',
'x-secret-key': 'a2429a6c-be5a-5b63-a009-b99b054bb386'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/invoice', headers = headers)
print(r.json())
const inputBody = '{
"file1": "",
"file2": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'e8586de2-185e-4ed1-97be-d0ebbdd50eef',
'x-secret-key':'a2429a6c-be5a-5b63-a009-b99b054bb386'
};
fetch('https://{environment}.doxai.co/{basePath}/invoice',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'e8586de2-185e-4ed1-97be-d0ebbdd50eef',
'x-secret-key' => 'a2429a6c-be5a-5b63-a009-b99b054bb386',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/invoice', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/invoice");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"e8586de2-185e-4ed1-97be-d0ebbdd50eef"},
"x-secret-key": []string{"a2429a6c-be5a-5b63-a009-b99b054bb386"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/invoice", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /invoice
Extracting data fields from an invoice for utility bill payments
Body parameter
file1: ""
file2: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » file1 | body | string(binary) | true | Upload image page 1 |
| » file2 | body | string(binary) | false | Upload image page 2 |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"companyName": "Power water",
"utilityType": "water",
"accountType": "Personal",
"billerCode": "7000",
"billerRef": "11111",
"state": "NSW",
"postCode": "0801",
"amount": "$30",
"amountSybol": "$"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | OCRInvoice |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Passport OCR
Passport OCR
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/passport \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: facff60e-4880-48ca-b16d-d3e878fb8f9d' \
-H 'x-secret-key: d2e06ba3-5eb4-575f-bfa2-2e3a5fda11ea'
POST https://{environment}.doxai.co/{basePath}/passport HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: facff60e-4880-48ca-b16d-d3e878fb8f9d
x-secret-key: d2e06ba3-5eb4-575f-bfa2-2e3a5fda11ea
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/passport";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'facff60e-4880-48ca-b16d-d3e878fb8f9d',
'x-secret-key' => 'd2e06ba3-5eb4-575f-bfa2-2e3a5fda11ea'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/passport',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': 'facff60e-4880-48ca-b16d-d3e878fb8f9d',
'x-secret-key': 'd2e06ba3-5eb4-575f-bfa2-2e3a5fda11ea'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/passport', headers = headers)
print(r.json())
const inputBody = '{
"file": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'facff60e-4880-48ca-b16d-d3e878fb8f9d',
'x-secret-key':'d2e06ba3-5eb4-575f-bfa2-2e3a5fda11ea'
};
fetch('https://{environment}.doxai.co/{basePath}/passport',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'facff60e-4880-48ca-b16d-d3e878fb8f9d',
'x-secret-key' => 'd2e06ba3-5eb4-575f-bfa2-2e3a5fda11ea',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/passport', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/passport");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"facff60e-4880-48ca-b16d-d3e878fb8f9d"},
"x-secret-key": []string{"d2e06ba3-5eb4-575f-bfa2-2e3a5fda11ea"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/passport", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /passport
Recognizes data in passport image and returns the structured information.
Body parameter
file: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » file | body | string(binary) | true | Upload passport |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"documentCode": "P",
"issuingState": "ITA",
"lastName": "Michael",
"firstName": "John",
"documentNumber": "DQS000000",
"documentNumberCheckDigit": "9",
"nationality": "ITA",
"birthDate": "981125",
"birthDateCheckDigit": "11",
"sex": "male",
"expirationDate": "270710",
"expirationDateCheckDigit": "7",
"personalNumber": "00000000",
"personalNumberCheckDigit": "0",
"compositeCheckDigit": "0"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | OCRPassport |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Medicare OCR
Medicare OCR
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/medicare \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: e7153edd-a397-44fd-8eb2-49e8a6a419e5' \
-H 'x-secret-key: 0a44578a-270c-5fa9-9f18-08fa3483cdc1'
POST https://{environment}.doxai.co/{basePath}/medicare HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: e7153edd-a397-44fd-8eb2-49e8a6a419e5
x-secret-key: 0a44578a-270c-5fa9-9f18-08fa3483cdc1
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/medicare";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'e7153edd-a397-44fd-8eb2-49e8a6a419e5',
'x-secret-key' => '0a44578a-270c-5fa9-9f18-08fa3483cdc1'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/medicare',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': 'e7153edd-a397-44fd-8eb2-49e8a6a419e5',
'x-secret-key': '0a44578a-270c-5fa9-9f18-08fa3483cdc1'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/medicare', headers = headers)
print(r.json())
const inputBody = '{
"front": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'e7153edd-a397-44fd-8eb2-49e8a6a419e5',
'x-secret-key':'0a44578a-270c-5fa9-9f18-08fa3483cdc1'
};
fetch('https://{environment}.doxai.co/{basePath}/medicare',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'e7153edd-a397-44fd-8eb2-49e8a6a419e5',
'x-secret-key' => '0a44578a-270c-5fa9-9f18-08fa3483cdc1',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/medicare', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/medicare");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"e7153edd-a397-44fd-8eb2-49e8a6a419e5"},
"x-secret-key": []string{"0a44578a-270c-5fa9-9f18-08fa3483cdc1"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/medicare", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /medicare
Data extraction from medicare through OCR.
Body parameter
front: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » front | body | string(binary) | true | Upload image(front) |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"name": "Benjamin",
"individualReferenceNumber": "2",
"cardNumber": "00000000",
"validity": "06/2028"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | OCRMedicare |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Australian Driving License OCR
License OCR
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/license \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: 09206b4d-7661-48f5-add3-b0b6a15d5039' \
-H 'x-secret-key: ffe84bcc-1fbb-57c6-b5ff-3f5f0c870054'
POST https://{environment}.doxai.co/{basePath}/license HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: 09206b4d-7661-48f5-add3-b0b6a15d5039
x-secret-key: ffe84bcc-1fbb-57c6-b5ff-3f5f0c870054
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/license";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '09206b4d-7661-48f5-add3-b0b6a15d5039',
'x-secret-key' => 'ffe84bcc-1fbb-57c6-b5ff-3f5f0c870054'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/license',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': '09206b4d-7661-48f5-add3-b0b6a15d5039',
'x-secret-key': 'ffe84bcc-1fbb-57c6-b5ff-3f5f0c870054'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/license', headers = headers)
print(r.json())
const inputBody = '{
"front": "",
"back": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'09206b4d-7661-48f5-add3-b0b6a15d5039',
'x-secret-key':'ffe84bcc-1fbb-57c6-b5ff-3f5f0c870054'
};
fetch('https://{environment}.doxai.co/{basePath}/license',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '09206b4d-7661-48f5-add3-b0b6a15d5039',
'x-secret-key' => 'ffe84bcc-1fbb-57c6-b5ff-3f5f0c870054',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/license', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/license");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"09206b4d-7661-48f5-add3-b0b6a15d5039"},
"x-secret-key": []string{"ffe84bcc-1fbb-57c6-b5ff-3f5f0c870054"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/license", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /license
Data extraction from driving license through OCR.
Body parameter
front: ""
back: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » front | body | string(binary) | true | Upload image(front) |
| » back | body | string(binary) | false | Upload image(Back) |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"name": "Benjamin",
"middleName": "Franklin",
"surname": "James",
"address": "Unit 1 LANGLEY NSW 2147",
"licenseNumber": "00000000",
"stateIssue": "NSW",
"dateOfBirth": "1988-09-26",
"expiryDate": "2028-09-11",
"newaddress": "Unit 1 LANGLEY NSW 2147"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | OCRDrivingLicense |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Face Match
Face Match
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/face-match \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: 08a1c025-0022-459a-8fd4-d31643e21963' \
-H 'x-secret-key: 4d9b290a-8d4f-58b3-ab61-d1bf94614e76'
POST https://{environment}.doxai.co/{basePath}/face-match HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: 08a1c025-0022-459a-8fd4-d31643e21963
x-secret-key: 4d9b290a-8d4f-58b3-ab61-d1bf94614e76
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/face-match";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '08a1c025-0022-459a-8fd4-d31643e21963',
'x-secret-key' => '4d9b290a-8d4f-58b3-ab61-d1bf94614e76'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/face-match',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': '08a1c025-0022-459a-8fd4-d31643e21963',
'x-secret-key': '4d9b290a-8d4f-58b3-ab61-d1bf94614e76'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/face-match', headers = headers)
print(r.json())
const inputBody = '{
"id": "",
"images": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'08a1c025-0022-459a-8fd4-d31643e21963',
'x-secret-key':'4d9b290a-8d4f-58b3-ab61-d1bf94614e76'
};
fetch('https://{environment}.doxai.co/{basePath}/face-match',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '08a1c025-0022-459a-8fd4-d31643e21963',
'x-secret-key' => '4d9b290a-8d4f-58b3-ab61-d1bf94614e76',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/face-match', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/face-match");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"08a1c025-0022-459a-8fd4-d31643e21963"},
"x-secret-key": []string{"4d9b290a-8d4f-58b3-ab61-d1bf94614e76"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/face-match", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /face-match
Biometric face analysis on ID and photo.
Body parameter
id: ""
images: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » id | body | string(binary) | true | Take snapshot |
| » images | body | string(binary) | true | Upload image to compare |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"faceMatched": "true",
"similarity": 99.01,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"id": {
"type": "Driving License",
"confidence": 86.68
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | faceMatch |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Liveness Check
Live Match
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/live-match/eyes \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: ed86deba-c5c9-488e-b90b-dc645785f12b' \
-H 'x-secret-key: 5a9c2dbf-0d26-598d-8f92-932c7ae550e1'
POST https://{environment}.doxai.co/{basePath}/live-match/eyes HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: ed86deba-c5c9-488e-b90b-dc645785f12b
x-secret-key: 5a9c2dbf-0d26-598d-8f92-932c7ae550e1
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/live-match/eyes";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'ed86deba-c5c9-488e-b90b-dc645785f12b',
'x-secret-key' => '5a9c2dbf-0d26-598d-8f92-932c7ae550e1'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/live-match/eyes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': 'ed86deba-c5c9-488e-b90b-dc645785f12b',
'x-secret-key': '5a9c2dbf-0d26-598d-8f92-932c7ae550e1'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/live-match/eyes', headers = headers)
print(r.json())
const inputBody = '{
"id": "",
"image1": "",
"image2": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'ed86deba-c5c9-488e-b90b-dc645785f12b',
'x-secret-key':'5a9c2dbf-0d26-598d-8f92-932c7ae550e1'
};
fetch('https://{environment}.doxai.co/{basePath}/live-match/eyes',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'ed86deba-c5c9-488e-b90b-dc645785f12b',
'x-secret-key' => '5a9c2dbf-0d26-598d-8f92-932c7ae550e1',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/live-match/eyes', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/live-match/eyes");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"ed86deba-c5c9-488e-b90b-dc645785f12b"},
"x-secret-key": []string{"5a9c2dbf-0d26-598d-8f92-932c7ae550e1"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/live-match/eyes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /live-match/eyes
Biometric face analysis on ID and photo with eyes check.
Body parameter
id: ""
image1: ""
image2: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » id | body | string(binary) | true | Upload Valid Id Proof |
| » image1 | body | string(binary) | true | Upload image with face center and eyes open |
| » image2 | body | string(binary) | true | Upload image with face center and eyes closed |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": "false",
"imageLiveness": "false",
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | liveMatchEyes |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Live Match Five Step Eyes
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: 0da258b0-ba6f-4088-8594-c9f83b5f1a5a' \
-H 'x-secret-key: aed8970e-627d-51d0-aa09-366de2ea595a'
POST https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: 0da258b0-ba6f-4088-8594-c9f83b5f1a5a
x-secret-key: aed8970e-627d-51d0-aa09-366de2ea595a
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '0da258b0-ba6f-4088-8594-c9f83b5f1a5a',
'x-secret-key' => 'aed8970e-627d-51d0-aa09-366de2ea595a'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': '0da258b0-ba6f-4088-8594-c9f83b5f1a5a',
'x-secret-key': 'aed8970e-627d-51d0-aa09-366de2ea595a'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes', headers = headers)
print(r.json())
const inputBody = '{
"id": "",
"image1": "",
"image2": "",
"image3": "",
"image4": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'0da258b0-ba6f-4088-8594-c9f83b5f1a5a',
'x-secret-key':'aed8970e-627d-51d0-aa09-366de2ea595a'
};
fetch('https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '0da258b0-ba6f-4088-8594-c9f83b5f1a5a',
'x-secret-key' => 'aed8970e-627d-51d0-aa09-366de2ea595a',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"0da258b0-ba6f-4088-8594-c9f83b5f1a5a"},
"x-secret-key": []string{"aed8970e-627d-51d0-aa09-366de2ea595a"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/live-match/five-step/eyes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /live-match/five-step/eyes
Biometric face analysis on ID and photo with eyes and face orientation check.
Body parameter
id: ""
image1: ""
image2: ""
image3: ""
image4: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » id | body | string(binary) | true | Upload Valid Id Proof |
| » image1 | body | string(binary) | true | Upload images with Face center and eyes open |
| » image2 | body | string(binary) | true | Upload images with Face center and eyes closed |
| » image3 | body | string(binary) | true | Upload images with Face slightly turned towards left |
| » image4 | body | string(binary) | true | Upload images with Face slightly turned towards right |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": false,
"imageLiveness": false,
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 86.68,
"age": {
"low": null,
"high": null
}
}
},
"Image3": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"eyesConfidence": 86.68,
"age": {
"low": null,
"high": null
}
}
},
"Image4": {
"result": "string",
"details": {
"isFaceCenter": false,
"isEyesOpen": false,
"eyesConfidence": 86.68,
"age": {
"low": null,
"high": null
}
}
},
"Image5": {
"result": "string",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | liveMatchFiveStepEyes |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Live Match Smile
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/live-match/smile \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: c4abae7c-37d4-4ff7-933e-e79da42509a8' \
-H 'x-secret-key: 77cd8cae-b097-5c57-b0b4-e0a85670d4d8'
POST https://{environment}.doxai.co/{basePath}/live-match/smile HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: c4abae7c-37d4-4ff7-933e-e79da42509a8
x-secret-key: 77cd8cae-b097-5c57-b0b4-e0a85670d4d8
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/live-match/smile";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'c4abae7c-37d4-4ff7-933e-e79da42509a8',
'x-secret-key' => '77cd8cae-b097-5c57-b0b4-e0a85670d4d8'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/live-match/smile',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': 'c4abae7c-37d4-4ff7-933e-e79da42509a8',
'x-secret-key': '77cd8cae-b097-5c57-b0b4-e0a85670d4d8'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/live-match/smile', headers = headers)
print(r.json())
const inputBody = '{
"id": "",
"image1": "",
"image2": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'c4abae7c-37d4-4ff7-933e-e79da42509a8',
'x-secret-key':'77cd8cae-b097-5c57-b0b4-e0a85670d4d8'
};
fetch('https://{environment}.doxai.co/{basePath}/live-match/smile',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'c4abae7c-37d4-4ff7-933e-e79da42509a8',
'x-secret-key' => '77cd8cae-b097-5c57-b0b4-e0a85670d4d8',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/live-match/smile', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/live-match/smile");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"c4abae7c-37d4-4ff7-933e-e79da42509a8"},
"x-secret-key": []string{"77cd8cae-b097-5c57-b0b4-e0a85670d4d8"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/live-match/smile", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /live-match/smile
Biometric face analysis on ID and photo with smile check.
Body parameter
id: ""
image1: ""
image2: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » id | body | string(binary) | true | Upload Valid Id Proof |
| » image1 | body | string(binary) | true | Upload images with face center and without smiling |
| » image2 | body | string(binary) | true | Upload images with face center and with smiling |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": "false",
"imageLiveness": "false",
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | liveMatchSmile |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Live Match Five Step Smile
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/live-match/five-step/smile \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: 8c54fb1c-f72a-4386-a51a-aeb5715e4e5f' \
-H 'x-secret-key: e9ff1637-10f5-53ee-bb2c-52b6b3996dc1'
POST https://{environment}.doxai.co/{basePath}/live-match/five-step/smile HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: 8c54fb1c-f72a-4386-a51a-aeb5715e4e5f
x-secret-key: e9ff1637-10f5-53ee-bb2c-52b6b3996dc1
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/live-match/five-step/smile";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '8c54fb1c-f72a-4386-a51a-aeb5715e4e5f',
'x-secret-key' => 'e9ff1637-10f5-53ee-bb2c-52b6b3996dc1'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/live-match/five-step/smile',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': '8c54fb1c-f72a-4386-a51a-aeb5715e4e5f',
'x-secret-key': 'e9ff1637-10f5-53ee-bb2c-52b6b3996dc1'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/live-match/five-step/smile', headers = headers)
print(r.json())
const inputBody = '{
"id": "",
"image1": "",
"image2": "",
"image3": "",
"image4": ""
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'8c54fb1c-f72a-4386-a51a-aeb5715e4e5f',
'x-secret-key':'e9ff1637-10f5-53ee-bb2c-52b6b3996dc1'
};
fetch('https://{environment}.doxai.co/{basePath}/live-match/five-step/smile',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '8c54fb1c-f72a-4386-a51a-aeb5715e4e5f',
'x-secret-key' => 'e9ff1637-10f5-53ee-bb2c-52b6b3996dc1',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/live-match/five-step/smile', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/live-match/five-step/smile");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"8c54fb1c-f72a-4386-a51a-aeb5715e4e5f"},
"x-secret-key": []string{"e9ff1637-10f5-53ee-bb2c-52b6b3996dc1"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/live-match/five-step/smile", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /live-match/five-step/smile
Biometric face analysis on ID and photo with smile and face orientation check.
Body parameter
id: ""
image1: ""
image2: ""
image3: ""
image4: ""
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » id | body | string(binary) | true | Upload Valid Id Proof |
| » image1 | body | string(binary) | true | Upload images with Face center and without smiling |
| » image2 | body | string(binary) | true | Upload images with Face center and with smiling |
| » image3 | body | string(binary) | true | Upload images with Face slightly turned towards left |
| » image4 | body | string(binary) | true | Upload images with Face slightly turned towards right |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": false,
"imageLiveness": false,
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image3": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image4": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | liveMatchFiveStepSmile |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Redact AI
Redact Upload
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/redact/upload \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: 6165eb51-dcce-47a3-8d60-9c375c8f143a' \
-H 'x-secret-key: 1c5ba1ed-8676-57aa-9e62-e0ebe440e5c8'
POST https://{environment}.doxai.co/{basePath}/redact/upload HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: 6165eb51-dcce-47a3-8d60-9c375c8f143a
x-secret-key: 1c5ba1ed-8676-57aa-9e62-e0ebe440e5c8
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/redact/upload";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '6165eb51-dcce-47a3-8d60-9c375c8f143a',
'x-secret-key' => '1c5ba1ed-8676-57aa-9e62-e0ebe440e5c8'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/redact/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': '6165eb51-dcce-47a3-8d60-9c375c8f143a',
'x-secret-key': '1c5ba1ed-8676-57aa-9e62-e0ebe440e5c8'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/redact/upload', headers = headers)
print(r.json())
const inputBody = '{
"file": "",
"docId": "60b8a1071cd21b526cc42800",
"autoRedact": "true",
"fields": [
{
"key": "ABN",
"percentage": "25"
}
],
"customfields": [
"string"
],
"color": "yellow",
"draw": [
{
"pageNumber": "1",
"coordinates": [
"86,171,178,209"
]
}
]
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'6165eb51-dcce-47a3-8d60-9c375c8f143a',
'x-secret-key':'1c5ba1ed-8676-57aa-9e62-e0ebe440e5c8'
};
fetch('https://{environment}.doxai.co/{basePath}/redact/upload',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => '6165eb51-dcce-47a3-8d60-9c375c8f143a',
'x-secret-key' => '1c5ba1ed-8676-57aa-9e62-e0ebe440e5c8',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/redact/upload', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/redact/upload");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"6165eb51-dcce-47a3-8d60-9c375c8f143a"},
"x-secret-key": []string{"1c5ba1ed-8676-57aa-9e62-e0ebe440e5c8"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/redact/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /redact/upload
Redact the values of Tax File Number, Australian Company Number, Australian Business Number
Body parameter
file: ""
docId: 60b8a1071cd21b526cc42800
autoRedact: "true"
fields:
- key: ABN
percentage: "25"
customfields:
- string
color: yellow
draw:
- pageNumber: "1"
coordinates:
- 86,171,178,209
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » file | body | string(binary) | true | Upload the file in image, pdf, doc, docx, xlsx, and csv format |
| » docId | body | string | false | Enter the docId of particular document |
| » autoRedact | body | boolean | false | AutoRedact field should be always in True state to complete Redaction Process |
| » fields | body | [object] | false | Fields must contain atleast one of the following ABN, ACN, AN, DCN, CCN, REF, TFN, DLN, PN, PRN, EFT, CRN, PII, BII |
| »» key | body | string | false | none |
| »» percentage | body | any | false | none |
| » customfields | body | [string] | false | Add custom field values that needs to be Redacted |
| » color | body | string | false | Color is optional |
| » draw | body | [object] | false | Add custom points to Redact |
| »» pageNumber | body | string | false | custom points pageNumber |
| »» coordinates | body | [string] | false | none |
Detailed descriptions
» fields: Fields must contain atleast one of the following ABN, ACN, AN, DCN, CCN, REF, TFN, DLN, PN, PRN, EFT, CRN, PII, BII
PII and BII field percentages must always be 100
The Spreadsheet format(xlsx,xls,csv) files support only ABN, ACN, TFN, CCN, DCN fields. currently supports up to 5 sheets in a workbook and maximum of 100 rows/columns
Enumerated Values
| Parameter | Value |
|---|---|
| »» percentage | 25 |
| »» percentage | 50 |
| »» percentage | 75 |
| »» percentage | 100 |
Example responses
202 Response
{
"msg": "File Uploading has been initiated",
"data": {
"requestId": "fe25db69-7ef0-4054-92ef-2ea6e5b4b130"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Successfull Operation | redact |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Forbidden | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Redact details
Code samples
# You can also use wget
curl -X GET https://{environment}.doxai.co/{basePath}/redact/detail \
-H 'Accept: application/json' \
-H 'x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab' \
-H 'x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f'
GET https://{environment}.doxai.co/{basePath}/redact/detail HTTP/1.1
Accept: application/json
x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab
x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakeGetRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/redact/detail";
var result = await GetAsync(url);
}
/// Performs a GET Request
public async Task GetAsync(string url)
{
//Start the request
HttpResponseMessage response = await Client.GetAsync(url);
//Validate result
response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f'
}
result = RestClient.get 'https://{environment}.doxai.co/{basePath}/redact/detail',
params: {
'requestId' => 'undefined'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-access-key': '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key': '6d40374f-704c-593d-93df-b076ffe1427f'
}
r = requests.get('https://{environment}.doxai.co/{basePath}/redact/detail', params={
'requestId': undefined
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'x-access-key':'5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key':'6d40374f-704c-593d-93df-b076ffe1427f'
};
fetch('https://{environment}.doxai.co/{basePath}/redact/detail',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://{environment}.doxai.co/{basePath}/redact/detail', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/redact/detail");
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"},
"x-access-key": []string{"5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab"},
"x-secret-key": []string{"6d40374f-704c-593d-93df-b076ffe1427f"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{environment}.doxai.co/{basePath}/redact/detail", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /redact/detail
Redact the values of Tax File Number, Australian Company Number, Australian Business Number
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| requestId | query | undefined | true | Request reference Id |
Example responses
200 Response
{
"message": "Request success",
"data": {
"redactionDetails": {
"url": "https://doxaistag.blob.core.windows.net/redact/fe25db69-7ef0-4054-92ef-2ea6e5b4b130.pdf",
"fileName": "vodafone.pdf",
"events": "completed",
"msg": "File processed successfully",
"originalFileUrl": "https://doxaistag.blob.core.windows.net/redact/fe25db69-7ef0-4054-92ef-2ea6e5b4b130.pdf",
"requestId": "76b4562e-dedf-407c-a454-39bd4512aac5"
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | detail |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 403 | Forbidden | Forbidden | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 403
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Australian DVS
Verifying biographic information on identity documents.
Driver Licence
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "1965-01-01",
"GivenName": "john",
"MiddleName": "allen",
"FamilyName": "smith",
"LicenceNumber": "94977000",
"CardNumber": "94977000",
"StateOfIssue": "NSW"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/driverLicence", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/driverLicence
Validate driving License
Body parameter
{
"BirthDate": "1965-01-01",
"GivenName": "john",
"MiddleName": "allen",
"FamilyName": "smith",
"LicenceNumber": "94977000",
"CardNumber": "94977000",
"StateOfIssue": "NSW"
}
Parameters
| Name | In | Type | Required | Description | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| x-access-key | header | string | true | none | |||||||||||||||||||||||||||||||||||
| x-secret-key | header | string | true | none | |||||||||||||||||||||||||||||||||||
| body | body | object | true | none | |||||||||||||||||||||||||||||||||||
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD format | |||||||||||||||||||||||||||||||||||
| » GivenName | body | string | false | GivenName can not contain more than 20 characters If your given name is longer than 20 characters, only enter in the first 20 characters of your given name If you have a single name, it can be entered in either the Given Name or Family Name field. Enter a full stop ‘.’ or hyphen ‘-‘ in the blank field. Recommended: Enter the single name into the Family Name field. Single names with multiple fragments may represent a name with a Middle Name. In such cases, enter the Middle Name fragment into the Middle Name field, or omit it as the Middle Name field is optional. |
|||||||||||||||||||||||||||||||||||
| » MiddleName | body | string | false | MiddleName can not contain more than 20 characters If your middle name is longer than 20 characters, only enter in the first 20 characters of your middle name If the middle name is not on your licence – leave the field blank If the middle name appears as an initial – enter only the initial If the middle name appears as 2 initials – enter the full name of the first initial only |
|||||||||||||||||||||||||||||||||||
| » FamilyName | body | string | false | FamilyName can not contain more than 40 characters If your family name is longer than 40 characters, only enter in the first 40 characters of your family name |
|||||||||||||||||||||||||||||||||||
| » LicenceNumber | body | string | false |
|
|||||||||||||||||||||||||||||||||||
| » CardNumber | body | string | false |
The below table provides information about the states that have mandated card number field against mentioned dates.
|
|||||||||||||||||||||||||||||||||||
| » StateOfIssue | body | string | false | StateofIssue must be one of the following NSW, QLD, SA, TAS, VIC, WA, ACT, JBT, NT Additional information: |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "DriverLicenceResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "DriverLicenceResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Centrelink
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "1953-12-06",
"Name": "John Smith",
"CardType": "HCC",
"CardExpiry": "2020-03-29",
"CustomerReferenceNumber": "204647416C"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/centreLink", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/centreLink
Validate Centre Link Card
Body parameter
{
"BirthDate": "1953-12-06",
"Name": "John Smith",
"CardType": "HCC",
"CardExpiry": "2020-03-29",
"CustomerReferenceNumber": "204647416C"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD format |
| » Name | body | string | false | Name can not contain more than 32 characters and only contain alphanumeric characters, hyphens, apostrophes and spaces |
| » CardType | body | string | false | Must be one of the following PCC (Pension Concession), HCC (Health Care), SHC (Seniors Health) |
| » CardExpiry | body | string(date) | false | CardExpiry must be in YYYY-MM-DD format |
| » CustomerReferenceNumber | body | string | false | Centrelink customer reference number in format of 9 numbers followed by 1 letter |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "CentrelinkResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "CentrelinkResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Citizenship
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "2001-05-16",
"GivenName": "James",
"MiddleName": "James",
"FamilyName": "Smith",
"AcquisitionDate": "2007-08-25",
"StockNumber": "ACD0000000"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/citizenship", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/citizenship
Validate Citizenship
Body parameter
{
"BirthDate": "2001-05-16",
"GivenName": "James",
"MiddleName": "James",
"FamilyName": "Smith",
"AcquisitionDate": "2007-08-25",
"StockNumber": "ACD0000000"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD OR YYYY-MM OR YYYY format |
| » GivenName | body | string | false | GivenName can not contain more than 100 characters |
| » MiddleName | body | string | false | MiddleName can not contain more than 100 characters |
| » FamilyName | body | string | false | FamilyName can not contain more than 100 characters |
| » AcquisitionDate | body | string(date) | false | AcquisitionDate must be in YYYY-MM-DD format |
| » StockNumber | body | string | false | StockNumber must be minimum 4 characters |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "CitizenshipCertificateResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "CitizenshipCertificateResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Descent
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/descent \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/descent HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/descent";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/descent',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/descent', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "1965-01-01",
"GivenName": "John",
"MiddleName": "Allen",
"FamilyName": "Smith",
"AcquisitionDate": "2020-01-01",
"StockNumber": "53268020432"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/descent',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/descent', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/descent");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/descent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/descent
Validate Descent
Body parameter
{
"BirthDate": "1965-01-01",
"GivenName": "John",
"MiddleName": "Allen",
"FamilyName": "Smith",
"AcquisitionDate": "2020-01-01",
"StockNumber": "53268020432"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD OR YYYY-MM OR YYYY format |
| » GivenName | body | string | false | GivenName can not contain more than 100 characters |
| » MiddleName | body | string | false | MiddleName can not contain more than 100 characters |
| » FamilyName | body | string | false | FamilyName can not contain more than 100 characters |
| » AcquisitionDate | body | string(date) | false | AcquisitionDate must be in YYYY-MM-DD format |
| » StockNumber | body | string | false | StockNumber must be minimum 4 characters |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "DescentResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "DescentResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Immicard
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "1980-10-31",
"GivenName": "James",
"MiddleName": "Robert",
"FamilyName": "Smith",
"ImmiCardNumber": "PRE008948"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/immiCard", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/immiCard
Validate ImmiCard
Body parameter
{
"BirthDate": "1980-10-31",
"GivenName": "James",
"MiddleName": "Robert",
"FamilyName": "Smith",
"ImmiCardNumber": "PRE008948"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD OR YYYY-MM OR YYYY format |
| » GivenName | body | string | false | GivenName can not contain more than 49 characters |
| » MiddleName | body | string | false | MiddleName is optional and can not contain more than 49 characters |
| » FamilyName | body | string | false | FamilyName can not contain more than 49 characters |
| » ImmiCardNumber | body | string | false | ImmiCardNumber must contain minimum 9 characters |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "ImmiCardResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "ImmiCardResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Visa
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/visa \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/visa HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/visa";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/visa',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/visa', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "1992-06-18",
"GivenName": "John",
"FamilyName": "Smith",
"PassportNumber": "DW126813",
"CountryOfIssue": "CAN"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/visa',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/visa', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/visa");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/visa", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/visa
Validate Visa
Body parameter
{
"BirthDate": "1992-06-18",
"GivenName": "John",
"FamilyName": "Smith",
"PassportNumber": "DW126813",
"CountryOfIssue": "CAN"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD OR YYYY-MM OR YYYY format |
| » GivenName | body | string | false | GivenName can not contain more than 49 characters |
| » FamilyName | body | string | false | FamilyName can not contain more than 49 characters |
| » PassportNumber | body | string | false | PassportNumber must contain 7 to 9 characters |
| » CountryOfIssue | body | string | false | A country code (e.g. "CAN") of the country where the passport was issued |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "VisaResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "VisaResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Passport
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/passport \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/passport HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/passport";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/passport',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/passport', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "1972-09-02",
"GivenName": "John",
"FamilyName": "Smith",
"TravelDocumentNumber": "C5100511",
"Gender": "M",
"ExpiryDate": "2020-01-01"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/passport',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/passport', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/passport");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/passport", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/passport
Validate Passport
Body parameter
{
"BirthDate": "1972-09-02",
"GivenName": "John",
"FamilyName": "Smith",
"TravelDocumentNumber": "C5100511",
"Gender": "M",
"ExpiryDate": "2020-01-01"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD format |
| » GivenName | body | string | false | GivenName can not contain more than 31 characters |
| » FamilyName | body | string | false | FamilyName can not contain more than 31 characters |
| » TravelDocumentNumber | body | string | false | TravelDocumentNumber can not contain more than 9 characters and less than 7 character. Either one or two alpha characters followed by seven numeric characters. No spaces |
| » Gender | body | string | false | Gender must be any one of the following M, F, X |
| » ExpiryDate | body | string(date) | false | ExpiryDate must be in YYYY-MM-DD format |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "PassportResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "PassportResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Medicare
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/australian-dvs/medicare \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/australian-dvs/medicare HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/australian-dvs/medicare";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/australian-dvs/medicare',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/australian-dvs/medicare', headers = headers)
print(r.json())
const inputBody = '{
"BirthDate": "1995-03-01",
"CardExpiry": "2019-12",
"CardNumber": "3512743581",
"CardType": "G",
"FullName1": "John Robert Smith",
"FullName2": null,
"FullName3": null,
"FullName4": null,
"IndividualReferenceNumber": 1
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/australian-dvs/medicare',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/australian-dvs/medicare', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/australian-dvs/medicare");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/australian-dvs/medicare", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /australian-dvs/medicare
Validate medicard
Body parameter
{
"BirthDate": "1995-03-01",
"CardExpiry": "2019-12",
"CardNumber": "3512743581",
"CardType": "G",
"FullName1": "John Robert Smith",
"FullName2": null,
"FullName3": null,
"FullName4": null,
"IndividualReferenceNumber": 1
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » BirthDate | body | string(date) | false | BirthDate must be in YYYY-MM-DD format |
| » CardExpiry | body | string | false | For Blue and Yellow Medicare Card, please use YYYY-MM-DD format.For Green Medicare Card, please use YYYY-MM format |
| » CardNumber | body | string | false | Card Number must be exactly 10 characters. |
| » CardType | body | string | false | CardType must be one of the following Y (Yellow), G (Green) or B (Blue) |
| » FullName1 | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). It should not exceed 27 characters |
| » FullName2 | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). It should not exceed 27 characters |
| » FullName3 | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). It should not exceed 27 characters |
| » FullName4 | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). It should not exceed 27 characters |
| » IndividualReferenceNumber | body | number | false | IndividualReferenceNumber must be a number, appears to the left of name on the card |
Example responses
Successfull Operation
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "MedicareResponse"
}
}
}
}
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "MedicareResponse"
}
}
}
}
400 Response
{
"msg": "Unable to process"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Global ID Verification
Global KYC
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/global/kyc \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: 66e11282-c214-41b5-8278-2fdbf0c3aba4' \
-H 'x-secret-key: 79896324-7043-5285-aca6-a0ba9681bff3'
POST https://{environment}.doxai.co/{basePath}/global/kyc HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: 66e11282-c214-41b5-8278-2fdbf0c3aba4
x-secret-key: 79896324-7043-5285-aca6-a0ba9681bff3
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/global/kyc";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => '66e11282-c214-41b5-8278-2fdbf0c3aba4',
'x-secret-key' => '79896324-7043-5285-aca6-a0ba9681bff3'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/global/kyc',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': '66e11282-c214-41b5-8278-2fdbf0c3aba4',
'x-secret-key': '79896324-7043-5285-aca6-a0ba9681bff3'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/global/kyc', headers = headers)
print(r.json())
const inputBody = '{
"countryCode": "AU",
"addressLine1": "Av 55",
"locality": "BARRETOS",
"postCode": "12234556",
"province": "SP",
"dob": "1995-03-01",
"firstName": "John",
"lastName": "Stephen",
"nationalid": "32698687827"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'66e11282-c214-41b5-8278-2fdbf0c3aba4',
'x-secret-key':'79896324-7043-5285-aca6-a0ba9681bff3'
};
fetch('https://{environment}.doxai.co/{basePath}/global/kyc',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => '66e11282-c214-41b5-8278-2fdbf0c3aba4',
'x-secret-key' => '79896324-7043-5285-aca6-a0ba9681bff3',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/global/kyc', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/global/kyc");
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"},
"x-access-key": []string{"66e11282-c214-41b5-8278-2fdbf0c3aba4"},
"x-secret-key": []string{"79896324-7043-5285-aca6-a0ba9681bff3"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/global/kyc", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /global/kyc
Global electronic verification on given identity with KYC.
Body parameter
{
"countryCode": "AU",
"addressLine1": "Av 55",
"locality": "BARRETOS",
"postCode": "12234556",
"province": "SP",
"dob": "1995-03-01",
"firstName": "John",
"lastName": "Stephen",
"nationalid": "32698687827"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » countryCode | body | string | false | countryCode must be in ISO 3166-1 Alpha-2 country code format |
| » addressLine1 | body | string | false | addressLine1 must be in address mentioned in the national identity card |
| » locality | body | string | false | locality must be in address mentioned in the national identity card |
| » postCode | body | string | false | postCode must be in address mentioned in the national identity card |
| » province | body | string | false | province must be in address mentioned in the national identity card |
| » dob | body | string(date) | false | dob must be in YYYY-MM-DD format |
| » firstName | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). |
| » lastName | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). |
| » nationalid | body | string | false | nationalid must be same as mentioned in the card.The national ID of the person being searched, relevant to the country of the search. Only required when using these country codes: BR, CA, CN, EG, ES, HK, IN, IT, JO, JP, KW, MX, MY, OM, RO, RU, SA, SG, TR, US, ZA |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"completename": "Adalgisa Nery",
"formofaddress": "",
"qualificationpreceding": "",
"givenfullname": "Adalgisa",
"givennameinitials": "",
"qualification_int_first": "",
"surname_prefix_first": "",
"surname_first": "Nery",
"indicator": "",
"qualification_int_second": "",
"surname_prefix_second": "",
"qualification_suceeding": "",
"name_qualified": "",
"function": "",
"gender": "",
"nationality": "",
"nationalid": "32698687827",
"organization_name": "",
"dob": "08/08/1987",
"businessid": "",
"contact_type": "",
"countryCode": "US",
"passport": "",
"codes": {
"reliability": "10",
"adaptation": "0",
"detailCode": "WS-333865.2020.0.1.22.6.43.638",
"detail_list": "",
"options": "IdentityVerify;DisableDQChecks;messageVerbose",
"messages": [
{
"code": "XXXX",
"value": "0;0;0;3;3;0;0;0;0;3;0;3;3;0;0;0;0;4;3;0;0;0;0;3;3"
}
],
"detailList": ""
},
"contactType": "",
"nameQualified": "",
"organizationName": "",
"qualificationIntFirst": "",
"qualificationIntSecond": "",
"qualificationSuceeding": "",
"surnameFirst": "Nery",
"surnamePrefixFirst": "",
"surnamePrefixSecond": "",
"Status": "Full Match"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | validateGlobalId |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Global International
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/global/international \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: 007f61ed-b6b5-4830-a68e-f0ca4400e751' \
-H 'x-secret-key: 4b518f62-0011-5cf8-a6a8-6898f1089d11'
POST https://{environment}.doxai.co/{basePath}/global/international HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: 007f61ed-b6b5-4830-a68e-f0ca4400e751
x-secret-key: 4b518f62-0011-5cf8-a6a8-6898f1089d11
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/global/international";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => '007f61ed-b6b5-4830-a68e-f0ca4400e751',
'x-secret-key' => '4b518f62-0011-5cf8-a6a8-6898f1089d11'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/global/international',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': '007f61ed-b6b5-4830-a68e-f0ca4400e751',
'x-secret-key': '4b518f62-0011-5cf8-a6a8-6898f1089d11'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/global/international', headers = headers)
print(r.json())
const inputBody = '{
"countryCode": "AU",
"addressLine1": "Av 55",
"locality": "BARRETOS",
"postCode": "12234556",
"province": "SP",
"dob": "1995-03-01",
"firstName": "John",
"lastName": "Stephen",
"nationalid": "32698687827"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'007f61ed-b6b5-4830-a68e-f0ca4400e751',
'x-secret-key':'4b518f62-0011-5cf8-a6a8-6898f1089d11'
};
fetch('https://{environment}.doxai.co/{basePath}/global/international',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => '007f61ed-b6b5-4830-a68e-f0ca4400e751',
'x-secret-key' => '4b518f62-0011-5cf8-a6a8-6898f1089d11',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/global/international', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/global/international");
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"},
"x-access-key": []string{"007f61ed-b6b5-4830-a68e-f0ca4400e751"},
"x-secret-key": []string{"4b518f62-0011-5cf8-a6a8-6898f1089d11"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/global/international", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /global/international
Global electronic verification on given identity.
Body parameter
{
"countryCode": "AU",
"addressLine1": "Av 55",
"locality": "BARRETOS",
"postCode": "12234556",
"province": "SP",
"dob": "1995-03-01",
"firstName": "John",
"lastName": "Stephen",
"nationalid": "32698687827"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » countryCode | body | string | false | countryCode must be in ISO 3166-1 Alpha-2 country code format |
| » addressLine1 | body | string | false | addressLine1 must be in address mentioned in the national identity card |
| » locality | body | string | false | locality must be in address mentioned in the national identity card |
| » postCode | body | string | false | postCode must be in address mentioned in the national identity card |
| » province | body | string | false | province must be in address mentioned in the national identity card |
| » dob | body | string(date) | false | dob must be in YYYY-MM-DD format |
| » firstName | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). |
| » lastName | body | string | false | Names should be entered exactly as printed on the card (in the same nameline). |
| » nationalid | body | string | false | nationalid must be same as mentioned in the card.The national ID of the person being searched, relevant to the country of the search. Only required when using these country codes: BR, CA, CN, EG, ES, HK, IN, IT, JO, JP, KW, MX, MY, OM, RO, RU, SA, SG, TR, US, ZA |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"completename": "Adalgisa Nery",
"formofaddress": "",
"qualificationpreceding": "",
"givenfullname": "Adalgisa",
"givennameinitials": "",
"qualification_int_first": "",
"surname_prefix_first": "",
"surname_first": "Nery",
"indicator": "",
"qualification_int_second": "",
"surname_prefix_second": "",
"qualification_suceeding": "",
"name_qualified": "",
"function": "",
"gender": "",
"nationality": "",
"nationalid": "32698687827",
"organization_name": "",
"dob": "08/08/1987",
"businessid": "",
"contact_type": "",
"countryCode": "US",
"passport": "",
"codes": {
"reliability": "10",
"adaptation": "0",
"detailCode": "WS-333865.2020.0.1.22.6.43.638",
"detail_list": "",
"options": "IdentityVerify;DisableDQChecks;messageVerbose",
"messages": [
{
"code": "XXXX",
"value": "0;0;0;3;3;0;0;0;0;3;0;3;3;0;0;0;0;4;3;0;0;0;0;3;3"
}
],
"detailList": ""
},
"contactType": "",
"nameQualified": "",
"organizationName": "",
"qualificationIntFirst": "",
"qualificationIntSecond": "",
"qualificationSuceeding": "",
"surnameFirst": "Nery",
"surnamePrefixFirst": "",
"surnamePrefixSecond": "",
"Status": "Full Match"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | validateGlobalId |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eSignature and eWitness
Upload file
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/signapi/upload \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/signapi/upload HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/signapi/upload";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/signapi/upload',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/signapi/upload', headers = headers)
print(r.json())
const inputBody = '{
"file": "",
"type": "sign",
"fileReferenceId": "7719f55b-ea7e-4685-b3e1-82a040c"
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/signapi/upload',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/signapi/upload', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/signapi/upload");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/signapi/upload", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /signapi/upload
Upload files for eSignature and eWitness request
Body parameter
file: ""
type: sign
fileReferenceId: 7719f55b-ea7e-4685-b3e1-82a040c
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » file | body | string(binary) | true | Allowed file types: .pdf, .doc, .docx, .txt, .jpg, .jpeg, .png, .ppt, .pptx, .bmp, .tiff, .svg |
| » type | body | string | false | Enter upload type |
| » fileReferenceId | body | string | false | none |
Example responses
200 Response
{
"msg": "Document successfully uploaded",
"data": {
"fileId": "619b59b5e25dee260c3c7a6a",
"fileReferenceId": "7719f55b-ea7e-4685-b3e1-82a040c",
"url": "https://storage-prod.doxai.co/doxaisignapi-prod/uploaded_files/69421425-27F8-4575-B86F-8F907CD39F60.pdf?sv=2020-06-12&st=2022-08-16T12%3A49%3A53Z&se=2022-08-17T12%3A49%3A53Z&sr=b&sp=r&sig=a6tetNu9a9ujQfgiiRwQvTek5KKRIkYZvDbBD%2F8JLGI%3D",
"interactiveForm": false,
"size": 538097,
"totalPages": 2,
"fileName": "sample (9).pdf",
"anchorTags": [
{
"signer": 1,
"placeholders": [
{
"coordinates": [
93.6,
69.75,
213.6,
94.75
],
"pageNumber": 1,
"type": "signature"
}
]
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» fileId | string | false | none | none |
| »» fileReferenceId | string | false | none | none |
| »» url | string | false | none | none |
| »» interactiveForm | bool | false | none | none |
| »» size | number | false | none | none |
| »» totalPages | number | false | none | none |
| »» fileName | string | false | none | none |
| »» anchorTags | array | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eSignature request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/signapi/signrequest \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/signapi/signrequest HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/signapi/signrequest";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/signapi/signrequest',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/signapi/signrequest', headers = headers)
print(r.json())
const inputBody = '{
"requestList": [
{
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requesterName": "John Smith",
"requesterEmail": "xxx@example.com",
"initiatorEmail": "xxx@example.com",
"fileIds": [
{
"fileId": "6776904371f5048e4674df08",
"fileIndex": 0
}
],
"message": "message",
"hasOrdering": false,
"expiryDate": "2025-11-15T02:38:07.000Z",
"recipients": [
{
"name": null,
"email": null,
"signingOrder": null,
"accessCode": null,
"hasAccessCode": null,
"mfaEnabled": null,
"privateMessage": null,
"isRequired": null,
"enforceDownload": null,
"associateSigner": null,
"witnesser": null,
"fileConfigs": null
}
],
"ccList": [
"xxx@example.com",
"xyz@example.com"
],
"reminderEnabled": true,
"reminderTimings": [
2,
4
],
"emailNotifications": true,
"iFrameUrl": true,
"domains": [
"https://example.com"
],
"mergeFile": false,
"url": "",
"canProcessWithMandatorySigners": false,
"allowDeclineAction": true,
"enableChatbot": true,
"freeTextEdit": true,
"certifyDocument": false,
"clientName": "DoxAI",
"timezone": "Australia/sydney",
"customDocumentName": "DoxAI",
"allowDelegateAction": false,
"status": "pending",
"schedule": {
"time": "2025-02-13T12:07:54.000Z",
"enabled": false,
"scheduledTimeInTimezone": "2025-02-13T12:07:54.000Z"
},
"allowDraftEdit": false,
"allowDraftFullFormEdit": false,
"freshChatEnabled": false,
"enableDefaultBrandingInAudit": true,
"allowRestrictionsAfterSign": false,
"restrictedPermissions": [],
"allowedSignatures": [
"draw_sign",
"e_sign",
"scanned_sign"
],
"redirectUrl": ""
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/signapi/signrequest',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/signapi/signrequest', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/signapi/signrequest");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/signapi/signrequest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /signapi/signrequest
Place eSignature request with file id
Body parameter
{
"requestList": [
{
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requesterName": "John Smith",
"requesterEmail": "xxx@example.com",
"initiatorEmail": "xxx@example.com",
"fileIds": [
{
"fileId": "6776904371f5048e4674df08",
"fileIndex": 0
}
],
"message": "message",
"hasOrdering": false,
"expiryDate": "2025-11-15T02:38:07.000Z",
"recipients": [
{
"name": null,
"email": null,
"signingOrder": null,
"accessCode": null,
"hasAccessCode": null,
"mfaEnabled": null,
"privateMessage": null,
"isRequired": null,
"enforceDownload": null,
"associateSigner": null,
"witnesser": null,
"fileConfigs": null
}
],
"ccList": [
"xxx@example.com",
"xyz@example.com"
],
"reminderEnabled": true,
"reminderTimings": [
2,
4
],
"emailNotifications": true,
"iFrameUrl": true,
"domains": [
"https://example.com"
],
"mergeFile": false,
"url": "",
"canProcessWithMandatorySigners": false,
"allowDeclineAction": true,
"enableChatbot": true,
"freeTextEdit": true,
"certifyDocument": false,
"clientName": "DoxAI",
"timezone": "Australia/sydney",
"customDocumentName": "DoxAI",
"allowDelegateAction": false,
"status": "pending",
"schedule": {
"time": "2025-02-13T12:07:54.000Z",
"enabled": false,
"scheduledTimeInTimezone": "2025-02-13T12:07:54.000Z"
},
"allowDraftEdit": false,
"allowDraftFullFormEdit": false,
"freshChatEnabled": false,
"enableDefaultBrandingInAudit": true,
"allowRestrictionsAfterSign": false,
"restrictedPermissions": [],
"allowedSignatures": [
"draw_sign",
"e_sign",
"scanned_sign"
],
"redirectUrl": ""
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestList | body | [object] | false | none |
| »» referenceId | body | string | false | Reference id for file |
| »» requesterName | body | string | false | The name of the requester. If this is provided, initiator details will not be used in audit report and sending email status. This will be used only if requesterName and requesterEmail are provided. |
| »» requesterEmail | body | string | false | Requester email must be a valid email. If this is provided, initiator details will not be used in audit report and sending email status.This will be used only if requesterName and requesterEmail are provided. |
| »» initiatorEmail | body | string | false | Initiator email must be one of the account managers like owner, admin and member, If it is not provided default owner email will be used |
| »» fileIds | body | [object] | false | none |
| »»» fileId | body | string | false | Uploaded File id |
| »»» fileIndex | body | number | false | Uploaded File ids index |
| »» message | body | string | false | Message for all signers.This will be used in email. |
| »» hasOrdering | body | bool | false | Signing order requested flag. If Signing order is enabled then the signers can be signed one by one in the provided order |
| »» expiryDate | body | date-time | false | Expiry date of the sign request.Expiry date must be greater than current date. |
| »» recipients | body | [anyOf] | false | none |
| »»» anonymous | body | recipient1 | false | none |
| »»»» name | body | string | false | Name of the signer. |
| body | string | false | Email of the signer. | |
| »»»» signingOrder | body | number | false | Order of the signer. |
| »»»» accessCode | body | number | false | Access code for signer authentication. By default it is null. |
| »»»» hasAccessCode | body | bool | false | Enables access code for signer authentication. This is used as an additional security for sensitive documents. By default it is false. |
| »»»» mfaEnabled | body | bool | false | Enables Multi Factor authentication for signer |
| »»»» privateMessage | body | string | false | Private message to the signer sent along with the signing request in email. |
| »»»» isRequired | body | bool | false | To identify whether the signer is optional or mandatory. By default it is true. |
| »»»» enforceDownload | body | bool | false | To allow user to download the original file while signing. By default it is true. |
| »»»» associateSigner | body | string | false | Email of the associate signers. Associate signers must be one of the recipients in list.Associate signers is allowed only when signing order is enabled. |
| »»»» witnesser | body | string | false | Email of the witnesser signers. Witnesser signers must be one of the recipients in list.Witnesser signers is allowed only when signing order is enabled. |
| »»»» fileConfigs | body | [anyOf] | false | none |
| »»»»» fileId | body | string | false | none |
| »»»»» fieldEdit | body | bool | false | Enables edit options in specified form fields in the smart pdf. If field edit is set to true then the field names should be mentioned in the granular access fields. |
| »»»»» signForm | body | bool | false | If sign form is set to true, then the placeholders like name,email,signature,etc... can be used.At least canEdit or signFrom must be set to the signer. |
| »»»»» fullFormEdit | body | bool | false | Enables full edit in the smart pdf. |
| »»»»» isReviewer | body | bool | false | If is reviewer is set to true, then the sign form and fill form must be false and placeholders must be empty. |
| »»»»» placeholders | body | [anyOf] | false | none |
| »»»»»» anonymous | body | signaturePlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»»» anonymous | body | dropDownPlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» defaultValue | body | string | false | dropDown default value |
| »»»»»»» dropDownOptions | body | array | false | Drop down options |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»»» anonymous | body | textBoxPlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» customLabel | body | string | false | Custom label for placeholder box |
| »»»»»»» validation | body | [object] | false | List of regex validation rules with custom error messages |
| »»»»»»»» regex | body | string | false | Regex pattern for the validation |
| »»»»»»»» errorMessage | body | string | false | Custom error message for regex validation |
| »»»»»»» format | body | string | false | Supported formats: Uppercase, Lowercase |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» font | body | object | false | Fonts alowed for placeholder type 'name','date','dateTime','email','initial','company','title','text' |
| »»»»»»»» type | body | string | false | Allowed font types: 'Poppins-Medium', 'Poppins-Regular', 'Roboto-Medium', 'Lato-Bold', 'PlayfairDisplay-Medium', 'OpenSans-Condensed-Medium' |
| »»»»»»»» color | body | string | false | Font color in hex code |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»»» anonymous | body | datePlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» format | body | string | false | Support formats for Date field: DD/MM/YYYY , MM/DD/YYYY , YYYY/MM/DD , DD-MM-YYYY , MM-DD-YYYY , YYYY-MM-DD |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»» granularAccess | body | array | false | none |
| »»» anonymous | body | recipient2 | false | none |
| »»»» name | body | string | false | Name of the signer. |
| body | string | false | Email of the signer. | |
| »»»» signingOrder | body | number | false | Order of the signer. |
| »»»» accessCode | body | number | false | Access code for signer authentication. By default it is null. |
| »»»» hasAccessCode | body | bool | false | Enables access code for signer authentication. This is used as an additional security for sensitive documents. By default it is false. |
| »»»» mfaEnabled | body | bool | false | Enables Multi Factor authentication for signer |
| »»»» privateMessage | body | string | false | Private message to the signer sent along with the signing request in email. |
| »»»» isRequired | body | bool | false | To identify whether the signer is optional or mandatory. By default it is true. |
| »»»» enforceDownload | body | bool | false | To allow user to download the original file while signing. By default it is true. |
| »»»» associateSigner | body | string | false | Email of the associate signers. Associate signers must be one of the recipients in list.Associate signers is allowed only when signing order is enabled. |
| »»»» witnesser | body | string | false | Email of the witnesser signers. Witnesser signers must be one of the recipients in list.Witnesser signers is allowed only when signing order is enabled. |
| »»»» fileConfigs | body | [anyOf] | false | none |
| »»»»» fileId | body | string | false | none |
| »»»»» fieldEdit | body | bool | false | Enables edit options in specified form fields in the smart pdf. If field edit is set to true then the field names should be mentioned in the granular access fields. |
| »»»»» signForm | body | bool | false | If sign form is set to true, then the placeholders like name,email,signature,etc... can be used.At least canEdit or signFrom must be set to the signer. |
| »»»»» fullFormEdit | body | bool | false | Enables full edit in the smart pdf. |
| »»»»» isReviewer | body | bool | false | If is reviewer is set to true, then the sign form and fill form must be false and placeholders must be empty. |
| »»»»» placeholders | body | array | false | none |
| »»»»» granularAccess | body | [granularAccess] | false | none |
| »»»»»» fields | body | string | false | The name of the field in smart pdf |
| »»»»»» isRequired | body | bool | false | To identify whether the field is optional or mandatory. |
| »»»»»» pageNumber | body | number | false | The page number in which the field exists. |
| »» ccList | body | array | false | List of email ids in CC. Email ids must be unique |
| »» reminderEnabled | body | bool | false | To enable reminder notifications. By Default it is false. |
| »» reminderTimings | body | array | false | No of hours for reminder notification.If reminderEnabled is set to true, then at least one reminder timings must be provided. |
| »» emailNotifications | body | bool | false | To enable email notifications |
| »» iFrameUrl | body | bool | false | IFrameUrl is used to prevent the unauthorized domains to access it.By Default iFrameUrl is false. |
| »» domains | body | array | false | The whitelisted domains can be provided in the domains array.If Iframe url is set to true, then the domains will be validated. By Default it will be an empty array. |
| »» mergeFile | body | bool | false | To merge signed document with audit report.By Default it is false. |
| »» url | body | string | false | Url is used for custom hosted webapp.By Default the live url will be used. |
| »» canProcessWithMandatorySigners | body | bool | false | Starts processing the document, once mandatory signer has signed.By Default it is false. |
| »» allowDeclineAction | body | bool | false | To enable the decline action while signing. By Default it is true. |
| »» enableChatbot | body | bool | false | To enable the free text edit option. By Default it is true. |
| »» freeTextEdit | body | bool | false | To enable and disable the chatbot while signing. By Default it is true. |
| »» certifyDocument | body | bool | false | To certify the document. By Default it is false. If certifyDocument is false recipientsList is mandatory.If recipients list is provided it will be resetted to [] |
| »» clientName | body | string | false | To set the client name in guest sign. |
| »» timezone | body | string | false | To format the date time in audit report. Only IANA approved time zones are allowed. |
| »» customDocumentName | body | string | false | To set the custom document name for sign request. |
| »» allowDelegateAction | body | bool | false | To enable the delegate option. By Default it is false. |
| »» status | body | string | false | To create the sign request. By Default it is in draft state. |
| »» schedule | body | object | false | none |
| »»» time | body | date-time | false | Scheduling date of the sign request in local format.Scheduling date must be greater than current date. |
| »»» enabled | body | bool | false | To enable the schedule option. By Default it is false. |
| »»» scheduledTimeInTimezone | body | date-time | false | Scheduling date of the sign request in Timezone. |
| »» allowDraftEdit | body | bool | false | To restrict the edit access in sign request draft. Default is true |
| »» allowDraftFullFormEdit | body | bool | false | To enable and disable the full form edit option in draft. By Default it is true. |
| »» freshChatEnabled | body | bool | false | To enable or disable the fresh chat. Default is false |
| »» enableDefaultBrandingInAudit | body | bool | false | To enable the default branding in audit. By default it is true. |
| »» allowRestrictionsAfterSign | body | bool | false | Allow Restrictions After Sign is used to restrict signers permission after first signer completed signing. By default value is false |
| »» restrictedPermissions | body | array | false | restrictedPersmissions array cantains alteast any one of the followings [sign,fillAndSign,fill,review] based on their request |
| »» allowedSignatures | body | array | false | none |
| »» redirectUrl | body | string | false | External site redirection Url. This will work only for decline, guest sign and review |
Example responses
200 Response
{
"msg": "Request Success.",
"data": {
"msg": "Signing request placed successfully.",
"data": {
"requestId": "D0-F1DB5334CE62088-D70CB-802B-4F6E-8D",
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"redirectUrl": null,
"selfSignUrl": null,
"previewUrl": "https://example.com/auth?sign_request_id=31585418-EA94-4375-8C87-5A0E847288EB&uniqueId=2186C9A9-7135-49B9-BDFB-18D8ED6C3263&hasViewMode=true",
"links": [
{
"email": "xxx@example.com",
"name": "John Smith",
"link": "https://example.com/auth?sign_request_id=31585418-EA94-4375-8C87-5A0E847288EB&unique_id=0F799128-D8F9-4BDA-AD6E-4B29762E061D&hasAccessCode=false"
}
]
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» msg | string | false | none | none |
| »» data | object | false | none | none |
| »»» requestId | string | false | none | none |
| »»» referenceId | string | false | none | none |
| »»» redirectUrl | string | false | none | none |
| »»» selfSignUrl | string | false | none | none |
| »»» previewUrl | string | false | none | none |
| »»» links | [object] | false | none | none |
| string | false | none | none | |
| »»»» name | string | false | none | none |
| »»»» link | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» msg | string | false | none | none |
| »» data | object | false | none | none |
| »»» requestId | string | false | none | none |
| »»» referenceId | string | false | none | none |
| »»» redirectUrl | string | false | none | none |
| »»» selfSignUrl | string | false | none | none |
| »»» previewUrl | string | false | none | none |
| »»» links | array | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eWitness request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/signapi/witnessrequest \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: e0065744-c996-4ea4-a6f9-3e3f05b1a4c0' \
-H 'x-secret-key: ae6d3536-4475-5bd8-b155-f11d3a327aba'
POST https://{environment}.doxai.co/{basePath}/signapi/witnessrequest HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: e0065744-c996-4ea4-a6f9-3e3f05b1a4c0
x-secret-key: ae6d3536-4475-5bd8-b155-f11d3a327aba
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/signapi/witnessrequest";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'e0065744-c996-4ea4-a6f9-3e3f05b1a4c0',
'x-secret-key' => 'ae6d3536-4475-5bd8-b155-f11d3a327aba'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/signapi/witnessrequest',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'e0065744-c996-4ea4-a6f9-3e3f05b1a4c0',
'x-secret-key': 'ae6d3536-4475-5bd8-b155-f11d3a327aba'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/signapi/witnessrequest', headers = headers)
print(r.json())
const inputBody = '{
"requestList": [
{
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requesterName": "John Smith",
"requesterEmail": "xxx@example.com",
"initiatorEmail": "xxx@example.com",
"witnesserEmail": "xxx@example.com",
"fileIds": [
{
"fileId": "6776904371f5048e4674df08",
"fileIndex": 0
}
],
"message": "message",
"hasOrdering": false,
"expiryDate": "2025-11-15T02:38:07.000Z",
"signingDate": "2025-11-15T02:38:07.000Z",
"recipients": [
{
"name": null,
"email": null,
"signingOrder": null,
"accessCode": null,
"hasAccessCode": null,
"mfaEnabled": null,
"privateMessage": null,
"isRequired": null,
"enforceDownload": null,
"associateSigner": null,
"witnesser": null,
"fileConfigs": null
}
],
"ccList": [
"xxx@example.com",
"xyz@example.com"
],
"reminderEnabled": true,
"reminderTimings": [
2,
4
],
"emailNotifications": true,
"iFrameUrl": true,
"domains": [
"https://example.com"
],
"mergeFile": false,
"url": "",
"canProcessWithMandatorySigners": false,
"allowDeclineAction": true,
"enableChatbot": true,
"freeTextEdit": true,
"clientName": "DoxAI",
"timezone": "Australia/sydney",
"customDocumentName": "DoxAI",
"allowDelegateAction": false,
"status": "pending",
"schedule": {
"time": "2025-02-13T12:07:54.000Z",
"enabled": false,
"scheduledTimeInTimezone": "2025-02-13T12:07:54.000Z"
},
"allowDraftEdit": false,
"allowDraftFullFormEdit": false,
"freshChatEnabled": false,
"enableDefaultBrandingInAudit": true,
"allowRestrictionsAfterSign": false,
"restrictedPermissions": [],
"allowedSignatures": [
"draw_sign",
"e_sign",
"scanned_sign"
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'e0065744-c996-4ea4-a6f9-3e3f05b1a4c0',
'x-secret-key':'ae6d3536-4475-5bd8-b155-f11d3a327aba'
};
fetch('https://{environment}.doxai.co/{basePath}/signapi/witnessrequest',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'e0065744-c996-4ea4-a6f9-3e3f05b1a4c0',
'x-secret-key' => 'ae6d3536-4475-5bd8-b155-f11d3a327aba',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/signapi/witnessrequest', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/signapi/witnessrequest");
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"},
"x-access-key": []string{"e0065744-c996-4ea4-a6f9-3e3f05b1a4c0"},
"x-secret-key": []string{"ae6d3536-4475-5bd8-b155-f11d3a327aba"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/signapi/witnessrequest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /signapi/witnessrequest
Place eWitness request with file id
Body parameter
{
"requestList": [
{
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requesterName": "John Smith",
"requesterEmail": "xxx@example.com",
"initiatorEmail": "xxx@example.com",
"witnesserEmail": "xxx@example.com",
"fileIds": [
{
"fileId": "6776904371f5048e4674df08",
"fileIndex": 0
}
],
"message": "message",
"hasOrdering": false,
"expiryDate": "2025-11-15T02:38:07.000Z",
"signingDate": "2025-11-15T02:38:07.000Z",
"recipients": [
{
"name": null,
"email": null,
"signingOrder": null,
"accessCode": null,
"hasAccessCode": null,
"mfaEnabled": null,
"privateMessage": null,
"isRequired": null,
"enforceDownload": null,
"associateSigner": null,
"witnesser": null,
"fileConfigs": null
}
],
"ccList": [
"xxx@example.com",
"xyz@example.com"
],
"reminderEnabled": true,
"reminderTimings": [
2,
4
],
"emailNotifications": true,
"iFrameUrl": true,
"domains": [
"https://example.com"
],
"mergeFile": false,
"url": "",
"canProcessWithMandatorySigners": false,
"allowDeclineAction": true,
"enableChatbot": true,
"freeTextEdit": true,
"clientName": "DoxAI",
"timezone": "Australia/sydney",
"customDocumentName": "DoxAI",
"allowDelegateAction": false,
"status": "pending",
"schedule": {
"time": "2025-02-13T12:07:54.000Z",
"enabled": false,
"scheduledTimeInTimezone": "2025-02-13T12:07:54.000Z"
},
"allowDraftEdit": false,
"allowDraftFullFormEdit": false,
"freshChatEnabled": false,
"enableDefaultBrandingInAudit": true,
"allowRestrictionsAfterSign": false,
"restrictedPermissions": [],
"allowedSignatures": [
"draw_sign",
"e_sign",
"scanned_sign"
]
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestList | body | [object] | false | none |
| »» referenceId | body | string | false | Reference id for file |
| »» requesterName | body | string | false | The name of the requester. If this is provided, initiator details will not be used in audit report and sending email status. This will be used only if requesterName and requesterEmail are provided. |
| »» requesterEmail | body | string | false | Requester email must be a valid email. If this is provided, initiator details will not be used in audit report and sending email status.This will be used only if requesterName and requesterEmail are provided. |
| »» initiatorEmail | body | string | false | Initiator email must be one of the account managers like owner, admin and member, If it is not provided default owner email will be used |
| »» witnesserEmail | body | string | false | Witnesser email id for e-witnessing the request. Witnesser email must present in the recipients list |
| »» fileIds | body | [object] | false | none |
| »»» fileId | body | string | false | Uploaded File id |
| »»» fileIndex | body | number | false | Uploaded File ids index |
| »» message | body | string | false | Message for all signers.This will be used in email. |
| »» hasOrdering | body | bool | false | Signing order requested flag.If Signing order is enabled then the signers can be signed one by one in the provided order |
| »» expiryDate | body | date-time | false | Expiry date of the sign request.Expiry date must be greater than current date. |
| »» signingDate | body | date-time | false | Signing date for witness request.Signing date must be greater than current date |
| »» recipients | body | [anyOf] | false | none |
| »»» anonymous | body | recipient1 | false | none |
| »»»» name | body | string | false | Name of the signer. |
| body | string | false | Email of the signer. | |
| »»»» signingOrder | body | number | false | Order of the signer. |
| »»»» accessCode | body | number | false | Access code for signer authentication. By default it is null. |
| »»»» hasAccessCode | body | bool | false | Enables access code for signer authentication. This is used as an additional security for sensitive documents. By default it is false. |
| »»»» mfaEnabled | body | bool | false | Enables Multi Factor authentication for signer |
| »»»» privateMessage | body | string | false | Private message to the signer sent along with the signing request in email. |
| »»»» isRequired | body | bool | false | To identify whether the signer is optional or mandatory. By default it is true. |
| »»»» enforceDownload | body | bool | false | To allow user to download the original file while signing. By default it is true. |
| »»»» associateSigner | body | string | false | Email of the associate signers. Associate signers must be one of the recipients in list.Associate signers is allowed only when signing order is enabled. |
| »»»» witnesser | body | string | false | Email of the witnesser signers. Witnesser signers must be one of the recipients in list.Witnesser signers is allowed only when signing order is enabled. |
| »»»» fileConfigs | body | [anyOf] | false | none |
| »»»»» fileId | body | string | false | none |
| »»»»» fieldEdit | body | bool | false | Enables edit options in specified form fields in the smart pdf. If field edit is set to true then the field names should be mentioned in the granular access fields. |
| »»»»» signForm | body | bool | false | If sign form is set to true, then the placeholders like name,email,signature,etc... can be used.At least canEdit or signFrom must be set to the signer. |
| »»»»» fullFormEdit | body | bool | false | Enables full edit in the smart pdf. |
| »»»»» isReviewer | body | bool | false | If is reviewer is set to true, then the sign form and fill form must be false and placeholders must be empty. |
| »»»»» placeholders | body | [anyOf] | false | none |
| »»»»»» anonymous | body | signaturePlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»»» anonymous | body | dropDownPlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» defaultValue | body | string | false | dropDown default value |
| »»»»»»» dropDownOptions | body | array | false | Drop down options |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»»» anonymous | body | textBoxPlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» customLabel | body | string | false | Custom label for placeholder box |
| »»»»»»» validation | body | [object] | false | List of regex validation rules with custom error messages |
| »»»»»»»» regex | body | string | false | Regex pattern for the validation |
| »»»»»»»» errorMessage | body | string | false | Custom error message for regex validation |
| »»»»»»» format | body | string | false | Supported formats: Uppercase, Lowercase |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» font | body | object | false | Fonts alowed for placeholder type 'name','date','dateTime','email','initial','company','title','text' |
| »»»»»»»» type | body | string | false | Allowed font types: 'Poppins-Medium', 'Poppins-Regular', 'Roboto-Medium', 'Lato-Bold', 'PlayfairDisplay-Medium', 'OpenSans-Condensed-Medium' |
| »»»»»»»» color | body | string | false | Font color in hex code |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»»» anonymous | body | datePlaceHolder | false | none |
| »»»»»»» type | body | string | false | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| »»»»»»» value | body | string | false | Field values |
| »»»»»»» coordinates | body | array | false | Field co-ordinates array. |
| »»»»»»» format | body | string | false | Support formats for Date field: DD/MM/YYYY , MM/DD/YYYY , YYYY/MM/DD , DD-MM-YYYY , MM-DD-YYYY , YYYY-MM-DD |
| »»»»»»» pageNumber | body | number | false | The page number in which the field exists |
| »»»»»»» isRequired | body | bool | false | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| »»»»»»» clusterId | body | string | false | Used for radio button grouping |
| »»»»»»» groupId | body | string | false | Unique id for field names |
| »»»»» granularAccess | body | array | false | none |
| »»» anonymous | body | recipient2 | false | none |
| »»»» name | body | string | false | Name of the signer. |
| body | string | false | Email of the signer. | |
| »»»» signingOrder | body | number | false | Order of the signer. |
| »»»» accessCode | body | number | false | Access code for signer authentication. By default it is null. |
| »»»» hasAccessCode | body | bool | false | Enables access code for signer authentication. This is used as an additional security for sensitive documents. By default it is false. |
| »»»» mfaEnabled | body | bool | false | Enables Multi Factor authentication for signer |
| »»»» privateMessage | body | string | false | Private message to the signer sent along with the signing request in email. |
| »»»» isRequired | body | bool | false | To identify whether the signer is optional or mandatory. By default it is true. |
| »»»» enforceDownload | body | bool | false | To allow user to download the original file while signing. By default it is true. |
| »»»» associateSigner | body | string | false | Email of the associate signers. Associate signers must be one of the recipients in list.Associate signers is allowed only when signing order is enabled. |
| »»»» witnesser | body | string | false | Email of the witnesser signers. Witnesser signers must be one of the recipients in list.Witnesser signers is allowed only when signing order is enabled. |
| »»»» fileConfigs | body | [anyOf] | false | none |
| »»»»» fileId | body | string | false | none |
| »»»»» fieldEdit | body | bool | false | Enables edit options in specified form fields in the smart pdf. If field edit is set to true then the field names should be mentioned in the granular access fields. |
| »»»»» signForm | body | bool | false | If sign form is set to true, then the placeholders like name,email,signature,etc... can be used.At least canEdit or signFrom must be set to the signer. |
| »»»»» fullFormEdit | body | bool | false | Enables full edit in the smart pdf. |
| »»»»» isReviewer | body | bool | false | If is reviewer is set to true, then the sign form and fill form must be false and placeholders must be empty. |
| »»»»» placeholders | body | array | false | none |
| »»»»» granularAccess | body | [granularAccess] | false | none |
| »»»»»» fields | body | string | false | The name of the field in smart pdf |
| »»»»»» isRequired | body | bool | false | To identify whether the field is optional or mandatory. |
| »»»»»» pageNumber | body | number | false | The page number in which the field exists. |
| »» ccList | body | array | false | List of email ids in CC. Email ids must be unique |
| »» reminderEnabled | body | bool | false | To enable reminder notifications. By Default it is false. |
| »» reminderTimings | body | array | false | No of hours for reminder notification.If reminderEnabled is set to true, then at least one reminder timings must be provided. |
| »» emailNotifications | body | bool | false | To enable email notifications |
| »» iFrameUrl | body | bool | false | IFrameUrl is used to prevent the unauthorized domains to access it.By Default iFrameUrl is false. |
| »» domains | body | array | false | The whitelisted domains can be provided in the domains array.If Iframe url is set to true, then the domains will be validated. By Default it will be an empty array. |
| »» mergeFile | body | bool | false | To merge signed document with audit report.By Default it is false. |
| »» url | body | string | false | Url is used for custom hosted webapp.By Default the live url will be used. |
| »» canProcessWithMandatorySigners | body | bool | false | Starts processing the document, once mandatory signer has signed.By Default it is false. |
| »» allowDeclineAction | body | bool | false | To enable the decline action while signing. By Default it is true. |
| »» enableChatbot | body | bool | false | To enable and disable the chatbot while signing. By Default it is true. |
| »» freeTextEdit | body | bool | false | To enable the free text edit option. By Default it is true. |
| »» clientName | body | string | false | To set the client name in guest sign. |
| »» timezone | body | string | false | To format the date time in audit report. Only IANA approved time zones are allowed. |
| »» customDocumentName | body | string | false | To set the custom document name for sign request. |
| »» allowDelegateAction | body | bool | false | To enable the delegate option. By Default it is false. |
| »» status | body | string | false | To create the sign request. By Default it is in draft state. |
| »» schedule | body | object | false | none |
| »»» time | body | date-time | false | Scheduling date of the sign request in local format.Scheduling date must be greater than current date. |
| »»» enabled | body | bool | false | To enable the schedule option. By Default it is false. |
| »»» scheduledTimeInTimezone | body | date-time | false | Scheduling date of the sign request in Timezone. |
| »» allowDraftEdit | body | bool | false | To restrict the edit access in sign request draft. Default is true |
| »» allowDraftFullFormEdit | body | bool | false | To enable and disable the full form edit option in draft. By Default it is true. |
| »» freshChatEnabled | body | bool | false | To enable or disable the fresh chat. Default is false |
| »» enableDefaultBrandingInAudit | body | bool | false | To enable the default branding in audit. By default it is true. |
| »» allowRestrictionsAfterSign | body | bool | false | Allow Restrictions After Sign is used to restrict signers permission after first signer completed signing. By default value is false |
| »» restrictedPermissions | body | array | false | restrictedPersmissions array cantains alteast any one of the followings [sign,fillAndSign,fill,review] based on their request |
| »» allowedSignatures | body | array | false | none |
Example responses
200 Response
{
"msg": "Request Success.",
"data": {
"msg": "Signing request placed successfully.",
"data": {
"requestId": "D0-F1DB5334CE62088-D70CB-802B-4F6E-8D",
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"redirectUrl": null,
"selfSignUrl": null,
"previewUrl": "https://example.com/auth?sign_request_id=31585418-EA94-4375-8C87-5A0E847288EB&uniqueId=2186C9A9-7135-49B9-BDFB-18D8ED6C3263&hasViewMode=true",
"links": [
{
"email": "xxx@example.com",
"name": "John Smith",
"link": "https://example.com/auth?sign_request_id=31585418-EA94-4375-8C87-5A0E847288EB&unique_id=0F799128-D8F9-4BDA-AD6E-4B29762E061D&hasAccessCode=false"
}
]
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» msg | string | false | none | none |
| »» data | object | false | none | none |
| »»» requestId | string | false | none | none |
| »»» referenceId | string | false | none | none |
| »»» redirectUrl | string | false | none | none |
| »»» selfSignUrl | string | false | none | none |
| »»» previewUrl | string | false | none | none |
| »»» links | [object] | false | none | none |
| string | false | none | none | |
| »»»» name | string | false | none | none |
| »»»» link | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» msg | string | false | none | none |
| »» data | object | false | none | none |
| »»» requestId | string | false | none | none |
| »»» referenceId | string | false | none | none |
| »»» redirectUrl | string | false | none | none |
| »»» selfSignUrl | string | false | none | none |
| »»» previewUrl | string | false | none | none |
| »»» links | array | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Fetch new iframe URL
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/signapi/draft/auth-token \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/signapi/draft/auth-token HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/signapi/draft/auth-token";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/signapi/draft/auth-token',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/signapi/draft/auth-token', headers = headers)
print(r.json())
const inputBody = '{
"requestId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/signapi/draft/auth-token',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/signapi/draft/auth-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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/signapi/draft/auth-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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/signapi/draft/auth-token", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /signapi/draft/auth-token
To get a new iframe URL for configuring the placeholders
Body parameter
{
"requestId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestId | body | string | false | Request id to get the auth token |
Example responses
200 Response
{
"msg": "Request success",
"data": {
"redirectUrl": "https://example.com/auth?sign_request_id=31585418-EA94-4375-8C87-5A0E847288EB&uniqueId=2186C9A9-7135-49B9-BDFB-18D8ED6C3263"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthenticated Request | Inline |
| 500 | Internal Server Error | Internal Server error | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» redirectUrl | object | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Publish eSignature request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest', headers = headers)
print(r.json())
const inputBody = '{
"requestIds": [
"088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/signapi/draft/signrequest", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /signapi/draft/signrequest
To publish the eSignature and eWitness request from draft to pending state
Body parameter
{
"requestIds": [
"088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestIds | body | [string] | false | none |
Example responses
200 Response
[]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthenticated Request | Inline |
| 500 | Internal Server Error | Internal Server error | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Void eSignature and eWitness request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/signapi/void \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/signapi/void HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/signapi/void";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/signapi/void',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/signapi/void', headers = headers)
print(r.json())
const inputBody = '{
"requestId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/signapi/void',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/signapi/void', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/signapi/void");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/signapi/void", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /signapi/void
Cancel the active eSignature and eWitness requests
Body parameter
{
"requestId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestId | body | string | false | Request id for voiding the request |
Example responses
200 Response
{
"msg": "Sign request has been voided.",
"data": {
"fileDetails": []
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthenticated Request | Inline |
| 500 | Internal Server Error | Internal Server error | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» fileDetails | [object] | false | none | none |
| »»» fileId | string | false | none | none |
| »»» fileReferenceId | string | false | none | none |
| »»» url | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Resend Email for eSignature and eWitness request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/signapi/resend-email \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/signapi/resend-email HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/signapi/resend-email";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/signapi/resend-email',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/signapi/resend-email', headers = headers)
print(r.json())
const inputBody = '{
"requestId": "43C8D9D8-DE80-4F7F-B498-9157F1519891"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/signapi/resend-email',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/signapi/resend-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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/signapi/resend-email");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/signapi/resend-email", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /signapi/resend-email
To resend the Email for eSignature and eWitness request
Body parameter
{
"requestId": "43C8D9D8-DE80-4F7F-B498-9157F1519891"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestId | body | string | false | Request id for resending the email. |
Example responses
200 Response
{
"msg": "Mail sent successfully"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthenticated Request | Inline |
| 500 | Internal Server Error | Internal Server error | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Autofill
Autofill request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/autofillapi/request \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/autofillapi/request HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/autofillapi/request";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/autofillapi/request',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/autofillapi/request', headers = headers)
print(r.json())
const inputBody = '{
"requestList": [
{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62",
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requester": {
"name": "John Smith",
"email": "xxx@example.com"
},
"jsonContent": {}
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/autofillapi/request',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/autofillapi/request', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/autofillapi/request");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/autofillapi/request", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /autofillapi/request
Place Autofill request with json contents
Body parameter
{
"requestList": [
{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62",
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requester": {
"name": "John Smith",
"email": "xxx@example.com"
},
"jsonContent": {}
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestList | body | [object] | false | none |
| »» templateId | body | string | false | Template Id where the autofill mapping is completed |
| »» referenceId | body | string | false | Reference id for file |
| »» requester | body | object | false | none |
| »»» name | body | string | false | The name of the requester |
| body | string | false | Email must be a valid email | |
| »» jsonContent | body | object | false | none |
Example responses
Successfull operation
{
"msg": "Request success",
"data": [
{
"msg": "Request created successfully",
"data": {
"requestId": "64F0498F-5E6A-4903-8740-1CA95E76455B",
"referenceId": "12343"
},
"status": 200,
"success": true
},
{
"msg": "Invalid Email",
"data": {
"requestId": "B181E605-F0E5-4E3F-92C5-10B3E3F1B2FD",
"referenceId": "12343"
},
"status": 400
}
]
}
400 Response
{
"msg": "Request list must contain at least one"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | [object] | false | none | none |
| »» msg | string | false | none | none |
| »» data | object | false | none | none |
| »»» requestId | string(uuid) | false | none | none |
| »»» referenceId | string | false | none | none |
| »» status | integer | false | none | HTTP status code for individual request |
| »» success | boolean | false | none | Indicates if the individual request was successful |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eForm
eForm template request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/eformapi/template \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/eformapi/template HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/eformapi/template";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/eformapi/template',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/eformapi/template', headers = headers)
print(r.json())
const inputBody = '{
"name": "test template"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/eformapi/template',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/eformapi/template', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/eformapi/template");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/eformapi/template", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /eformapi/template
Create eForm template
Body parameter
{
"name": "test template"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » name | body | string | false | Template name |
Example responses
200 Response
{
"msg": "Template created successfully",
"data": {
"templateId": "D387A589-4D70-4661-B682-9B040452AAFE",
"redirectUrl": "https://example.com/template-draft?authToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEb3hBSSIsImF1ZCI6IkRveEFJIiwicmdWVzdElkIjpudWxsLCJ0ZW1wbGF0ZUlkIjoiRDM4N0E1ODktNEQ3MC00NjYxLUI2ODItOUIwNDA0NTJBQUZFIiwiaWFoxNzcyNjI4MzI0LCJleHAiOjE3NzI2MzEwMjR9.CHjts-t8ymy9eGOm3Y5wMnIFnBShNacr94idChAROI"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» templateId | string | false | none | none |
| »» redirectUrl | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Delete templates
Code samples
# You can also use wget
curl -X DELETE https://{environment}.doxai.co/{basePath}/eformapi/template \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
DELETE https://{environment}.doxai.co/{basePath}/eformapi/template HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakeDeleteRequest()
{
int id = 1;
string url = "https://{environment}.doxai.co/{basePath}/eformapi/template";
await DeleteAsync(id, url);
}
/// Performs a DELETE Request
public async Task DeleteAsync(int id, string url)
{
//Execute DELETE request
HttpResponseMessage response = await Client.DeleteAsync(url + $"/{id}");
//Return response
await DeserializeObject(response);
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.delete 'https://{environment}.doxai.co/{basePath}/eformapi/template',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.delete('https://{environment}.doxai.co/{basePath}/eformapi/template', headers = headers)
print(r.json())
const inputBody = '{
"templateIds": [
"088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/eformapi/template',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','https://{environment}.doxai.co/{basePath}/eformapi/template', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/eformapi/template");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{environment}.doxai.co/{basePath}/eformapi/template", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /eformapi/template
Delete eForm templates
Body parameter
{
"templateIds": [
"088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » templateIds | body | [string] | false | none |
Example responses
200 Response
{
"msg": "Deleted successfully"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eForm template clone
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/eformapi/template/clone \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/eformapi/template/clone HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/eformapi/template/clone";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/eformapi/template/clone',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/eformapi/template/clone', headers = headers)
print(r.json())
const inputBody = '{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62",
"name": "clone of test template"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/eformapi/template/clone',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/eformapi/template/clone', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/eformapi/template/clone");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/eformapi/template/clone", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /eformapi/template/clone
Clone eForm Template
Body parameter
{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62",
"name": "clone of test template"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » templateId | body | string | false | Existing eForm template Id |
| » name | body | string | false | Name of the cloned template |
Example responses
200 Response
{
"msg": "Request success",
"data": {
"templateId": "199D70CB-802B-4F6E-8DD0-F1DB5334CQ62",
"redirectUrl": "https://example.com/template-draft?authToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEb3hBSSIsImF1ZCI6IkRveEFJIiwicmdWVzdElkIjpudWxsLCJ0ZW1wbGF0ZUlkIjoiRDM4N0E1ODktNEQ3MC00NjYxLUI2ODItOUIwNDA0NTJBQUZFIiwiaWFoxNzcyNjI4MzI0LCJleHAiOjE3NzI2MzEwMjR9.CHjts-t8ymy9eGOm3Y5wMnIFnBShNacr94idChAROI"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» templateId | string | false | none | none |
| »» redirectUrl | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eForm template draft token
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/eformapi/template/token \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/eformapi/template/token HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/eformapi/template/token";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/eformapi/template/token',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/eformapi/template/token', headers = headers)
print(r.json())
const inputBody = '{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/eformapi/template/token',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/eformapi/template/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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/eformapi/template/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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/eformapi/template/token", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /eformapi/template/token
eForm template draft edit token creation
Body parameter
{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » templateId | body | string | false | eForm Template Id |
Example responses
200 Response
{
"msg": "Request success",
"data": {
"redirectUrl": "https://example.com/template-draft?authToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEb3hBSSIsImF1ZCI6IkRveEFJIiwicmdWVzdElkIjpudWxsLCJ0ZW1wbGF0ZUlkIjoiRDM4N0E1ODktNEQ3MC00NjYxLUI2ODItOUIwNDA0NTJBQUZFIiwiaWFoxNzcyNjI4MzI0LCJleHAiOjE3NzI2MzEwMjR9.CHjts-t8ymy9eGOm3Y5wMnIFnBShNacr94idChAROI"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» redirectUrl | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eForm activate template
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/eformapi/template/activate \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/eformapi/template/activate HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/eformapi/template/activate";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/eformapi/template/activate',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/eformapi/template/activate', headers = headers)
print(r.json())
const inputBody = '{
"templateIds": [
"088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/eformapi/template/activate',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/eformapi/template/activate', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/eformapi/template/activate");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/eformapi/template/activate", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /eformapi/template/activate
Activate eForm templates
Body parameter
{
"templateIds": [
"088D70CB-802B-4F6E-8DD0-F1DB5334CE62"
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » templateIds | body | [string] | false | none |
Example responses
200 Response
{
"msg": "Updated successfully",
"data": [
{
"msg": "Updated successfully",
"templateId": "64F0498F-5E6A-4903-8740-1CA95E76455B",
"status": 200
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | [object] | false | none | none |
| »» msg | string | false | none | none |
| »» templateId | string(uuid) | false | none | none |
| »» status | integer | false | none | HTTP status code for individual request |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
eForm request creation
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/eformapi/request \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/eformapi/request HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/eformapi/request";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/eformapi/request',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/eformapi/request', headers = headers)
print(r.json())
const inputBody = '{
"requestList": [
{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62",
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requester": {
"name": "John Smith",
"email": "xxx@example.com"
},
"customerEmail": "xxx@example.com",
"customerName": "John",
"sendEmailNotifications": "true",
"expiryDate": "2028-09-11"
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/eformapi/request',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/eformapi/request', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/eformapi/request");
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"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/eformapi/request", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /eformapi/request
Place eForm request
Body parameter
{
"requestList": [
{
"templateId": "099D70CB-802B-4F6E-8DD0-F1DB5334CQ62",
"referenceId": "088D70CB-802B-4F6E-8DD0-F1DB5334CE62",
"requester": {
"name": "John Smith",
"email": "xxx@example.com"
},
"customerEmail": "xxx@example.com",
"customerName": "John",
"sendEmailNotifications": "true",
"expiryDate": "2028-09-11"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestList | body | [object] | false | none |
| »» templateId | body | string | false | Template Id where the autofill mapping is completed |
| »» referenceId | body | string | false | Reference id for file |
| »» requester | body | object | false | none |
| »»» name | body | string | false | The name of the requester |
| body | string | false | Email must be a valid email | |
| »» customerEmail | body | string | false | Email of the signer. |
| »» customerName | body | string | false | none |
| »» sendEmailNotifications | body | boolean | false | Email notification required or not |
| »» expiryDate | body | string(date) | false | none |
Example responses
200 Response
{
"msg": "Request success",
"data": [
{
"msg": "Request created successfully",
"data": {
"requestId": "64F0498F-5E6A-4903-8740-1CA95E76455B",
"referenceId": "12343",
"redirectUrl": "https://example.com/auth?sign_request_id=31585418-EA94-4375-8C87-5A0E847288EB&uniqueId=2186C9A9-7135-49B9-BDFB-18D8ED6C3263"
},
"status": 200,
"success": true
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | [object] | false | none | none |
| »» msg | string | false | none | none |
| »» data | object | false | none | none |
| »»» requestId | string(uuid) | false | none | none |
| »»» referenceId | string | false | none | none |
| »»» redirectUrl | object | false | none | none |
| »» status | integer | false | none | HTTP status code for individual request |
| »» success | boolean | false | none | Indicates if the individual request was successful |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
FraudCheck AI
Document Fraud Check
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/fraudcheckapi/request \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b' \
-H 'x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239'
POST https://{environment}.doxai.co/{basePath}/fraudcheckapi/request HTTP/1.1
Content-Type: multipart/form-data
Accept: application/json
x-access-key: cbd9e2af-9b10-482e-a93f-05d497d0454b
x-secret-key: 2e10a906-144f-5431-8c79-67fe33db0239
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/fraudcheckapi/request";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/fraudcheckapi/request',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json',
'x-access-key': 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key': '2e10a906-144f-5431-8c79-67fe33db0239'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/fraudcheckapi/request', headers = headers)
print(r.json())
const inputBody = '{
"file": "string",
"external_ref_id": "string"
}';
const headers = {
'Content-Type':'multipart/form-data',
'Accept':'application/json',
'x-access-key':'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key':'2e10a906-144f-5431-8c79-67fe33db0239'
};
fetch('https://{environment}.doxai.co/{basePath}/fraudcheckapi/request',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
'x-access-key' => 'cbd9e2af-9b10-482e-a93f-05d497d0454b',
'x-secret-key' => '2e10a906-144f-5431-8c79-67fe33db0239',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/fraudcheckapi/request', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/fraudcheckapi/request");
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{"multipart/form-data"},
"Accept": []string{"application/json"},
"x-access-key": []string{"cbd9e2af-9b10-482e-a93f-05d497d0454b"},
"x-secret-key": []string{"2e10a906-144f-5431-8c79-67fe33db0239"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/fraudcheckapi/request", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /fraudcheckapi/request
Upload a file to start fraud verification
Body parameter
file: string
external_ref_id: string
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » file | body | string(binary) | true | Upload the document (PDF, Image, HEIC) |
| » external_ref_id | body | string¦null | false | Optional external reference ID |
Example responses
200 Response
{
"request_id": "2d0cd36c-8a1c-4481-ada7-25639f967ec5",
"status": "'processing started'",
"external_ref_id": "INV-12345"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » request_id | string | false | none | none |
| » status | string | false | none | none |
| » external_ref_id | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » detail | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » detail | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Check fraud status by Request ID
Code samples
# You can also use wget
curl -X GET https://{environment}.doxai.co/{basePath}/fraudcheckapi/status?request_id=string \
-H 'Accept: application/json' \
-H 'x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab' \
-H 'x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f'
GET https://{environment}.doxai.co/{basePath}/fraudcheckapi/status?request_id=string HTTP/1.1
Accept: application/json
x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab
x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakeGetRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/fraudcheckapi/status";
var result = await GetAsync(url);
}
/// Performs a GET Request
public async Task GetAsync(string url)
{
//Start the request
HttpResponseMessage response = await Client.GetAsync(url);
//Validate result
response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f'
}
result = RestClient.get 'https://{environment}.doxai.co/{basePath}/fraudcheckapi/status',
params: {
'request_id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-access-key': '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key': '6d40374f-704c-593d-93df-b076ffe1427f'
}
r = requests.get('https://{environment}.doxai.co/{basePath}/fraudcheckapi/status', params={
'request_id': 'string'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'x-access-key':'5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key':'6d40374f-704c-593d-93df-b076ffe1427f'
};
fetch('https://{environment}.doxai.co/{basePath}/fraudcheckapi/status?request_id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://{environment}.doxai.co/{basePath}/fraudcheckapi/status', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/fraudcheckapi/status?request_id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-access-key": []string{"5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab"},
"x-secret-key": []string{"6d40374f-704c-593d-93df-b076ffe1427f"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{environment}.doxai.co/{basePath}/fraudcheckapi/status", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /fraudcheckapi/status
Query fraud check status using the Request ID returned from the upload endpoint
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | Example: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab |
| x-secret-key | header | string | true | Example: 6d40374f-704c-593d-93df-b076ffe1427f |
| request_id | query | string | true | Unique request ID returned from upload endpoint |
Example responses
200 Response
{
"status": "REQUEST_COMPLETED",
"request_id": "63bc68c4-cd18-4bfc-8ee0-104fb53207b4",
"result": {
"verdict": "Potentially Altered",
"static": {
"score": 820,
"checks": [
{
"property1": "string",
"property2": "string"
}
]
},
"dynamic": {
"score": 0,
"checks": [
{
"property1": "string",
"property2": "string"
}
]
},
"summary": {
"Type of file": "PDF",
"Document Category": "Business plan",
"country": "Unknown",
"filename": "spell_check.pdf",
"Document Format": "Image-based",
"Merged Document": false
}
},
"visualization_url": "https://example.com/visualization.pdf",
"original_file_url": "https://example.com/original.pdf",
"esign_url": "https://example.com/esign.pdf"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Operation | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 404 | Not Found | Error: Not Found | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » status | string | false | none | none |
| » request_id | string | false | none | none |
| » result | object | false | none | none |
| »» verdict | string | false | none | none |
| »» static | object | false | none | none |
| »»» score | integer | false | none | none |
| »»» checks | [object] | false | none | none |
| »»»» additionalProperties | string | false | none | none |
| »» dynamic | object | false | none | none |
| »»» score | integer | false | none | none |
| »»» checks | [object] | false | none | none |
| »»»» additionalProperties | string | false | none | none |
| »» summary | object | false | none | none |
| »»» Type of file | string | false | none | none |
| »»» Document Category | string | false | none | none |
| »»» country | string | false | none | none |
| »»» filename | string | false | none | none |
| »»» Document Format | string | false | none | none |
| »»» Merged Document | boolean | false | none | none |
| » visualization_url | string | false | none | none |
| » original_file_url | string | false | none | none |
| » esign_url | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » detail | string | false | none | none |
Status Code 404
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » detail | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Check fraud status by external reference ID
Code samples
# You can also use wget
curl -X GET https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status?reference_id=string \
-H 'Accept: application/json' \
-H 'x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab' \
-H 'x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f'
GET https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status?reference_id=string HTTP/1.1
Accept: application/json
x-access-key: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab
x-secret-key: 6d40374f-704c-593d-93df-b076ffe1427f
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakeGetRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status";
var result = await GetAsync(url);
}
/// Performs a GET Request
public async Task GetAsync(string url)
{
//Start the request
HttpResponseMessage response = await Client.GetAsync(url);
//Validate result
response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f'
}
result = RestClient.get 'https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status',
params: {
'reference_id' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'x-access-key': '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key': '6d40374f-704c-593d-93df-b076ffe1427f'
}
r = requests.get('https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status', params={
'reference_id': 'string'
}, headers = headers)
print(r.json())
const headers = {
'Accept':'application/json',
'x-access-key':'5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key':'6d40374f-704c-593d-93df-b076ffe1427f'
};
fetch('https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status?reference_id=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'x-access-key' => '5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab',
'x-secret-key' => '6d40374f-704c-593d-93df-b076ffe1427f',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status?reference_id=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"x-access-key": []string{"5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab"},
"x-secret-key": []string{"6d40374f-704c-593d-93df-b076ffe1427f"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://{environment}.doxai.co/{basePath}/fraudcheckapi/ref_status", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /fraudcheckapi/ref_status
Query fraud check status using the external reference ID provided during upload
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | Example: 5d46e3a8-b2a0-4593-81ad-71b20ad7c4ab |
| x-secret-key | header | string | true | Example: 6d40374f-704c-593d-93df-b076ffe1427f |
| reference_id | query | string | true | External reference ID provided during upload |
Example responses
200 Response
{
"status": "REQUEST_COMPLETED",
"reference_id": "INV-12345",
"result": {
"verdict": "Potentially Altered",
"static": {
"score": 820,
"checks": [
{
"property1": "string",
"property2": "string"
}
]
},
"dynamic": {
"score": 0,
"checks": [
{
"property1": "string",
"property2": "string"
}
]
},
"summary": {
"Type of file": "PDF",
"Document Category": "Business plan",
"country": "Unknown",
"filename": "spell_check.pdf",
"Document Format": "Image-based",
"Merged Document": false
}
},
"visualization_url": "https://example.com/visualization.pdf",
"original_file_url": "https://example.com/original.pdf",
"esign_url": "https://example.com/esign.pdf"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Operation | Inline |
| 401 | Unauthorized | Unauthorized | Inline |
| 404 | Not Found | Not Found | Inline |
| 500 | Internal Server Error | Internal Server Error | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » status | string | false | none | none |
| » reference_id | string | false | none | none |
| » result | object | false | none | none |
| »» verdict | string | false | none | none |
| »» static | object | false | none | none |
| »»» score | integer | false | none | none |
| »»» checks | [object] | false | none | none |
| »»»» additionalProperties | string | false | none | none |
| »» dynamic | object | false | none | none |
| »»» score | integer | false | none | none |
| »»» checks | [object] | false | none | none |
| »»»» additionalProperties | string | false | none | none |
| »» summary | object | false | none | none |
| »»» Type of file | string | false | none | none |
| »»» Document Category | string | false | none | none |
| »»» country | string | false | none | none |
| »»» filename | string | false | none | none |
| »»» Document Format | string | false | none | none |
| »»» Merged Document | boolean | false | none | none |
| » visualization_url | string | false | none | none |
| » original_file_url | string | false | none | none |
| » esign_url | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » detail | string | false | none | none |
Status Code 404
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » detail | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
IEV Employee Verification
Verify employee details
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/ievapi/iev \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/ievapi/iev HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/ievapi/iev";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/ievapi/iev',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/ievapi/iev', headers = headers)
print(r.json())
const inputBody = '{
"givenName": "John",
"familyName": "smith",
"email": "xxx@example.com",
"kycVerificationRequired": "true",
"generateReport": "true",
"requesterName": "David smith",
"requesterEmail": "xxx@example.com",
"abn": "123SDJHG65326",
"companyName": "Lakeba",
"reason": "For the employment verification",
"privacyPolicy": "https://example.com/privacy-policy",
"verificationType": "incomeCurrent,incomeHistory,employeeCurrent,employeeHistory,lodgement,super",
"sendEmailNotification": "true",
"url": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/ievapi/iev',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/ievapi/iev', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/ievapi/iev");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/ievapi/iev", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /ievapi/iev
Employee Verification
Body parameter
{
"givenName": "John",
"familyName": "smith",
"email": "xxx@example.com",
"kycVerificationRequired": "true",
"generateReport": "true",
"requesterName": "David smith",
"requesterEmail": "xxx@example.com",
"abn": "123SDJHG65326",
"companyName": "Lakeba",
"reason": "For the employment verification",
"privacyPolicy": "https://example.com/privacy-policy",
"verificationType": "incomeCurrent,incomeHistory,employeeCurrent,employeeHistory,lodgement,super",
"sendEmailNotification": "true",
"url": ""
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » givenName | body | string | false | First name of the employee |
| » familyName | body | string | false | Last name of the employee |
| body | string | false | Employee email | |
| » kycVerificationRequired | body | boolean | false | kyc verification required or not |
| » generateReport | body | boolean | false | To enable final report generation. Default value is false |
| » requesterName | body | string | false | Name of the Requestor |
| » requesterEmail | body | string | false | Requestor email |
| » abn | body | string | false | ABN of a company |
| » companyName | body | string | false | name of the company |
| » reason | body | string | false | reason for the verification |
| » privacyPolicy | body | string | false | Privacy policy of the company |
| » verificationType | body | string | false | There are six verification types - incomeCurrent, incomeHistory, employeeCurrent, employeeHistory, lodgement, super |
| » sendEmailNotification | body | boolean | false | Email notification required or not |
| » url | body | string | false | Url is used for custom hosted webapp.By Default the live url will be used. |
Example responses
200 Response
{
"msg": "IEV request created successfully",
"data": {
"requestId": "xxxx",
"redirectUrl": "https://iev.doxai.co/verify-request?token=S6tm.dfyLkUCn2C&idv=true&requestId=6f5b9ef7-d37f-43ae-a2a6-6d5cxxxxxae6"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» requestId | string | false | none | requestId for unique identification |
| »» redirectUrl | string | false | none | redirection url to employee portal |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Edit employee details request
Code samples
# You can also use wget
curl -X PATCH https://{environment}.doxai.co/{basePath}/ievapi/iev \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
PATCH https://{environment}.doxai.co/{basePath}/ievapi/iev HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.patch 'https://{environment}.doxai.co/{basePath}/ievapi/iev',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.patch('https://{environment}.doxai.co/{basePath}/ievapi/iev', headers = headers)
print(r.json())
const inputBody = '{
"givenName": "John",
"familyName": "smith",
"email": "xxx@example.com",
"kycVerificationRequired": "true",
"generateReport": "true",
"requesterName": "David smith",
"requesterEmail": "xxx@example.com",
"abn": "123SDJHG65326",
"companyName": "Lakeba",
"reason": "For the employment verification",
"privacyPolicy": "https://example.com/privacy-policy",
"verificationType": "incomeCurrent,incomeHistory,employeeCurrent,employeeHistory,lodgement,super",
"sendEmailNotification": "true",
"requestId": "6f5b9ef7-d37f-43ae-a2a6-6d5cfxxx8ae6",
"cancel": "true",
"url": ""
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/ievapi/iev',
{
method: 'PATCH',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PATCH','https://{environment}.doxai.co/{basePath}/ievapi/iev', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/ievapi/iev");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://{environment}.doxai.co/{basePath}/ievapi/iev", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /ievapi/iev
Employee Verification
Body parameter
{
"givenName": "John",
"familyName": "smith",
"email": "xxx@example.com",
"kycVerificationRequired": "true",
"generateReport": "true",
"requesterName": "David smith",
"requesterEmail": "xxx@example.com",
"abn": "123SDJHG65326",
"companyName": "Lakeba",
"reason": "For the employment verification",
"privacyPolicy": "https://example.com/privacy-policy",
"verificationType": "incomeCurrent,incomeHistory,employeeCurrent,employeeHistory,lodgement,super",
"sendEmailNotification": "true",
"requestId": "6f5b9ef7-d37f-43ae-a2a6-6d5cfxxx8ae6",
"cancel": "true",
"url": ""
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » givenName | body | string | false | First name of the employee |
| » familyName | body | string | false | Last name of the employee |
| body | string | false | Employee email | |
| » kycVerificationRequired | body | boolean | false | kyc verification required or not |
| » generateReport | body | boolean | false | To enable final report generation. Default value is false |
| » requesterName | body | string | false | Name of the Requestor |
| » requesterEmail | body | string | false | Requestor email |
| » abn | body | string | false | ABN of a company |
| » companyName | body | string | false | name of the company |
| » reason | body | string | false | reason for the verification |
| » privacyPolicy | body | string | false | Privacy policy of the company |
| » verificationType | body | boolean | false | There are six verification types - incomeCurrent, incomeHistory, employeeCurrent, employeeHistory, lodgement, super |
| » sendEmailNotification | body | boolean | false | Email notification required or not |
| » requestId | body | string | false | requestId for the iev request |
| » cancel | body | boolean | false | Whether to cancel the request or not |
| » url | body | string | false | Url is used for custom hosted webapp.By Default the live url will be used. |
Example responses
200 Response
{
"msg": "IEV request edited successfully",
"data": {
"requestId": "xxxx",
"redirectUrl": "https://iev.doxai.co/verify-request?token=S6tm.dfyLkUCn2C&idv=true&requestId=6f5b9ef7-d37f-43ae-a2a6-6d5cxxxxxae6"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
| » data | object | false | none | none |
| »» requestId | string | false | none | requestId for unique identification |
| »» redirectUrl | string | false | none | redirection url to employee portal |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Delete request
Code samples
# You can also use wget
curl -X DELETE https://{environment}.doxai.co/{basePath}/ievapi/iev \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
DELETE https://{environment}.doxai.co/{basePath}/ievapi/iev HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakeDeleteRequest()
{
int id = 1;
string url = "https://{environment}.doxai.co/{basePath}/ievapi/iev";
await DeleteAsync(id, url);
}
/// Performs a DELETE Request
public async Task DeleteAsync(int id, string url)
{
//Execute DELETE request
HttpResponseMessage response = await Client.DeleteAsync(url + $"/{id}");
//Return response
await DeserializeObject(response);
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.delete 'https://{environment}.doxai.co/{basePath}/ievapi/iev',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.delete('https://{environment}.doxai.co/{basePath}/ievapi/iev', headers = headers)
print(r.json())
const inputBody = '{
"requestId": "35a3114d-d952-4ad7-8f3d-ba6201db3e70"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/ievapi/iev',
{
method: 'DELETE',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','https://{environment}.doxai.co/{basePath}/ievapi/iev', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/ievapi/iev");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://{environment}.doxai.co/{basePath}/ievapi/iev", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /ievapi/iev
Employee Verification
Body parameter
{
"requestId": "35a3114d-d952-4ad7-8f3d-ba6201db3e70"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestId | body | string | false | Request ID |
Example responses
200 Response
{
"msg": "IEV request deleted successfully"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
iVerify
Create a new identity verification request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/idapi/i-verify/request \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/idapi/i-verify/request HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/idapi/i-verify/request";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/idapi/i-verify/request',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/idapi/i-verify/request', headers = headers)
print(r.json())
const inputBody = '{
"requestData": [
{
"firstName": "John",
"middleName": "Allen",
"lastName": "Smith",
"emailId": "abc@abc.com",
"phoneNumber": "8800000000",
"expiryDate": "2045-10-10",
"requestorName": "John Smith",
"requestorEmail": "xxx@example.com",
"emailNotifications": true,
"idVerification": [
{
"service": null,
"enabled": null
}
],
"biometricVerification": [
{
"service": null,
"enabled": null
}
],
"customTermsAndCondition": "https://example.com",
"customThankyouPage": "https://example.com/thankyou",
"includeImagesInReport": true,
"restrictUploadOption": true,
"enableSMSNotification": false,
"iframe": {
"enabled": true,
"domains": [
"https://example.com"
]
},
"clientName": "Demo Company"
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/idapi/i-verify/request',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/idapi/i-verify/request', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/idapi/i-verify/request");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/idapi/i-verify/request", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /idapi/i-verify/request
Submit a request for identity verification
Body parameter
{
"requestData": [
{
"firstName": "John",
"middleName": "Allen",
"lastName": "Smith",
"emailId": "abc@abc.com",
"phoneNumber": "8800000000",
"expiryDate": "2045-10-10",
"requestorName": "John Smith",
"requestorEmail": "xxx@example.com",
"emailNotifications": true,
"idVerification": [
{
"service": null,
"enabled": null
}
],
"biometricVerification": [
{
"service": null,
"enabled": null
}
],
"customTermsAndCondition": "https://example.com",
"customThankyouPage": "https://example.com/thankyou",
"includeImagesInReport": true,
"restrictUploadOption": true,
"enableSMSNotification": false,
"iframe": {
"enabled": true,
"domains": [
"https://example.com"
]
},
"clientName": "Demo Company"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestData | body | [iVerifyRequest] | false | none |
| »» firstName | body | string | false | First name of the individual |
| »» middleName | body | string | false | Middle name of the individual |
| »» lastName | body | string | false | Last name of the individual |
| »» emailId | body | string | false | Email address of the individual |
| »» phoneNumber | body | string | false | Phone number of the individual |
| »» expiryDate | body | string(date) | false | Expiry date for the verification request |
| »» requestorName | body | string | false | The name of the requestor. |
| »» requestorEmail | body | string | false | Requestor email must be a valid email. |
| »» emailNotifications | body | bool | false | To enable email notifications |
| »» idVerification | body | [anyOf] | false | Medicare can be used as ID proof when combined with a driver’s licence or a passport. However, a Medicare card alone is not accepted as valid ID. It must be paired with either a driver’s licence or a passport. |
| »»» anonymous | body | license | false | none |
| »»»» service | body | string | false | Validate Australian license |
| »»»» enabled | body | bool | false | To enable the service set value as true. |
| »»» anonymous | body | passport | false | none |
| »»»» service | body | string | false | Validate Australian Passport |
| »»»» enabled | body | bool | false | To enable the service set value as true. |
| »»» anonymous | body | medicare | false | none |
| »»»» service | body | string | false | Validate Australian Medicare |
| »»»» enabled | body | bool | false | To enable the service set value as true. |
| »» biometricVerification | body | [anyOf] | false | Array of biometric verification service |
| »»» service | body | string | false | The name of the field in smart pdf |
| »»» enabled | body | bool | false | To enable the service set value as true. |
| »» customTermsAndCondition | body | string | false | If url is provided the content in the url will be shown in iframe |
| »» customThankyouPage | body | string | false | If url is provided the content in the url will be shown in iframe |
| »» includeImagesInReport | body | bool | false | To enable images in report |
| »» restrictUploadOption | body | bool | false | To disable upload from device |
| »» enableSMSNotification | body | bool | false | To enable SMS notifications |
| »» iframe | body | object | false | none |
| »»» enabled | body | string | false | To enable the iframe validations |
| »»» domains | body | array | false | Domains allowed for the iframe |
| »» clientName | body | string | false | If clientName is provided the organization name will not be used for email and guest flows |
Example responses
200 Response
[
{
"msg": "Request successful",
"data": {
"hasError": false,
"msg": "Request Success",
"requestId": "dae00d9a-0d72-4cd4-92dd-54aad1c458ce",
"link": "https://id.doxai.co/auth?requestId=dae00d9a-0d72-4cd4-92dd-54aad1c458ce&uniqueId=13057c7a-dec7-4e1b-9a15-270ac57b363b&type=i-verify"
}
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | Error message indicating a bad request |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
iBiometric
Create a new biometric verification request
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e' \
-H 'x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
POST https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: eb2f724d-e7da-47f7-91a9-36fa3454796e
x-secret-key: 2a3f9689-cfb5-540c-b525-0ff6dd2facd9
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key': '2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request', headers = headers)
print(r.json())
const inputBody = '{
"requestData": [
{
"firstName": "John",
"middleName": "Allen",
"lastName": "Smith",
"emailId": "abc@abc.com",
"phoneNumber": "8800000000",
"expiryDate": "2045-10-10",
"requestorName": "John Smith",
"requestorEmail": "xxx@example.com",
"emailNotifications": true,
"customThankyouPage": "https://example.com/thankyou",
"includeImagesInReport": true,
"restrictUploadOption": true,
"enableSMSNotification": false,
"idVerification": [
{
"service": null,
"enabled": null
}
],
"biometricVerification": [
{
"service": null,
"enabled": null
}
],
"customTermsAndCondition": "https://example.com",
"iframe": {
"enabled": true,
"domains": [
"https://example.com"
]
},
"clientName": "Demo Company"
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key':'2a3f9689-cfb5-540c-b525-0ff6dd2facd9'
};
fetch('https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'eb2f724d-e7da-47f7-91a9-36fa3454796e',
'x-secret-key' => '2a3f9689-cfb5-540c-b525-0ff6dd2facd9',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request");
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"},
"x-access-key": []string{"eb2f724d-e7da-47f7-91a9-36fa3454796e"},
"x-secret-key": []string{"2a3f9689-cfb5-540c-b525-0ff6dd2facd9"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/idapi/i-biometric/request", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /idapi/i-biometric/request
Submit a request for biometric verification
Body parameter
{
"requestData": [
{
"firstName": "John",
"middleName": "Allen",
"lastName": "Smith",
"emailId": "abc@abc.com",
"phoneNumber": "8800000000",
"expiryDate": "2045-10-10",
"requestorName": "John Smith",
"requestorEmail": "xxx@example.com",
"emailNotifications": true,
"customThankyouPage": "https://example.com/thankyou",
"includeImagesInReport": true,
"restrictUploadOption": true,
"enableSMSNotification": false,
"idVerification": [
{
"service": null,
"enabled": null
}
],
"biometricVerification": [
{
"service": null,
"enabled": null
}
],
"customTermsAndCondition": "https://example.com",
"iframe": {
"enabled": true,
"domains": [
"https://example.com"
]
},
"clientName": "Demo Company"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » requestData | body | [iBiometricRequest] | false | none |
| »» firstName | body | string | false | First name of the individual |
| »» middleName | body | string | false | Middle name of the individual |
| »» lastName | body | string | false | Last name of the individual |
| »» emailId | body | string | false | Email address of the individual |
| »» phoneNumber | body | string | false | Phone number of the individual |
| »» expiryDate | body | string(date) | false | Expiry date for the verification request |
| »» requestorName | body | string | false | The name of the requestor. |
| »» requestorEmail | body | string | false | Requestor email must be a valid email. |
| »» emailNotifications | body | bool | false | To enable email notifications |
| »» customThankyouPage | body | string | false | If url is provided the content in the url will be shown in iframe |
| »» includeImagesInReport | body | bool | false | To enable images in report |
| »» restrictUploadOption | body | bool | false | To disable upload from device |
| »» enableSMSNotification | body | bool | false | To enable SMS notifications |
| »» idVerification | body | [anyOf] | false | none |
| »»» anonymous | body | license | false | none |
| »»»» service | body | string | false | Validate Australian license |
| »»»» enabled | body | bool | false | To enable the service set value as true. |
| »»» anonymous | body | passport | false | none |
| »»»» service | body | string | false | Validate Australian Passport |
| »»»» enabled | body | bool | false | To enable the service set value as true. |
| »» biometricVerification | body | [anyOf] | false | Array of biometric verification service |
| »»» service | body | string | false | The name of the field in smart pdf |
| »»» enabled | body | bool | false | To enable the service set value as true. |
| »» customTermsAndCondition | body | string | false | If url is provided the content in the url will be shown in iframe |
| »» iframe | body | object | false | none |
| »»» enabled | body | string | false | To enable the iframe validations |
| »»» domains | body | array | false | Domains allowed for the iframe |
| »» clientName | body | string | false | If clientName is provided the organization name will not be used for email and guest flows |
Example responses
200 Response
[
{
"msg": "Request successful",
"data": {
"hasError": false,
"msg": "Request Success",
"requestId": "dae00d9a-0d72-4cd4-92dd-54aad1c458ce",
"link": "https://id.doxai.co/auth?requestId=43D5CB23-A228-4BEF-A6BB-E19C42DF2BED&uniqueId=13057c7a-dec7-4e1b-9a15-270ac57b363b&type=i-biometric"
}
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful operation | Inline |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | Error message indicating a bad request |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
AML/CTF Screening
Aml Pep
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/aml/pep \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: ea050af8-66d4-44b7-a201-dc059fb131b1' \
-H 'x-secret-key: 66e12524-a28d-5b80-b471-881e632a8bde'
POST https://{environment}.doxai.co/{basePath}/aml/pep HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: ea050af8-66d4-44b7-a201-dc059fb131b1
x-secret-key: 66e12524-a28d-5b80-b471-881e632a8bde
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/aml/pep";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'ea050af8-66d4-44b7-a201-dc059fb131b1',
'x-secret-key' => '66e12524-a28d-5b80-b471-881e632a8bde'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/aml/pep',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': 'ea050af8-66d4-44b7-a201-dc059fb131b1',
'x-secret-key': '66e12524-a28d-5b80-b471-881e632a8bde'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/aml/pep', headers = headers)
print(r.json())
const inputBody = '{
"birthYear": "1989",
"fuzziness": "1",
"first_name": "John",
"middle_names": "Allen",
"last_name": "Smith"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'ea050af8-66d4-44b7-a201-dc059fb131b1',
'x-secret-key':'66e12524-a28d-5b80-b471-881e632a8bde'
};
fetch('https://{environment}.doxai.co/{basePath}/aml/pep',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => 'ea050af8-66d4-44b7-a201-dc059fb131b1',
'x-secret-key' => '66e12524-a28d-5b80-b471-881e632a8bde',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/aml/pep', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/aml/pep");
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"},
"x-access-key": []string{"ea050af8-66d4-44b7-a201-dc059fb131b1"},
"x-secret-key": []string{"66e12524-a28d-5b80-b471-881e632a8bde"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/aml/pep", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /aml/pep
Validate Customer compliance
Body parameter
{
"birthYear": "1989",
"fuzziness": "1",
"first_name": "John",
"middle_names": "Allen",
"last_name": "Smith"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » birthYear | body | string(date) | false | BirthYear must be in YYYY format |
| » fuzziness | body | string | false | From 0 - Exact Match to 1 - Any match, including spelling and phonetics, increment of 0.1 |
| » first_name | body | string | false | First Name of a person |
| » middle_names | body | string | false | Middle name of a person |
| » last_name | body | string | false | Last name of a person |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"code": "200",
"status": "success",
"content": {
"data": {
"ref": "1542342924-fewyv3Gc",
"searcher_id": "4901",
"assignee_id": "4901",
"filters": {},
"searcher": {},
"assignee": {},
"hits": [
{}
],
"tags": [
"string"
],
"match_status": "potential_match",
"risk_level": "unknown",
"search_term": "John Allen Smith",
"submitted_term": "John Allen Smith",
"client_ref": "APIKEY",
"total_hits": "4",
"updated_at": "2017-01-01 16:29:13",
"created_at": "2017-01-01 16:29:13",
"limit": "100",
"offset": "0"
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | validateAml |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Aml Plus
Code samples
# You can also use wget
curl -X POST https://{environment}.doxai.co/{basePath}/aml/plus \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'x-access-key: 6bda96d7-a033-444b-b55b-24bb1ede08ac' \
-H 'x-secret-key: 2b407347-24ae-5bae-8398-c756514dbec7'
POST https://{environment}.doxai.co/{basePath}/aml/plus HTTP/1.1
Content-Type: application/json
Accept: application/json
x-access-key: 6bda96d7-a033-444b-b55b-24bb1ede08ac
x-secret-key: 2b407347-24ae-5bae-8398-c756514dbec7
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
/// <<summary>>
/// Example of Http Client
/// <</summary>>
public class HttpExample
{
private HttpClient Client { get; set; }
/// <<summary>>
/// Setup http client
/// <</summary>>
public HttpExample()
{
Client = new HttpClient();
}
/// Make a dummy request
public async Task MakePostRequest()
{
string url = "https://{environment}.doxai.co/{basePath}/aml/plus";
await PostAsync(null, url);
}
/// Performs a POST Request
public async Task PostAsync(undefined content, string url)
{
//Serialize Object
StringContent jsonContent = SerializeObject(content);
//Execute POST request
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
}
/// Serialize an object to Json
private StringContent SerializeObject(undefined content)
{
//Serialize Object
string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
}
/// Deserialize object from request response
private async Task DeserializeObject(HttpResponseMessage response)
{
//Read body
string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object
var result = JsonConvert.DeserializeObject(responseBody);
}
}
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => '6bda96d7-a033-444b-b55b-24bb1ede08ac',
'x-secret-key' => '2b407347-24ae-5bae-8398-c756514dbec7'
}
result = RestClient.post 'https://{environment}.doxai.co/{basePath}/aml/plus',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-access-key': '6bda96d7-a033-444b-b55b-24bb1ede08ac',
'x-secret-key': '2b407347-24ae-5bae-8398-c756514dbec7'
}
r = requests.post('https://{environment}.doxai.co/{basePath}/aml/plus', headers = headers)
print(r.json())
const inputBody = '{
"birthYear": "1989",
"fuzziness": "1",
"first_name": "John",
"middle_names": "Allen",
"last_name": "Smith"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-access-key':'6bda96d7-a033-444b-b55b-24bb1ede08ac',
'x-secret-key':'2b407347-24ae-5bae-8398-c756514dbec7'
};
fetch('https://{environment}.doxai.co/{basePath}/aml/plus',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'x-access-key' => '6bda96d7-a033-444b-b55b-24bb1ede08ac',
'x-secret-key' => '2b407347-24ae-5bae-8398-c756514dbec7',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://{environment}.doxai.co/{basePath}/aml/plus', 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());
}
// ...
URL obj = new URL("https://{environment}.doxai.co/{basePath}/aml/plus");
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"},
"x-access-key": []string{"6bda96d7-a033-444b-b55b-24bb1ede08ac"},
"x-secret-key": []string{"2b407347-24ae-5bae-8398-c756514dbec7"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://{environment}.doxai.co/{basePath}/aml/plus", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /aml/plus
Validate Adverse Media and Watchlists
Body parameter
{
"birthYear": "1989",
"fuzziness": "1",
"first_name": "John",
"middle_names": "Allen",
"last_name": "Smith"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| x-access-key | header | string | true | none |
| x-secret-key | header | string | true | none |
| body | body | object | true | none |
| » birthYear | body | string(date) | false | BirthYear must be in YYYY format |
| » fuzziness | body | string | false | From 0 - Exact Match to 1 - Any match, including spelling and phonetics, increment of 0.1 |
| » first_name | body | string | false | First Name of a person |
| » middle_names | body | string | false | Middle name of a person |
| » last_name | body | string | false | Last name of a person |
Example responses
200 Response
{
"msg": "Request Success",
"data": {
"code": "200",
"status": "success",
"content": {
"data": {
"ref": "1542342924-fewyv3Gc",
"searcher_id": "4901",
"assignee_id": "4901",
"filters": {},
"searcher": {},
"assignee": {},
"hits": [
{}
],
"tags": [
"string"
],
"match_status": "potential_match",
"risk_level": "unknown",
"search_term": "John Allen Smith",
"submitted_term": "John Allen Smith",
"client_ref": "APIKEY",
"total_hits": "4",
"updated_at": "2017-01-01 16:29:13",
"created_at": "2017-01-01 16:29:13",
"limit": "100",
"offset": "0"
}
}
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successfull Operation | validateAmlPlus |
| 400 | Bad Request | Bad Request | Inline |
| 401 | Unauthorized | Bad Request | Inline |
| 500 | Internal Server Error | Failed Operation | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 401
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Status Code 500
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » msg | string | false | none | none |
Schemas
OCRInvoice
{
"msg": "Request Success",
"data": {
"companyName": "Power water",
"utilityType": "water",
"accountType": "Personal",
"billerCode": "7000",
"billerRef": "11111",
"state": "NSW",
"postCode": "0801",
"amount": "$30",
"amountSybol": "$"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » companyName | string | false | none | none |
| » utilityType | string | false | none | none |
| » accountType | string | false | none | none |
| » billerCode | string | false | none | none |
| » billerRef | string | false | none | none |
| » state | string | false | none | none |
| » postCode | string | false | none | none |
| » amount | string | false | none | none |
| » amountSybol | string | false | none | none |
OCRDrivingLicense
{
"msg": "Request Success",
"data": {
"name": "Benjamin",
"middleName": "Franklin",
"surname": "James",
"address": "Unit 1 LANGLEY NSW 2147",
"licenseNumber": "00000000",
"stateIssue": "NSW",
"dateOfBirth": "1988-09-26",
"expiryDate": "2028-09-11",
"newaddress": "Unit 1 LANGLEY NSW 2147"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » name | string | false | none | none |
| » middleName | string | false | none | none |
| » surname | string | false | none | none |
| » address | string | false | none | none |
| » licenseNumber | string | false | none | none |
| » stateIssue | string | false | none | none |
| » dateOfBirth | string(date) | false | none | none |
| » expiryDate | string(date) | false | none | none |
| » newaddress | string | false | none | none |
OCRPassport
{
"msg": "Request Success",
"data": {
"documentCode": "P",
"issuingState": "ITA",
"lastName": "Michael",
"firstName": "John",
"documentNumber": "DQS000000",
"documentNumberCheckDigit": "9",
"nationality": "ITA",
"birthDate": "981125",
"birthDateCheckDigit": "11",
"sex": "male",
"expirationDate": "270710",
"expirationDateCheckDigit": "7",
"personalNumber": "00000000",
"personalNumberCheckDigit": "0",
"compositeCheckDigit": "0"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » documentCode | string | false | none | none |
| » issuingState | string | false | none | none |
| » lastName | string | false | none | none |
| » firstName | string | false | none | none |
| » documentNumber | string | false | none | none |
| » documentNumberCheckDigit | string | false | none | none |
| » nationality | string | false | none | none |
| » birthDate | string | false | none | none |
| » birthDateCheckDigit | string | false | none | none |
| » sex | string | false | none | none |
| » expirationDate | string | false | none | none |
| » expirationDateCheckDigit | string | false | none | none |
| » personalNumber | string | false | none | none |
| » personalNumberCheckDigit | string | false | none | none |
| » compositeCheckDigit | string | false | none | none |
OCRMedicare
{
"msg": "Request Success",
"data": {
"name": "Benjamin",
"individualReferenceNumber": "2",
"cardNumber": "00000000",
"validity": "06/2028"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » name | string | false | none | none |
| » individualReferenceNumber | string | false | none | none |
| » cardNumber | string | false | none | none |
| » validity | string(date) | false | none | none |
faceMatch
{
"msg": "Request Success",
"data": {
"faceMatched": "true",
"similarity": 99.01,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"id": {
"type": "Driving License",
"confidence": 86.68
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » faceMatched | boolean | false | none | none |
| » similarity | number | false | none | none |
| » image1 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» isWearingEyeGlasses | boolean | false | none | none |
| »»» isWearingSunglasses | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » id | object | false | none | none |
| »» type | string | false | none | none |
| »» confidence | number | false | none | none |
liveMatchEyes
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": "false",
"imageLiveness": "false",
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » faceComparision | string | false | none | none |
| » faceMatched | boolean | false | none | none |
| » imageLiveness | boolean | false | none | none |
| » idType | string | false | none | none |
| » idConfidence | number | false | none | none |
| » image1 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» isWearingEyeGlasses | boolean | false | none | none |
| »»» isWearingSunglasses | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » image2 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» isWearingEyeGlasses | boolean | false | none | none |
| »»» isWearingSunglasses | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
liveMatchFiveStepEyes
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": false,
"imageLiveness": false,
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 86.68,
"age": {
"low": null,
"high": null
}
}
},
"Image3": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"eyesConfidence": 86.68,
"age": {
"low": null,
"high": null
}
}
},
"Image4": {
"result": "string",
"details": {
"isFaceCenter": false,
"isEyesOpen": false,
"eyesConfidence": 86.68,
"age": {
"low": null,
"high": null
}
}
},
"Image5": {
"result": "string",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"isEyesOpen": false,
"isWearingEyeGlasses": false,
"isWearingSunglasses": false,
"eyesConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » faceComparision | string | false | none | none |
| » faceMatched | boolean | false | none | none |
| » imageLiveness | boolean | false | none | none |
| » idType | string | false | none | none |
| » idConfidence | number | false | none | none |
| » image1 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» isWearingEyeGlasses | boolean | false | none | none |
| »»» isWearingSunglasses | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » image2 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» isWearingEyeGlasses | boolean | false | none | none |
| »»» isWearingSunglasses | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » Image3 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » Image4 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » Image5 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» isEyesOpen | boolean | false | none | none |
| »»» isWearingEyeGlasses | boolean | false | none | none |
| »»» isWearingSunglasses | boolean | false | none | none |
| »»» eyesConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
liveMatchSmile
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": "false",
"imageLiveness": "false",
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » faceComparision | string | false | none | none |
| » faceMatched | boolean | false | none | none |
| » imageLiveness | boolean | false | none | none |
| » idType | string | false | none | none |
| » idConfidence | number | false | none | none |
| » image1 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» smilingConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » image2 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» smilingConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
liveMatchFiveStepSmile
{
"msg": "Request Success",
"data": {
"faceComparision": "Failed",
"faceMatched": false,
"imageLiveness": false,
"idType": "Driving License",
"idConfidence": 97.12,
"image1": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image2": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image3": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
},
"image4": {
"result": "The face doesn't match",
"details": {
"isFaceCenter": true,
"isFaceLeft": true,
"isFaceRight": true,
"smilingConfidence": 95.71,
"similarity": 95.71,
"faceMatched": false,
"age": {
"low": null,
"high": null
}
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » faceComparision | string | false | none | none |
| » faceMatched | boolean | false | none | none |
| » imageLiveness | boolean | false | none | none |
| » idType | string | false | none | none |
| » idConfidence | number | false | none | none |
| » image1 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» smilingConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » image2 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» smilingConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » image3 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» smilingConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
| » image4 | object | false | none | none |
| »» result | string | false | none | none |
| »» details | object | false | none | none |
| »»» isFaceCenter | boolean | false | none | none |
| »»» isFaceLeft | boolean | false | none | none |
| »»» isFaceRight | boolean | false | none | none |
| »»» smilingConfidence | number | false | none | none |
| »»» similarity | number | false | none | none |
| »»» faceMatched | boolean | false | none | none |
| »»» age | object | false | none | none |
| »»»» low | number | false | none | none |
| »»»» high | number | false | none | none |
redact
{
"msg": "File Uploading has been initiated",
"data": {
"requestId": "fe25db69-7ef0-4054-92ef-2ea6e5b4b130"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » requestId | string | false | none | none |
detail
{
"message": "Request success",
"data": {
"redactionDetails": {
"url": "https://doxaistag.blob.core.windows.net/redact/fe25db69-7ef0-4054-92ef-2ea6e5b4b130.pdf",
"fileName": "vodafone.pdf",
"events": "completed",
"msg": "File processed successfully",
"originalFileUrl": "https://doxaistag.blob.core.windows.net/redact/fe25db69-7ef0-4054-92ef-2ea6e5b4b130.pdf",
"requestId": "76b4562e-dedf-407c-a454-39bd4512aac5"
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| message | string | false | none | none |
| data | object | false | none | none |
| » redactionDetails | object | false | none | none |
| »» url | string | false | none | none |
| »» fileName | string | false | none | none |
| »» events | string | false | none | none |
| »» msg | string | false | none | none |
| »» originalFileUrl | string | false | none | none |
| »» requestId | UUID | false | none | none |
centreLinkCardV1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "CentrelinkResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
centreLinkCardV2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "CentrelinkResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
citizenshipV1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "CitizenshipCertificateResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
citizenshipV2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "CitizenshipCertificateResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of Likely Genuine (Pass), Likely Not Genuine (Fail), Document Error (Document Error), Server Error (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
descentV1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "DescentResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
descentV2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "DescentResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of Likely Genuine (Pass), Likely Not Genuine (Fail), Document Error (Document Error), Server Error (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
immiCardV1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "ImmiCardResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
immiCardV2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "ImmiCardResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of Likely Genuine (Pass), Likely Not Genuine (Fail), Document Error (Document Error), Server Error (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
visaV1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "VisaResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
visaV2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "VisaResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of Likely Genuine (Pass), Likely Not Genuine (Fail), Document Error (Document Error), Server Error (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
validatePassportV1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "PassportResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
validatePassportV2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "000000",
"OriginatingAgencyCode": "000000",
"ActivityId": "000000",
"attributes": {
"i:type": "PassportResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of Likely Genuine (Pass), Likely Not Genuine (Fail), Document Error (Document Error), Server Error (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
validateMedicardV1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXX",
"attributes": {
"i:type": "MedicareResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
validateMedicardV2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXX",
"attributes": {
"i:type": "MedicareResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of Likely Genuine (Pass), Likely Not Genuine (Fail), Document Error (Document Error), Server Error (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
DVSv1
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "P",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "DriverLicenceResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of P (Pass), F (Fail), D (Document Error), S (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
DVSv2
{
"msg": "Request Success",
"data": {
"VerifyDocumentResult": {
"VerificationResultCode": "Likely Genuine",
"VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"OriginatingAgencyCode": "XXXX",
"ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"attributes": {
"i:type": "DriverLicenceResponse"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » VerifyDocumentResult | object | false | none | none |
| »» VerificationResultCode | string | false | none | A value of Likely Genuine (Pass), Likely Not Genuine (Fail), Document Error (Document Error), Server Error (Server Error) |
| »» VerificationRequestNumber | string | false | none | none |
| »» OriginatingAgencyCode | string | false | none | none |
| »» ActivityId | string | false | none | none |
| »» attributes | object | false | none | none |
| »»» i:type | string | false | none | none |
validateAml
{
"msg": "Request Success",
"data": {
"code": "200",
"status": "success",
"content": {
"data": {
"ref": "1542342924-fewyv3Gc",
"searcher_id": "4901",
"assignee_id": "4901",
"filters": {},
"searcher": {},
"assignee": {},
"hits": [
{}
],
"tags": [
"string"
],
"match_status": "potential_match",
"risk_level": "unknown",
"search_term": "John Allen Smith",
"submitted_term": "John Allen Smith",
"client_ref": "APIKEY",
"total_hits": "4",
"updated_at": "2017-01-01 16:29:13",
"created_at": "2017-01-01 16:29:13",
"limit": "100",
"offset": "0"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » code | string | false | none | none |
| » status | string | false | none | none |
| » content | object | false | none | none |
| »» data | object | false | none | none |
| »»» ref | string | false | none | none |
| »»» searcher_id | string | false | none | none |
| »»» assignee_id | string | false | none | none |
| »»» filters | object | false | none | none |
| »»» searcher | object | false | none | none |
| »»» assignee | object | false | none | none |
| »»» hits | [object] | false | none | none |
| »»» tags | [string] | false | none | none |
| »»» match_status | string | false | none | none |
| »»» risk_level | string | false | none | none |
| »»» search_term | string | false | none | none |
| »»» submitted_term | string | false | none | none |
| »»» client_ref | string | false | none | none |
| »»» total_hits | string | false | none | none |
| »»» updated_at | string(date-time) | false | none | none |
| »»» created_at | string(date-time) | false | none | none |
| »»» limit | string | false | none | none |
| »»» offset | string | false | none | none |
validateAmlPlus
{
"msg": "Request Success",
"data": {
"code": "200",
"status": "success",
"content": {
"data": {
"ref": "1542342924-fewyv3Gc",
"searcher_id": "4901",
"assignee_id": "4901",
"filters": {},
"searcher": {},
"assignee": {},
"hits": [
{}
],
"tags": [
"string"
],
"match_status": "potential_match",
"risk_level": "unknown",
"search_term": "John Allen Smith",
"submitted_term": "John Allen Smith",
"client_ref": "APIKEY",
"total_hits": "4",
"updated_at": "2017-01-01 16:29:13",
"created_at": "2017-01-01 16:29:13",
"limit": "100",
"offset": "0"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » code | string | false | none | none |
| » status | string | false | none | none |
| » content | object | false | none | none |
| »» data | object | false | none | none |
| »»» ref | string | false | none | none |
| »»» searcher_id | string | false | none | none |
| »»» assignee_id | string | false | none | none |
| »»» filters | object | false | none | none |
| »»» searcher | object | false | none | none |
| »»» assignee | object | false | none | none |
| »»» hits | [object] | false | none | none |
| »»» tags | [string] | false | none | none |
| »»» match_status | string | false | none | none |
| »»» risk_level | string | false | none | none |
| »»» search_term | string | false | none | none |
| »»» submitted_term | string | false | none | none |
| »»» client_ref | string | false | none | none |
| »»» total_hits | string | false | none | none |
| »»» updated_at | string(date-time) | false | none | none |
| »»» created_at | string(date-time) | false | none | none |
| »»» limit | string | false | none | none |
| »»» offset | string | false | none | none |
validateGlobalId
{
"msg": "Request Success",
"data": {
"completename": "Adalgisa Nery",
"formofaddress": "",
"qualificationpreceding": "",
"givenfullname": "Adalgisa",
"givennameinitials": "",
"qualification_int_first": "",
"surname_prefix_first": "",
"surname_first": "Nery",
"indicator": "",
"qualification_int_second": "",
"surname_prefix_second": "",
"qualification_suceeding": "",
"name_qualified": "",
"function": "",
"gender": "",
"nationality": "",
"nationalid": "32698687827",
"organization_name": "",
"dob": "08/08/1987",
"businessid": "",
"contact_type": "",
"countryCode": "US",
"passport": "",
"codes": {
"reliability": "10",
"adaptation": "0",
"detailCode": "WS-333865.2020.0.1.22.6.43.638",
"detail_list": "",
"options": "IdentityVerify;DisableDQChecks;messageVerbose",
"messages": [
{
"code": "XXXX",
"value": "0;0;0;3;3;0;0;0;0;3;0;3;3;0;0;0;0;4;3;0;0;0;0;3;3"
}
],
"detailList": ""
},
"contactType": "",
"nameQualified": "",
"organizationName": "",
"qualificationIntFirst": "",
"qualificationIntSecond": "",
"qualificationSuceeding": "",
"surnameFirst": "Nery",
"surnamePrefixFirst": "",
"surnamePrefixSecond": "",
"Status": "Full Match"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » completename | string | false | none | none |
| » formofaddress | string | false | none | none |
| » qualificationpreceding | string | false | none | none |
| » givenfullname | string | false | none | none |
| » givennameinitials | string | false | none | none |
| » qualification_int_first | string | false | none | none |
| » surname_prefix_first | string | false | none | none |
| » surname_first | string | false | none | none |
| » indicator | string | false | none | none |
| » qualification_int_second | string | false | none | none |
| » surname_prefix_second | string | false | none | none |
| » qualification_suceeding | string | false | none | none |
| » name_qualified | string | false | none | none |
| » function | string | false | none | none |
| » gender | string | false | none | none |
| » nationality | string | false | none | none |
| » nationalid | string | false | none | none |
| » organization_name | string | false | none | none |
| » dob | string | false | none | none |
| » businessid | string | false | none | none |
| » contact_type | string | false | none | none |
| » countryCode | string | false | none | none |
| » passport | string | false | none | none |
| » codes | object | false | none | none |
| »» reliability | string | false | none | none |
| »» adaptation | string | false | none | none |
| »» detailCode | string | false | none | none |
| »» detail_list | string | false | none | none |
| »» options | string | false | none | none |
| »» messages | [object] | false | none | none |
| »»» code | string | false | none | none |
| »»» value | string | false | none | none |
| »» detailList | string | false | none | none |
| » contactType | string | false | none | none |
| » nameQualified | string | false | none | none |
| » organizationName | string | false | none | none |
| » qualificationIntFirst | string | false | none | none |
| » qualificationIntSecond | string | false | none | none |
| » qualificationSuceeding | string | false | none | none |
| » surnameFirst | string | false | none | none |
| » surnamePrefixFirst | string | false | none | none |
| » surnamePrefixSecond | string | false | none | none |
| » Status | string | false | none | none |
validateChineseBank
{
"msg": "Request Success",
"data": {
"reportingReference": "XX-XXX-XXXXXXXXXXXXXXX",
"safeHarbour": false,
"bankCard": {
"status": 0,
"verified": true,
"safeHarbourScore": "M2",
"fullName": "FULLNAME",
"idCardNo": "123456XXXXXXXXXXXX",
"bankCardNo": "111111XXXXXXXXXXXX",
"dateOfBirth": "YYYY-MM-DD",
"fields": {
"fullName": "True",
"idCardNo": "True",
"bankCardNo": "True",
"dateOfBirth": "True"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » reportingReference | string | false | none | none |
| » safeHarbour | boolean | false | none | none |
| » bankCard | object | false | none | none |
| »» status | number | false | none | none |
| »» verified | boolean | false | none | none |
| »» safeHarbourScore | string | false | none | none |
| »» fullName | string | false | none | none |
| »» idCardNo | string | false | none | none |
| »» bankCardNo | string | false | none | none |
| »» dateOfBirth | string | false | none | none |
| »» fields | object | false | none | none |
| »»» fullName | string | false | none | none |
| »»» idCardNo | string | false | none | none |
| »»» bankCardNo | string | false | none | none |
| »»» dateOfBirth | string | false | none | none |
validateChineseNationalId
{
"msg": "Request Success",
"data": {
"reportingReference": "XX-XXX-XXXXXXXXXXXXXXX",
"safeHarbour": false,
"nationalId": {
"status": 0,
"verified": true,
"safeHarbourScore": "M2",
"fullName": "黄俊龙",
"gender": "Male",
"dateOfBirth": "YYYY-MM-DD",
"idCardNo": "422822XXXXXXXXXXXX",
"address": "",
"fields": {
"name": "True",
"dateOfBirth": "True",
"idCardNo": "True"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | none |
| data | object | false | none | none |
| » reportingReference | string | false | none | none |
| » safeHarbour | boolean | false | none | none |
| » nationalId | object | false | none | none |
| »» status | number | false | none | none |
| »» verified | boolean | false | none | none |
| »» safeHarbourScore | string | false | none | none |
| »» fullName | string | false | none | none |
| »» gender | string | false | none | none |
| »» dateOfBirth | string | false | none | none |
| »» idCardNo | string | false | none | none |
| »» address | string | false | none | none |
| »» fields | object | false | none | none |
| »»» name | string | false | none | none |
| »»» dateOfBirth | string | false | none | none |
| »»» idCardNo | string | false | none | none |
messages
{
"code": "XXXX",
"value": "0;0;0;3;3;0;0;0;0;3;0;3;3;0;0;0;0;4;3;0;0;0;0;3;3"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| code | string | false | none | none |
| value | string | false | none | none |
signaturePlaceHolder
{
"type": "signature",
"value": "xxx",
"coordinates": [
360.7142639160156,
732.0000152587891,
510.7142639160156,
772.0000152587891
],
"pageNumber": 1,
"isRequired": true,
"clusterId": "af594f62-3ff8-4332-b53a-916c59d21865",
"groupId": "cd70f69b-996e-41af-8256-db085062e692"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | string | false | none | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| value | string | false | none | Field values |
| coordinates | array | false | none | Field co-ordinates array. |
| pageNumber | number | false | none | The page number in which the field exists |
| isRequired | bool | false | none | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| clusterId | string | false | none | Used for radio button grouping |
| groupId | string | false | none | Unique id for field names |
fileConfig
{
"fileId": "619b59b5e25dee260c3c7a6a",
"fieldEdit": false,
"signForm": true,
"fullFormEdit": false,
"isReviewer": false,
"placeholders": [
{
"type": "signature",
"value": "xxx",
"coordinates": [
360.7142639160156,
732.0000152587891,
510.7142639160156,
772.0000152587891
],
"pageNumber": 1,
"isRequired": true,
"clusterId": "af594f62-3ff8-4332-b53a-916c59d21865",
"groupId": "cd70f69b-996e-41af-8256-db085062e692"
}
],
"granularAccess": []
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileId | string | false | none | none |
| fieldEdit | bool | false | none | Enables edit options in specified form fields in the smart pdf. If field edit is set to true then the field names should be mentioned in the granular access fields. |
| signForm | bool | false | none | If sign form is set to true, then the placeholders like name,email,signature,etc... can be used.At least canEdit or signFrom must be set to the signer. |
| fullFormEdit | bool | false | none | Enables full edit in the smart pdf. |
| isReviewer | bool | false | none | If is reviewer is set to true, then the sign form and fill form must be false and placeholders must be empty. |
| placeholders | [anyOf] | false | none | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | signaturePlaceHolder | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | dropDownPlaceHolder | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | textBoxPlaceHolder | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | datePlaceHolder | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| granularAccess | array | false | none | none |
fileConfigFill
{
"fileId": "619b59b5e25dee260c3c7a6a",
"fieldEdit": true,
"signForm": false,
"fullFormEdit": false,
"isReviewer": false,
"placeholders": [],
"granularAccess": [
{
"fields": "259R",
"isRequired": false,
"pageNumber": 1
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileId | string | false | none | none |
| fieldEdit | bool | false | none | Enables edit options in specified form fields in the smart pdf. If field edit is set to true then the field names should be mentioned in the granular access fields. |
| signForm | bool | false | none | If sign form is set to true, then the placeholders like name,email,signature,etc... can be used.At least canEdit or signFrom must be set to the signer. |
| fullFormEdit | bool | false | none | Enables full edit in the smart pdf. |
| isReviewer | bool | false | none | If is reviewer is set to true, then the sign form and fill form must be false and placeholders must be empty. |
| placeholders | array | false | none | none |
| granularAccess | [granularAccess] | false | none | none |
dropDownPlaceHolder
{
"type": "dropdown",
"value": "",
"coordinates": [
378.7142639160156,
535,
528.7142639160156,
575
],
"pageNumber": 1,
"defaultValue": "Dropdown",
"dropDownOptions": [
"option1",
"option2",
"option3",
"option4"
],
"isRequired": true,
"clusterId": "af594f62-3ff8-4332-b53a-916c59d21865",
"groupId": "cd70f69b-996e-41af-8256-db085062e692"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | string | false | none | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| value | string | false | none | Field values |
| coordinates | array | false | none | Field co-ordinates array. |
| pageNumber | number | false | none | The page number in which the field exists |
| defaultValue | string | false | none | dropDown default value |
| dropDownOptions | array | false | none | Drop down options |
| isRequired | bool | false | none | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| clusterId | string | false | none | Used for radio button grouping |
| groupId | string | false | none | Unique id for field names |
textBoxPlaceHolder
{
"type": "text",
"value": "xxx",
"coordinates": [
312.515625,
301,
462.515625,
341
],
"customLabel": "ABN",
"validation": [
{
"regex": "^[A-Za-z0-9]*$",
"errorMessage": "Only alphanumeric characters are allowed."
},
{
"regex": "^.{6,}$",
"errorMessage": "Input must be at least 6 characters long."
},
{
"regex": "^.{0,8}$",
"errorMessage": "Input must not exceed 8 characters."
}
],
"format": "Uppercase",
"pageNumber": 1,
"font": {
"type": "Poppins-Regular",
"color": "#000000"
},
"isRequired": true,
"clusterId": "af594f62-3ff8-4332-b53a-916c59d21865",
"groupId": "cd70f69b-996e-41af-8256-db085062e692"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | string | false | none | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| value | string | false | none | Field values |
| coordinates | array | false | none | Field co-ordinates array. |
| customLabel | string | false | none | Custom label for placeholder box |
| validation | [object] | false | none | List of regex validation rules with custom error messages |
| » regex | string | false | none | Regex pattern for the validation |
| » errorMessage | string | false | none | Custom error message for regex validation |
| format | string | false | none | Supported formats: Uppercase, Lowercase |
| pageNumber | number | false | none | The page number in which the field exists |
| font | object | false | none | Fonts alowed for placeholder type 'name','date','dateTime','email','initial','company','title','text' |
| » type | string | false | none | Allowed font types: 'Poppins-Medium', 'Poppins-Regular', 'Roboto-Medium', 'Lato-Bold', 'PlayfairDisplay-Medium', 'OpenSans-Condensed-Medium' |
| » color | string | false | none | Font color in hex code |
| isRequired | bool | false | none | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| clusterId | string | false | none | Used for radio button grouping |
| groupId | string | false | none | Unique id for field names |
datePlaceHolder
{
"type": "date",
"value": "",
"coordinates": [
312.515625,
301,
462.515625,
341
],
"format": "YYYY-MM-DD",
"pageNumber": 1,
"isRequired": true,
"clusterId": "af594f62-3ff8-4332-b53a-916c59d21865",
"groupId": "cd70f69b-996e-41af-8256-db085062e692"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | string | false | none | allowed filed type values: {signature:String}, {checkbox:String}, {dropdown:String}, {radio:String}, {title:String}, {text:String}, {stamp:String}, {company:String}, {name:String(required)}, {email:String(required)}, {date:String}, {initial:String} |
| value | string | false | none | Field values |
| coordinates | array | false | none | Field co-ordinates array. |
| format | string | false | none | Support formats for Date field: DD/MM/YYYY , MM/DD/YYYY , YYYY/MM/DD , DD-MM-YYYY , MM-DD-YYYY , YYYY-MM-DD |
| pageNumber | number | false | none | The page number in which the field exists |
| isRequired | bool | false | none | To identify whether the signer placeholder is optional or mandatory. By default it is true. |
| clusterId | string | false | none | Used for radio button grouping |
| groupId | string | false | none | Unique id for field names |
granularAccess
{
"fields": "259R",
"isRequired": false,
"pageNumber": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fields | string | false | none | The name of the field in smart pdf |
| isRequired | bool | false | none | To identify whether the field is optional or mandatory. |
| pageNumber | number | false | none | The page number in which the field exists. |
recipient1
{
"name": "xxxx",
"email": "xxx@example.com",
"signingOrder": 1,
"accessCode": 123,
"hasAccessCode": true,
"mfaEnabled": false,
"privateMessage": "test",
"isRequired": true,
"enforceDownload": false,
"associateSigner": null,
"witnesser": null,
"fileConfigs": [
{
"fileId": "619b59b5e25dee260c3c7a6a",
"fieldEdit": false,
"signForm": true,
"fullFormEdit": false,
"isReviewer": false,
"placeholders": [
null
],
"granularAccess": []
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | Name of the signer. |
| string | false | none | Email of the signer. | |
| signingOrder | number | false | none | Order of the signer. |
| accessCode | number | false | none | Access code for signer authentication. By default it is null. |
| hasAccessCode | bool | false | none | Enables access code for signer authentication. This is used as an additional security for sensitive documents. By default it is false. |
| mfaEnabled | bool | false | none | Enables Multi Factor authentication for signer |
| privateMessage | string | false | none | Private message to the signer sent along with the signing request in email. |
| isRequired | bool | false | none | To identify whether the signer is optional or mandatory. By default it is true. |
| enforceDownload | bool | false | none | To allow user to download the original file while signing. By default it is true. |
| associateSigner | string | false | none | Email of the associate signers. Associate signers must be one of the recipients in list.Associate signers is allowed only when signing order is enabled. |
| witnesser | string | false | none | Email of the witnesser signers. Witnesser signers must be one of the recipients in list.Witnesser signers is allowed only when signing order is enabled. |
| fileConfigs | [anyOf] | false | none | none |
recipient2
{
"name": "xxxx",
"email": "xxx@example.com",
"signingOrder": 1,
"accessCode": 123,
"hasAccessCode": true,
"mfaEnabled": false,
"privateMessage": "test",
"isRequired": true,
"enforceDownload": false,
"associateSigner": null,
"witnesser": null,
"fileConfigs": [
{
"fileId": "619b59b5e25dee260c3c7a6a",
"fieldEdit": true,
"signForm": false,
"fullFormEdit": false,
"isReviewer": false,
"placeholders": [],
"granularAccess": [
{
"fields": null,
"isRequired": null,
"pageNumber": null
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | Name of the signer. |
| string | false | none | Email of the signer. | |
| signingOrder | number | false | none | Order of the signer. |
| accessCode | number | false | none | Access code for signer authentication. By default it is null. |
| hasAccessCode | bool | false | none | Enables access code for signer authentication. This is used as an additional security for sensitive documents. By default it is false. |
| mfaEnabled | bool | false | none | Enables Multi Factor authentication for signer |
| privateMessage | string | false | none | Private message to the signer sent along with the signing request in email. |
| isRequired | bool | false | none | To identify whether the signer is optional or mandatory. By default it is true. |
| enforceDownload | bool | false | none | To allow user to download the original file while signing. By default it is true. |
| associateSigner | string | false | none | Email of the associate signers. Associate signers must be one of the recipients in list.Associate signers is allowed only when signing order is enabled. |
| witnesser | string | false | none | Email of the witnesser signers. Witnesser signers must be one of the recipients in list.Witnesser signers is allowed only when signing order is enabled. |
| fileConfigs | [anyOf] | false | none | none |
history
{
"message": "Request success",
"data": {
"callHistory": [
{
"idv": false,
"ievStatus": "completed",
"kycType": "license",
"kycStatus": "completed",
"kycVerificationStatus": "verified",
"reportStatus": false,
"reportUrl": "61ce89629fbbcd2bb0282b67",
"expiryDate": "2021-12-31T04:38:58.095Z",
"organizationId": "61ce89629fbbcd2bb0282b67",
"requestId": "76b4562e-dedf-407c-a454-39bd4512aac5",
"createdAt": "2021-12-31T04:38:58.095Z",
"updatedAt": "2021-12-31T04:38:58.095Z",
"recipientDetails": {
"email": "example@gmail.com",
"firstName": "John",
"surName": "Doe"
},
"ievRequestId": "61ce89629fbbcd2bb0282b67",
"requestorName": "David Smith",
"requestorEmail": "xxx@example.com",
"abn": "123SDJHG65326",
"companyName": "Lakeba",
"reason": "For the employment verification",
"privacyPolicy": "https://example.com/privacy-policy",
"verificationType": "incomeCurrent",
"policy": {
"file": "example_policy.pdf",
"createdAt": "2023-05-16T12:48:35.961+00:00",
"updatedAt": "2023-05-16T12:48:35.961+00:00"
}
}
]
},
"pagination": {
"offset": 1,
"limit": 10,
"total": 20
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| message | string | false | none | none |
| data | object | false | none | none |
| » callHistory | [object] | false | none | none |
| »» idv | boolean | false | none | none |
| »» ievStatus | string | false | none | none |
| »» kycType | string | false | none | none |
| »» kycStatus | string | false | none | none |
| »» kycVerificationStatus | string | false | none | none |
| »» reportStatus | boolean | false | none | none |
| »» reportUrl | string | false | none | none |
| »» expiryDate | string | false | none | none |
| »» organizationId | string | false | none | none |
| »» requestId | UUID | false | none | none |
| »» createdAt | string | false | none | none |
| »» updatedAt | string | false | none | none |
| »» recipientDetails | object | false | none | none |
| string | false | none | none | |
| »»» firstName | string | false | none | none |
| »»» surName | string | false | none | none |
| »» ievRequestId | string | false | none | none |
| »» requestorName | string | false | none | none |
| »» requestorEmail | false | none | none | |
| »» abn | string | false | none | none |
| »» companyName | string | false | none | none |
| »» reason | string | false | none | none |
| »» privacyPolicy | string | false | none | none |
| »» verificationType | boolean | false | none | none |
| »» policy | object | false | none | none |
| »»» file | string | false | none | none |
| »»» createdAt | Date | false | none | none |
| »»» updatedAt | Date | false | none | none |
| pagination | object | false | none | none |
| » offset | number | false | none | none |
| » limit | number | false | none | none |
| » total | number | false | none | none |
requestDetails
{
"message": "Request success",
"data": {
"requestDetails": {
"idv": false,
"jsonDataRequested": false,
"ievStatus": "completed",
"kycType": "license",
"kycStatus": "completed",
"kycVerificationStatus": "verified",
"reportStatus": false,
"reportUrl": "61ce89629fbbcd2bb0282b67",
"expiryDate": "2021-12-31T04:38:58.095Z",
"organizationId": "61ce89629fbbcd2bb0282b67",
"requestId": "76b4562e-dedf-407c-a454-39bd4512aac5",
"employeeData": [],
"createdAt": "2021-12-31T04:38:58.095Z",
"updatedAt": "2021-12-31T04:38:58.095Z",
"recipientDetails": {
"email": "example@gmail.com",
"firstName": "John",
"surName": "Doe"
},
"ievRequestId": "61ce89629fbbcd2bb0282b67",
"requestorName": "David Smith",
"requestorEmail": "xxx@example.com",
"abn": "123SDJHG65326",
"companyName": "Lakeba",
"reason": "For the employment verification",
"privacyPolicy": "https://example.com/privacy-policy",
"verificationType": "incomeCurrent",
"policy": {
"file": "example_policy.pdf",
"createdAt": "2023-05-16T12:48:35.961+00:00",
"updatedAt": "2023-05-16T12:48:35.961+00:00"
}
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| message | string | false | none | none |
| data | object | false | none | none |
| » requestDetails | object | false | none | none |
| »» idv | boolean | false | none | none |
| »» jsonDataRequested | boolean | false | none | none |
| »» ievStatus | string | false | none | none |
| »» kycType | string | false | none | none |
| »» kycStatus | string | false | none | none |
| »» kycVerificationStatus | string | false | none | none |
| »» reportStatus | boolean | false | none | none |
| »» reportUrl | string | false | none | none |
| »» expiryDate | string | false | none | none |
| »» organizationId | string | false | none | none |
| »» requestId | UUID | false | none | none |
| »» employeeData | array | false | none | none |
| »» createdAt | string | false | none | none |
| »» updatedAt | string | false | none | none |
| »» recipientDetails | object | false | none | none |
| string | false | none | none | |
| »»» firstName | string | false | none | none |
| »»» surName | string | false | none | none |
| »» ievRequestId | string | false | none | none |
| »» requestorName | string | false | none | none |
| »» requestorEmail | false | none | none | |
| »» abn | string | false | none | none |
| »» companyName | string | false | none | none |
| »» reason | string | false | none | none |
| »» privacyPolicy | string | false | none | none |
| »» verificationType | boolean | false | none | none |
| »» policy | object | false | none | none |
| »»» file | string | false | none | none |
| »»» createdAt | Date | false | none | none |
| »»» updatedAt | Date | false | none | none |
license
{
"service": "license",
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | Validate Australian license |
| enabled | bool | false | none | To enable the service set value as true. |
passport
{
"service": "passport",
"enabled": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | Validate Australian Passport |
| enabled | bool | false | none | To enable the service set value as true. |
medicare
{
"service": "medicare",
"enabled": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | Validate Australian Medicare |
| enabled | bool | false | none | To enable the service set value as true. |
faceMatchSchema
{
"service": "face-match",
"enabled": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | This service allows you to do a biometrical face analysis in comparison with an ID. |
| enabled | bool | false | none | To enable the service set value as true. |
liveMatchEyesSchema
{
"service": "live-match-eyes",
"enabled": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | This service allows you to do a biometrical face analysis in comparison with an ID and a liveness check based on eyes. |
| enabled | bool | false | none | To enable the service set value as true. |
liveMatchSmileSchema
{
"service": "live-match-smile",
"enabled": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | This service allows you to do a biometrical face analysis in comparison with an ID and a liveness check based on smile |
| enabled | bool | false | none | To enable the service set value as true. |
liveMatchFiveStepEyesSchema
{
"service": "live-match-five-step-eyes",
"enabled": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | This service allows you to do a biometrical face analysis in comparison with an ID and a high accuracy liveness check based on eyes |
| enabled | bool | false | none | To enable the service set value as true. |
liveMatchFiveStepSmileSchema
{
"service": "live-match-five-step-smile",
"enabled": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| service | string | false | none | The name of the field in smart pdf |
| enabled | bool | false | none | To enable the service set value as true. |
iVerifyRequest
{
"firstName": "John",
"middleName": "Allen",
"lastName": "Smith",
"emailId": "abc@abc.com",
"phoneNumber": "8800000000",
"expiryDate": "2045-10-10",
"requestorName": "John Smith",
"requestorEmail": "xxx@example.com",
"emailNotifications": true,
"idVerification": [
{
"service": "license",
"enabled": true
}
],
"biometricVerification": [
{
"service": "live-match-five-step-smile",
"enabled": false
}
],
"customTermsAndCondition": "https://example.com",
"customThankyouPage": "https://example.com/thankyou",
"includeImagesInReport": true,
"restrictUploadOption": true,
"enableSMSNotification": false,
"iframe": {
"enabled": true,
"domains": [
"https://example.com"
]
},
"clientName": "Demo Company"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firstName | string | false | none | First name of the individual |
| middleName | string | false | none | Middle name of the individual |
| lastName | string | false | none | Last name of the individual |
| emailId | string | false | none | Email address of the individual |
| phoneNumber | string | false | none | Phone number of the individual |
| expiryDate | string(date) | false | none | Expiry date for the verification request |
| requestorName | string | false | none | The name of the requestor. |
| requestorEmail | string | false | none | Requestor email must be a valid email. |
| emailNotifications | bool | false | none | To enable email notifications |
| idVerification | [anyOf] | false | none | Medicare can be used as ID proof when combined with a driver’s licence or a passport. However, a Medicare card alone is not accepted as valid ID. It must be paired with either a driver’s licence or a passport. |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | license | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | passport | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | medicare | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| biometricVerification | [anyOf] | false | none | Array of biometric verification service |
| customTermsAndCondition | string | false | none | If url is provided the content in the url will be shown in iframe |
| customThankyouPage | string | false | none | If url is provided the content in the url will be shown in iframe |
| includeImagesInReport | bool | false | none | To enable images in report |
| restrictUploadOption | bool | false | none | To disable upload from device |
| enableSMSNotification | bool | false | none | To enable SMS notifications |
| iframe | object | false | none | none |
| » enabled | string | false | none | To enable the iframe validations |
| » domains | array | false | none | Domains allowed for the iframe |
| clientName | string | false | none | If clientName is provided the organization name will not be used for email and guest flows |
iBiometricRequest
{
"firstName": "John",
"middleName": "Allen",
"lastName": "Smith",
"emailId": "abc@abc.com",
"phoneNumber": "8800000000",
"expiryDate": "2045-10-10",
"requestorName": "John Smith",
"requestorEmail": "xxx@example.com",
"emailNotifications": true,
"customThankyouPage": "https://example.com/thankyou",
"includeImagesInReport": true,
"restrictUploadOption": true,
"enableSMSNotification": false,
"idVerification": [
{
"service": "license",
"enabled": true
}
],
"biometricVerification": [
{
"service": "live-match-five-step-smile",
"enabled": false
}
],
"customTermsAndCondition": "https://example.com",
"iframe": {
"enabled": true,
"domains": [
"https://example.com"
]
},
"clientName": "Demo Company"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| firstName | string | false | none | First name of the individual |
| middleName | string | false | none | Middle name of the individual |
| lastName | string | false | none | Last name of the individual |
| emailId | string | false | none | Email address of the individual |
| phoneNumber | string | false | none | Phone number of the individual |
| expiryDate | string(date) | false | none | Expiry date for the verification request |
| requestorName | string | false | none | The name of the requestor. |
| requestorEmail | string | false | none | Requestor email must be a valid email. |
| emailNotifications | bool | false | none | To enable email notifications |
| customThankyouPage | string | false | none | If url is provided the content in the url will be shown in iframe |
| includeImagesInReport | bool | false | none | To enable images in report |
| restrictUploadOption | bool | false | none | To disable upload from device |
| enableSMSNotification | bool | false | none | To enable SMS notifications |
| idVerification | [anyOf] | false | none | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | license | false | none | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | passport | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| biometricVerification | [anyOf] | false | none | Array of biometric verification service |
| customTermsAndCondition | string | false | none | If url is provided the content in the url will be shown in iframe |
| iframe | object | false | none | none |
| » enabled | string | false | none | To enable the iframe validations |
| » domains | array | false | none | Domains allowed for the iframe |
| clientName | string | false | none | If clientName is provided the organization name will not be used for email and guest flows |
iVerifyOkayResponse
{
"msg": "Request successful",
"data": {
"hasError": false,
"msg": "Request Success",
"requestId": "dae00d9a-0d72-4cd4-92dd-54aad1c458ce",
"link": "https://id.doxai.co/auth?requestId=dae00d9a-0d72-4cd4-92dd-54aad1c458ce&uniqueId=13057c7a-dec7-4e1b-9a15-270ac57b363b&type=i-verify"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | Success message indicating the request creation |
| data | object | false | none | Response data |
| » hasError | boolean | false | none | Indicating the request creation is success or failure |
| » msg | string | false | none | Success or error message |
| » requestId | string | false | none | Request Id |
| » link | string | false | none | URL used for verification flow |
iVerifyOkayErrorResponse
{
"msg": "Request successful",
"data": {
"hasError": true,
"msg": "Maximum call limit exceeded",
"link": null
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | Success message indicating the request creation |
| data | object | false | none | Response data |
| » hasError | boolean | false | none | Indicating the request creation is success or failure |
| » msg | string | false | none | Success or error message |
| » link | string | false | none | URL used for verification flow |
iBiometricOkayResponse
{
"msg": "Request successful",
"data": {
"hasError": false,
"msg": "Request Success",
"requestId": "dae00d9a-0d72-4cd4-92dd-54aad1c458ce",
"link": "https://id.doxai.co/auth?requestId=43D5CB23-A228-4BEF-A6BB-E19C42DF2BED&uniqueId=13057c7a-dec7-4e1b-9a15-270ac57b363b&type=i-biometric"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | Success message indicating the request creation |
| data | object | false | none | Response data |
| » hasError | boolean | false | none | Indicating the request creation is success or failure |
| » msg | string | false | none | Success or error message |
| » requestId | string | false | none | Request Id |
| » link | string | false | none | URL used for verification flow |
iBiometricOkayErrorResponse
{
"msg": "Request successful",
"data": {
"hasError": true,
"msg": "Maximum call limit exceeded",
"link": null
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | false | none | Success message indicating the request creation |
| data | object | false | none | Response data |
| » hasError | boolean | false | none | Indicating the request creation is success or failure |
| » msg | string | false | none | Success or error message |
| » link | string | false | none | URL used for verification flow |