Skip to content

API basics

All the things on a developer checklist when you're integrating a new API

Environments

We have two environments. Sandbox for setting up and testing your integration. Production for live traffic.

NameURLDescription
SandboxSetup and integration testing with fake checks
ProductionLive traffic with real checks

Authentication

The eyeDP api uses the oAuth client credentials flow for authentication.

First generate an access token using a client id and client secret. Then use that token for calling api endpoints. Access tokens are valid for 60 minutes.

Generating a token

Method: POST

Endpoint: /api/authenticate

Example request

json
{
    "clientId":"123",
    "clientSecret":"123"
}

Example response

json
{
    "accessToken": "123"
}

Using the token

The access token must be included in all other api calls. Include it by putting

Header nameValue
AuthorizationBearer your-token

How to get a client id and secret

You will be sent credentials during onboarding. We will be making this self service soon!

Open Api

The api has a full open API spec ready to import into Postman or code generation tools:

Versioning

The api uses semantic versioning to give you control on how you want to handle api changes.

Minor version increases signify changes to the open api spec like additional properties on an object or a new endpoint being added. Major version increases are for breaking changes like objects removed from the open api spec.

Specify an api version by passing it in a api-version query parameter. Any requests sent without a specified version will default to the latest. We highly recommend specifying a version so you don't encounter unexpected changes from the api.

Version example request: https://api.sandbox.eyedp.com/api/cases/123?api-version=1.0

Version history

DateVersionNotes
01/05/20251.0Here we go!

Rate limiting

By default requests are limited to 5 per second.

Custom arrangements can be made, please contact us if you require more.

Bad requests

Bad requests are returned when there is something wrong with the request. All problems with the request are returned in standardized list of errors.

This is the response of from trying to create a case with an invalid date for the dob:

json
{
    "errors": [
        "Date of birth is not a valid date"
    ]
}

Polling vs webhooks

A lot of processing in the EyeDP platform happens in background jobs. The results from jobs such as document extraction or document risk checks won't be available immediately or returned straight away from your requests.

There's two ways to get the results of these types of jobs: Polling or Webhooks. Unfortunately we don't have webhooks yet so polling is the only option.