Lead provider API - 3.0.0
The lead provider API for DfE’s manage teacher CPD service.
Base URLs
Sandbox
https://sb.manage-training-for-early-career-teachers.education.gov.ukCurrent environment
/Production
https://manage-training-for-early-career-teachers.education.gov.ukGET /api/v3/delivery-partners
Note, this endpoint is new.
Retrieve delivery partners
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter | query | object | false | Refine delivery partners to return. This consumes a DeliveryPartnersFilter schema. | filter[cohort]=2021 | 
| page | query | object | false | Pagination options to navigate through the list of delivery partners. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
| sort | query | array | false | Sort delivery partners being returned. This consumes a DeliveryPartnersSort schema. | sort=-updated_at | 
Responses
| Status | Description | 
|---|---|
| 200 | Successfully return a list of delivery partners This response returns a DeliveryPartnersResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - Successfully return a list of delivery partners
This response returns a DeliveryPartnersResponse schema.
{
  "data": [
    {
      "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
      "type": "delivery-partner",
      "attributes": {
        "name": "Awesome Delivery Partner Ltd",
        "cohort": [
          "2021",
          "2022"
        ],
        "created_at": "2021-05-31T02:22:32.000Z",
        "updated_at": "2021-05-31T02:22:32.000Z"
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}GET /api/v3/delivery-partners/{id}
Note, this endpoint is new.
Retrieve a specific delivery partner
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The unique ID of the delivery partner | 00acafd3-e6f6-41e7-a770-3207be94f755 | 
Responses
| Status | Description | 
|---|---|
| 200 | Successfully return a specific delivery partner This response returns a DeliveryPartnerResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - Successfully return a specific delivery partner
This response returns a DeliveryPartnerResponse schema.
{
  "data": {
    "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
    "type": "delivery-partner",
    "attributes": {
      "name": "Awesome Delivery Partner Ltd",
      "cohort": [
        "2021",
        "2022"
      ],
      "created_at": "2021-05-31T02:22:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}GET /api/v3/partnerships/ecf
Note, this endpoint is new.
Retrieve multiple ECF partnerships
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter | query | object | false | Refine partnerships to return. This consumes a PartnershipsFilter schema. | filter[cohort]=2021,2022 | 
| page | query | object | false | Pagination options to navigate through the list of partnerships. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
| sort | query | array | false | Sort partnerships being returned. This consumes a PartnershipsSort schema. | sort=-updated_at | 
Responses
| Status | Description | 
|---|---|
| 200 | A list of ECF partnerships This response returns a MultipleECFPartnershipsResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - A list of ECF partnerships
This response returns a MultipleECFPartnershipsResponse schema.
{
  "data": [
    {
      "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
      "type": "partnership",
      "attributes": {
        "cohort": 2021,
        "urn": "123456",
        "school_id": "dd4a11347-7308-4879-942a-c4a70ced400v",
        "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
        "delivery_partner_name": "Delivery Partner Example",
        "status": "challenged",
        "challenged_reason": "mistake",
        "challenged_at": "2021-05-31T02:22:32.000Z",
        "induction_tutor_name": "John Doe",
        "induction_tutor_email": "john.doe@example.com",
        "updated_at": "2021-05-31T02:22:32.000Z",
        "created_at": "2021-05-31T02:22:32.000Z"
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}POST /api/v3/partnerships/ecf
Note, this endpoint is new.
Create an ECF partnership with a school and delivery partner
Request body
This consumes a ECFPartnershipRequest schema.
Request example
{
  "data": {
    "type": "ecf-partnership",
    "attributes": {
      "cohort": "2021",
      "school_id": "24b61d1c-ad95-4000-aee0-afbdd542294a",
      "delivery_partner_id": "db2fbf67-b7b7-454f-a1b7-0020411e2314"
    }
  }
}Responses
| Status | Description | 
|---|---|
| 200 | Create an ECF partnership This response returns a ECFPartnershipResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 422 | Unprocessable entity This response returns a ECFPartnershipRequestErrorResponse schema. | 
Response examples
200 - Create an ECF partnership
This response returns a ECFPartnershipResponse schema.
{
  "data": {
    "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
    "type": "partnership",
    "attributes": {
      "cohort": 2021,
      "urn": "123456",
      "school_id": "dd4a11347-7308-4879-942a-c4a70ced400v",
      "delivery_partner_id": "db2fbf67-b7b7-454f-a1b7-0020411e2314",
      "delivery_partner_name": "Delivery Partner Example",
      "status": "active",
      "challenged_reason": null,
      "challenged_at": null,
      "induction_tutor_name": "John Doe",
      "induction_tutor_email": "john.doe@example.com",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "created_at": "2021-05-31T02:22:32.000Z"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}422 - Unprocessable entity
This response returns a ECFPartnershipRequestErrorResponse schema.
{
  "error": [
    {
      "title": "Recruited by other provider",
      "detail": "This partnership cannot be created as it has already partnered with another provider"
    }
  ]
}GET /api/v3/partnerships/ecf/{id}
Note, this endpoint is new.
Get a single ECF partnership
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The unique ID of the partnership | 00acafd3-e6f6-41e7-a770-3207be94f755 | 
Responses
| Status | Description | 
|---|---|
| 200 | A single partnership This response returns a ECFPartnershipResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - A single partnership
This response returns a ECFPartnershipResponse schema.
{
  "data": {
    "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
    "type": "partnership",
    "attributes": {
      "cohort": 2021,
      "urn": "123456",
      "school_id": "dd4a11347-7308-4879-942a-c4a70ced400v",
      "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
      "delivery_partner_name": "Delivery Partner Example",
      "status": "challenged",
      "challenged_reason": "mistake",
      "challenged_at": "2021-05-31T02:22:32.000Z",
      "induction_tutor_name": "John Doe",
      "induction_tutor_email": "john.doe@example.com",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "created_at": "2021-05-31T02:22:32.000Z"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}PUT /api/v3/partnerships/ecf/{id}
Note, this endpoint is new.
Update a partnership’s delivery partner in an existing partnership in a cohort
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the partnership to update | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Request body
This consumes a ECFPartnershipUpdateRequest schema.
Request example
{
  "data": {
    "type": "ecf-partnership-update",
    "attributes": {
      "delivery_partner_id": "db2fbf67-b7b7-454f-a1b7-0020411e2314"
    }
  }
}Responses
| Status | Description | 
|---|---|
| 200 | Update an ECF partnership This response returns a ECFPartnershipResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 422 | Unprocessable entity This response returns a ECFPartnershipRequestErrorResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - Update an ECF partnership
This response returns a ECFPartnershipResponse schema.
{
  "data": {
    "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
    "type": "partnership",
    "attributes": {
      "cohort": 2021,
      "urn": "123456",
      "school_id": "dd4a11347-7308-4879-942a-c4a70ced400v",
      "delivery_partner_id": "db2fbf67-b7b7-454f-a1b7-0020411e2314",
      "delivery_partner_name": "Delivery Partner Example",
      "status": "active",
      "challenged_reason": null,
      "challenged_at": null,
      "induction_tutor_name": "John Doe",
      "induction_tutor_email": "john.doe@example.com",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "created_at": "2021-05-31T02:22:32.000Z"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}422 - Unprocessable entity
This response returns a ECFPartnershipRequestErrorResponse schema.
{
  "error": [
    {
      "title": "Recruited by other provider",
      "detail": "This partnership cannot be created as it has already partnered with another provider"
    }
  ]
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}GET /api/v3/schools/ecf
Note, this endpoint is new.
Retrieve multiple ECF schools scoped to cohort
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter[cohort] | query | object | true | Refine schools to return. This consumes a ECFSchoolsFilter schema. | filter[cohort]=2021 | 
| filter[urn] | query | object | false | Refine schools to return. This consumes a ECFSchoolsFilter schema. | filter[urn]=106286 | 
| filter[updated_since] | query | object | false | Refine schools to return. This consumes a ECFSchoolsFilter schema. | filter[updated_since]=2020-11-13T11:21:55Z | 
| page | query | object | false | Pagination options to navigate through the list of schools. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
| sort | query | array | false | Sort schools being returned. This consumes a ECFSchoolsSort schema. | sort=-updated_at | 
Responses
| Status | Description | 
|---|---|
| 200 | A list of schools for the given cohort This response returns a MultipleECFSchoolsResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - A list of schools for the given cohort
This response returns a MultipleECFSchoolsResponse schema.
{
  "data": [
    {
      "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
      "type": "school",
      "attributes": {
        "name": "School Example",
        "urn": "123456",
        "cohort": 2021,
        "in_partnership": "boolean",
        "induction_programme_choice": "not_yet_known",
        "created_at": "2021-05-31T02:22:32.000Z",
        "updated_at": "2021-05-31T02:22:32.000Z"
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}GET /api/v3/schools/ecf/{id}
Note, this endpoint is new.
Get a single ECF school scoped to cohort
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The unique ID of the school | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
| filter[cohort] | query | object | true | Refine schools to return. This consumes a ECFSchoolsFilter schema. | filter[cohort]=2021 | 
Responses
| Status | Description | 
|---|---|
| 200 | A single school This response returns a ECFSchoolResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - A single school
This response returns a ECFSchoolResponse schema.
{
  "data": {
    "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
    "type": "school",
    "attributes": {
      "name": "School Example",
      "urn": "123456",
      "cohort": 2021,
      "in_partnership": "boolean",
      "induction_programme_choice": "not_yet_known",
      "created_at": "2021-05-31T02:22:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}GET /api/v3/participant-declarations
Note, this endpoint includes updated specifications.
List all participant declarations
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter | query | object | false | Refine participant declarations to return. This consumes a ParticipantDeclarationsFilter schema. | filter[participant_id]=ab3a7848-1208-7679-942a-b4a70eed400a&filter[updated_since]=2020-11-13T11:21:55Z | 
| page | query | object | false | Pagination options to navigate through the list of participant declarations. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
Responses
| Status | Description | 
|---|---|
| 200 | A list of participant declarations This response returns a MultipleParticipantDeclarationsResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - A list of participant declarations
This response returns a MultipleParticipantDeclarationsResponse schema.
{
  "data": [
    {
      "id": "db3a7848-7308-4879-942a-c4a70ced400a",
      "type": "participant-declaration",
      "attributes": {
        "participant_id": "08d78829-f864-417f-8a30-cb7655714e28",
        "declaration_type": "started",
        "declaration_date": "2020-11-13T11:21:55Z",
        "course_identifier": "ecf-induction",
        "state": "eligible",
        "updated_at": "2020-11-13T11:21:55Z",
        "created_at": "2020-11-13T11:21:55Z",
        "delivery_partner_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
        "statement_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
        "clawback_statement_id": null,
        "ineligible_for_funding_reason": null,
        "mentor_id": "907f61ed-5770-4d38-b22c-1a4265939378",
        "uplift_paid": true,
        "evidence_held": "other",
        "has_passed": null,
        "lead_provider_name": "Example Institute"
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}POST /api/v3/participant-declarations
Note, this endpoint includes updated specifications.
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.
Request body
This consumes a ParticipantDeclarationRequest schema.
Responses
| Status | Description | 
|---|---|
| 200 | Successful This response returns a SingleParticipantDeclarationResponse schema. | 
| 422 | Bad or Missing parameter This response returns a ErrorResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 400 | Bad Request This response returns a BadRequestResponse schema. | 
Response examples
200 - Successful
This response returns a SingleParticipantDeclarationResponse schema.
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant-declaration",
    "attributes": {
      "participant_id": "08d78829-f864-417f-8a30-cb7655714e28",
      "declaration_type": "started",
      "declaration_date": "2020-11-13T11:21:55Z",
      "course_identifier": "ecf-induction",
      "state": "eligible",
      "updated_at": "2020-11-13T11:21:55Z",
      "created_at": "2020-11-13T11:21:55Z",
      "delivery_partner_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
      "statement_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
      "clawback_statement_id": null,
      "ineligible_for_funding_reason": null,
      "mentor_id": "907f61ed-5770-4d38-b22c-1a4265939378",
      "uplift_paid": true,
      "evidence_held": "other",
      "has_passed": null,
      "lead_provider_name": "Example Institute"
    }
  }
}422 - Bad or Missing parameter
This response returns a ErrorResponse schema.
{
  "error": [
    {
      "title": "string",
      "detail": "string"
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}400 - Bad Request
This response returns a BadRequestResponse schema.
{
  "bad_request": "string"
}GET /api/v3/participant-declarations/{id}
Note, this endpoint includes updated specifications.
Get single participant declaration
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the participant declaration ID | 9ed4612b-f8bd-44d9-b296-38ab103fadd2 | 
Responses
| Status | Description | 
|---|---|
| 200 | A single participant declaration This response returns a SingleParticipantDeclarationResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not found This response returns a NotFoundResponse schema. | 
Response examples
200 - A single participant declaration
This response returns a SingleParticipantDeclarationResponse schema.
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant-declaration",
    "attributes": {
      "participant_id": "08d78829-f864-417f-8a30-cb7655714e28",
      "declaration_type": "started",
      "declaration_date": "2020-11-13T11:21:55Z",
      "course_identifier": "ecf-induction",
      "state": "eligible",
      "updated_at": "2020-11-13T11:21:55Z",
      "created_at": "2020-11-13T11:21:55Z",
      "delivery_partner_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
      "statement_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
      "clawback_statement_id": null,
      "ineligible_for_funding_reason": null,
      "mentor_id": "907f61ed-5770-4d38-b22c-1a4265939378",
      "uplift_paid": true,
      "evidence_held": "other",
      "has_passed": null,
      "lead_provider_name": "Example Institute"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}PUT /api/v3/participant-declarations/{id}/void
Note, this endpoint includes updated specifications.
Void a declaration - it will not be soft-deleted
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the declaration to void | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Responses
| Status | Description | 
|---|---|
| 200 | Successful This response returns a SingleParticipantDeclarationResponse schema. | 
Response examples
200 - Successful
This response returns a SingleParticipantDeclarationResponse schema.
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant-declaration",
    "attributes": {
      "participant_id": "08d78829-f864-417f-8a30-cb7655714e28",
      "declaration_type": "started",
      "declaration_date": "2020-11-13T11:21:55Z",
      "course_identifier": "ecf-induction",
      "state": "voided",
      "updated_at": "2020-11-13T11:21:55Z",
      "created_at": "2020-11-13T11:21:55Z",
      "delivery_partner_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
      "statement_id": "99ca2223-8c1f-4ac8-985d-a0672e97694e",
      "clawback_statement_id": null,
      "ineligible_for_funding_reason": null,
      "mentor_id": "907f61ed-5770-4d38-b22c-1a4265939378",
      "uplift_paid": true,
      "evidence_held": "other",
      "has_passed": null,
      "lead_provider_name": "Example Institute"
    }
  }
}GET /api/v3/participants/ecf
Note, this endpoint includes updated specifications.
Retrieve multiple participants, replaces /api/v3/participants
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter | query | object | false | Refine ECF participants to return. This consumes a ECFParticipantFilter schema. | filter[cohort]=2022&filter[from_participant_id]=439ac4fe-a003-417f-9694-07c45b3482f8&filter[training_status]=active&filter[updated_since]=2020-11-13T11:21:55Z | 
| page | query | object | false | Pagination options to navigate through the list of ECF participants. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
| sort | query | array | false | Sort ECF participants being returned. This consumes a ECFParticipantsSort schema. | sort=-updated_at | 
Responses
| Status | Description | 
|---|---|
| 200 | A list of ECF participants This response returns a MultipleECFParticipantsResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - A list of ECF participants
This response returns a MultipleECFParticipantsResponse schema.
{
  "data": [
    {
      "id": "ac3d1243-7308-4879-942a-c4a70ced400a",
      "type": "participant",
      "attributes": {
        "full_name": "Jane Smith",
        "teacher_reference_number": "1234567",
        "updated_at": "2021-05-31T02:22:32.000Z",
        "ecf_enrolments": [
          {
            "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
            "email": "jane.smith@some-school.example.com",
            "mentor_id": "bb36d74a-68a7-47b6-86b6-1fd0d141c590",
            "school_urn": "106286",
            "participant_type": "ect",
            "cohort": "2021",
            "training_status": "active",
            "participant_status": "active",
            "teacher_reference_number_validated": true,
            "eligible_for_funding": true,
            "pupil_premium_uplift": true,
            "sparsity_uplift": true,
            "schedule_identifier": "ecf-standard-january",
            "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
            "withdrawal": null,
            "deferral": null,
            "created_at": "2021-05-31T02:22:32.000Z",
            "induction_end_date": "2022-01-12",
            "mentor_funding_end_date": "2021-04-19",
            "cohort_changed_after_payments_frozen": true,
            "mentor_ineligible_for_funding_reason": "completed_declaration_received"
          }
        ],
        "participant_id_changes": [
          {
            "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
            "to_participant_id": "ac3d1243-7308-4879-942a-c4a70ced400a",
            "changed_at": "2021-05-31T02:22:32.000Z"
          }
        ]
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}GET /api/v3/participants/ecf/{id}
Note, this endpoint includes updated specifications.
Get a single ECF participant
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the ECF participant. | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Responses
| Status | Description | 
|---|---|
| 200 | A single ECF participant This response returns a ECFParticipantResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - A single ECF participant
This response returns a ECFParticipantResponse schema.
{
  "data": {
    "id": "ac3d1243-7308-4879-942a-c4a70ced400a",
    "type": "participant",
    "attributes": {
      "full_name": "Jane Smith",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ecf_enrolments": [
        {
          "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
          "email": "jane.smith@some-school.example.com",
          "mentor_id": "bb36d74a-68a7-47b6-86b6-1fd0d141c590",
          "school_urn": "106286",
          "participant_type": "ect",
          "cohort": "2021",
          "training_status": "active",
          "participant_status": "active",
          "teacher_reference_number_validated": true,
          "eligible_for_funding": true,
          "pupil_premium_uplift": true,
          "sparsity_uplift": true,
          "schedule_identifier": "ecf-standard-january",
          "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
          "withdrawal": null,
          "deferral": null,
          "created_at": "2021-05-31T02:22:32.000Z",
          "induction_end_date": "2022-01-12",
          "mentor_funding_end_date": "2021-04-19",
          "cohort_changed_after_payments_frozen": true,
          "mentor_ineligible_for_funding_reason": "completed_declaration_received"
        }
      ],
      "participant_id_changes": [
        {
          "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
          "to_participant_id": "ac3d1243-7308-4879-942a-c4a70ced400a",
          "changed_at": "2021-05-31T02:22:32.000Z"
        }
      ]
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}GET /api/v3/participants/ecf/transfers
Note, this endpoint is new.
Retrieve multiple ECF participant transfers
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter | query | object | false | Refine participant transfers to return. This consumes a ListFilter schema. | filter[updated_since]=2020-11-13T11:21:55Z | 
| page | query | object | false | Pagination options to navigate through the list of participant transfers. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
Responses
| Status | Description | 
|---|---|
| 200 | A list of ECF participant transfers This response returns a MultipleECFParticipantTransferResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - A list of ECF participant transfers
This response returns a MultipleECFParticipantTransferResponse schema.
{
  "data": [
    {
      "id": "db3a7848-7308-4879-942a-c4a70ced400a",
      "type": "participant-transfer",
      "attributes": {
        "updated_at": "2021-05-31T02:22:32.000Z",
        "transfers": {
          "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
          "transfer_type": "new_provider",
          "status": "complete",
          "leaving": {
            "school_urn": "123456",
            "provider": "Old Institute",
            "date": "2021-05-31"
          },
          "joining": {
            "school_urn": "654321",
            "provider": "New Institute",
            "date": "2021-06-01"
          },
          "created_at": "2021-05-31T02:22:32.000Z"
        }
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}PUT /api/v3/participants/ecf/{id}/defer
Note, this endpoint includes updated specifications.
Notify that an ECF participant is taking a break from their course
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the participant to defer | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Request body
This consumes a ECFParticipantDeferRequest schema.
Request example
{
  "data": {
    "type": "participant-defer",
    "attributes": {
      "reason": "career-break",
      "course_identifier": "ecf-mentor"
    }
  }
}Responses
| Status | Description | 
|---|---|
| 200 | The ECF participant being deferred This response returns a ECFParticipantResponse schema. | 
Response examples
200 - The ECF participant being deferred
This response returns a ECFParticipantResponse schema.
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant",
    "attributes": {
      "full_name": "Jane Smith",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ecf_enrolments": [
        {
          "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
          "email": "jane.smith@some-school.example.com",
          "mentor_id": "bb36d74a-68a7-47b6-86b6-1fd0d141c590",
          "school_urn": "106286",
          "participant_type": "ect",
          "cohort": "2021",
          "training_status": "withdrawn",
          "participant_status": "withdrawn",
          "teacher_reference_number_validated": true,
          "eligible_for_funding": true,
          "pupil_premium_uplift": true,
          "sparsity_uplift": true,
          "schedule_identifier": "ecf-standard-january",
          "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
          "withdrawal": null,
          "deferral": {
            "reason": "other",
            "date": "2021-06-31T02:22:32.000Z"
          },
          "created_at": "2022-11-09T16:07:38Z",
          "induction_end_date": "2022-01-12",
          "mentor_funding_end_date": "2021-04-19",
          "cohort_changed_after_payments_frozen": true,
          "mentor_ineligible_for_funding_reason": null
        }
      ],
      "participant_id_changes": [
        {
          "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
          "to_participant_id": "db3a7848-7308-4879-942a-c4a70ced400a",
          "changed_at": "2023-09-23T02:22:32.000Z"
        }
      ]
    }
  }
}PUT /api/v3/participants/ecf/{id}/resume
Note, this endpoint includes updated specifications.
Notify that an ECF participant is resuming their course
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the participant to resume | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Request body
This consumes a ECFParticipantResumeRequest schema.
Request example
{
  "data": {
    "type": "participant-resume",
    "attributes": {
      "course_identifier": "ecf-mentor"
    }
  }
}Responses
| Status | Description | 
|---|---|
| 200 | The ECF participant being resumed This response returns a ECFParticipantResponse schema. | 
Response examples
200 - The ECF participant being resumed
This response returns a ECFParticipantResponse schema.
{
  "data": {
    "id": "ac3d1243-7308-4879-942a-c4a70ced400a",
    "type": "participant",
    "attributes": {
      "full_name": "Jane Smith",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ecf_enrolments": [
        {
          "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
          "email": "jane.smith@some-school.example.com",
          "mentor_id": "bb36d74a-68a7-47b6-86b6-1fd0d141c590",
          "school_urn": "106286",
          "participant_type": "ect",
          "cohort": "2021",
          "training_status": "active",
          "participant_status": "active",
          "teacher_reference_number_validated": true,
          "eligible_for_funding": true,
          "pupil_premium_uplift": true,
          "sparsity_uplift": true,
          "schedule_identifier": "ecf-standard-january",
          "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
          "withdrawal": null,
          "deferral": null,
          "created_at": "2021-05-31T02:22:32.000Z",
          "induction_end_date": "2022-01-12",
          "mentor_funding_end_date": "2021-04-19",
          "cohort_changed_after_payments_frozen": true,
          "mentor_ineligible_for_funding_reason": "completed_declaration_received"
        }
      ],
      "participant_id_changes": [
        {
          "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
          "to_participant_id": "ac3d1243-7308-4879-942a-c4a70ced400a",
          "changed_at": "2021-05-31T02:22:32.000Z"
        }
      ]
    }
  }
}PUT /api/v3/participants/ecf/{id}/withdraw
Note, this endpoint includes updated specifications.
Notify that an ECF participant has withdrawn from their course
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the participant to withdraw | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Request body
This consumes a ECFParticipantWithdrawRequest schema.
Request example
{
  "data": {
    "type": "participant-withdraw",
    "attributes": {
      "reason": "left-teaching-profession",
      "course_identifier": "ecf-mentor"
    }
  }
}Responses
| Status | Description | 
|---|---|
| 200 | The ECF participant being withdrawn This response returns a ECFParticipantResponse schema. | 
Response examples
200 - The ECF participant being withdrawn
This response returns a ECFParticipantResponse schema.
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant",
    "attributes": {
      "full_name": "Jane Smith",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ecf_enrolments": [
        {
          "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
          "email": "jane.smith@some-school.example.com",
          "mentor_id": "bb36d74a-68a7-47b6-86b6-1fd0d141c590",
          "school_urn": "106286",
          "participant_type": "ect",
          "cohort": "2021",
          "training_status": "withdrawn",
          "participant_status": "withdrawn",
          "teacher_reference_number_validated": true,
          "eligible_for_funding": true,
          "pupil_premium_uplift": true,
          "sparsity_uplift": true,
          "schedule_identifier": "ecf-standard-january",
          "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
          "withdrawal": {
            "reason": "other",
            "date": "2021-06-31T02:22:32.000Z"
          },
          "deferral": null,
          "created_at": "2022-11-09T16:07:38Z",
          "induction_end_date": "2022-01-12",
          "mentor_funding_end_date": "2021-04-19",
          "cohort_changed_after_payments_frozen": false,
          "mentor_ineligible_for_funding_reason": null
        }
      ],
      "participant_id_changes": [
        {
          "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
          "to_participant_id": "db3a7848-7308-4879-942a-c4a70ced400a",
          "changed_at": "2023-09-23T02:22:32.000Z"
        }
      ]
    }
  }
}GET /api/v3/participants/ecf/{id}/transfers
Note, this endpoint is new.
Get a single participant’s transfers
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the ECF participant. | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Responses
| Status | Description | 
|---|---|
| 200 | A single participant’s transfers This response returns a ECFParticipantTransferResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - A single participant’s transfers
This response returns a ECFParticipantTransferResponse schema.
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant-transfer",
    "attributes": {
      "updated_at": "2021-05-31T02:22:32.000Z",
      "transfers": [
        {
          "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
          "transfer_type": "new_provider",
          "status": "complete",
          "leaving": null,
          "joining": null,
          "created_at": "2021-05-31T02:22:32.000Z"
        }
      ]
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}PUT /api/v3/participants/ecf/{id}/change-schedule
Note, this endpoint includes updated specifications.
Notify that an ECF Participant is changing training schedule
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the participant | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Request body
This consumes a ECFParticipantChangeScheduleRequest schema.
Request example
{
  "data": {
    "type": "participant-change-schedule",
    "attributes": {
      "schedule_identifier": "ecf-standard-january",
      "course_identifier": "ecf-mentor",
      "cohort": "2021"
    }
  }
}Responses
| Status | Description | 
|---|---|
| 200 | The ECF Participant changing schedule This response returns a ECFParticipantResponse schema. | 
Response examples
200 - The ECF Participant changing schedule
This response returns a ECFParticipantResponse schema.
{
  "data": {
    "id": "ac3d1243-7308-4879-942a-c4a70ced400a",
    "type": "participant",
    "attributes": {
      "full_name": "Jane Smith",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ecf_enrolments": [
        {
          "training_record_id": "000a97ff-d2a9-4779-a397-9bfd9063072e",
          "email": "jane.smith@some-school.example.com",
          "mentor_id": "bb36d74a-68a7-47b6-86b6-1fd0d141c590",
          "school_urn": "106286",
          "participant_type": "ect",
          "cohort": "2021",
          "training_status": "active",
          "participant_status": "active",
          "teacher_reference_number_validated": true,
          "eligible_for_funding": true,
          "pupil_premium_uplift": true,
          "sparsity_uplift": true,
          "schedule_identifier": "ecf-standard-january",
          "delivery_partner_id": "cd3a12347-7308-4879-942a-c4a70ced400a",
          "withdrawal": null,
          "deferral": null,
          "created_at": "2021-05-31T02:22:32.000Z",
          "induction_end_date": "2022-01-12",
          "mentor_funding_end_date": "2021-04-19",
          "cohort_changed_after_payments_frozen": true,
          "mentor_ineligible_for_funding_reason": "completed_declaration_received"
        }
      ],
      "participant_id_changes": [
        {
          "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
          "to_participant_id": "ac3d1243-7308-4879-942a-c4a70ced400a",
          "changed_at": "2021-05-31T02:22:32.000Z"
        }
      ]
    }
  }
}GET /api/v3/unfunded-mentors/ecf
Note, this endpoint is new.
Retrieve multiple unfunded mentors
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter | query | object | false | Refine unfunded mentors to return. This consumes a ListFilter schema. | filter[updated_since]=2020-11-13T11:21:55Z | 
| page | query | object | false | Pagination options to navigate through the list of unfunded mentors. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
| sort | query | array | false | Sort unfunded mentors being returned. This consumes a ECFUnfundedMentorsSort schema. | sort=-updated_at | 
Responses
| Status | Description | 
|---|---|
| 200 | A list of unfunded mentors This response returns a MultipleUnfundedMentorsResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - A list of unfunded mentors
This response returns a MultipleUnfundedMentorsResponse schema.
{
  "data": [
    {
      "id": "db3a7848-7308-4879-942a-c4a70ced400a",
      "type": "unfunded-mentor",
      "attributes": {
        "full_name": "Jane Smith",
        "email": "jane.smith@some-school.example.com",
        "teacher_reference_number": "1234567",
        "created_at": "2021-05-31T02:22:32.000Z",
        "updated_at": "2021-05-31T02:22:32.000Z"
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}GET /api/v3/unfunded-mentors/ecf/{id}
Note, this endpoint is new.
Get a single unfunded mentor
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The ID of the unfunded mentor. | 28c461ee-ffc0-4e56-96bd-788579a0ed75 | 
Responses
| Status | Description | 
|---|---|
| 200 | A single unfunded mentor This response returns a UnfundedMentorResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - A single unfunded mentor
This response returns a UnfundedMentorResponse schema.
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "unfunded-mentor",
    "attributes": {
      "full_name": "Jane Smith",
      "email": "jane.smith@some-school.example.com",
      "teacher_reference_number": "1234567",
      "created_at": "2021-05-31T02:22:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}GET /api/v3/statements
Note, this endpoint is new.
Retrieve financial statements
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| filter | query | object | false | Refine statements to return. This consumes a StatementsFilter schema. | filter[cohort]=2021,2022&filter[type]=ecf&filter[updated_since]=2020-11-13T11:21:55Z | 
| page | query | object | false | Pagination options to navigate through the list of statements. This consumes a Pagination schema. | page[page]=1&page[per_page]=5 | 
Responses
| Status | Description | 
|---|---|
| 200 | A list of statements as part of which the DfE will make output payments for ecf participants This response returns a StatementsResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
Response examples
200 - A list of statements as part of which the DfE will make output payments for ecf participants
This response returns a StatementsResponse schema.
{
  "data": [
    {
      "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
      "type": "statement",
      "attributes": {
        "month": "May",
        "year": "2022",
        "type": "ecf",
        "cohort": "2021",
        "cut_off_date": "2022-04-30",
        "payment_date": "2022-05-25",
        "paid": true,
        "created_at": "2021-05-31T02:22:32.000Z",
        "updated_at": "2021-05-31T02:22:32.000Z"
      }
    }
  ]
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}GET /api/v3/statements/{id}
Note, this endpoint is new.
Retrieve specific financial statement
Parameters
| Parameter | In | Type | Required | Description | Example | 
|---|---|---|---|---|---|
| id | path | string | true | The unique ID of the statement | fe82db5d-a7ff-42b4-9eb7-19a87bf0ce5f | 
Responses
| Status | Description | 
|---|---|
| 200 | A specific financial statement This response returns a StatementResponse schema. | 
| 401 | Unauthorized This response returns a UnauthorisedResponse schema. | 
| 404 | Not Found This response returns a NotFoundResponse schema. | 
Response examples
200 - A specific financial statement
This response returns a StatementResponse schema.
{
  "data": {
    "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
    "type": "statement",
    "attributes": {
      "month": "May",
      "year": "2022",
      "type": "ecf",
      "cohort": "2021",
      "cut_off_date": "2022-04-30",
      "payment_date": "2022-05-25",
      "paid": true,
      "created_at": "2021-05-31T02:22:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z"
    }
  }
}401 - Unauthorized
This response returns a UnauthorisedResponse schema.
{
  "error": "HTTP Token: Access denied"
}404 - Not Found
This response returns a NotFoundResponse schema.
{
  "title": "string",
  "detail": "string"
}Schemas
BadOrMissingParametersResponse
Request was missing data or contained invalid data
| Name | Type | Required | Description | 
|---|---|---|---|
| bad_or_missing_parameters | array | true | An error message for each bad or missing attribute describing the problems | 
BadRequestResponse
Bad Request
| Name | Type | Required | Description | 
|---|---|---|---|
| bad_request | string | false | An error message for bad request | 
Example
{
  "errors": [
    {
      "title": "Bad request",
      "detail": "correct json data structure required. See API docs for reference"
    }
  ]
}DeliveryPartner
A delivery partner
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the delivery partner | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with a delivery partnerIt conforms to DeliveryPartnerAttributes schema. | 
DeliveryPartnerAttributes
The data attributes associated with a delivery partner
| Name | Type | Required | Description | 
|---|---|---|---|
| name | string | true | The name of the delivery partner you are working with | 
| cohort | array | false | The cohorts for which you may report school partnerships with this delivery partner | 
| created_at | string | true | The date and time the delivery partner was created | 
| updated_at | string | true | The date and time the delivery partner was last updated | 
DeliveryPartnerCohortError
Not a delivery partner you have a relationship with for this cohort
| Name | Type | Required | Description | 
|---|---|---|---|
| title | string | false | Title of error message Possible values: 
 | 
| detail | string | false | Additional info on which cohorts are available | 
DeliveryPartnerResponse
A delivery partner
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | A delivery partnerIt conforms to DeliveryPartner schema. | 
DeliveryPartnersFilter
Filter delivery partners to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| cohort | string | false | Return delivery partners from the specified cohort or cohorts. This is a comma delimited string of years. | 
DeliveryPartnersResponse
A list of delivery partners
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to DeliveryPartner schema. | 
DeliveryPartnersSort
Sort delivery partners being returned
| Name | Type | Required | Description | 
|---|---|---|---|
| Item | string | false | It conforms to DeliveryPartnersSort/items schema. Possible values: 
 | 
ECFDeferral
The details of an ECF Participant deferral
| Name | Type | Required | Description | 
|---|---|---|---|
| reason | string | true | The reason a participant was deferred Possible values: 
 | 
| date | string | true | The date and time the participant was deferred | 
Example
{
  "reason": "career-break",
  "date": "2021-05-31T02:22:32.000Z"
}ECFEnrolment
The details of an ECF Participant enrolment
| Name | Type | Required | Description | 
|---|---|---|---|
| training_record_id | string | true | The unique identifier of the participant training record. Should the DfE dedupe a participant, this value will not change. | 
| string | true | The email address registered for this ECF participant | |
| mentor_id | string | false | The unique identifier of this ECF participants mentor | 
| school_urn | string | true | The Unique Reference Number (URN) of the school that submitted this ECF participant | 
| participant_type | string | true | The type of ECF participant this record refers to Possible values: 
 | 
| cohort | string | true | Indicates which call-off contract funds this participant’s training. 2021 indicates a participant that has started, or will start, their training in the 2021/22 academic year. | 
| training_status | string | true | The training status of the ECF participant Possible values: 
 | 
| participant_status | string | true | Replaces the old status field. Indicates if a SIT has advised DfE of a transfer or a withdrawal of the participant from the school Possible values: 
 | 
| teacher_reference_number_validated | boolean | true | Indicates whether the Teacher Reference Number (TRN) has been validated | 
| eligible_for_funding | boolean | true | Indicates whether this participant is eligible to receive DfE funded induction | 
| pupil_premium_uplift | boolean | true | Indicates whether this participant qualifies for an uplift payment due to pupil premium | 
| sparsity_uplift | boolean | true | Indicates whether this participant qualifies for an uplift payment due to sparsity | 
| schedule_identifier | string | true | The schedule of the ECF participant. For the possible values please refer to the ECF schedules and milestone dates guidance. Possible values: 
 | 
| delivery_partner_id | string | true | Unique ID of the delivery partner associated with the participant | 
| withdrawal | false | This conforms to any of the following schemas: | |
| deferral | false | This conforms to any of the following schemas: | |
| created_at | string | true | The date and time the ECF participant was created | 
| induction_end_date | string | false | The ECF participant induction end date | 
| mentor_funding_end_date | string | false | The ECF participant mentor training completion date | 
| cohort_changed_after_payments_frozen | boolean | false | Identify participants that migrated to a new cohort as payments were frozen on their original cohort | 
| mentor_ineligible_for_funding_reason | string | false | The reason why funding for a mentor’s training has ended Possible values: 
 | 
ECFParticipant
Note, this endpoint includes updated specifications.
The details of a participant
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the participant record | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with an ECF participantIt conforms to ECFParticipantAttributes schema. | 
ECFParticipantAttributes
The data attributes associated with an ECF participant
| Name | Type | Required | Description | 
|---|---|---|---|
| full_name | string | true | The full name of this ECF participant | 
| teacher_reference_number | string | false | The Teacher Reference Number (TRN) for this participant | 
| updated_at | string | true | The date and time the ECF participant was last updated | 
| ecf_enrolments | array | true | Information about the course(s) the participant is enroled inIt conforms to ECFEnrolment schema. | 
| participant_id_changes | array | true | Information about the Participant ID changesIt conforms to ParticipantIdChange schema. | 
ECFParticipantChangeSchedule
An ECF participant change schedule action
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | true | The data type Possible values: 
 | 
| attributes | object | true | An ECF participant change schedule actionIt conforms to ECFParticipantChangeScheduleAttributes schema. | 
Example
{
  "type": "participant-change-schedule",
  "attributes": {
    "schedule_identifier": "ecf-standard-january",
    "course_identifier": "ecf-mentor"
  }
}ECFParticipantChangeScheduleAttributes
An ECF participant change schedule action
| Name | Type | Required | Description | 
|---|---|---|---|
| schedule_identifier | string | true | The new schedule of the participant Possible values: 
 | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| cohort | string | false | Providers may not change the current value for ECF participants. Indicates which call-off contract funds this participant’s training. 2021 indicates a participant that has started, or will start, their training in the 2021/22 academic year. | 
Example
{
  "schedule_identifier": "ecf-standard-january",
  "course_identifier": "ecf-mentor",
  "cohort": "2021"
}ECFParticipantChangeScheduleRequest
The change schedule request for a participant
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | An ECF participant change schedule actionIt conforms to ECFParticipantChangeSchedule schema. | 
Example
{
  "data": {
    "type": "participant-change-schedule",
    "attributes": {
      "schedule_identifier": "ecf-standard-january",
      "course_identifier": "ecf-mentor",
      "cohort": "2021"
    }
  }
}ECFParticipantDeclarationPost2024ECTCompletedAttributesRequest
An ECF completed participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | true | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPost2024ECTExtendedAttributesRequest
An ECF extended participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | true | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPost2024ECTRetainedAttributesRequest
An ECF participant retained declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | true | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. For retained-2 declarations, providers will need to confirm if the engagement threshold has been reached and only accept either the ‘75-percent-engagement-met’ or ‘75-percent-engagement-met-reduced-induction’ values. Possible values: 
 | 
ECFParticipantDeclarationPost2024ECTStartedAttributesRequest
An ECF started participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | false | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPost2024MentorCompletedAttributesRequest
An ECF completed participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | true | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPost2024MentorStartedAttributesRequest
An ECF started participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | false | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPre2025CompletedAttributesRequest
An ECF completed participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | true | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPre2025ExtendedAttributesRequest
An ECF extended participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | true | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPre2025RetainedAttributesRequest
An ECF participant retained declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| evidence_held | string | true | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. Possible values: 
 | 
ECFParticipantDeclarationPre2025StartedAttributesRequest
An ECF started participant declaration
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique ID of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
ECFParticipantDefer
The details of a participant deferral request
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | true | The data type Possible values: 
 | 
| attributes | object | true | An ECF participant deferral actionIt conforms to ECFParticipantDeferAttributes schema. | 
ECFParticipantDeferAttributes
An ECF participant deferral action
| Name | Type | Required | Description | 
|---|---|---|---|
| reason | string | true | The reason for the deferral Possible values: 
 | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
Example
{
  "reason": "career-break",
  "course_identifier": "ecf-mentor"
}ECFParticipantDeferRequest
The deferral request for a participant
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | The details of a participant deferral requestIt conforms to ECFParticipantDefer schema. | 
Example
{
  "data": {
    "type": "participant-defer",
    "attributes": {
      "reason": "career-break",
      "course_identifier": "ecf-mentor"
    }
  }
}ECFParticipantFilter
Filter a list of records to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| updated_since | string | false | Return only records that have been updated since this date and time (ISO 8601 date format) | 
| cohort | string | false | Return only records for the given cohort | 
| training_status | string | false | Return only records that have this training status | 
| from_participant_id | string | false | Return only records that have this from Participant ID | 
ECFParticipantJoining
The details of an ECF Participant joining a school
| Name | Type | Required | Description | 
|---|---|---|---|
| school_urn | string | true | The URN of the school the participant is joining | 
| provider | string | true | The name of the provider the participant is joining | 
| date | string | true | The date the participant will be joining the school | 
Example
{
  "school_urn": 123456,
  "provider": "Example Institute",
  "date": "2021-05-31"
}ECFParticipantLeaving
The details of an ECF Participant leaving a school
| Name | Type | Required | Description | 
|---|---|---|---|
| school_urn | string | true | The URN of the school the participant is leaving | 
| provider | string | true | The name of the provider the participant is leaving | 
| date | string | false | The date the participant will be leaving the school | 
Example
{
  "school_urn": 123456,
  "provider": "Example Institute",
  "date": "2021-05-31"
}ECFParticipantResponse
An ECF Participant
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | Note, this endpoint includes updated specifications. | 
ECFParticipantResume
An ECF participant resume action
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | true | The data type Possible values: 
 | 
| attributes | object | true | An ECF participant resume actionIt conforms to ECFParticipantResumeAttributes schema. | 
ECFParticipantResumeAttributes
An ECF participant resume action
| Name | Type | Required | Description | 
|---|---|---|---|
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
Example
{
  "course_identifier": "ecf-mentor"
}ECFParticipantResumeRequest
The resume request for a participant
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | An ECF participant resume actionIt conforms to ECFParticipantResume schema. | 
Example
{
  "data": {
    "type": "participant-resume",
    "attributes": {
      "course_identifier": "ecf-mentor"
    }
  }
}ECFParticipantTransfer
Note, this is a new endpoint.
 The details of an ECF participant transfer
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the participant record | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with an ECF participant transferIt conforms to ECFParticipantTransferAttributes schema. | 
ECFParticipantTransferAttributes
The data attributes associated with an ECF participant transfer
| Name | Type | Required | Description | 
|---|---|---|---|
| updated_at | string | true | The date and time the latest ECF participant was last updated | 
| transfers | array | true | List of participant transfersIt conforms to ECFParticipantTransfers schema. | 
ECFParticipantTransferResponse
An ECF participant transfer
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | Note, this is a new endpoint. | 
ECFParticipantTransfers
The details of an ECF Participant enrolment
| Name | Type | Required | Description | 
|---|---|---|---|
| training_record_id | string | true | The unique identifier of the participant training record | 
| transfer_type | string | true | The type of transfer between schools Possible values: 
 | 
| status | string | true | The status of the transfer, if both leaving and joining SIT have completed their journeys or only one has Possible values: 
 | 
| leaving | false | This conforms to any of the following schemas: | |
| joining | false | This conforms to any of the following schemas: | |
| created_at | string | true | The date and time the ECF participant transfer was created | 
ECFParticipantWithdraw
An ECF participant withdrawal action
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | false | The data type Possible values: 
 | 
| attributes | object | false | An ECF participant withdrawal actionIt conforms to ECFParticipantWithdrawAttributes schema. | 
ECFParticipantWithdrawAttributes
An ECF participant withdrawal action
| Name | Type | Required | Description | 
|---|---|---|---|
| reason | string | true | The reason for the withdrawal Possible values: 
 | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
Example
{
  "reason": "left-teaching-profession",
  "course_identifier": "ecf-mentor"
}ECFParticipantWithdrawRequest
The withdrawal request for a participant
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | An ECF participant withdrawal actionIt conforms to ECFParticipantWithdraw schema. | 
Example
{
  "data": {
    "type": "participant-withdraw",
    "attributes": {
      "reason": "left-teaching-profession",
      "course_identifier": "ecf-mentor"
    }
  }
}ECFParticipantsSort
Sort ECF participants being returned
| Name | Type | Required | Description | 
|---|---|---|---|
| Item | string | false | It conforms to ECFParticipantsSort/items schema. Possible values: 
 | 
ECFPartnership
An ECF partnership
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the partnership | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with an ECF partnershipIt conforms to ECFPartnershipAttributes schema. | 
ECFPartnershipAttibutesRequest
| Name | Type | Required | Description | 
|---|---|---|---|
| cohort | string | true | The cohort for which you are reporting the partnership | 
| delivery_partner_id | string | true | The unique ID of the delivery partner you will work with for this school partnership | 
| school_id | string | true | The Unique ID of the school you are partnering with | 
ECFPartnershipAttributes
The data attributes associated with an ECF partnership
| Name | Type | Required | Description | 
|---|---|---|---|
| cohort | string | true | The cohort for which you are reporting the partnership | 
| urn | string | true | The Unique Reference Number (URN) of the school you are partnered with | 
| school_id | string | true | The unique ID of the school you are partnered with | 
| delivery_partner_id | string | true | The unique ID of the delivery partner you are working with for this partnership | 
| delivery_partner_name | string | false | The name of the delivery partner you are working with for this partnership | 
| status | string | true | The status of the partnership which includes active or challenged Possible values: 
 | 
| challenged_reason | string | false | If the partnership has been challenged, the reason provided for the challenge by the SIT Possible values: 
 | 
| challenged_at | string | false | The date the partnership has been challenged | 
| induction_tutor_name | string | false | The name of the induction tutor at the school you are in partnership with | 
| induction_tutor_email | string | false | The email address of the induction tutor at the school you are in partnership with | 
| updated_at | string | true | The date the partnership was last updated | 
| created_at | string | true | The date the partnership was reported by you | 
ECFPartnershipDataRequest
An ECF partnership
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | false | Possible values: 
 | 
| attributes | object | false | It conforms to ECFPartnershipAttibutesRequest schema. | 
ECFPartnershipRequest
An ECF partnership
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | An ECF partnershipIt conforms to ECFPartnershipDataRequest schema. | 
Example
{
  "data": {
    "type": "ecf-partnership",
    "attributes": {
      "cohort": "2021",
      "school_id": "24b61d1c-ad95-4000-aee0-afbdd542294a",
      "delivery_partner_id": "db2fbf67-b7b7-454f-a1b7-0020411e2314"
    }
  }
}ECFPartnershipRequestErrorResponse
A list of errors
| Name | Type | Required | Description | 
|---|---|---|---|
| error | array | false | This conforms to any of the following schemas: | 
ECFPartnershipResponse
An ECF partnership
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | An ECF partnershipIt conforms to ECFPartnership schema. | 
ECFPartnershipUpdateAttibutesRequest
| Name | Type | Required | Description | 
|---|---|---|---|
| delivery_partner_id | string | true | The unique ID of the delivery partner you will work with for this school partnership | 
ECFPartnershipUpdateDataRequest
Update An ECF partnership
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | false | Possible values: 
 | 
| attributes | object | false | It conforms to ECFPartnershipUpdateAttibutesRequest schema. | 
ECFPartnershipUpdateRequest
Update an ECF partnership
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | Update An ECF partnershipIt conforms to ECFPartnershipUpdateDataRequest schema. | 
Example
{
  "data": {
    "type": "ecf-partnership-update",
    "attributes": {
      "delivery_partner_id": "db2fbf67-b7b7-454f-a1b7-0020411e2314"
    }
  }
}ECFSchool
An ECF school
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the school | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with an ECF schoolIt conforms to ECFSchoolAttributes schema. | 
ECFSchoolAttributes
The data attributes associated with an ECF school
| Name | Type | Required | Description | 
|---|---|---|---|
| name | string | true | The name of the school | 
| urn | string | true | The Unique Reference Number (URN) of the school | 
| cohort | string | true | Indicates which call-off contract funds this participant’s training. 2021 indicates a participant that has started, or will start, their training in the 2021/22 academic year. | 
| in_partnership | boolean | true | Whether or not the school already has an active partnership, if it is doing a funded induction programme | 
| induction_programme_choice | string | true | The induction programme the school offers Possible values: 
 | 
| created_at | string | true | The date and time the school was created | 
| updated_at | string | true | The last time a change was made to this school record by the DfE | 
ECFSchoolResponse
A single ECF school
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | An ECF schoolIt conforms to ECFSchool schema. | 
ECFSchoolsFilter
Filter schools to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| cohort | string | false | Return schools within the specified cohort. | 
| urn | string | false | Return a school with the specified Unique Reference Number (URN). | 
| updated_since | string | false | Return only records that have been updated since this date and time (ISO 8601 date format) | 
ECFSchoolsSort
Sort schools being returned
| Name | Type | Required | Description | 
|---|---|---|---|
| Item | string | false | It conforms to ECFSchoolsSort/items schema. Possible values: 
 | 
ECFUnfundedMentorsSort
Sort unfunded mentors being returned.
| Name | Type | Required | Description | 
|---|---|---|---|
| Item | string | false | It conforms to ECFUnfundedMentorsSort/items schema. Possible values: 
 | 
ECFWithdrawal
The details of an ECF Participant withdrawal
| Name | Type | Required | Description | 
|---|---|---|---|
| reason | string | true | The reason a participant was withdrawn Possible values: 
 | 
| date | string | true | The date and time the participant was withdrawn | 
Example
{
  "reason": "moved-school",
  "date": "2021-05-31T02:22:32.000Z"
}Error
An single error element
| Name | Type | Required | Description | 
|---|---|---|---|
| title | string | false | A title of the error | 
| detail | string | false | Additional details of the error | 
ErrorResponse
A list of errors
| Name | Type | Required | Description | 
|---|---|---|---|
| error | array | false | It conforms to Error schema. | 
ListFilter
Filter a list of records to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| updated_since | string | false | Return only records that have been updated since this date and time (ISO 8601 date format) | 
ListFilterDeclarations
Filter a list of declarations records to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| updated_since | string | false | Return only records that have been updated since this date and time (ISO 8601 date format) | 
| participant_id | string | false | The unique id of the participant | 
MultipleECFParticipantTransferResponse
A list of ECF participant transfers
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to ECFParticipantTransfer schema. | 
MultipleECFParticipantsResponse
A list of ECF participants
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to ECFParticipant schema. | 
MultipleECFPartnershipsResponse
A list of ECF partnerships
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to ECFPartnership schema. | 
MultipleECFSchoolsResponse
A list of schools for the given cohort
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to ECFSchool schema. | 
MultipleParticipantDeclarationsResponse
A list of participant declarations
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to ParticipantDeclarationResponse schema. | 
MultipleUnfundedMentorsResponse
A list of unfunded mentors
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to UnfundedMentor schema. | 
NotFoundResponse
The requested resource was not found
| Name | Type | Required | Description | 
|---|---|---|---|
| title | string | false | The title of the error message | 
| detail | string | false | Further information regarding the error | 
Example
{
  "errors": [
    {
      "title": "The requested resource was not found",
      "detail": "Nothing could be found for the provided details"
    }
  ]
}OtherProviderRecruitedError
Recruited by other provider
| Name | Type | Required | Description | 
|---|---|---|---|
| title | string | false | Title of error message Possible values: 
 | 
| detail | string | false | Additional info | 
Pagination
This schema used to paginate through a collection.
| Name | Type | Required | Description | 
|---|---|---|---|
| page | integer | false | The page number to paginate to in the collection. If no value is specified it defaults to the first page. | 
| per_page | integer | false | The number items to display on a page. Defaults to 100. Maximum is 3000, if the value is greater that the maximum allowed it will fallback to 3000. | 
ParticipantDeclarationAttributes
The data attributes associated with a participant declaration response
| Name | Type | Required | Description | 
|---|---|---|---|
| participant_id | string | true | The unique id of the participant | 
| declaration_type | string | true | The event declaration type Possible values: 
 | 
| declaration_date | string | true | The event declaration date | 
| course_identifier | string | true | The type of course the participant is enrolled in Possible values: 
 | 
| state | string | true | Indicates the state of this payment declaration Possible values: 
 | 
| updated_at | string | true | The date the declaration was last updated | 
| created_at | string | false | The date the declaration was created | 
| delivery_partner_id | string | false | Unique ID of the delivery partner associated with the participant at the time the declaration was created | 
| statement_id | string | false | Unique ID of the statement the declaration will be paid as part of | 
| clawback_statement_id | string | false | Unique id of the statement to which the declaration will be clawed back on, if any | 
| ineligible_for_funding_reason | string | false | If the declaration is ineligible, the reason why Possible values: 
 | 
| mentor_id | string | false | Unique ID of the ECT’s mentor | 
| uplift_paid | boolean | false | If participant is eligible for uplift, whether it has been paid as part of this declaration | 
| evidence_held | string | false | The type of evidence the lead provider holds on their platform to demonstrate the participant has met the retention criteria for the current milestone period. For retained-2 declarations, providers will need to confirm if the engagement threshold has been reached and only accept either the ‘75-percent-engagement-met’ or ‘75-percent-engagement-met-reduced-induction’ values. Possible values: 
 | 
| has_passed | boolean | false | Whether the participant has failed or passed | 
| lead_provider_name | string | true | The name of the provider that submitted the declaration | 
ParticipantDeclarationPost2024ECTDataRequest
A participant declaration data request for ECT participants from cohort 2025 onwards
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | false | Possible values: 
 | 
| attributes | object | false | This conforms to any of the following schemas: | 
ParticipantDeclarationPost2024MentorDataRequest
A participant declaration data request for mentor participants from cohort 2025 onwards
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | false | Possible values: 
 | 
| attributes | object | false | This conforms to any of the following schemas: | 
ParticipantDeclarationPre2025DataRequest
A participant declaration data request for participants in cohort 2024 and previous years
| Name | Type | Required | Description | 
|---|---|---|---|
| type | string | false | Possible values: 
 | 
| attributes | object | false | This conforms to any of the following schemas: | 
ParticipantDeclarationRequest
An participant declaration request
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | This conforms to any of the following schemas: | 
ParticipantDeclarationResponse
A participant declaration response
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the participant declaration record | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with a participant declaration responseIt conforms to ParticipantDeclarationAttributes schema. | 
ParticipantDeclarationsFilter
Filter participant declarations to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| cohort | string | false | Return participant declarations associated to the specified cohort or cohorts. This is a comma delimited string of years. | 
| participant_id | string | false | Return participant declarations associated to the specified participant ID. This is a comma delimited string where multiple participant IDs can be specified | 
| updated_since | string | false | Return only records that have been updated since this date and time (ISO 8601 date format) | 
| delivery_partner_id | string | false | Return participant declarations associated to the specified delivery partner or delivery partners. This is a comma delimited string of delivery partner IDs. | 
ParticipantIdChange
The details of an Participant ID change
| Name | Type | Required | Description | 
|---|---|---|---|
| from_participant_id | string | true | The unique identifier of the changed from participant training record. | 
| to_participant_id | string | true | The unique identifier of the changed to participant training record. | 
| changed_at | string | true | The date and time the Participant ID change | 
Example
{
  "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
  "to_participant_id": "ac3d1243-7308-4879-942a-c4a70ced400a",
  "changed_at": "2021-05-31T02:22:32.000Z"
}PartnershipExistsError
Partnership already exists
| Name | Type | Required | Description | 
|---|---|---|---|
| title | string | false | Title of error message Possible values: 
 | 
| detail | string | false | Additional info about existing partnership | 
PartnershipsFilter
Filter partnerships to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| cohort | string | false | Return partnerships within the specified cohorts. This is a comma delimited string of years. | 
| updated_since | string | false | Return only partnerships that have been updated since this date and time (ISO 8601 date format) | 
| delivery_partner_id | string | false | Return partnerships associated to the specified delivery partner or delivery partners. This is a comma delimited string of delivery partner IDs. | 
PartnershipsSort
Sort partnerships being returned
| Name | Type | Required | Description | 
|---|---|---|---|
| Item | string | false | It conforms to PartnershipsSort/items schema. Possible values: 
 | 
SchoolFundingError
The school you have entered has not registered to deliver DfE-funded training. Contact the school for more information.
| Name | Type | Required | Description | 
|---|---|---|---|
| title | string | false | Title of error message Possible values: 
 | 
| detail | string | false | Additional info why school is not for DfE-funded training if any | 
SingleParticipantDeclarationResponse
A confirmation that the participant declaration has been recorded successfully
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | A participant declaration responseIt conforms to ParticipantDeclarationResponse schema. | 
Statement
A financial statement
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the financial statement | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with a financial statementIt conforms to StatementAttributes schema. | 
StatementAttributes
The data attributes associated with a financial statement
| Name | Type | Required | Description | 
|---|---|---|---|
| month | string | false | The month which appears on the statement in the DfE portal | 
| year | string | false | The calendar year which appears on the statement in the dfe portal | 
| type | string | false | Type of statement Possible values: 
 | 
| cohort | string | false | The cohort - 2021 or 2022 - which the statement funds | 
| cut_off_date | string | false | The milestone cut off or review point for the statement | 
| payment_date | string | false | The date we expect to pay you for any declarations attached to the statement, which are eligible for payment | 
| paid | boolean | false | Indicates whether the DfE has paid providers for any declarations attached to the statement | 
| created_at | string | false | The date the statement was created | 
| updated_at | string | false | The date the statement was last updated | 
StatementResponse
A single financial statement
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | A financial statementIt conforms to Statement schema. | 
StatementsFilter
Filter statements to return more specific results
| Name | Type | Required | Description | 
|---|---|---|---|
| cohort | string | false | Return statements associated to the specified cohort or cohorts. This is a comma delimited string of years. | 
| type | string | false | Return statements of a given type Possible values: 
 | 
| updated_since | string | false | Return only records that have been updated since this date and time (ISO 8601 date format) | 
StatementsResponse
A list of financial statements
| Name | Type | Required | Description | 
|---|---|---|---|
| data | array | true | It conforms to Statement schema. | 
UnauthorisedResponse
Authorization information is missing or invalid
| Name | Type | Required | Description | 
|---|---|---|---|
| error | string | false | 
UnfundedMentor
Note, this is a new endpoint.
The details of an unfunded mentor
| Name | Type | Required | Description | 
|---|---|---|---|
| id | string | true | The unique identifier of the mentor record | 
| type | string | true | The data type | 
| attributes | object | true | The data attributes associated with an unfunded mentorIt conforms to UnfundedMentorAttributes schema. | 
UnfundedMentorAttributes
The data attributes associated with an unfunded mentor
| Name | Type | Required | Description | 
|---|---|---|---|
| full_name | string | true | The full name of this mentor | 
| string | true | The email address registered for this unfunded mentor | |
| teacher_reference_number | string | false | The Teacher Reference Number (TRN) for this participant | 
| created_at | string | true | The date and time the unfunded mentor was created | 
| updated_at | string | true | The date and time the unfunded mentor was last updated | 
UnfundedMentorResponse
An unfunded mentor
| Name | Type | Required | Description | 
|---|---|---|---|
| data | object | true | Note, this is a new endpoint. | 
UrnInvalidError
URN entered is not valid
| Name | Type | Required | Description | 
|---|---|---|---|
| title | string | false | Title of error message Possible values: 
 | 
| detail | string | false | Additional info why URN is not valid |