Skip to main content
Table of contents

Print Request API Documentation

NOTE: This is a DRAFT for discussion, review and early integration with initial consumer(s).

Introduction

The Print Request API Service allows government departments to submit bulk print jobs to DVLA print services for processing.

Interactions with the Print Request API is via a REST Interface over HTTPS. In all cases, JSON is used for request and response data. The functional specification of this format is detailed in the OpenAPI 3.0 documentation below:

For more details visit the OpenAPI specification page.
You can also view the OpenAPI specification in JSON format.

The Print Request API implements the DVLA Secure API Pattern so requires DVLA Authentication API use to supply JWT, as well as an assigned API Key

Before submitting a print request, a corresponding print template must be agreed between the requesting service and DVLA Output Services Group (OSG). Specific required print data is supplied in custom parameters that must be specified and configured with OSG in advance. Further guidance is available from DVLA OSG Department.

PDF & Image Files

PDFs may be included in a Print Request specification as a base 64 encoded string; in this case the PDF should conform to the OSG Common PDF Specifications. Similarly, images may be sent as a base 64 encoded string provided they conform to the OSG Common Image Specifications.

API Services

Create Print Job

Creates a print job to be processed, optionally supplying print job ID

Get Print Job by ID

Get print job for the given job ID. Response data limited to include status, jobType, templateReference, comment (in case of rejection by OSG) and created/updated dates.

Delete Print Job by ID

Delete the print job for a specified Print Job ID

Usage Plans and Throttling Limits

We have introduced limits on API usage rates in terms of requests per second. This applies to both individual clients and collective usage for all clients.

  1. A client’s limit is set based on the usage plan that the client is subscribed to
  2. As clients access the API at the same time, there is an overall limit on how many requests are allowed per second in order to protect the service

These two scenarios will return an HTTP status code of 429 as specified in the common errors section.

Royal Mail Address construction

In order to improve our ability to deliver mail to the end user and enable bulk mail discounts, supply of validated structuredAddress recipient addresses are preferable to unstructuredAddress. Access to a corresponding address postcode lookup service could be considered to help lookup addresses in this format if these fields are not already held by consumers.

Currently, internal mechanisms for feeding back print job status are not available to external customers. The ‘Get Print Job by ID’ endpoint may be used to determine status on an adhoc basis until a means to push status updates is available.

Release Notes

v1.0.0

  • Initial draft external version based on the PrintHub API