NAV
shell

Introduction

Welcome to the IDKIT API Documentation and guide. Here you will find everything you need to seamlessly integrate our next generation ID Verification API into your application. We offer you two simple methods.

  1. Creating an ID Verification transaction.
  2. Getting the ID Verification transaction results.

On your IDKit home screen is the developer section, you will find your endpoints URL and API keys along with further instructions and tools to help make your integration process fast and seamless.

image

Open API Spec & Postman Collection

You can download the OpenAPI/Swagger spec file here,
and the Postman Collection here.

The Transaction

In IDKit, the main resource is called a Transaction.
It represents a single Identity Verification.

It starts when you create it (either via the Web portal or the API), typically resulting in an SMS being sent to the end user.
It is then populated by the end user and our systems,
and last, can be accessed (here again, either via the Web portal or the API).

Anatomy of a Transaction

The data inside a transaction's record is a mix of the data populated by the user, the data extracted from their documents by our systems, the result of various validity checks also performed by our systems, and the result of external data providers (like government databases).
It also contains the images of the documents and the liveness video.

In the API, it is represented by a JSON object.

The assets (images and video) are represented as temporary links to downloadable files.
The links are valid for 10 minutes after fetching the transaction.
You can fetch the transaction again to generate a new set of links.

Lifecycle

A transaction can have one of several states throughout its lifecycle. It is represented under the status attribute. - It starts as PENDING, after creation but before the user taps the link - evolves through INPROGRESS while the user is using identifying themselves - and SUBMITTED once they are done. - It ends with COMPLETE once the system has finished running the checks. - It can also be EXPIRED if the user did not submit before the expiration time - or CANCELLED if the user (or operator) explicitly exited/canceled the transaction.

We consider a transaction as closed when it reaches one of the last three statuses (COMPLETE, EXPIRED, or CANCELLED).

Required Headers

On top of the authentication headers, every call to the API must include a user-agent header. Lack of a user-agent header will result in a 401 error being thrown.

Verifying a completed transaction

There are two methods to tell when a customer has completed their ID verification.

Method 1: Webhook Notification.

  "notifications": {
    "complete": [
      {
        "type": "https",
        "url": "https://example.com/auth",
        "auth_header_name": "Authorization",
        "auth_header_value": "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
      }
    ]
  }

In the Create a transaction API request, you can specify your own notification webhook URL. Once the transaction is considered as closed, we send a notification to your endpoint with the transaction_id so you can retrieve the results.

You need to pass the connection details via the notifications object when creating the transaction:

auth_header_name and auth_header_value will be used to define an authentication header sent with the notification. They are both optional.

Currently, the only supported event is complete and the only supported type is https.

Your webhook endpoint must return a 200 response upon successful delivery of the notification.

Method 2: Redirect and Poll.

In the Create a transaction API request, you can specify a redirect_success_url so that once a customer completes, we can redirect them to that URL.
Once the customer has accessed your given URL, you can then poll the Get Transaction endpoint until the overall status Complete.
Polling is required because we redirect the user before the results are ready, ensuring the best user experience -- it typically takes less than 30 seconds for a transaction to complete.

Interpreting the Results

The record for a completed transaction will contain a results object.

A transaction results object

  "results": {
    "overall": "FLAGGED",
    "liveness": "FLAGGED",
    "data": "FLAGGED",
    "documents": "PASSED",
    "facematch": "FLAGGED"
  }

Overall Results

If the overall result (under results.overall) is PASSED, the customer has passed all checks including document fraud analysis, face matching between their face and ID document, the liveness check and where applicable, the check from a third party data provider.
If the overall result is FLAGGED we suggest analysing the breakdown of the results more carefully.

Understanding the Breakdowns

The results object also contains a breakdown of the checks:

Authentication

IDKit uses OAuth 2.0 authentication to grant access to the API and your data. Your code will ask for a temporary access token from the OAuth endpoint, and then make the actual API calls using this access token.

The OAuth endpoint URL is unique per tenant and you can create multiple API keys.

You will find both of them in the developer section of your IDKit portal.

Create an api_key by selecting "Generate New Key". You can generate as many API Keys as you like.

Fetching an Access Token

With the url and the API key token, you can request an access token. Pass your API key via the Authorization header (type Basic)

Fetch an access_token

curl -I --request POST {oauth_endpoint_url} \
    --header 'Authorization: Basic {api_key}' \
    --header 'Content-Type: application/x-www-form-urlencoded'

Example Responses

{
  "access_token":"eyJr [SNIP] z_Q",
  "expires_in":3600,
  "token_type":"Bearer"
}

An access_token is valid for 60 minutes. Your code should handle its caching and renewal.

Attributes

Attribute Description
oauth_endpoint_url Required The Oauth endpoint URL from the IDKit developer module.
api_key Required The API key from the IDKit developer module.

Making an API call

Once you have an access token, you can perform API calls.

The API URL is unique per tenant. You will also find it in the developer section of your IDKit portal.

See beside for an example of a GET transaction request

Get a transaction record

curl --request GET '{api_url}/v1/transactions/{transaction_id}/{format}' \
--header 'authorization: Bearer eyJraW [SNIP] kvogCA' \
--header 'Content-Type: application/json'

Example Responses (see the endpoint's description for a complete response)

{
    "flow_type": "NORMAL",
    "transaction_id": "01ERNGD38KE9T54YHJM7K1WAMV",
    "created_at": "2020-12-03T23:53:38.324Z",
    "tenant_id": "ap-southeast-2:b8381b45-a795-4d15-b184-d655c5262cf2",
    "status": "COMPLETE",
    ...
}

Attributes

Attribute Description
api_url Required The API URL from the IDKit developer module.
access_token Required The Access Token you have fetched from the OAuth endpoint.

IDKit API Spec

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

DEFAULT

Base URLs:

Operations about Transactions

Create a transaction

POST /transactions

curl -X POST https://example.api.au.idkit.com/v1/transactions \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

Triggers an ID verification, either as an SMS we will send to your customers or as a link which you can pass on or redirect your customer to however you like.

Body parameter

{
  "name": "MyTest",
  "reference": "Demo",
  "flow_type": "NORMAL",
  "phone_region_code": "61",
  "phone_number": "00000000",
  "redirect_url_success": "https://google.com/?success",
  "redirect_url_exit": "https://google.com/?exit",
  "notifications": {
    "complete": [
      {
        "type": "https",
        "url": "https://example.com/auth",
        "auth_header_name": "Authorization",
        "auth_header_value": "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
      }
    ]
  }
}

Parameters

body body object

Create Transaction Parameters

» flow_type body string

» name body optional¦string

You can specify a "name" reference that may be seen in the SMS and is stored in the transaction record. (eg. Daniel).

» notifications body optional¦object

»» complete body [object]

»»» auth_header_name body string

Optional Name of an authorization header for us to use when contacting your webhook URL.

»»» auth_header_value body optional¦string

Optional Value of an authorization header for us to use when contacting your webhook URL.

»»» type body optional¦string

»»» url body optional¦string

Your webhook URL for where we should send the notification that the transaction has been completed.

» phone_number body optional¦string

The mobile number without region code (eg. 0400123456 or 400123456).

» phone_region_code body optional¦string

The region code for the mobile number (eg. +61)

» redirect_url_exit body optional¦string

A URL for the customer to be redirected to if exiting within the journey without completing.

» redirect_url_success body optional¦string

A URL for the customer to be redirected to once successfully completing the journey.

» reference body optional¦string

You can specify a reference that may be seen in the SMS and is stored in the transaction record. (eg. 0000001).

Example responses

200 Response

{
  "transaction_id": "01ERZZN650QZM9N7C20E4G8760",
  "url": "https://example.idkit.com/01ERZZN650QZM9N7C20E4G8760"
}

400 Response

{
  "message": "Bad Request."
}

Responses

Status Meaning Description Schema
200 OK OK CreateTransactionResponse
400 Bad Request The server could not understand the request due to invalid syntax. BadRequestResponse
401 Unauthorized Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. UnauthenticatedResponse
500 Internal Server Error The server has encountered a situation it doesn't know how to handle. InternalServerErrorResponse

Fetch a transaction

GET /transactions/{transaction_id}/{format}

curl -X GET https://example.api.au.idkit.com/v1/transactions/{transaction_id}/{format} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

Get the transaction payload data by trasanction_id. You can generate a PDF (Base64 data) by setting the format to "pdf".

Parameters

transaction_id path string

Transaction ID

format path string

Available values are: json, pdf

Example responses

Get Transaction response after completion

{
  "current_step": "SUBMITTED",
  "user_details": {
    "country_code": "AUS",
    "id_number": 123456789,
    "document_number": 123456789,
    "address": {
      "street_address": "FakeData",
      "country": "AUS",
      "post_code": 9999,
      "was_validated": true,
      "suburb": "FakeData",
      "full_address": "FakeData",
      "state": "FakeData",
      "street_address_2": "FakeData"
    },
    "date_of_expiry": "2030-12-31",
    "date_of_birth": "1980-01-01",
    "last_name": "FakeData",
    "middle_name": "FakeData",
    "first_name": "FakeData",
    "document_type": "Driver Licence",
    "licence_number": 123456789
  },
  "status": "COMPLETE",
  "created_by": "API",
  "transaction_id": "01FX6X3Y8M7FRNDE0G2WMRKPFQ",
  "closed_at": "2022-03-03T03:30:41.095Z",
  "spoof_result": "Low Risk",
  "name": "MyTest",
  "reference": "Demo",
  "documents": [
    {
      "created_at": "2022-03-03T03:29:18.595Z",
      "document_id": "2e20ccc18094d7f8760a6c76dc33fdb1",
      "extracted": {
        "country": "Australia",
        "id_number": 123456789,
        "address": "FakeData",
        "document_number": 3333333333,
        "city": "FakeData",
        "expiry_date": "31/12/2030",
        "birth_date": "01/01/1980",
        "last_name": "FakeData",
        "given_names": "FakeData",
        "middle_name": "FakeData",
        "country_code": "AUS",
        "full_name": "FakeData",
        "street": "FakeData",
        "post_code": 9999,
        "state": "FakeData",
        "class": "C",
        "first_name": "FakeData",
        "document_type": "Driver Licence"
      },
      "asf_breakdown": {
        "document_integrity": "PASSED",
        "image_composition": "FLAGGED",
        "photo_check": "PASSED",
        "detail_check": "PASSED"
      },
      "identity_document_type": "AUS_NSW_DRIVERLICENCE",
      "updated_at": "2022-03-03T03:29:18.595Z",
      "ocr": true,
      "face_photo": {
        "url": "https://fakedomain.url",
        "size": 7392,
        "content_type": "image/jpeg"
      },
      "front_document": {
        "url": "https://fakedomain.url",
        "size": 70064,
        "content_type": "image/jpeg"
      },
      "original_front_document": {
        "url": "https://fakedomain.url",
        "size": 100400,
        "content_type": "image/jpeg"
      },
      "signature_photo": {
        "url": "https://fakedomain.url",
        "size": 23056,
        "content_type": "image/jpeg"
      }
    }
  ],
  "likeness_overall": "Fail",
  "results": {
    "liveness": "PASSED",
    "overall": "FLAGGED",
    "data": "PASSED",
    "documents": "FLAGGED",
    "facematch": "FLAGGED"
  },
  "invitation_phone_region_code": 61,
  "data_provider": {
    "DATA_CONNECT": {
      "overall": "FAILED",
      "data": {
        "rapidID": "<check-id>",
        "VerifyDocumentResult": {
          "attributes": {
            "i:type": "DriverLicenceResponse"
          },
          "VerificationResultCode": "N",
          "OriginatingAgencyCode": "XXXX",
          "ActivityId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
          "VerificationRequestNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
        },
        "fieldDetails": {
          "BirthYear": "No Match",
          "BirthMonth": "No Match",
          "FamilyName": "No Match",
          "LicenceNumber": "No Match",
          "GivenName": "No Match",
          "BirthDay": "No Match",
          "StateOfIssue": "No Match",
          "ImmiCardNumber": "No Match",
          "MiddleName": "No Match",
          "ExpiryDay": "No Match",
          "RegistrationState": "No Match",
          "CardType": "No Match",
          "CountryOfIssue": "No Match",
          "BirthDate": "No Match"
        }
      },
      "message": "OK",
      "version": "1.0.0",
      "xml": false
    },
    "GREEN_ID": {
      "data": {
        "individualResults": {
          "background": [],
          "dvs": [
            {
              "components": {
                "dob": "PASS",
                "firstName": "PASS",
                "id": "PASS",
                "surName": "PASS"
              },
              "label": "DVS - NSW Driver Licence",
              "result": "PASS"
            }
          ],
          "watchlist": {
            "ERROR": [],
            "FOUND_ON_LIST": [],
            "NOT_FOUND_ON_LIST": [
              "Politically Exposed Persons Watchlist",
              "Department of Foreign Affairs and Trade Watchlist",
              "US, Dept of Treasury, Office of Foreign Assets Control - Specially Designated Nationals List",
              "US, Dept of Treasury, Office of Foreign Assets Control - Palestinian Legislative Council (PLC) List",
              "Consolidated list of persons subject to EU financial sanctions",
              "UK, HM Treasury - Consolidated List of Financial Sanctions Targets in the UK",
              "UK - Members of Parliament",
              "New Zealand - Members of Parliament",
              "Cyprus - Members of Parliament",
              "Russia - Deputies of the State Duma",
              "US, Immigration and Customs Enforcement - Most Wanted Fugitives List",
              "US, System for Award Management - Exclusions List",
              "INTERPOL - Wanted Persons List"
            ]
          }
        },
        "overall": "VERIFIED",
        "registrationDetails": [
          {
            "label": "Data Provider",
            "value": "Illion / GreenID"
          },
          {
            "label": "Time & Date",
            "value": "2020-07-16T13:29:23.485+1000"
          },
          {
            "label": "Reference",
            "value": "1EwoGOGzO"
          },
          {
            "label": "Rule ID",
            "value": "default"
          }
        ]
      },
      "encrypted_xml": "example/01ERZZN650QZM9N7C20E4G8760/encrypted-green-id-response.xml.enc",
      "message": "OK",
      "version": "1.0.0"
    },
    "ID_MATRIX": {
      "data": {
        "fraudAssessment": {
          "dataSource": [
            {
              "name": "Politically Exposed Person (PEP) Verification",
              "result": "PASS",
              "score": "100.0",
              "threshold": "50.0",
              "weight": "0.25"
            },
            {
              "name": "Velocity Verification",
              "result": "PASS",
              "score": "100.0",
              "threshold": "50.0",
              "weight": "0.25"
            },
            {
              "name": "FraudCheck Shared Fraud Database",
              "result": "PASS",
              "score": "100.0",
              "threshold": "50.0",
              "weight": "0.25"
            },
            {
              "name": "Sanctions Check",
              "result": "PASS",
              "score": "100.0",
              "threshold": "50.0",
              "weight": "0.25"
            }
          ],
          "overall": [
            {
              "name": "Overall Result",
              "value": "PASS"
            },
            {
              "name": "Overall Fraud Score",
              "value": "100/100"
            },
            {
              "name": "Overall Threshold",
              "value": "50.0"
            }
          ]
        },
        "overall": "ACCEPT",
        "searchResults": {
          "overall": "ACCEPT",
          "rulesResults": [
            {
              "name": "Overall Decision",
              "value": "ACCEPT"
            },
            {
              "name": "Overall Points",
              "value": "119.0"
            },
            {
              "name": "IDMatrix Minimum Requirements Verification",
              "value": "MATCH"
            },
            {
              "name": "IDMatrix Safe Harbour Verification",
              "value": "MATCH"
            }
          ],
          "searchResults": {
            "fraudassessment": [
              {
                "components": {
                  "address": "NO MATCH",
                  "dob": "NO MATCH",
                  "fraud": "NO MATCH",
                  "full_name": "NO MATCH",
                  "id": "NO MATCH",
                  "name": "NO MATCH"
                },
                "name": "Velocity (v1.0)",
                "points": "0",
                "results": 0,
                "searchName": "VEDA-EVVELOCITY-0026",
                "value": "NO MATCH"
              },
              {
                "components": {
                  "address": "NO MATCH",
                  "dob": "NO MATCH",
                  "fraud": "NO MATCH",
                  "full_name": "NO MATCH",
                  "id": "NO MATCH",
                  "name": "NO MATCH"
                },
                "name": "GlobalScreening - PEPs (Domestic) (v1.0)",
                "points": "0",
                "results": 0,
                "searchName": "ACC-PEPS-0048",
                "value": "NO MATCH"
              },
              {
                "components": {
                  "address": "NO MATCH",
                  "dob": "NO MATCH",
                  "fraud": "NO MATCH",
                  "full_name": "NO MATCH",
                  "id": "NO MATCH",
                  "name": "NO MATCH"
                },
                "name": "GlobalScreening - Sanctions (International) (v2.0)",
                "points": "0",
                "results": 0,
                "searchName": "ACC-COMPLINK-0021",
                "value": "NO MATCH"
              },
              {
                "components": {
                  "address": "NO MATCH",
                  "dob": "NO MATCH",
                  "fraud": "NO MATCH",
                  "full_name": "NO MATCH",
                  "id": "NO MATCH",
                  "name": "NO MATCH"
                },
                "name": "Fraud Lookup - Address (v1.0)",
                "points": "0",
                "results": "0",
                "searchName": "VEDA-SFDADDR-0023",
                "value": "NO MATCH"
              }
            ],
            "verification": [
              {
                "components": {
                  "address": "PASS",
                  "dob": "PASS",
                  "fraud": "PASS",
                  "full_name": "PASS",
                  "id": "PASS",
                  "name": "PASS"
                },
                "name": "Credit Bureau Consumer (v3.0)",
                "points": "59",
                "results": "98",
                "searchName": "VEDA-CBCONS-0050",
                "value": "PASS"
              },
              {
                "components": {
                  "address": "PASS",
                  "dob": "PASS",
                  "fraud": "PASS",
                  "full_name": "PASS",
                  "id": "PASS",
                  "name": "PASS"
                },
                "name": "Credit Bureau Consumer (v3.2)",
                "points": "0",
                "results": "100",
                "searchName": "VEDA-CBCONS-0066",
                "value": "PASS"
              },
              {
                "components": {
                  "address": "PASS",
                  "dob": "PASS",
                  "fraud": "PASS",
                  "full_name": "PASS",
                  "id": "PASS",
                  "name": "PASS"
                },
                "name": "Australian Electoral Roll (v3.0)",
                "points": "60",
                "results": "100",
                "searchName": "AEC-ER-0049",
                "value": "PASS"
              }
            ]
          },
          "verificationOutcome": {
            "indicator": "ACCEPT",
            "totalPoints": "119"
          }
        },
        "summary": [
          {
            "name": "Reference",
            "value": "200822-98BE2-ADFA9"
          },
          {
            "name": "Profile Name",
            "value": "KYC-TEST_PROFILE_GEE-Service1"
          },
          {
            "name": "Profile Version",
            "value": "1"
          }
        ]
      },
      "encrypted_xml": "example/01ERZZN650QZM9N7C20E4G8760/encrypted-id-matrix-response.xml.enc",
      "message": "OK",
      "version": "1.0.0"
    }
  },
  "device_info": {
    "browser": "Chrome 98.0.4758.101",
    "country": "Japan",
    "geolocation": "41.7531013,123.353001",
    "ip": "91.207.174.99",
    "ip_location": "35.6164,139.7425",
    "isp": "M247 Ltd",
    "os": "Android 12",
    "vpn": true
  },
  "created_at": "2022-03-03T03:28:00.788Z",
  "flow_type": "NORMAL2",
  "liveness_attempts": [
    {
      "result": false,
      "session_id": "FakeData",
      "actions": "SMILE LEFT",
      "video": {
        "url": "https://fakedomain.url",
        "size": 150688,
        "content_type": "video/webm"
      }
    }
  ],
  "activated_at": "2022-03-03T03:28:33.163Z",
  "computed_statistics": {
    "steps": [
      {
        "name": "PRIVACY",
        "start_time": "2022-03-03T03:28:34.607Z",
        "total_duration_seconds": 55
      },
      {
        "name": "ID_INFORMATION",
        "start_time": "2022-03-03T03:29:30.127Z",
        "total_duration_seconds": 22
      },
      {
        "name": "FACE_MATCH_CAPTURE",
        "start_time": "2022-03-03T03:29:52.654Z",
        "total_duration_seconds": 28
      },
      {
        "name": "SUBMITTED",
        "start_time": "2022-03-03T03:30:21.226Z",
        "total_duration_seconds": 0
      }
    ],
    "total_duration_seconds": 105,
    "total_duration_excl_privacy_seconds": 50
  },
  "invitation_phone_number": 0,
  "likeness_features": {
    "right_eye": "Fail",
    "nose": "Fail",
    "philtrum": "Pass",
    "jaw": "Fail",
    "middle_forehead": "Fail",
    "mouth": "Fail",
    "left_eye": "Fail",
    "forehead": "Fail",
    "left_cheek": "Fail",
    "right_brow": "Fail",
    "left_brow": "Fail",
    "right_cheek": "Fail"
  },
  "facematch_best_frame": {
    "url": "https://fakedomain.url",
    "size": 24432
  },
  "pdf_report_number": "01FX6X3Y8M7FRNDE0G2WMRKPFQ"
}

Get transaction response after redacted all data types (records, assets, face, data)

{
  "current_step": "SUBMITTED",
  "user_details": {
    "address": null,
    "country_code": null,
    "date_of_birth": null,
    "date_of_expiry": null,
    "document_type": null,
    "edited_fields": null,
    "first_name": null,
    "last_name": null,
    "middle_name": null
  },
  "status": "COMPLETE",
  "created_by": "API",
  "transaction_id": "01FXGZEDEZK44H0SHA90DHTHPW",
  "closed_at": "2022-03-07T01:23:43.046Z",
  "spoof_result": "Low Risk",
  "record_redacted_at": "2022-03-07T01:24:57.007Z",
  "name": null,
  "data_redacted_at": "2022-03-07T01:24:57.007Z",
  "reference": "Demo",
  "documents": [
    {
      "asf_breakdown": {
        "document_integrity": "PASSED",
        "image_composition": "PASSED",
        "photo_check": "PASSED",
        "detail_check": "PASSED"
      },
      "created_at": "2022-03-07T01:22:26.637Z",
      "document_id": "f398e839d348c7088cbea284d3c7caa7",
      "extracted": null,
      "identity_document_type": "AUS_NSW_DRIVERLICENCE",
      "ocr": true,
      "submitted_data": null,
      "updated_at": "2022-03-07T01:22:26.637Z",
      "face_photo": {
        "url": null,
        "size": 0,
        "content_type": null
      },
      "front_document": {
        "url": null,
        "size": 0,
        "content_type": null
      },
      "original_front_document": {
        "url": null,
        "size": 0,
        "content_type": null
      },
      "signature_photo": {
        "url": null,
        "size": 0,
        "content_type": null
      }
    }
  ],
  "face_redacted_at": "2022-03-07T01:24:57.007Z",
  "likeness_overall": "Fail",
  "results": {
    "liveness": "PASSED",
    "overall": "FLAGGED",
    "data": "PASSED",
    "documents": "PASSED",
    "facematch": "FLAGGED"
  },
  "invitation_phone_region_code": null,
  "data_provider": {
    "DATA_CONNECT": null
  },
  "device_info": {
    "browser": "Mobile Safari 10.0",
    "country": "United States",
    "geolocation": "41.7531341,123.3531192",
    "ip": "66.115.157.242",
    "ip_location": "37.3881,-121.8756",
    "isp": "Total Server Solutions L.L.C.",
    "os": "iOS 10.3.1",
    "vpn": true
  },
  "assets_redacted_at": "2022-03-07T01:24:57.007Z",
  "created_at": "2022-03-07T01:21:05.503Z",
  "flow_type": "NORMAL2",
  "liveness_attempts": [
    {
      "actions": "SMILE LEFT",
      "result": true,
      "session_id": "5c0d45b8-406c-f210-8248-905e45-f18ccf71486d57a8",
      "video": {
        "url": null,
        "size": 0,
        "content_type": null
      }
    }
  ],
  "activated_at": "2022-03-07T01:21:46.447Z",
  "computed_statistics": {
    "steps": [
      {
        "name": "PRIVACY",
        "start_time": "2022-03-07T01:21:49.295Z",
        "total_duration_seconds": 45
      },
      {
        "name": "ID_INFORMATION",
        "start_time": "2022-03-07T01:22:35.206Z",
        "total_duration_seconds": 24
      },
      {
        "name": "FACE_MATCH_CAPTURE",
        "start_time": "2022-03-07T01:22:59.848Z",
        "total_duration_seconds": 21
      },
      {
        "name": "SUBMITTED",
        "start_time": "2022-03-07T01:23:21.483Z",
        "total_duration_seconds": 0
      }
    ],
    "total_duration_seconds": 90,
    "total_duration_excl_privacy_seconds": 45
  },
  "invitation_phone_number": null,
  "likeness_features": {
    "right_eye": "Fail",
    "nose": "Fail",
    "philtrum": "Pass",
    "jaw": "Fail",
    "middle_forehead": "Fail",
    "mouth": "Fail",
    "left_eye": "Fail",
    "forehead": "Fail",
    "left_cheek": "Fail",
    "right_brow": "Fail",
    "left_brow": "Fail",
    "right_cheek": "Fail"
  },
  "facematch_best_frame": {
    "url": null,
    "size": 0,
    "content_type": null
  },
  "pdf_report_number": "01FXGZEDEZK44H0SHA90DHTHPW"
}

OK

{
  "transaction_id": "01ERZZN650QZM9N7C20E4G8760",
  "status": "COMPLETE",
  "created_at": "2020-12-08T02:01:42.824Z",
  "flow_type": "NORMAL",
  "pdf_binary_base64": "AMgAuADYpCi9Qcm9kdWNlciAo/v8AUQB0ACAAN..."
}

400 Response

{
  "message": "Bad Request."
}

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request The server could not understand the request due to invalid syntax. BadRequestResponse
401 Unauthorized Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. UnauthenticatedResponse
404 Not Found Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. UnauthenticatedResponse
500 Internal Server Error The server has encountered a situation it doesn't know how to handle. InternalServerErrorResponse

Response Schema

Redact a transaction

POST /transactions/redact

curl -X POST https://example.api.au.idkit.com/v1/transactions/redact \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

Redact the specified information of a certain transaction. Redacted transaction will contain timestamps “records_redacted_at”, “assets_redacted_at”, “face_redacted_at”, “data_redacted_at” depending on data redacted in Get Transaction response of the redacted transaction.

Body parameter

{
  "transaction_id": "01ERZZN650QZM9N7C20E4G8760",
  "data_to_redact": [
    "records",
    "assets",
    "face",
    "data"
  ]
}

Parameters

body body object

Redact Transaction Parameters

» transaction_id body string

Transaction ID

» data_to_redact body [string]

Data to redact. Can be an array of 'records', 'assets', 'face', 'data'

Example responses

OK

{
  "status": "success",
  "transaction_id": "01ERZZN650QZM9N7C20E4G8760",
  "redacted_at": "2022-02-03T05:35:09.843Z",
  "redacted_data": [
    "records",
    "assets",
    "face",
    "data"
  ]
}

400 Response

{
  "message": "Bad Request."
}

Responses

Status Meaning Description Schema
200 OK OK RedactTransactionResponseJson
400 Bad Request The server could not understand the request due to invalid syntax. BadRequestResponse
401 Unauthorized Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. UnauthenticatedResponse
404 Not Found Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. UnauthenticatedResponse
409 Conflict Transaction itself is still in progress and not available for redaction yet. ConflictResponse
500 Internal Server Error The server has encountered a situation it doesn't know how to handle. InternalServerErrorResponse

Redact multiple transactions

POST /transactions/batch_redact

curl -X POST https://example.api.au.idkit.com/v1/transactions/batch_redact \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

Redact transactions by certain condition. Redacted transactions will contain timestamps “records_redacted_at”, “assets_redacted_at”, “face_redacted_at”, “data_redacted_at” depending on data redacted in Get Transaction response of the redacted transaction.

Body parameter

{
  "transaction_ids": [
    "01ERZZN650QZM9N7C20E4G8760",
    "01ERZZN650QZM9N7C20E4G8761"
  ],
  "data_to_redact": [
    "records",
    "assets",
    "face",
    "data"
  ],
  "closed_before": "2022-02-03T05:35:09.843Z"
}

Parameters

body body object

Redact Transaction Parameters

» data_to_redact body [string]

Data to redact. Can be an array of 'records', 'assets', 'face', 'data'

» transaction_ids body [string]

Transaction ID array. One of transaction_ids or closed_before must be provided. If both are provided, closed_before will be used.

» closed_before body string

Those transactions that are closed before this timestamp(UTC) will be redacted. One of transaction_ids or closed_before must be provided.

Example responses

Accepted

{
  "status": "success",
  "transaction_ids": [
    "01ERZZN650QZM9N7C20E4G8760",
    "01ERZZN650QZM9N7C20E4G8761"
  ],
  "redacted_at": "2022-02-03T05:35:09.843Z",
  "redacted_data": [
    "records",
    "assets",
    "face",
    "data"
  ]
}

400 Response

{
  "message": "Bad Request."
}

Responses

Status Meaning Description Schema
202 Accepted Accepted BatchTransactionRedactionResponseJson
400 Bad Request The server could not understand the request due to invalid syntax. BadRequestResponse
401 Unauthorized Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. UnauthenticatedResponse
404 Not Found Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. UnauthenticatedResponse
500 Internal Server Error The server has encountered a situation it doesn't know how to handle. InternalServerErrorResponse

DataProviderData

{
  "DATA_CONNECT": {
    "data": {
      "fieldDetails": {
        "BirthDate": "string",
        "BirthDay": "string",
        "BirthMonth": "string",
        "BirthYear": "string",
        "CardType": "string",
        "CountryOfIssue": "string",
        "ExpiryDay": "string",
        "FamilyName": "string",
        "GivenName": "string",
        "ImmiCardNumber": "string",
        "LicenceNumber": "string",
        "MiddleName": "string",
        "RegistrationState": "string",
        "StateOfIssue": "string"
      },
      "rapidID": "string",
      "VerifyDocumentResult": {
        "ActivityId": "string",
        "attributes": {
          "i_type": "string"
        },
        "OriginatingAgencyCode": "string",
        "VerificationRequestNumber": "string",
        "VerificationResultCode": "string"
      }
    },
    "message": "string",
    "overall": "string",
    "version": "string",
    "xml": true
  },
  "GREEN_ID": {
    "data": {
      "fieldDetails": {
        "BirthDate": "string",
        "BirthDay": "string",
        "BirthMonth": "string",
        "BirthYear": "string",
        "CardType": "string",
        "CountryOfIssue": "string",
        "ExpiryDay": "string",
        "FamilyName": "string",
        "GivenName": "string",
        "ImmiCardNumber": "string",
        "LicenceNumber": "string",
        "MiddleName": "string",
        "RegistrationState": "string",
        "StateOfIssue": "string"
      },
      "rapidID": "string",
      "VerifyDocumentResult": {
        "ActivityId": "string",
        "attributes": {
          "i_type": "string"
        },
        "OriginatingAgencyCode": "string",
        "VerificationRequestNumber": "string",
        "VerificationResultCode": "string"
      }
    },
    "message": "string",
    "overall": "string",
    "version": "string",
    "xml": true
  },
  "ID_MATRIX": {
    "data": {
      "fieldDetails": {
        "BirthDate": "string",
        "BirthDay": "string",
        "BirthMonth": "string",
        "BirthYear": "string",
        "CardType": "string",
        "CountryOfIssue": "string",
        "ExpiryDay": "string",
        "FamilyName": "string",
        "GivenName": "string",
        "ImmiCardNumber": "string",
        "LicenceNumber": "string",
        "MiddleName": "string",
        "RegistrationState": "string",
        "StateOfIssue": "string"
      },
      "rapidID": "string",
      "VerifyDocumentResult": {
        "ActivityId": "string",
        "attributes": {
          "i_type": "string"
        },
        "OriginatingAgencyCode": "string",
        "VerificationRequestNumber": "string",
        "VerificationResultCode": "string"
      }
    },
    "message": "string",
    "overall": "string",
    "version": "string",
    "xml": true
  }
}

Model for DataProvider

Properties

DATA_CONNECT DataProvider

Model for DataConnect

GREEN_ID DataProvider

Model for DataConnect

ID_MATRIX DataProvider

Model for DataConnect

SearchResults

{
  "fraudassessment": [
    {
      "address": "string",
      "dob": "string",
      "firstName": "string",
      "fraud": "string",
      "full_name": "string",
      "id": "string",
      "name": "string",
      "surName": "string"
    }
  ],
  "verification": [
    {
      "components": {
        "address": "string",
        "dob": "string",
        "firstName": "string",
        "fraud": "string",
        "full_name": "string",
        "id": "string",
        "name": "string",
        "surName": "string"
      },
      "name": "string",
      "points": "string",
      "results": "string",
      "searchName": "string",
      "value": "string"
    }
  ]
}

Model for SearchResults

Properties

fraudassessment [Components]

[Model for Components]

verification [Verification]

[Model for Verification]

IdMatrixResults

{
  "overall": "string",
  "rulesResults": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "searchResults": {
    "fraudassessment": [
      {
        "address": "string",
        "dob": "string",
        "firstName": "string",
        "fraud": "string",
        "full_name": "string",
        "id": "string",
        "name": "string",
        "surName": "string"
      }
    ],
    "verification": [
      {
        "components": {
          "address": "string",
          "dob": "string",
          "firstName": "string",
          "fraud": "string",
          "full_name": "string",
          "id": "string",
          "name": "string",
          "surName": "string"
        },
        "name": "string",
        "points": "string",
        "results": "string",
        "searchName": "string",
        "value": "string"
      }
    ]
  },
  "verificationOutcome": {
    "indicator": "string",
    "totalPoints": "string"
  }
}

Model for SearchResults

Properties

overall string

rulesResults [RulesResults]

[Model for RulesResults]

searchResults SearchResults

Model for SearchResults

verificationOutcome VerificationOutcome

Model for VerificationOutcome

IdMatrixData

{
  "fraudAssessment": {
    "dataSource": [
      {
        "name": "string",
        "result": "string",
        "score": "string",
        "threshold": "string",
        "weight": "string"
      }
    ],
    "overall": [
      {
        "name": "string",
        "value": "string"
      }
    ]
  },
  "overall": "string",
  "searchResults": {
    "overall": "string",
    "rulesResults": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "searchResults": {
      "fraudassessment": [
        {
          "address": "string",
          "dob": "string",
          "firstName": "string",
          "fraud": "string",
          "full_name": "string",
          "id": "string",
          "name": "string",
          "surName": "string"
        }
      ],
      "verification": [
        {
          "components": {
            "address": "string",
            "dob": "string",
            "firstName": "string",
            "fraud": "string",
            "full_name": "string",
            "id": "string",
            "name": "string",
            "surName": "string"
          },
          "name": "string",
          "points": "string",
          "results": "string",
          "searchName": "string",
          "value": "string"
        }
      ]
    },
    "verificationOutcome": {
      "indicator": "string",
      "totalPoints": "string"
    }
  },
  "summary": [
    {
      "name": "string",
      "value": "string"
    }
  ]
}

Model for IdMatrix

Properties

fraudAssessment FraudAssessment

Model for FraudAssessment

overall string

searchResults IdMatrixResults

Model for SearchResults

summary [Summary]

[Model for Summary]

Summary

{
  "name": "string",
  "value": "string"
}

Model for Summary

Properties

name string

value string

VerificationOutcome

{
  "indicator": "string",
  "totalPoints": "string"
}

Model for VerificationOutcome

Properties

indicator string

totalPoints string

Verification

{
  "components": {
    "address": "string",
    "dob": "string",
    "firstName": "string",
    "fraud": "string",
    "full_name": "string",
    "id": "string",
    "name": "string",
    "surName": "string"
  },
  "name": "string",
  "points": "string",
  "results": "string",
  "searchName": "string",
  "value": "string"
}

Model for Verification

Properties

components Components

Model for Components

name string

points string

results string

searchName string

value string

RulesResults

{
  "name": "string",
  "value": "string"
}

Model for RulesResults

Properties

name string

value string

Overall

{
  "name": "string",
  "value": "string"
}

Model for Overall

Properties

name string

value string

FraudAssessment

{
  "dataSource": [
    {
      "name": "string",
      "result": "string",
      "score": "string",
      "threshold": "string",
      "weight": "string"
    }
  ],
  "overall": [
    {
      "name": "string",
      "value": "string"
    }
  ]
}

Model for FraudAssessment

Properties

dataSource [DataSource]

[Model for DataSource]

overall [Overall]

[Model for Overall]

DataSource

{
  "name": "string",
  "result": "string",
  "score": "string",
  "threshold": "string",
  "weight": "string"
}

Model for DataSource

Properties

name string

result string

score string

threshold string

weight string

GreenIdData

{
  "individualResults": {
    "background": [
      "string"
    ],
    "dvs": [
      {
        "components": {
          "address": "string",
          "dob": "string",
          "firstName": "string",
          "fraud": "string",
          "full_name": "string",
          "id": "string",
          "name": "string",
          "surName": "string"
        },
        "label": "string",
        "result": "string"
      }
    ],
    "watchlist": {
      "ERROR": [
        "string"
      ],
      "FOUND_ON_LIST": [
        "string"
      ],
      "NOT_FOUND_ON_LIST": [
        "string"
      ]
    }
  },
  "overall": "string",
  "registrationDetails": [
    {
      "label": "string",
      "value": "string"
    }
  ]
}

Model for GreenIdData

Properties

individualResults IndividualResults

Model for IndividualResults

overall string

registrationDetails [RegistrationDetails]

[Model for RegistrationDetails]

RegistrationDetails

{
  "label": "string",
  "value": "string"
}

Model for RegistrationDetails

Properties

label string

value string

IndividualResults

{
  "background": [
    "string"
  ],
  "dvs": [
    {
      "components": {
        "address": "string",
        "dob": "string",
        "firstName": "string",
        "fraud": "string",
        "full_name": "string",
        "id": "string",
        "name": "string",
        "surName": "string"
      },
      "label": "string",
      "result": "string"
    }
  ],
  "watchlist": {
    "ERROR": [
      "string"
    ],
    "FOUND_ON_LIST": [
      "string"
    ],
    "NOT_FOUND_ON_LIST": [
      "string"
    ]
  }
}

Model for IndividualResults

Properties

background [string]

dvs [Dvs]

[Model for Dvs]

watchlist Watchlist

Model for Watchlist

Watchlist

{
  "ERROR": [
    "string"
  ],
  "FOUND_ON_LIST": [
    "string"
  ],
  "NOT_FOUND_ON_LIST": [
    "string"
  ]
}

Model for Watchlist

Properties

ERROR [string]

FOUND_ON_LIST [string]

NOT_FOUND_ON_LIST [string]

Components

{
  "address": "string",
  "dob": "string",
  "firstName": "string",
  "fraud": "string",
  "full_name": "string",
  "id": "string",
  "name": "string",
  "surName": "string"
}

Model for Components

Properties

address string

dob string

firstName string

fraud string

full_name string

id string

name string

surName string

Dvs

{
  "components": {
    "address": "string",
    "dob": "string",
    "firstName": "string",
    "fraud": "string",
    "full_name": "string",
    "id": "string",
    "name": "string",
    "surName": "string"
  },
  "label": "string",
  "result": "string"
}

Model for Dvs

Properties

components Components

Model for Components

label string

result string

Step

{
  "name": "string",
  "start_time": "2019-08-24T14:15:22Z",
  "total_duration_seconds": 0
}

Model for mobile flow step

Properties

name string

start_time string(date-time)

total_duration_seconds number

Documents

{
  "created_at": "2019-08-24T14:15:22Z",
  "document_id": "string",
  "extracted": {},
  "asf_breakdown": {
    "detail_check": "string",
    "document_integrity": "string",
    "image_composition": "string",
    "photo_check": "string"
  },
  "identity_document_type": "string",
  "updated_at": "2019-08-24T14:15:22Z",
  "ocr": true,
  "face_photo": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  },
  "front_document": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  },
  "original_front_document": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  },
  "signature_photo": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  }
}

Model for Documents

Properties

created_at string(date-time)

document_id string

extracted Extracted

Model for Extracted

asf_breakdown AsfBreakdown

Model for AsfBreakdown

identity_document_type string

updated_at string(date-time)

ocr boolean

face_photo File

Model for File

front_document File

Model for File

original_front_document File

Model for File

signature_photo File

Model for File

File

{
  "content_type": "string",
  "size": 0,
  "url": "string"
}

Model for File

Properties

content_type string

size integer(int32)

url string

SelfieImage

{
  "action": "string",
  "base_image": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  },
  "original_image": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  }
}

Model for File

Properties

action string

base_image File

Model for File

original_image File

Model for File

DataProvider

{
  "data": {
    "fieldDetails": {
      "BirthDate": "string",
      "BirthDay": "string",
      "BirthMonth": "string",
      "BirthYear": "string",
      "CardType": "string",
      "CountryOfIssue": "string",
      "ExpiryDay": "string",
      "FamilyName": "string",
      "GivenName": "string",
      "ImmiCardNumber": "string",
      "LicenceNumber": "string",
      "MiddleName": "string",
      "RegistrationState": "string",
      "StateOfIssue": "string"
    },
    "rapidID": "string",
    "VerifyDocumentResult": {
      "ActivityId": "string",
      "attributes": {
        "i_type": "string"
      },
      "OriginatingAgencyCode": "string",
      "VerificationRequestNumber": "string",
      "VerificationResultCode": "string"
    }
  },
  "message": "string",
  "overall": "string",
  "version": "string",
  "xml": true
}

Model for DataConnect

Properties

data DataConnectData

Model for DataConnectData

message string

overall string

version string

xml boolean

DataConnectData

{
  "fieldDetails": {
    "BirthDate": "string",
    "BirthDay": "string",
    "BirthMonth": "string",
    "BirthYear": "string",
    "CardType": "string",
    "CountryOfIssue": "string",
    "ExpiryDay": "string",
    "FamilyName": "string",
    "GivenName": "string",
    "ImmiCardNumber": "string",
    "LicenceNumber": "string",
    "MiddleName": "string",
    "RegistrationState": "string",
    "StateOfIssue": "string"
  },
  "rapidID": "string",
  "VerifyDocumentResult": {
    "ActivityId": "string",
    "attributes": {
      "i_type": "string"
    },
    "OriginatingAgencyCode": "string",
    "VerificationRequestNumber": "string",
    "VerificationResultCode": "string"
  }
}

Model for DataConnectData

Properties

fieldDetails FieldDetails

Model for FieldDetails

rapidID string

VerifyDocumentResult VerifyDocumentResult

Model for VerifyDocumentResult

FieldDetails

{
  "BirthDate": "string",
  "BirthDay": "string",
  "BirthMonth": "string",
  "BirthYear": "string",
  "CardType": "string",
  "CountryOfIssue": "string",
  "ExpiryDay": "string",
  "FamilyName": "string",
  "GivenName": "string",
  "ImmiCardNumber": "string",
  "LicenceNumber": "string",
  "MiddleName": "string",
  "RegistrationState": "string",
  "StateOfIssue": "string"
}

Model for FieldDetails

Properties

BirthDate string

BirthDay string

BirthMonth string

BirthYear string

CardType string

CountryOfIssue string

ExpiryDay string

FamilyName string

GivenName string

ImmiCardNumber string

LicenceNumber string

MiddleName string

RegistrationState string

StateOfIssue string

Attributes

{
  "i_type": "string"
}

Model for Attributes

Properties

i_type string

VerifyDocumentResult

{
  "ActivityId": "string",
  "attributes": {
    "i_type": "string"
  },
  "OriginatingAgencyCode": "string",
  "VerificationRequestNumber": "string",
  "VerificationResultCode": "string"
}

Model for VerifyDocumentResult

Properties

ActivityId string

attributes Attributes

Model for Attributes

OriginatingAgencyCode string

VerificationRequestNumber string

VerificationResultCode string

Results

{
  "data": "string",
  "documents": "string",
  "facematch": "string",
  "liveness": "string",
  "overall": "string"
}

Model for Results

Properties

data string

documents string

facematch string

liveness string

overall string

LikenessFeatures

{
  "forehead": "string",
  "jaw": "string",
  "left_brow": "string",
  "left_cheek": "string",
  "left_eye": "string",
  "middle_forehead": "string",
  "mouth": "string",
  "nose": "string",
  "philtrum": "string",
  "right_brow": "string",
  "right_cheek": "string",
  "right_eye": "string"
}

Model for LikenessFeatures

Properties

forehead string

jaw string

left_brow string

left_cheek string

left_eye string

middle_forehead string

mouth string

nose string

philtrum string

right_brow string

right_cheek string

right_eye string

AsfBreakdown

{
  "detail_check": "string",
  "document_integrity": "string",
  "image_composition": "string",
  "photo_check": "string"
}

Model for AsfBreakdown

Properties

detail_check string

document_integrity string

image_composition string

photo_check string

Extracted

{}

Model for Extracted

Properties

None

GetTransactionJson

{
  "created_at": "2019-08-24T14:15:22Z",
  "activated_at": "2019-08-24T14:15:22Z",
  "created_by": "string",
  "closed_at": "2019-08-24T14:15:22Z",
  "name": "string",
  "reference": "string",
  "invitation_phone_region_code": "string",
  "invitation_phone_number": "string",
  "current_step": "string",
  "data_provider": {
    "DATA_CONNECT": {
      "data": {
        "fieldDetails": {
          "BirthDate": "string",
          "BirthDay": "string",
          "BirthMonth": "string",
          "BirthYear": "string",
          "CardType": "string",
          "CountryOfIssue": "string",
          "ExpiryDay": "string",
          "FamilyName": "string",
          "GivenName": "string",
          "ImmiCardNumber": "string",
          "LicenceNumber": "string",
          "MiddleName": "string",
          "RegistrationState": "string",
          "StateOfIssue": "string"
        },
        "rapidID": "string",
        "VerifyDocumentResult": {
          "ActivityId": "string",
          "attributes": {
            "i_type": "string"
          },
          "OriginatingAgencyCode": "string",
          "VerificationRequestNumber": "string",
          "VerificationResultCode": "string"
        }
      },
      "message": "string",
      "overall": "string",
      "version": "string",
      "xml": true
    },
    "GREEN_ID": {
      "data": {
        "fieldDetails": {
          "BirthDate": "string",
          "BirthDay": "string",
          "BirthMonth": "string",
          "BirthYear": "string",
          "CardType": "string",
          "CountryOfIssue": "string",
          "ExpiryDay": "string",
          "FamilyName": "string",
          "GivenName": "string",
          "ImmiCardNumber": "string",
          "LicenceNumber": "string",
          "MiddleName": "string",
          "RegistrationState": "string",
          "StateOfIssue": "string"
        },
        "rapidID": "string",
        "VerifyDocumentResult": {
          "ActivityId": "string",
          "attributes": {
            "i_type": "string"
          },
          "OriginatingAgencyCode": "string",
          "VerificationRequestNumber": "string",
          "VerificationResultCode": "string"
        }
      },
      "message": "string",
      "overall": "string",
      "version": "string",
      "xml": true
    },
    "ID_MATRIX": {
      "data": {
        "fieldDetails": {
          "BirthDate": "string",
          "BirthDay": "string",
          "BirthMonth": "string",
          "BirthYear": "string",
          "CardType": "string",
          "CountryOfIssue": "string",
          "ExpiryDay": "string",
          "FamilyName": "string",
          "GivenName": "string",
          "ImmiCardNumber": "string",
          "LicenceNumber": "string",
          "MiddleName": "string",
          "RegistrationState": "string",
          "StateOfIssue": "string"
        },
        "rapidID": "string",
        "VerifyDocumentResult": {
          "ActivityId": "string",
          "attributes": {
            "i_type": "string"
          },
          "OriginatingAgencyCode": "string",
          "VerificationRequestNumber": "string",
          "VerificationResultCode": "string"
        }
      },
      "message": "string",
      "overall": "string",
      "version": "string",
      "xml": true
    }
  },
  "device_info": {
    "browser": "string",
    "country": "string",
    "geolocation": "string",
    "ip": "string",
    "ip_location": "string",
    "isp": "string",
    "os": "string",
    "vpn": true
  },
  "computed_statistics": {
    "total_duration_seconds": 0,
    "total_duration_excl_privacy_seconds": 0,
    "steps": [
      {
        "name": "string",
        "start_time": "2019-08-24T14:15:22Z",
        "total_duration_seconds": 0
      }
    ]
  },
  "documents": [
    {
      "created_at": "2019-08-24T14:15:22Z",
      "document_id": "string",
      "extracted": {},
      "asf_breakdown": {
        "detail_check": "string",
        "document_integrity": "string",
        "image_composition": "string",
        "photo_check": "string"
      },
      "identity_document_type": "string",
      "updated_at": "2019-08-24T14:15:22Z",
      "ocr": true,
      "face_photo": {
        "content_type": "string",
        "size": 0,
        "url": "string"
      },
      "front_document": {
        "content_type": "string",
        "size": 0,
        "url": "string"
      },
      "original_front_document": {
        "content_type": "string",
        "size": 0,
        "url": "string"
      },
      "signature_photo": {
        "content_type": "string",
        "size": 0,
        "url": "string"
      }
    }
  ],
  "facematch_best_frame": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  },
  "flow_type": "string",
  "likeness_features": {
    "forehead": "string",
    "jaw": "string",
    "left_brow": "string",
    "left_cheek": "string",
    "left_eye": "string",
    "middle_forehead": "string",
    "mouth": "string",
    "nose": "string",
    "philtrum": "string",
    "right_brow": "string",
    "right_cheek": "string",
    "right_eye": "string"
  },
  "likeness_overall": "string",
  "liveness_attempts": [
    {
      "actions": [
        "string"
      ],
      "result": true,
      "session_id": "string",
      "flow": "string",
      "video": {
        "content_type": "string",
        "size": 0,
        "url": "string"
      },
      "images": [
        {
          "action": "string",
          "base_image": {
            "content_type": "string",
            "size": 0,
            "url": "string"
          },
          "original_image": {
            "content_type": "string",
            "size": 0,
            "url": "string"
          }
        }
      ]
    }
  ],
  "results": {
    "data": "string",
    "documents": "string",
    "facematch": "string",
    "liveness": "string",
    "overall": "string"
  },
  "spoof_result": "string",
  "status": "string",
  "records_redacted_at": "string",
  "assets_redacted_at": "string",
  "face_redacted_at": "string",
  "data_redacted_at": "string",
  "transaction_id": "string",
  "user_details": {
    "address": {
      "city": "string",
      "country": "string",
      "full_address": "string",
      "post_code": "string",
      "state": "string",
      "street_address": "string",
      "street_address_2": "string",
      "suburb": "string"
    },
    "date_of_birth": "2019-08-24",
    "date_of_expiry": "2019-08-24",
    "first_name": "string",
    "last_name": "string",
    "licence_number": "string",
    "id_number": "string",
    "middle_name": "string",
    "passport_number": "string",
    "document_number": "string"
  },
  "pdf_report_number": 0
}

Model for Get Transaction as JSON

Properties

created_at string(date-time)

UTC timestamp when transaction was created

activated_at string(date-time)

UTC timestamp when transaction was opened by user

created_by string

Username who creates this transaction or API when created by API.

closed_at string(date-time)

UTC timestamp when transaction was closed

name string

UTC Timestamp of records redaction or NULL if not redacted yet

reference string

Optional customer parameter for user experience

invitation_phone_region_code string

Invitation phone number region code

invitation_phone_number string

Invitation phone number

current_step string

Current step in which mobile flow is at

data_provider DataProviderData

Model for DataProvider

device_info DeviceInfo

Model for DeviceInfo

computed_statistics object

Statistics of the mobile flow process.

» total_duration_seconds number

» total_duration_excl_privacy_seconds number

» steps [Step]

[Model for mobile flow step]

documents [Documents]

[Model for Documents]

facematch_best_frame File

Model for File

flow_type string

Flow type indicator.

likeness_features LikenessFeatures

Model for LikenessFeatures

likeness_overall string

liveness_attempts [LivenessAttempts]

[Model for LivenessAttempts]

results Results

Model for Results

spoof_result string

Spoof result indicator.

status string

Current transaction status.

records_redacted_at string

UTC Timestamp of records redaction or NULL if not redacted yet

assets_redacted_at string

UTC Timestamp of assets redaction or NULL if not redacted yet

face_redacted_at string

UTC Timestamp of face redaction or NULL if not redacted yet

data_redacted_at string

UTC Timestamp of data provider redaction or NULL if not redacted yet

transaction_id string

Transaction unique identifier.

user_details UserDetails

Model for UserDetails

pdf_report_number number

PDF report identifier (The same as transaction id)

GetTransactionPDF

{
  "created_at": "2019-08-24T14:15:22Z",
  "flow_type": "string",
  "status": "string",
  "transaction_id": "string"
}

Model for Get Transaction as JSON

Properties

created_at string(date-time)

flow_type string

status string

transaction_id string

RedactTransactionResponseJson

{
  "status": "string",
  "transaction_id": "string",
  "redacted_at": "2019-08-24T14:15:22Z",
  "data_to_redact": [
    "string"
  ]
}

Model for Get Transaction as JSON

Properties

status string

transaction_id string

redacted_at string(date-time)

data_to_redact [string]

BatchTransactionRedactionResponseJson

{
  "status": "string",
  "transaction_ids": [
    "string"
  ],
  "redacted_at": "2019-08-24T14:15:22Z",
  "redacted_data": [
    "string"
  ]
}

Model for Get Transaction as JSON

Properties

status string

transaction_ids [string]

redacted_at string(date-time)

redacted_data [string]

LivenessAttempts

{
  "actions": [
    "string"
  ],
  "result": true,
  "session_id": "string",
  "flow": "string",
  "video": {
    "content_type": "string",
    "size": 0,
    "url": "string"
  },
  "images": [
    {
      "action": "string",
      "base_image": {
        "content_type": "string",
        "size": 0,
        "url": "string"
      },
      "original_image": {
        "content_type": "string",
        "size": 0,
        "url": "string"
      }
    }
  ]
}

Model for LivenessAttempts

Properties

actions [string]

result boolean

session_id string

Available for liveness flow only

flow string

"selfie" for alternative flow. Not present for liveness flow.

video File

Liveness video files. Available for liveness flow only.

images [SelfieImage]

Selfie Image files. Available for alternative flow only.

UserDetails

{
  "address": {
    "city": "string",
    "country": "string",
    "full_address": "string",
    "post_code": "string",
    "state": "string",
    "street_address": "string",
    "street_address_2": "string",
    "suburb": "string"
  },
  "date_of_birth": "2019-08-24",
  "date_of_expiry": "2019-08-24",
  "first_name": "string",
  "last_name": "string",
  "licence_number": "string",
  "id_number": "string",
  "middle_name": "string",
  "passport_number": "string",
  "document_number": "string"
}

Model for UserDetails

Properties

address Address

Model for Address

date_of_birth string(date)

date_of_expiry string(date)

first_name string

last_name string

licence_number string

Deprecated now. Recommended to use id_number instead

id_number string

middle_name string

passport_number string

Deprecated now. Recommended to use document_number instead

document_number string

Address

{
  "city": "string",
  "country": "string",
  "full_address": "string",
  "post_code": "string",
  "state": "string",
  "street_address": "string",
  "street_address_2": "string",
  "suburb": "string"
}

Model for Address

Properties

city string

country string

full_address string

post_code string

state string

street_address string

street_address_2 string

suburb string

DeviceInfo

{
  "browser": "string",
  "country": "string",
  "geolocation": "string",
  "ip": "string",
  "ip_location": "string",
  "isp": "string",
  "os": "string",
  "vpn": true
}

Model for DeviceInfo

Properties

browser string

country string

geolocation string

ip string

ip_location string

isp string

os string

vpn boolean

CreateTransactionResponse

{
  "transaction_id": "string",
  "url": "string"
}

Model for Create

Properties

transaction_id string

url string

BadRequestResponse

{
  "message": "Bad Request."
}

Properties

message string

UnauthenticatedResponse

{
  "message": "Unauthenticated."
}

Properties

message string

ConflictResponse

{
  "message": "Transaction not ready for redaction."
}

Properties

message string

NotFoundResponse

{
  "message": "The token was not found."
}

Properties

message string

InternalServerErrorResponse

{
  "message": "Internal Server Error."
}

Properties

message string

Frequently Asked Questions

How do we integrate IDKIT into our Mobile APP?

When implementing in to a web app, it is a simple redirect to the URL and if needed, you specify a redirect URL for us to redirect the customer back to the web app. For integrating within a mobile app, there are a few options as per the below:

  1. Open Mobile Browser: You are able to redirect the customer outside of the mobile app to their mobile browser with the OCR Labs transaction URL. On the last screen we can change the content to say something along the lines of “Your ID verification is successful. Please close this tab and return to the App”. Because you will know the transaction is completed, when they return to the app the verification can be handled according to the results.
  2. Open Mobile Browser and Redirect via Deeplink back to the app: When using storeTransaction API to create a transaction/URL, you are able to specify a link to redirect the customer to afterwards. You can specify a deep link as the redirect URL to bring the customer back into your mobile app. So the customer experience would be that your mobile app will open the OCR Labs transaction URL in the mobile browser (external to your app) and once completing, the customer will be redirected via the deep link back into the app where you can handle them accordingly.
  3. Web View in App: OCR Labs camera controls are able to work in web view for devices/OS that allow it. For iOS this is currently iOS13+ and Android is more open. So you could just open the URL in web view. Please note you need to use: For inside an iOS app- the in-app browser we would be expecting you to use is: “SFSafariController”. For Android, you can use the normal WebView as it should be supported from Android SDK.

Do you have any libraries or SDK's available?**

We don't currently provide SDK's or libraries.

Are there any authentication specs to abide by when using webhooks?**

It is not mandatory to add authentication to your webhooks. But if you want to, in the POST Transaction API you can add the authorisation like this: auth_header_name: "Authorization" and the access token as auth_header_value: "Basic <TOKEN HERE>" l

Which output details do I run DVS checks against?

If you are opting to connect to a DVS (Data Verification Service) outside of the IDKIT platform, you need to make sure you are running the DVS check against user_details not the extracted data from the JSON output.

When does an incomplete transaction expire?

Once a transaction is created it will expire after 48 hours by default. If you require the expiry time to to be longer than that contact us via Live Chat or submit a support ticket via the IDKit portal.. We can adjust it up to a maximum of 7 days.

What mobile devices and browsers do the IDKIT mobile flows support?

Currently the ID Verification Flows work on Safari for Apple iPhones and Chrome for Android phones. If the user has set their default mobile browser as something other than the device standard, when they open the ID Verification Flow they will be prompted to copy and paste the link into devices standard browser.

Changelog