Skip to main content

How the DCS works

The Document Checking Service (DCS) acts as an interface between your service and HM Passport Office.

  1. Your service sends a passport check request to the DCS.
  2. The DCS validates the request and sends it to HM Passport Office.
  3. HM Passport Office checks the passport data against their database and sends a response back to the DCS.
  4. The DCS sends the response to your service.

Integrating with the DCS

You’ll need to build a client to integrate with the DCS. You can choose which programming language your client uses. There is a worked example of creating a DCS connection on GitHub.

Your client will need to be able to sign and encrypt JSON data and make HTTP requests to DCS.

To build a working DCS client, you’ll need to:

  1. Enrol with the DCS certificate authority.
  2. Generate keys and request certificates - you’ll need to contact DCS support to get the Public Key Infrastructure (PKI) information so you can get started with integrating with the DCS.
  3. Create a network connection to the DCS using mutual authentication.
  4. Generate certificate thumbprints.
  5. Sign and encrypt a DCS payload.
  6. Access the data in a DCS response.

Using client libraries when connecting to the DCS

Currently, there are no supported client libraries for the DCS.

However, there is a worked example of creating a DCS connection on GitHub.

Understand what responses mean when making a DCS check

When you make a DCS passport validity check, the DCS will return one of 3 responses:

  • valid: true
  • valid: false
  • error: true

You can read further guidance about the passport validity responses in the API reference.

This page was last reviewed on 19 October 2020.