Skip to main content
POST
/
document
/
new
/
verify
Create and Verify Document.
curl --request POST \
  --url https://api.uat.frankie.one/compliance/v1.2/document/new/verify \
  --header 'Content-Type: application/json' \
  --header 'X-Frankie-CustomerID: <x-frankie-customerid>' \
  --header 'api_key: <api-key>' \
  --data '
{
  "document": {
    "country": "AUS",
    "idType": "DRIVERS_LICENCE",
    "docScan": [
      {
        "ScanDelete": true,
        "scanCreated": "2020-06-02",
        "scanData": "VGhpcyBpcyBzb21lIGV4YW1wbGUgZGF0YS4gV29vLCBJIGJldCB5b3UgcmVncmV0IHRoZSB0aW1lIHlvdSB3YXN0ZWQgZGVjb2RpbmcgdGhpcywgaHVoPw==",
        "scanDataRetrievalState": "NORMAL",
        "scanDocId": "84a9a860-68ae-4d7d-9a53-54a1116d5051",
        "scanFilename": "Important Document - ID1234567.pdf",
        "scanMIME": "image/png",
        "scanPageNum": 1,
        "scanSide": "F",
        "scanType": "PDF"
      }
    ],
    "documentId": "84a9a860-68ae-4d7d-9a53-54a1116d5051",
    "documentStatus": "DOC_SCANNED",
    "extraData": [
      {
        "kvpKey": "ACN",
        "kvpType": "id.external",
        "kvpValue": "406655338"
      }
    ],
    "idExpiry": "2020-02-01",
    "idIssued": "1972-11-04",
    "idNumber": "123456789",
    "idSubType": "<string>",
    "region": "VIC"
  },
  "entityData": {
    "addresses": [
      {
        "country": "AUS",
        "addressId": "86932629-bdb4-158f-e670-741e89ff78ba",
        "addressType": "REGISTERED_OFFICE",
        "buildingName": "Highland Tower",
        "careOf": "<string>",
        "endDate": "0001-01-01",
        "extraData": [
          {
            "kvpKey": "ACN",
            "kvpType": "id.external",
            "kvpValue": "406655338"
          }
        ],
        "longForm": "42a Test Eagle Road, Testville, TST 123-TST, Testalia",
        "postalCode": "3000",
        "region": "MELBOURNE",
        "startDate": "2023-03-10",
        "state": "VIC",
        "streetName": "9 ROYCE AVENUE",
        "streetNumber": "FLAT 27",
        "streetType": "Road",
        "suburb": "Testburb",
        "town": "MELBOURNE",
        "unitNumber": "FLAT 27",
        "unstructuredLongForm": "<string>"
      }
    ],
    "dateOfBirth": {
      "country": "AUS",
      "dateOfBirth": "1978-11-12",
      "locality": "Brisbane",
      "unstructuredDateOfBirth": "<string>",
      "yearOfBirth": "1978"
    },
    "entityId": "84a9a860-68ae-4d7d-9a53-54a1116d5051",
    "entityProfile": "<string>",
    "entityType": "ORGANISATION",
    "extraData": [
      {
        "kvpKey": "ACN",
        "kvpType": "id.external",
        "kvpValue": "406655338"
      }
    ],
    "flags": [
      {
        "flag": "<string>",
        "value": 123
      }
    ],
    "gender": "F",
    "identityDocs": [
      {
        "country": "AUS",
        "idType": "DRIVERS_LICENCE",
        "docScan": [
          {
            "ScanDelete": true,
            "scanCreated": "2020-06-02",
            "scanData": "VGhpcyBpcyBzb21lIGV4YW1wbGUgZGF0YS4gV29vLCBJIGJldCB5b3UgcmVncmV0IHRoZSB0aW1lIHlvdSB3YXN0ZWQgZGVjb2RpbmcgdGhpcywgaHVoPw==",
            "scanDataRetrievalState": "NORMAL",
            "scanDocId": "84a9a860-68ae-4d7d-9a53-54a1116d5051",
            "scanFilename": "Important Document - ID1234567.pdf",
            "scanMIME": "image/png",
            "scanPageNum": 1,
            "scanSide": "F",
            "scanType": "PDF"
          }
        ],
        "documentId": "84a9a860-68ae-4d7d-9a53-54a1116d5051",
        "documentStatus": "DOC_SCANNED",
        "extraData": [
          {
            "kvpKey": "ACN",
            "kvpType": "id.external",
            "kvpValue": "406655338"
          }
        ],
        "idExpiry": "2020-02-01",
        "idIssued": "1972-11-04",
        "idNumber": "123456789",
        "idSubType": "<string>",
        "region": "VIC"
      }
    ],
    "name": {
      "familyName": "Smith",
      "displayName": "Jane Cecily Smith",
      "givenName": "Jane",
      "honourific": "Duchess",
      "middleName": "Cecily"
    },
    "organisationData": {
      "adverseCreditDataPresent": true,
      "aliases": [
        "<string>"
      ],
      "class": {
        "code": "<string>",
        "description": "<string>"
      },
      "contactDetails": {
        "email": "<string>",
        "faxNumber": "<string>",
        "telephoneNumber": "<string>",
        "websiteURL": "<string>"
      },
      "disclosingEntityIndicator": true,
      "extractedDate": "2023-12-25",
      "includesNonBeneficiallyHeld": true,
      "industryCodes": [
        {
          "code": "<string>",
          "description": "<string>"
        }
      ],
      "industryDeclarations": [
        {
          "description": "<string>",
          "language": "<string>"
        }
      ],
      "kycCustomerType": "<string>",
      "lastCheckDate": "2023-12-25",
      "legalFormDetails": {
        "basis": "<string>",
        "capital": "<string>",
        "comments": "<string>",
        "control": "<string>",
        "incorp": "<string>",
        "partner": "<string>",
        "responsibility": "<string>",
        "stocks": "<string>"
      },
      "normalisedLegalStatus": "<string>",
      "ownershipResolved": true,
      "registeredName": "<string>",
      "registration": {
        "countryIso": "<string>",
        "date": "2023-12-25",
        "number": "<string>",
        "previousNumber": "<string>",
        "registryCode": "<string>",
        "registryDescription": "<string>",
        "state": "<string>",
        "unstructuredDate": "<string>",
        "unstructuredFoundationDate": "<string>"
      },
      "registries": {
        "abr": {
          "abn": "<string>",
          "acn": "<string>",
          "addresses": [
            {
              "effectiveFrom": "2023-11-07T05:31:56Z",
              "effectiveTo": "2023-11-07T05:31:56Z",
              "postcode": "<string>",
              "stateCode": "<string>"
            }
          ],
          "businessNames": [
            {
              "effectiveFrom": "2023-11-07T05:31:56Z",
              "effectiveTo": "2023-11-07T05:31:56Z",
              "name": "<string>",
              "type": "<string>"
            }
          ],
          "charityEndorsements": [
            {
              "effectiveFrom": "2023-11-07T05:31:56Z",
              "effectiveTo": "2023-11-07T05:31:56Z",
              "type": "<string>"
            }
          ],
          "charityTypes": [
            {
              "description": "<string>",
              "effectiveFrom": "2023-11-07T05:31:56Z",
              "effectiveTo": "2023-11-07T05:31:56Z"
            }
          ],
          "description": "<string>",
          "dgrEndorsements": [
            {
              "endorsedFrom": "2023-11-07T05:31:56Z",
              "endorsedTo": "2023-11-07T05:31:56Z"
            }
          ],
          "gst": [
            {
              "effectiveFrom": "2023-11-07T05:31:56Z",
              "effectiveTo": "2023-11-07T05:31:56Z"
            }
          ],
          "historicalChanges": [
            {
              "businessName": [
                "<string>"
              ],
              "date": "2023-11-07T05:31:56Z",
              "entityStatus": [
                "<string>"
              ],
              "goodsAndServicesTax": [
                "<string>"
              ],
              "mainBusinessPhysicalAddress": [
                "<string>"
              ],
              "mainName": [
                "<string>"
              ],
              "mainTradingName": [
                "<string>"
              ]
            }
          ],
          "lastUpdated": "2023-11-07T05:31:56Z",
          "name": "<string>",
          "registeredDate": "2023-11-07T05:31:56Z",
          "status": "<string>",
          "statusEffectiveFrom": "<string>",
          "type": "<string>",
          "typeCode": "<string>",
          "updatedDate": "2023-11-07T05:31:56Z"
        }
      },
      "reviewDate": "2023-12-25",
      "shareStructure": [
        {
          "amountDue": 123,
          "amountPaid": 123,
          "classCode": "<string>",
          "classTitle": "<string>",
          "docNumber": "<string>",
          "docNumberQualifier": "<string>",
          "sharesIssued": 123,
          "status": "<string>"
        }
      ],
      "startDate": "2023-12-25",
      "status": {
        "code": "<string>",
        "description": "<string>"
      },
      "subType": {
        "code": "<string>",
        "description": "<string>"
      },
      "subclass": {
        "code": "<string>",
        "description": "<string>"
      },
      "type": {
        "code": "<string>",
        "description": "<string>"
      }
    }
  }
}
'
{
  "requestId": "01BFJA617JMJXEW6G7TDDXNSHX",
  "documentVerificationResults": {
    "documentId": "84a9a860-68ae-4d7d-9a53-54a1116d5051",
    "processResult": {
      "checkDate": "2023-11-07T05:31:56Z",
      "checkId": "54a1116d-68ae-4d7d-9a53-505184a9a860",
      "checkPerformedBy": "dvs",
      "checkSource": "DVS",
      "checkType": "<string>",
      "confidenceLevel": 70,
      "providerCheckID": "<string>",
      "resultNotes": [
        {
          "kvpKey": "ACN",
          "kvpType": "id.external",
          "kvpValue": "406655338"
        }
      ],
      "resultState": "CHECKED_PARTIAL_SUCCESS",
      "riskLevel": 75
    }
  }
}

Authorizations

api_key
string
header
required

API key issued by Frankie Financial. This will rotate regularly.

Headers

X-Frankie-CustomerID
string<uuid>
required

Customer ID issued by Frankie Financial. This will never change. Your API key, which is mapped to this identity, will change over time.

X-Frankie-CustomerChildID
string<uuid>

If, as a Frankie Customer, you are acting on behalf of your own customers, then you can populate this field with a Frankie-assigned ID.

Note: If using a CustomerChildID, you will also need a separate api_key for each child.

Any documents, checks, entities that are created when this field has been populated will now be tied to this CustomerID + CustomerChildID combination. Just as Customers cannot see data created by other Customers, so too a Customer's Children will not be able to see each other's data.

A Customer can see the documents/entities and checks of all their Children.

X-Frankie-Background
integer

If this header parameter is supplied and set to 1, then the request will not wait for the process to finish, and will return a 202 if there are no obvious errors in the input. The request will then run in the background and send a notification back to the customer. See out callback API for details on this.

See more details here: https://docs.frankieone.com/docs/asynchronous-calls-backgrounding-processes

Required range: 0 <= x <= 1
X-Frankie-Channel
string

Open string that can be used to define the "channel" the request comes in from. It can potentially be used in routing and risk calculations upon request. Default values that can be used are:

  • api
  • portal
  • smartui

Any alphanumeric string is supported though. Anything over 64 characters will be truncated.

Body

application/json

The document and (possibly) its associated scans to be verified.

There is also an entity object (normally stripped back to it's bare minimum) that can be used to provide supporting data, such as name, address, etc. The entity object may be empty/

This is the document we wish to verify in some way, along with an entity object that contains some/all of the details we wish to verify.

For example, if we're attempting to verify a drivers licence, we generally need to pass in a name, address, DoB, etc as well. the entity gives the structure to be able to do this.

Note, only the document in the "document" parameter is to be processed. any additional documents found in the entity (there shouldn't be, but given the way this has been defined, there can be) will be ignored. Only the Name, Address, DoB and Gender fields will be potentially used during the verification process.

The EntityObject can take one of two forms.

  • It can be a single entityId - in which case the details will be pulled from the database. If using an existing document, then the entity must also own the document or the request will fail.
  • You can supply a "single use" entity with fields, etc. In this case the entity details will be used to verify the document, then will be discarded.

If you wish to save the entity, use the /entity comments instead to create the entity and attach the document there.

document
object
entityData
object

Describes all of the data being used to verify an entity.

Response

The request was valid and able to be processed in some fashion. Results may or may not be successful, but it was completed as far as practical with no actual errors. Returns the results of the document verification process.

Contains the results of a given document upload.

requestId
string<ulid>
required

Unique identifier for every request. Can be used for tracking down answers with technical support.

Uses the ULID format (a time-based, sortable UUID)

Note: this will be different for every request.

Example:

"01BFJA617JMJXEW6G7TDDXNSHX"

documentVerificationResults
object

Contains the details of a check on a given data point