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
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
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
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
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
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
id
string
Path
Required
-
Request Model Example
{
"data": [
[
[]
],
[
[
[
[]
],
[
[]
]
]
]
]
}
Response Codes
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
id
string
Path
Required
-
Request Model Example
{
"data": [
[
[]
],
[
[
[
[]
],
[
[]
],
[
[]
]
]
]
]
}
Response Codes
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
id
string
Path
Required
-
Request Model Example
{
"data": [
[
[]
],
[
[
[
[]
]
]
]
]
}
Response Codes
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
id
string
Path
Required
-
Request Model Example
{
"data": [
[
[]
],
[
[
[
[]
],
[
[]
]
]
]
]
}
Response Codes
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
id
string
Path
Required
-
Response Codes
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
id
string
Path
Required
-
Response Codes
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
id
string
Path
Required
-
Response Codes
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
id
string
Path
Required
-
Response Codes
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
id
string
Path
Required
-
Response Codes
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
id
string
Path
Required
-
filter
object
Query
Optional
-
Response Codes
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
id
string
Path
Required
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
sort
SortingTimestamps
Query
Optional
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
sort
SortingTimestamps
Query
Optional
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
sort
SortingTimestamps
Query
Optional
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
sort
SortingTimestamps
Query
Optional
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
sort
SortingTimestamps
Query
Optional
-
Response Codes
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
filter
object
Query
Optional
-
page
object
Query
Optional
-
sort
SortingTimestamps
Query
Optional
-
Response Codes
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
id
string
Path
Required
-
Response Codes
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
id
string
Path
Required
-
Request Model Example
{
"data": [
[
[]
],
[
[
[
[]
]
]
]
]
}
Response Codes
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
id
string
Path
Required
-
Response Codes
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