Overview

Lead providers can use the API to connect their own systems to Register early career teachers. They can use it to:

  • get information about ECTs and mentors registered for training
  • manage aspects of their training
  • submit declarations

This keeps lead providers' records in line with the Department for Education (DfE), and means they do not need to share information manually.


Documents

swagger.yaml
Uploaded schema

Who can use this API

The API is for lead providers, who are contracted by DfE to deliver training to ECTs and mentors.

It is not for individual teachers, mentors, schools or members of the public.


Service level

The API is a live service and should always be available.

DfE monitors the API and will investigate any issues that affect availability. How long it takes to fix an issue depends on how serious it is.


Technologies

The API is a RESTful API built with Ruby on Rails. It uses:

  • HTTPS for secure communication
  • JSON for requests and responses
  • API keys for authentication

It's documented using the OpenAPI specification and follows standard HTTP methods and status codes. It supports pagination and filtering.


Environments

Environment Base URL
live https://www.register-early-career-teachers.education.gov.uk/api/v3

You need to sign in to subscribe to an API environment or view your existing subscriptions.

Sign in here using GOV.UK One Login


Current release

Release name Available from
v3 16 May 2022

Operations

POST Create a partnership with a school and delivery partner

Description

Create a partnership with a school and delivery partner

URL template
/api/v3/partnerships
Show / Hide additional information

Request Model Example

{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}

Response Codes

Status code Description
200 The created partnership
401 Unauthorized
400 Bad request
422 Unprocessable entity

Example Request

curl -X POST \
  "https://{{baseURL}}/api/v3/partnerships" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}'

POST Declare a participant has reached a milestone. Idempotent endpoint - submitting exact copy of a request will return the same response body as submitting it the first time.

Description

Declare a participant has reached a milestone. Idempotent endpoint - submitting exact copy of a request will return the same response body as submitting it the first time.

URL template
/api/v3/participant-declarations
Show / Hide additional information

Request Model Example

{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ],
        [
          []
        ],
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}

Response Codes

Status code Description
200 The created declaration
401 Unauthorized
400 Bad request
422 Unprocessable entity

Example Request

curl -X POST \
  "https://{{baseURL}}/api/v3/participant-declarations" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ],
        [
          []
        ],
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}'

PUT Notify that a participant has withdrawn from their course

Description

Notify that a participant has withdrawn from their course

URL template
/api/v3/participants/{id}/withdraw
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Request Model Example

{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}

Response Codes

Status code Description
200 The participant being withdrawn
401 Unauthorized
400 Bad request
422 Unprocessable entity
404 Not found

Example Request

curl -X PUT \
  "https://{{baseURL}}/api/v3/participants/{id}/withdraw" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}'

PUT Notify that a participant is changing training schedule

Description

Notify that a participant is changing training schedule

URL template
/api/v3/participants/{id}/change-schedule
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Request Model Example

{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}

Response Codes

Status code Description
200 The participant changing schedule
401 Unauthorized
400 Bad request
422 Unprocessable entity
404 Not found

Example Request

curl -X PUT \
  "https://{{baseURL}}/api/v3/participants/{id}/change-schedule" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}'

PUT Notify that a participant is resuming their course

Description

Notify that a participant is resuming their course

URL template
/api/v3/participants/{id}/resume
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Request Model Example

{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ]
      ]
    ]
  ]
}

Response Codes

Status code Description
200 The participant being resumed
401 Unauthorized
400 Bad request
422 Unprocessable entity
404 Not found

Example Request

curl -X PUT \
  "https://{{baseURL}}/api/v3/participants/{id}/resume" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ]
      ]
    ]
  ]
}'

PUT Notify that a participant is taking a break from their course

Description

Notify that a participant is taking a break from their course

URL template
/api/v3/participants/{id}/defer
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Request Model Example

{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}

Response Codes

Status code Description
200 The participant being deferred
401 Unauthorized
400 Bad request
422 Unprocessable entity
404 Not found

Example Request

curl -X PUT \
  "https://{{baseURL}}/api/v3/participants/{id}/defer" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ],
        [
          []
        ]
      ]
    ]
  ]
}'

GET Retrieve a single declaration

Description

Retrieve a single declaration

URL template
/api/v3/participant-declarations/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 A single declaration
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/participant-declarations/{id}"

GET Retrieve a single delivery partner

Description

Retrieve a single delivery partner

URL template
/api/v3/delivery-partners/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 A single delivery partner
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/delivery-partners/{id}"

GET Retrieve a single financial statement details

Description

Retrieve a single financial statement details

URL template
/api/v3/statements/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 A single financial statement details
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/statements/{id}"

GET Retrieve a single participant

Description

Retrieve a single participant

URL template
/api/v3/participants/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 A single participant
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/participants/{id}"

GET Retrieve a single partnership

Description

Retrieve a single partnership

URL template
/api/v3/partnerships/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 A single partnership
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/partnerships/{id}"

GET Retrieve a single school scoped to cohort

Description

Retrieve a single school scoped to cohort

URL template
/api/v3/schools/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -
filter object Query Optional -

Response Codes

Status code Description
200 A single school scoped to cohort
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/schools/{id}"

GET Retrieve a single unfunded mentor

Description

Retrieve a single unfunded mentor

URL template
/api/v3/unfunded-mentors/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 A single unfunded mentor
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/unfunded-mentors/{id}"

GET Retrieve all participants with transfers

Description

Retrieve all participants with transfers

URL template
/api/v3/participants/transfers
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -
sort SortingTimestamps Query Optional -

Response Codes

Status code Description
200 A list of participants with transfers
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/participants/transfers"

GET Retrieve multiple declarations

Description

Retrieve multiple declarations

URL template
/api/v3/participant-declarations
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -

Response Codes

Status code Description
200 A list of declarations
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/participant-declarations"

GET Retrieve multiple delivery partners

Description

Retrieve multiple delivery partners

URL template
/api/v3/delivery-partners
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -
sort SortingTimestamps Query Optional -

Response Codes

Status code Description
200 A list of delivery partners
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/delivery-partners"

GET Retrieve multiple financial statement details

Description

Retrieve multiple financial statement details

URL template
/api/v3/statements
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -

Response Codes

Status code Description
200 A list of financial statements details
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/statements"

GET Retrieve multiple participants

Description

Retrieve multiple participants

URL template
/api/v3/participants
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -
sort SortingTimestamps Query Optional -

Response Codes

Status code Description
200 A list of participants
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/participants"

GET Retrieve multiple partnerships

Description

Retrieve multiple partnerships

URL template
/api/v3/partnerships
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -
sort SortingTimestamps Query Optional -

Response Codes

Status code Description
200 A list of partnerships
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/partnerships"

GET Retrieve multiple schools scoped to cohort

Description

Retrieve multiple schools scoped to cohort

URL template
/api/v3/schools
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -
sort SortingTimestamps Query Optional -

Response Codes

Status code Description
200 A list of schools scoped to cohort
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/schools"

GET Retrieve multiple unfunded mentors

Description

Retrieve multiple unfunded mentors

URL template
/api/v3/unfunded-mentors
Show / Hide additional information

Parameters

Name Type Location Field Description
filter object Query Optional -
page object Query Optional -
sort SortingTimestamps Query Optional -

Response Codes

Status code Description
200 A list of unfunded mentors
401 Unauthorized

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/unfunded-mentors"

GET Retrieve transfers for a given participant

Description

Retrieve transfers for a given participant

URL template
/api/v3/participants/{id}/transfers
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 Transfers for a given participant
401 Unauthorized
404 Not found

Example Request

curl -X GET \
  "https://{{baseURL}}/api/v3/participants/{id}/transfers"

PUT Update the delivery partner for an existing partnership in a cohort

Description

Update the delivery partner for an existing partnership in a cohort

URL template
/api/v3/partnerships/{id}
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Request Model Example

{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ]
      ]
    ]
  ]
}

Response Codes

Status code Description
200 The updated partnership
401 Unauthorized
400 Bad request
422 Unprocessable entity
404 Not found

Example Request

curl -X PUT \
  "https://{{baseURL}}/api/v3/partnerships/{id}" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    [
      []
    ],
    [
      [
        [
          []
        ]
      ]
    ]
  ]
}'

PUT Void a declaration

Description

Void a declaration

URL template
/api/v3/participant-declarations/{id}/void
Show / Hide additional information

Parameters

Name Type Location Field Description
id string Path Required -

Response Codes

Status code Description
200 The declaration being voided
401 Unauthorized
422 Unprocessable entity
404 Not found

Example Request

curl -X PUT \
  "https://{{baseURL}}/api/v3/participant-declarations/{id}/void"

Back to top