Skip to main content

Get started

Connect to the API

Connect to the API by integrating local provider CRM systems with it.

A unique authentication token is needed to connect to the API.

Each token is associated with a single provider and will give providers access to appropriate CPD participant data.

Authentication tokens do not expire.

Request an authentication token

Providers must contact us to request a token for production and sandbox environments.

DfE will send a unique authentication token via secure email.

Warning Providers must not share tokens in publicly accessible documents or repositories.

How to use an authentication token

Include an authentication token in all requests to the API by adding an Authorization request header (not as part of the URL) in the following format:

Authorization: Bearer {token}

Unauthenticated requests will receive an UnauthorizedResponse with a 401 error code.

Access YAML format API specs

Provider development teams can also access the OpenAPI spec in YAML formats:

Providers can use API testing tools such as Postman to make test API calls. Providers can import the API as a collection by using Postman’s import feature and copying in the YAML URL of the API spec.

Production and sandbox environments

The API is available via production (live) and sandbox (testing) environments.

Production environment

The production environment is the live environment which processes real data.

Do not perform testing in the production environment as real participant and payment data may be affected.
API v1: 
https://manage-training-for-early-career-teachers.education.gov.uk/api/v1
API v2:
https://manage-training-for-early-career-teachers.education.gov.uk/api/v2
API v3: 
https://manage-training-for-early-career-teachers.education.gov.uk/api/v3

Sandbox environment

The sandbox environment is used to test API integrations without affecting real data.

API v1: 
https://sb.manage-training-for-early-career-teachers.education.gov.uk/api/v1
API v2:
https://sb.manage-training-for-early-career-teachers.education.gov.uk/api/v2
API v3: 
https://sb.manage-training-for-early-career-teachers.education.gov.uk/api/v3
Note, there are some custom API headers that can only be used in the sandbox.

Test the ability to submit ECF declarations in the sandbox ahead of time

Rate limits

Providers are limited to 1,000 requests per 5 minutes when using the API in the production environment. If the limit is exceeded, providers will see 429 HTTP status codes.

This limit on requests for each authentication key is calculated on a rolling basis.

Syncing data best practice

Performing a full sync once a week

We recommend you sync all records in the API twice a week without using the updated_since filters. DfE can coordinate ‘windows’ for providers to do this when the service has a low background load. Contact us if you need further details.

Regular polling

To ensure you never miss any declarations, participants, transfers or unfunded mentors, we recommend making regular poll requests to the relevant GET endpoints several times daily. Use the updated_since filter and the default pagination of [100] records per page.

Continue this until the API response is empty.

Polling windows

Always poll 2 windows back from your last successful update request. This guarantees that all participant data is captured. For example:

  • at 3:15pm enter the following request - /api/v3/participants/ecf?filter[updated_since]=2025-01-28T13:15:00Z
  • at 4:15pm enter the following request - /api/v3/participants/ecf?filter[updated_since]=2025-01-28T14:15:00Z

Try polling randomly rather than on the hour to prevent system overload.