Skip to main content

Lead provider API - 3.0.0

The lead provider API for DfE’s manage teacher CPD service.

Base URLs

GET /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.

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"
    }
  ]
}

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 query object true

Refine schools to return.

This consumes a ECFSchoolsFilter schema.

filter[cohort]=2021&filter[urn]=106286&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": "false",
        "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 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": "false",
      "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/npq-applications

Retrieve multiple NPQ applications

Parameters

Parameter In Type Required Description Example
filter query object false

Refine NPQ applications to return.

This consumes a NPQApplicationsFilter schema.

filter[cohort]=2021,2022&filter[participant_id]=7e5bcdbf-c818-4961-8da5-439cab1984e0,c2a7ef98-bbfc-48c5-8f02-d484071d2165&filter[updated_since]=2020-11-13T11:21:55Z
page query object false

Pagination options to navigate through the list of NPQ applications.

This consumes a Pagination schema.

page[page]=1&page[per_page]=5
sort query array false

Sort NPQ applications being returned.

This consumes a NPQApplicationsSort schema.

sort=-updated_at

Responses

Status Description
200

A list of NPQ applications

This response returns a MultipleNPQApplicationsResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

Response examples

200 - A list of NPQ applications

This response returns a MultipleNPQApplicationsResponse schema.

{
  "data": [
    {
      "id": "db3a7848-7308-4879-942a-c4a70ced400a",
      "type": "npq_application",
      "attributes": {
        "course_identifier": "npq-leading-teaching-development",
        "email": "isabelle.macdonald2@some-school.example.com",
        "email_validated": true,
        "employer_name": null,
        "employment_role": null,
        "full_name": "Isabelle MacDonald",
        "funding_choice": null,
        "headteacher_status": null,
        "ineligible_for_funding_reason": null,
        "participant_id": "53847955-7cfg-41eb-a322-96c50adc742b",
        "private_childcare_provider_urn": null,
        "teacher_reference_number": "0743795",
        "teacher_reference_number_validated": true,
        "school_urn": "123456",
        "school_ukprn": "12345678",
        "status": "pending",
        "works_in_school": true,
        "created_at": "2022-07-06T10:47:24Z",
        "updated_at": "2022-11-24T17:09:37Z",
        "cohort": "2022",
        "eligible_for_funding": true,
        "funded_place": true,
        "targeted_delivery_funding_eligibility": true,
        "teacher_catchment": true,
        "teacher_catchment_iso_country_code": "FRA",
        "teacher_catchment_country": "France",
        "itt_provider": "University of Southampton",
        "lead_mentor": true,
        "schedule_identifier": "npq-leadership-spring"
      }
    }
  ]
}
401 - Unauthorized

This response returns a UnauthorisedResponse schema.

{
  "error": "HTTP Token: Access denied"
}

GET /api/v3/npq-applications/{id}

Get a single NPQ application

Parameters

Parameter In Type Required Description Example
id path string true

The ID of the NPQ application.

28c461ee-ffc0-4e56-96bd-788579a0ed75

Responses

Status Description
200

A single NPQ application

This response returns a NPQApplicationResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

404

Not Found

This response returns a NotFoundResponse schema.

Response examples

200 - A single NPQ application

This response returns a NPQApplicationResponse schema.

{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "npq_application",
    "attributes": {
      "participant_id": "7a8fef46-3c43-42c0-b3d5-1ba5904ba562",
      "full_name": "Isabelle MacDonald",
      "email": "isabelle.macdonald2@some-school.example.com",
      "email_validated": true,
      "teacher_reference_number": "1234567",
      "teacher_reference_number_validated": true,
      "works_in_school": true,
      "employer_name": "Some Company Ltd",
      "employment_role": "Director",
      "school_urn": "106286",
      "private_childcare_provider_urn": "EY944860",
      "school_ukprn": "10079319",
      "headteacher_status": "no",
      "eligible_for_funding": true,
      "funded_place": true,
      "funding_choice": "trust",
      "course_identifier": "npq-leading-teaching",
      "status": "pending",
      "created_at": "2021-05-31T02:21:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ineligible_for_funding_reason": "establishment-ineligible",
      "cohort": "2022",
      "targeted_delivery_funding_eligibility": true,
      "teacher_catchment": true,
      "teacher_catchment_country": "France",
      "teacher_catchment_iso_country_code": "FRA",
      "lead_mentor": true,
      "itt_provider": "University of Southampton",
      "schedule_identifier": "npq-leadership-spring"
    }
  }
}
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"
}

POST /api/v3/npq-applications/{id}/accept

Accept an NPQ application

Parameters

Parameter In Type Required Description Example
id path string true

The ID of the NPQ application to accept.

28c461ee-ffc0-4e56-96bd-788579a0ed75

Request body

This consumes a NPQApplicationAcceptRequest schema.

Request example

{
  "data": {
    "type": "npq-application-accept",
    "attributes": {
      "schedule_identifier": "npq-leadership-spring",
      "funded_place": true
    }
  }
}

Responses

Status Description
200

The NPQ application being accepted

This response returns a NPQApplicationResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

404

Not Found

This response returns a NotFoundResponse schema.

422

Unprocessable Entity

This response returns a NPQApplicationAcceptErrorResponse schema.

Response examples

200 - The NPQ application being accepted

This response returns a NPQApplicationResponse schema.

{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "npq_application",
    "attributes": {
      "participant_id": "7a8fef46-3c43-42c0-b3d5-1ba5904ba562",
      "full_name": "Isabelle MacDonald",
      "email": "isabelle.macdonald2@some-school.example.com",
      "email_validated": true,
      "teacher_reference_number": "1234567",
      "teacher_reference_number_validated": true,
      "works_in_school": true,
      "employer_name": "Some Company Ltd",
      "employment_role": "Director",
      "school_urn": "106286",
      "private_childcare_provider_urn": "EY944860",
      "school_ukprn": "10079319",
      "headteacher_status": "no",
      "funding_choice": "trust",
      "course_identifier": "npq-leading-teaching",
      "status": "accepted",
      "created_at": "2021-05-31T02:21:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ineligible_for_funding_reason": "establishment-ineligible",
      "cohort": "2022",
      "eligible_for_funding": true,
      "funded_place": true,
      "targeted_delivery_funding_eligibility": true,
      "teacher_catchment": true,
      "teacher_catchment_iso_country_code": "FRA",
      "teacher_catchment_country": "France",
      "itt_provider": "University of Southampton",
      "lead_mentor": true,
      "schedule_identifier": "npq-leadership-spring"
    }
  }
}
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"
}
422 - Unprocessable Entity

This response returns a NPQApplicationAcceptErrorResponse schema.

{
  "error": [
    {
      "title": "Once rejected an application cannot change state",
      "detail": "You cannot accept this NPQ application as it has already been rejected"
    }
  ]
}

POST /api/v3/npq-applications/{id}/reject

Reject an NPQ application

Parameters

Parameter In Type Required Description Example
id path string true

The ID of the NPQ application to reject.

14b1b4ab-fa81-4f7a-b4b5-f632412e8c5c

Responses

Status Description
200

The NPQ application being rejected

This response returns a NPQApplicationResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

404

Not Found

This response returns a NotFoundResponse schema.

422

Unprocessable Entity

This response returns a NPQApplicationRejectErrorResponse schema.

Response examples

200 - The NPQ application being rejected

This response returns a NPQApplicationResponse schema.

{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "npq_application",
    "attributes": {
      "participant_id": "7a8fef46-3c43-42c0-b3d5-1ba5904ba562",
      "full_name": "Isabelle MacDonald",
      "email": "isabelle.macdonald2@some-school.example.com",
      "email_validated": true,
      "teacher_reference_number": "1234567",
      "teacher_reference_number_validated": true,
      "works_in_school": true,
      "employer_name": "Some Company Ltd",
      "employment_role": "Director",
      "school_urn": "106286",
      "private_childcare_provider_urn": "EY944860",
      "school_ukprn": "10079319",
      "headteacher_status": "no",
      "funding_choice": "trust",
      "course_identifier": "npq-leading-teaching",
      "status": "rejected",
      "created_at": "2021-05-31T02:21:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ineligible_for_funding_reason": "establishment-ineligible",
      "cohort": "2022",
      "eligible_for_funding": true,
      "funded_place": true,
      "targeted_delivery_funding_eligibility": true,
      "teacher_catchment": true,
      "teacher_catchment_iso_country_code": "FRA",
      "teacher_catchment_country": "France",
      "itt_provider": "University of Southampton",
      "lead_mentor": true,
      "schedule_identifier": "npq-leadership-spring"
    }
  }
}
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"
}
422 - Unprocessable Entity

This response returns a NPQApplicationRejectErrorResponse schema.

{
  "error": [
    {
      "title": "Once accepted an application cannot change state",
      "detail": "You cannot reject this NPQ application as it has already been accepted"
    }
  ]
}

PUT /api/v3/npq-applications/{id}/change-funded-place

Change funded place

Parameters

Parameter In Type Required Description Example
id path string true

The ID of the NPQ application to change funded place.

28c461ee-ffc0-4e56-96bd-788579a0ed75

Request body

This consumes a ChangeFundedPlaceRequest schema.

Request example

{
  "data": {
    "type": "npq-application-change-funded-place",
    "attributes": {
      "funded_place": true
    }
  }
}

Responses

Status Description
200

The NPQ application being accepted

This response returns a NPQApplicationResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

404

Not Found

This response returns a NotFoundResponse schema.

Response examples

200 - The NPQ application being accepted

This response returns a NPQApplicationResponse schema.

{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "npq_application",
    "attributes": {
      "participant_id": "7a8fef46-3c43-42c0-b3d5-1ba5904ba562",
      "full_name": "Isabelle MacDonald",
      "email": "isabelle.macdonald2@some-school.example.com",
      "email_validated": true,
      "teacher_reference_number": "1234567",
      "teacher_reference_number_validated": true,
      "works_in_school": true,
      "employer_name": "Some Company Ltd",
      "employment_role": "Director",
      "school_urn": "106286",
      "private_childcare_provider_urn": "EY944860",
      "school_ukprn": "10079319",
      "headteacher_status": "no",
      "eligible_for_funding": true,
      "funded_place": true,
      "funding_choice": "trust",
      "course_identifier": "npq-leading-teaching",
      "status": "pending",
      "created_at": "2021-05-31T02:21:32.000Z",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "ineligible_for_funding_reason": "establishment-ineligible",
      "cohort": "2022",
      "targeted_delivery_funding_eligibility": true,
      "teacher_catchment": true,
      "teacher_catchment_country": "France",
      "teacher_catchment_iso_country_code": "FRA",
      "lead_mentor": true,
      "itt_provider": "University of Southampton",
      "schedule_identifier": "npq-leadership-spring"
    }
  }
}
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/npq/outcomes

Note, this endpoint includes updated specifications.
List all participant NPQ outcomes

Parameters

Parameter In Type Required Description Example
filter query object false

Refine participant outcomes to return.

This consumes a NPQOutcomeFilter schema.

filter[created_since]=2020-11-13T11:21:55Z
page query object false

Pagination options to navigate through the list of participant NPQ outcomes.

This consumes a Pagination schema.

page[page]=1&page[per_page]=5

Responses

Status Description
200

A list of participant outcomes

This response returns a NPQOutcomesResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

Response examples

200 - A list of participant outcomes

This response returns a NPQOutcomesResponse schema.

{
  "data": [
    {
      "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
      "type": "participant-outcome",
      "attributes": {
        "participant_id": "66218835-9430-4d0c-98ef-7caf0bb4a59b",
        "course_identifier": "npq-leading-teaching",
        "state": "passed",
        "completion_date": "2021-05-31T00:00:00+00:00",
        "created_at": "2021-05-31T02:21:32.000Z",
        "updated_at": "2021-05-31T02:21:32.000Z"
      }
    }
  ]
}
401 - Unauthorized

This response returns a UnauthorisedResponse schema.

{
  "error": "HTTP Token: Access denied"
}

GET /api/v3/participants/npq/{participant_id}/outcomes

Retrieve NPQ outcomes for the specified participant

Parameters

Parameter In Type Required Description Example
participant_id path string true

The unique ID of the participant

70885c85-f52b-45fe-b969-e09a93ffc6ee

Responses

Status Description
200

Successfully return NPQ outcomes

This response returns a NPQOutcomesResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

Response examples

200 - Successfully return NPQ outcomes

This response returns a NPQOutcomesResponse schema.

{
  "data": [
    {
      "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
      "type": "participant-outcome",
      "attributes": {
        "participant_id": "66218835-9430-4d0c-98ef-7caf0bb4a59b",
        "course_identifier": "npq-leading-teaching",
        "state": "passed",
        "completion_date": "2021-05-31T00:00:00+00:00",
        "created_at": "2021-05-31T02:21:32.000Z",
        "updated_at": "2021-05-31T02:21:32.000Z"
      }
    }
  ]
}
401 - Unauthorized

This response returns a UnauthorisedResponse schema.

{
  "error": "HTTP Token: Access denied"
}

POST /api/v3/participants/npq/{participant_id}/outcomes

Submit an NPQ outcome

Parameters

Parameter In Type Required Description Example
participant_id path string true

The unique ID of the participant

70885c85-f52b-45fe-b969-e09a93ffc6ee

Request body

This consumes a NPQOutcomeRequest schema.

Request example

{
  "data": {
    "type": "npq-outcome-confirmation",
    "attributes": {
      "course_identifier": "npq-leading-teaching",
      "state": "passed",
      "completion_date": "2021-05-31"
    }
  }
}

Responses

Status Description
200

Successfully submit an NPQ outcome

This response returns a NPQOutcomeResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

Response examples

200 - Successfully submit an NPQ outcome

This response returns a NPQOutcomeResponse schema.

{
  "data": {
    "id": "cd3a12347-7308-4879-942a-c4a70ced400a",
    "type": "participant-outcome",
    "attributes": {
      "participant_id": "66218835-9430-4d0c-98ef-7caf0bb4a59b",
      "course_identifier": "npq-leading-teaching",
      "state": "passed",
      "completion_date": "2021-05-31T00:00:00+00:00",
      "created_at": "2021-05-31T02:21:32.000Z",
      "updated_at": "2021-05-31T02:21:32.000Z"
    }
  }
}
401 - Unauthorized

This response returns a UnauthorisedResponse schema.

{
  "error": "HTTP Token: Access denied"
}

GET /api/v3/participants/npq

Note, this endpoint includes updated specifications.
Retrieve multiple NPQ participants

Parameters

Parameter In Type Required Description Example
filter query object false

Refine NPQ participants to return.

This consumes a NPQParticipantFilter schema.

filter[updated_since]=2020-11-13T11:21:55Z&filter[training_status]=active&filter[from_participant_id]=439ac4fe-a003-417f-9694-07c45b3482f8
page query object false

Pagination options to navigate through the list of NPQ participants.

This consumes a Pagination schema.

page[page]=1&page[per_page]=5
sort query array false

Sort NPQ participants being returned.

This consumes a NPQParticipantsSort schema.

sort=-updated_at

Responses

Status Description
200

A list of NPQ participants

This response returns a MultipleNPQParticipantsResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

Response examples

200 - A list of NPQ participants

This response returns a MultipleNPQParticipantsResponse schema.

{
  "data": [
    {
      "id": "ac3d1243-7308-4879-942a-c4a70ced400a",
      "type": "npq-participant",
      "attributes": {
        "full_name": "Isabelle MacDonald",
        "teacher_reference_number": "1234567",
        "updated_at": "2021-05-31T02:22:32.000Z",
        "npq_enrolments": [
          {
            "email": "isabelle.macdonald2@some-school.example.com",
            "course_identifier": "npq-senior-leadership",
            "schedule_identifier": "npq-leadership-autumn",
            "cohort": "2021",
            "npq_application_id": "db3a7848-7308-4879-942a-c4a70ced400a",
            "eligible_for_funding": true,
            "training_status": "active",
            "school_urn": "123456",
            "targeted_delivery_funding_eligibility": true,
            "withdrawal": null,
            "deferral": null,
            "created_at": "2021-05-31T02:22:32.000Z",
            "funded_place": true
          }
        ],
        "participant_id_changes": [
          {
            "from_participant_id": "23dd8d66-e11f-4139-9001-86b4f9abcb02",
            "to_participant_id": "ac3d1243-7308-4879-942a-c4a70ced400a",
            "changed_at": "2023-09-23T02:22:32.000Z"
          }
        ]
      }
    }
  ]
}
401 - Unauthorized

This response returns a UnauthorisedResponse schema.

{
  "error": "HTTP Token: Access denied"
}

GET /api/v3/participants/npq/{id}

Note, this endpoint includes updated specifications.
Get a single NPQ participant

Parameters

Parameter In Type Required Description Example
id path string true

The ID of the NPQ participant.

28c461ee-ffc0-4e56-96bd-788579a0ed75

Responses

Status Description
200

A single NPQ participant

This response returns a NPQParticipantResponse schema.

401

Unauthorized

This response returns a UnauthorisedResponse schema.

404

Not Found

This response returns a NotFoundResponse schema.

Response examples

200 - A single NPQ participant

This response returns a NPQParticipantResponse schema.

{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "npq-participant",
    "attributes": {
      "full_name": "Isabelle MacDonald",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "npq_enrolments": [
        {
          "email": "isabelle.macdonald2@some-school.example.com",
          "course_identifier": "npq-senior-leadership",
          "schedule_identifier": "npq-leadership-autumn",
          "cohort": "2021",
          "npq_application_id": "db3a7848-7308-4879-942a-c4a70ced400a",
          "eligible_for_funding": true,
          "training_status": "deferred",
          "school_urn": "123456",
          "targeted_delivery_funding_eligibility": true,
          "withdrawal": null,
          "deferral": null,
          "created_at": "2021-05-31T02:22:32.000Z",
          "funded_place": true
        }
      ],
      "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"
        }
      ]
    }
  }
}
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/npq/{id}/change-schedule

Note, this endpoint includes updated specifications.
Notify that an NPQ 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 NPQParticipantChangeScheduleRequest schema.

Request example

{
  "data": {
    "type": "participant-change-schedule",
    "attributes": {
      "schedule_identifier": "npq-leadership-autumn",
      "course_identifier": "npq-leading-teaching",
      "cohort": "2021"
    }
  }
}

Responses

Status Description
200

The NPQ participant changing schedule

This response returns a NPQParticipantResponse schema.

Response examples

200 - The NPQ participant changing schedule

This response returns a NPQParticipantResponse schema.

{
  "data": {
    "id": "ac3d1243-7308-4879-942a-c4a70ced400a",
    "type": "npq-participant",
    "attributes": {
      "full_name": "Isabelle MacDonald",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "npq_enrolments": [
        {
          "email": "isabelle.macdonald2@some-school.example.com",
          "course_identifier": "npq-senior-leadership",
          "schedule_identifier": "npq-leadership-autumn",
          "cohort": "2021",
          "npq_application_id": "db3a7848-7308-4879-942a-c4a70ced400a",
          "eligible_for_funding": true,
          "training_status": "active",
          "school_urn": "123456",
          "targeted_delivery_funding_eligibility": true,
          "withdrawal": {
            "reason": "moved-school",
            "date": "2021-05-31T02:22:32.000Z"
          },
          "deferral": {
            "reason": "other",
            "date": "2021-05-31T02:22:32.000Z"
          },
          "created_at": "2021-05-31T02:22:32.000Z",
          "funded_place": true
        }
      ],
      "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/npq/{id}/defer

Note, this endpoint includes updated specifications.
Notify that an NPQ 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 NPQParticipantDeferRequest schema.

Request example

{
  "data": {
    "type": "participant-defer",
    "attributes": {
      "reason": "parental-leave",
      "course_identifier": "npq-senior-leadership"
    }
  }
}

Responses

Status Description
200

The NPQ participant being deferred

This response returns a NPQParticipantResponse schema.

Response examples

200 - The NPQ participant being deferred

This response returns a NPQParticipantResponse schema.

{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "npq-participant",
    "attributes": {
      "full_name": "Isabelle MacDonald",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "npq_enrolments": [
        {
          "email": "isabelle.macdonald2@some-school.example.com",
          "course_identifier": "npq-senior-leadership",
          "schedule_identifier": "npq-leadership-autumn",
          "cohort": "2021",
          "npq_application_id": "db3a7848-7308-4879-942a-c4a70ced400a",
          "eligible_for_funding": true,
          "training_status": "deferred",
          "school_urn": "123456",
          "targeted_delivery_funding_eligibility": true,
          "withdrawal": null,
          "deferral": {
            "reason": "other",
            "date": "2022-12-09T16:07:38Z"
          },
          "created_at": "2021-05-31T02:22:32.000Z",
          "funded_place": true
        }
      ],
      "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/npq/{id}/resume

Note, this endpoint includes updated specifications.
Notify that an NPQ 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 NPQParticipantResumeRequest schema.

Request example

{
  "data": {
    "type": "participant-resume",
    "attributes": {
      "course_identifier": "npq-leading-teaching-development"
    }
  }
}

Responses

Status Description
200

The NPQ participant being resumed

This response returns a NPQParticipantResponse schema.

Response examples

200 - The NPQ participant being resumed

This response returns a NPQParticipantResponse schema.

{
  "data": {
    "id": "ac3d1243-7308-4879-942a-c4a70ced400a",
    "type": "npq-participant",
    "attributes": {
      "full_name": "Isabelle MacDonald",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "npq_enrolments": [
        {
          "email": "isabelle.macdonald2@some-school.example.com",
          "course_identifier": "npq-senior-leadership",
          "schedule_identifier": "npq-leadership-autumn",
          "cohort": "2021",
          "npq_application_id": "db3a7848-7308-4879-942a-c4a70ced400a",
          "eligible_for_funding": true,
          "training_status": "active",
          "school_urn": "123456",
          "targeted_delivery_funding_eligibility": true,
          "withdrawal": {
            "reason": "moved-school",
            "date": "2021-05-31T02:22:32.000Z"
          },
          "deferral": {
            "reason": "other",
            "date": "2021-05-31T02:22:32.000Z"
          },
          "created_at": "2021-05-31T02:22:32.000Z",
          "funded_place": true
        }
      ],
      "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/npq/{id}/withdraw

Note, this endpoint includes updated specifications.
Withdrawn a participant from a 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 NPQParticipantWithdrawRequest schema.

Request example

{
  "data": {
    "type": "participant-withdraw",
    "attributes": {
      "reason": "quality-of-programme-other",
      "course_identifier": "npq-leading-teaching-development"
    }
  }
}

Responses

Status Description
200

The NPQ participant being withdrawn

This response returns a NPQParticipantResponse schema.

422

Unprocessable entity

This response returns a ErrorResponse schema.

Response examples

200 - The NPQ participant being withdrawn

This response returns a NPQParticipantResponse schema.

{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "npq-participant",
    "attributes": {
      "full_name": "Isabelle MacDonald",
      "teacher_reference_number": "1234567",
      "updated_at": "2021-05-31T02:22:32.000Z",
      "npq_enrolments": [
        {
          "email": "isabelle.macdonald2@some-school.example.com",
          "course_identifier": "npq-senior-leadership",
          "schedule_identifier": "npq-leadership-autumn",
          "cohort": "2021",
          "npq_application_id": "db3a7848-7308-4879-942a-c4a70ced400a",
          "eligible_for_funding": true,
          "training_status": "withdrawn",
          "school_urn": "123456",
          "targeted_delivery_funding_eligibility": true,
          "withdrawal": {
            "reason": "insufficient-capacity",
            "date": "2022-12-09T16:07:38Z"
          },
          "deferral": null,
          "created_at": "2021-05-31T02:22:32.000Z",
          "funded_place": true
        }
      ],
      "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"
        }
      ]
    }
  }
}
422 - Unprocessable entity

This response returns a ErrorResponse schema.

{
  "error": [
    {
      "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"
      }
    },
    {
      "id": "db3a7848-7308-4879-942a-c4a70ced400a",
      "type": "participant-declaration",
      "attributes": {
        "participant_id": "bf3c6251-f2a0-4690-a859-0fbecc6ed151",
        "declaration_type": "started",
        "declaration_date": "2020-11-13T11:21:55Z",
        "course_identifier": "ecf-mentor",
        "state": "eligible",
        "updated_at": "2020-11-13T11:21:55Z",
        "created_at": "2020-11-13T11:21:55Z",
        "delivery_partner_id": null,
        "statement_id": "1cceffd7-0efd-432a-aedc-7be2d6cc72a2",
        "clawback_statement_id": null,
        "ineligible_for_funding_reason": null,
        "mentor_id": null,
        "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"
    }
  }
}
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant-declaration",
    "attributes": {
      "participant_id": "bf3c6251-f2a0-4690-a859-0fbecc6ed151",
      "declaration_type": "started",
      "declaration_date": "2020-11-13T11:21:55Z",
      "course_identifier": "npq-leading-teaching",
      "state": "eligible",
      "updated_at": "2020-11-13T11:21:55Z",
      "created_at": "2020-11-13T11:21:55Z",
      "delivery_partner_id": null,
      "statement_id": "1cceffd7-0efd-432a-aedc-7be2d6cc72a2",
      "clawback_statement_id": null,
      "ineligible_for_funding_reason": null,
      "mentor_id": null,
      "uplift_paid": true,
      "evidence_held": null,
      "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"
    }
  }
}
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant-declaration",
    "attributes": {
      "participant_id": "bf3c6251-f2a0-4690-a859-0fbecc6ed151",
      "declaration_type": "started",
      "declaration_date": "2020-11-13T11:21:55Z",
      "course_identifier": "npq-leading-teaching",
      "state": "eligible",
      "updated_at": "2020-11-13T11:21:55Z",
      "created_at": "2020-11-13T11:21:55Z",
      "delivery_partner_id": null,
      "statement_id": "1cceffd7-0efd-432a-aedc-7be2d6cc72a2",
      "clawback_statement_id": null,
      "ineligible_for_funding_reason": null,
      "mentor_id": null,
      "uplift_paid": true,
      "evidence_held": null,
      "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"
    }
  }
}
{
  "data": {
    "id": "db3a7848-7308-4879-942a-c4a70ced400a",
    "type": "participant-declaration",
    "attributes": {
      "participant_id": "bf3c6251-f2a0-4690-a859-0fbecc6ed151",
      "declaration_type": "started",
      "declaration_date": "2020-11-13T11:21:55Z",
      "course_identifier": "npq-leading-teaching",
      "state": "voided",
      "updated_at": "2020-11-13T11:21:55Z",
      "created_at": "2020-11-13T11:21:55Z",
      "delivery_partner_id": null,
      "statement_id": "1cceffd7-0efd-432a-aedc-7be2d6cc72a2",
      "clawback_statement_id": null,
      "ineligible_for_funding_reason": null,
      "mentor_id": null,
      "uplift_paid": true,
      "evidence_held": null,
      "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[updated_since]=2020-11-13T11:21:55Z&filter[training_status]=active&filter[from_participant_id]=439ac4fe-a003-417f-9694-07c45b3482f8
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"
}

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": {
            "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"
}
404 - Not Found

This response returns a NotFoundResponse schema.

{
  "title": "string",
  "detail": "string"
}

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": "deferred",
          "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": {
            "reason": "other",
            "date": "2021-06-31T02:22:32.000Z"
          },
          "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": 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": "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",
          "deferral": null,
          "withdrawal": {
            "reason": "other",
            "date": "2021-06-31T02:22:32.000Z"
          },
          "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": 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"
        }
      ]
    }
  }
}

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 or npq 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 or npq 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"
    }
  ]
}

ChangeFundedPlaceAttributesRequest

The NPQ Application acceptance request

Name Type Required Description
funded_place boolean false

Whether the participant has a funded place

ChangeFundedPlaceDataRequest

The NPQ Application change funded place request attributes

Name Type Required Description
type string true

The data type

data object true

The NPQ Application acceptance request

It conforms to ChangeFundedPlaceAttributesRequest schema.

ChangeFundedPlaceRequest

The NPQ Application change funded place request

Name Type Required Description
data object false

The NPQ Application change funded place request attributes

It conforms to ChangeFundedPlaceDataRequest schema.

Example

{
  "data": {
    "type": "npq-application-change-funded-place",
    "attributes": {
      "funded_place": true
    }
  }
}

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 partner

It 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 the delivery partner was created

updated_at string true

The date 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:

  • Not a delivery partner you have a relationship with for this cohort
detail string false

Additional info on which cohorts are available

DeliveryPartnerResponse

A delivery partner

Name Type Required Description
data object true

A delivery partner

It 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:

  • created_at
  • -created_at
  • updated_at
  • -updated_at

ECFDeferral

The details of an ECF Participant deferral

Name Type Required Description
reason string true

The reason a participant was deferred

Possible values:

  • bereavement
  • long-term-sickness
  • parental-leave
  • career-break
  • other
date string true

The date and time the participant was deferred

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.

email 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:

  • ect
  • mentor
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:

  • active
  • deferred
  • withdrawn
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:

  • active
  • joining
  • leaving
  • left
  • withdrawn
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:

  • ecf-standard-september
  • ecf-standard-january
  • ecf-standard-april
  • ecf-reduced-september
  • ecf-reduced-january
  • ecf-reduced-april
  • ecf-extended-september
  • ecf-extended-january
  • ecf-extended-april
  • ecf-replacement-september
  • ecf-replacement-january
  • ecf-replacement-april
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 completion 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:

  • completed_declaration_received
  • completed_during_early_roll_out
  • started_not_completed

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

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 participant

It 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 in

It conforms to ECFEnrolment schema.
participant_id_changes array true

Information about the Participant ID changes

It conforms to ParticipantIdChange schema.

ECFParticipantChangeSchedule

An ECF participant change schedule action

Name Type Required Description
type string true

The data type

Possible values:

  • participant-change-schedule
attributes object true

An ECF participant change schedule action

It 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:

  • ecf-standard-september
  • ecf-standard-january
  • ecf-standard-april
  • ecf-reduced-september
  • ecf-reduced-january
  • ecf-reduced-april
  • ecf-extended-september
  • ecf-extended-january
  • ecf-extended-april
  • ecf-replacement-september
  • ecf-replacement-january
  • ecf-replacement-april
course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor
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 action

It conforms to ECFParticipantChangeSchedule schema.

Example

{
  "data": {
    "type": "participant-change-schedule",
    "attributes": {
      "schedule_identifier": "ecf-standard-january",
      "course_identifier": "ecf-mentor",
      "cohort": "2021"
    }
  }
}

ECFParticipantDeclarationAttributes

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:

  • started
  • retained-1
  • retained-2
  • retained-3
  • retained-4
  • completed
  • extended-1
  • extended-2
  • extended-3
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor
state string true

Indicates the state of this payment declaration

Possible values:

  • submitted
  • eligible
  • payable
  • paid
  • voided
  • ineligible
  • awaiting-clawback
  • clawed-back
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:

  • to
  • be
  • determined
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 that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other
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

ECFParticipantDeclarationCompletedAttributesRequest

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:

  • completed
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor
evidence_held string true

The type of evidence that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other

ECFParticipantDeclarationExtendedAttributesRequest

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:

  • extended-1
  • extended-2
  • extended-3
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor
evidence_held string true

The type of evidence that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other

ECFParticipantDeclarationResponse

An ECF participant declaration response

Name Type Required Description
id string true

The unique identifier of the participant declaration record

type string true

The data type

Possible values:

  • participant-declaration
attributes object true

The data attributes associated with a participant declaration response

It conforms to ECFParticipantDeclarationAttributes schema.

ECFParticipantDeclarationRetainedAttributesRequest

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:

  • retained-1
  • retained-2
  • retained-3
  • retained-4
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor
evidence_held string true

The type of evidence that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other

ECFParticipantDeclarationStartedAttributesRequest

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:

  • started
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor

ECFParticipantDefer

The details of a participant deferral request

Name Type Required Description
type string true

The data type

Possible values:

  • participant-defer
attributes object true

An ECF participant deferral action

It conforms to ECFParticipantDeferAttributes schema.

ECFParticipantDeferAttributes

An ECF participant deferral action

Name Type Required Description
reason string true

The reason for the deferral

Possible values:

  • bereavement
  • long-term-sickness
  • parental-leave
  • career-break
  • other
course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor

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 request

It conforms to ECFParticipantDefer schema.

Example

{
  "data": {
    "type": "participant-defer",
    "attributes": {
      "reason": "career-break",
      "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:

  • created_at
  • -created_at
  • updated_at
  • -updated_at

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 transfer

It 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 transfers

It conforms to ECFParticipantTransfers schema.

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:

  • new_school
  • new_provider
  • unknown
status string true

The status of the transfer, if both leaving and joining SIT have completed their journeys or only one has

Possible values:

  • incomplete
  • complete
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

ECFParticipantTransferResponse

An ECF participant transfer list

Name Type Required Description
data object true

Note, this is a new endpoint. The details of an ECF participant transfer

It conforms to ECFParticipantTransfer schema.

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

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

ECFParticipantResponse

An ECF Participant

Name Type Required Description
data object true

Note, this endpoint includes updated specifications.
The details of a participant

It conforms to ECFParticipant schema.

ECFParticipantResume

An ECF participant resume action

Name Type Required Description
type string true

The data type

Possible values:

  • participant-resume
attributes object true

An ECF participant resume action

It 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:

  • ecf-induction
  • ecf-mentor

Example

{
  "course_identifier": "ecf-mentor"
}

ECFParticipantResumeRequest

The resume request for a participant

Name Type Required Description
data object true

An ECF participant resume action

It conforms to ECFParticipantResume schema.

Example

{
  "data": {
    "type": "participant-resume",
    "attributes": {
      "course_identifier": "ecf-mentor"
    }
  }
}

ECFParticipantWithdraw

An ECF participant withdrawal action

Name Type Required Description
type string false

The data type

Possible values:

  • participant-withdraw
attributes object false

An ECF participant withdrawal action

It conforms to ECFParticipantWithdrawAttributes schema.

ECFParticipantWithdrawAttributes

An ECF participant withdrawal action

Name Type Required Description
reason string true

The reason for the withdrawal

Possible values:

  • left-teaching-profession
  • moved-school
  • mentor-no-longer-being-mentor
  • school-left-fip
  • other
course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor

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 action

It conforms to ECFParticipantWithdraw schema.

Example

{
  "data": {
    "type": "participant-withdraw",
    "attributes": {
      "reason": "left-teaching-profession",
      "course_identifier": "ecf-mentor"
    }
  }
}

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 partnership

It 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:

  • active
  • challenged
challenged_reason string false

If the partnership has been challenged, the reason provided for the challenge by the SIT

Possible values:

  • another_provider
  • not_confirmed
  • do_not_recognise
  • no_ects
  • mistake
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:

  • ecf-partnership
attributes object false It conforms to ECFPartnershipAttibutesRequest schema.

ECFPartnershipRequest

An ECF partnership

Name Type Required Description
data object true

An ECF partnership

It 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

A list of ECF partnerships

Name Type Required Description
data object true

An ECF partnership

It 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:

  • ecf-partnership-update
attributes object false It conforms to ECFPartnershipUpdateAttibutesRequest schema.

ECFPartnershipUpdateRequest

Update an ECF partnership

Name Type Required Description
data object true

Update An ECF partnership

It 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 school

It 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:

  • core_induction_programme
  • full_induction_programme
  • design_our_own
  • school_funded_fip
  • no_early_career_teachers
  • not_yet_known
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 school

It conforms to ECFSchool schema.

ECFSchoolsFilter

Filter schools to return more specific results

Name Type Required Description
cohort string true

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:

  • updated_at
  • -updated_at

MultipleECFSchoolsResponse

A list of schools for the given cohort

Name Type Required Description
data array true It conforms to ECFSchool schema.

ECFWithdrawal

The details of an ECF Participant withdrawal

Name Type Required Description
reason string true

The reason a participant was withdrawn

Possible values:

  • left-teaching-profession
  • moved-school
  • mentor-no-longer-being-mentor
  • school-left-fip
  • other
date string true

The date and time the participant was withdrawn

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

MultipleECFParticipantsResponse

A list of ECF participants

Name Type Required Description
data array true It conforms to ECFParticipant schema.

MultipleECFParticipantTransferResponse

A list of participant transfers

Name Type Required Description
data array true It conforms to ECFParticipantTransfer schema.

MultipleECFPartnershipsResponse

A list of ECF partnerships

Name Type Required Description
data array true It conforms to ECFPartnership schema.

MultipleNPQApplicationsResponse

A list of NPQ applications

Name Type Required Description
data array true It conforms to NPQApplication schema.

MultipleNPQParticipantsResponse

A list of NPQ participants

Name Type Required Description
data array true It conforms to NPQParticipant 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.

NPQApplication

The details of an NPQ Application

Name Type Required Description
id string true

The unique identifier of the NPQ Application record

type string true

The data type

Possible values:

  • npq_application
attributes object true

The data attributes associated with an NPQ application

It conforms to NPQApplicationAttributes schema.

NPQApplicationAcceptErrorResponse

A list of errors

Name Type Required Description
error array false

This conforms to any of the following schemas:

NPQApplicationAlreadyAccepted

NPQ Application has already been accepted

Name Type Required Description
title string false

The title of the error

Possible values:

  • NPQ Application has already been accepted
detail string false

Additional info about the error

NPQApplicationChangedFromRejected

Once rejected an application cannot change state

Name Type Required Description
title string false

The title of the error

Possible values:

  • Once rejected an application cannot change state
detail string false

Additional info about the error

NPQApplicationAcceptAttributesRequest

The NPQ Application acceptance request

Name Type Required Description
funded_place boolean false

Whether the participant has a funded place

schedule_identifier string false

The new schedule of the participant

Possible values:

  • npq-aso-march
  • npq-aso-june
  • npq-aso-november
  • npq-aso-december
  • npq-ehco-march
  • npq-ehco-june
  • npq-ehco-november
  • npq-ehco-december
  • npq-leadership-autumn
  • npq-leadership-spring
  • npq-specialist-autumn
  • npq-specialist-spring

NPQApplicationAcceptDataRequest

The NPQ Application acceptance request attributes

Name Type Required Description
type string true

The data type

data object true

The NPQ Application acceptance request

It conforms to NPQApplicationAcceptAttributesRequest schema.

NPQApplicationAcceptRequest

The NPQ Application acceptance request

Name Type Required Description
data object false

The NPQ Application acceptance request attributes

It conforms to NPQApplicationAcceptDataRequest schema.

Example

{
  "data": {
    "type": "npq-application-accept",
    "attributes": {
      "schedule_identifier": "npq-leadership-spring",
      "funded_place": true
    }
  }
}

NPQApplicationAttributes

The data attributes associated with an NPQ application

Name Type Required Description
participant_id string true

The unique identifier of this NPQ participant

full_name string true

The full name of this NPQ participant

email string true

The email address registered for this NPQ participant

email_validated boolean true

Indicates whether the email address has been validated

teacher_reference_number string true

The Teacher Reference Number (TRN) for this NPQ participant

teacher_reference_number_validated boolean true

Indicates whether the Teacher Reference Number (TRN) has been validated

works_in_school boolean false

Indicates whether the participant is currently employed by school

employer_name string false

The name of current employer of the participant if not currently employed by school

employment_role string false

Participant’s current role in the company they are employed in if not currently employed by school

school_urn string false

The Unique Reference Number (URN) of the school where this NPQ participant is employed

private_childcare_provider_urn string false

The Unique Reference Number (URN) of the private child care provider

school_ukprn string false

The UK Provider Reference Number (UK Provider Reference Number) of the school where this NPQ participant is employed

headteacher_status string false

Indicates whether this NPQ participant is or will be a head teacher

Possible values:

  • no
  • yes_when_course_starts
  • yes_in_first_two_years
  • yes_over_two_years
  • yes_in_first_five_years
  • yes_over_five_years
eligible_for_funding boolean true

Indicates whether or not this participant is eligible for DfE funding

funded_place boolean false

Indicates whether or not this participant’s training is being funded by DfE

funding_choice string false

Indicates how this NPQ participant has said they will funded their training

Possible values:

  • school
  • trust
  • self
  • another
  • employer
course_identifier string true

The NPQ course this NPQ application relates to

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
status string true

The current state of the NPQ application

Possible values:

  • pending
  • accepted
  • rejected
created_at string true

The date the application was created

updated_at string true

The date the application was last updated

ineligible_for_funding_reason string false

Indicates why this NPQ participant is not eligible for DfE funding

Possible values:

  • establishment-ineligible
  • previously-funded
cohort string false

Indicates which call-off contract would fund this participant’s training. 2021 indicates a participant that has started, or will start, their training in the 2021/22 academic year. Once a provider accepts an application, they may change a participant’s cohort up until the point of submitting a started declaration.

targeted_delivery_funding_eligibility boolean false

Whether or not this application is eligible for Targeted Delivery Funding uplift

teacher_catchment boolean false

This field will indicate whether or not the participant is UK-based.

  • If true then the registration relates to a participant who is UK-based.
  • If false then the registration relates to a participant who is not UK-based.

teacher_catchment_country string false
teacher_catchment_iso_country_code string false

This field identifies which non-UK country the participant has registered from. The API uses ISO 3166 alpha-3 codes, three-letter codes published by the International Organization for Standardization (ISO) to represent countries, dependent territories, and special areas of geographical interest.

lead_mentor boolean false

This field indicates whether the applicant is an ITT lead mentor.

itt_provider string false

This field contains the legal name of the ITT accredited provider from the list of providers.

schedule_identifier string false

The new schedule of the participant

Possible values:

  • npq-aso-march
  • npq-aso-june
  • npq-aso-november
  • npq-aso-december
  • npq-ehco-march
  • npq-ehco-june
  • npq-ehco-november
  • npq-ehco-december
  • npq-leadership-autumn
  • npq-leadership-spring
  • npq-specialist-autumn
  • npq-specialist-spring

NPQApplicationRejectErrorResponse

A list of errors

Name Type Required Description
error array false

This conforms to any of the following schemas:

NPQApplicationAlreadyRejected

NPQ Application has already been rejected

Name Type Required Description
title string false

The title of the error

Possible values:

  • NPQ Application has already been rejected
detail string false

Additional info about the error

NPQApplicationChangedFromAccepted

Once accepted an application cannot change state

Name Type Required Description
title string false

The title of the error

Possible values:

  • Once accepted an application cannot change state
detail string false

Additional info about the error

NPQApplicationResponse

An NPQ application

Name Type Required Description
data object true

The details of an NPQ Application

It conforms to NPQApplication schema.

NPQApplicationsFilter

Filter NPQ applications 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 NPQ applications from the specified cohort or cohorts. This is a comma delimited string of years.

participant_id string false

Return only NPQ applications from the specified participant or participants. This is comma delimited string of participant IDs

NPQApplicationsSort

Sort NPQ applications being returned

Name Type Required Description
Item string false It conforms to NPQApplicationsSort/items schema.

Possible values:

  • created_at
  • -created_at
  • updated_at
  • -updated_at

NPQEnrolment

The details of an NPQ Participant enrolment

Name Type Required Description
email string true

The email address registered for this NPQ participant

course_identifier string true

The course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
schedule_identifier string true

The schedule the participant is enrolled in. For the possible values please refer to the NPQ schedules and milestone dates guidance.

Possible values:

  • npq-aso-march
  • npq-aso-june
  • npq-aso-november
  • npq-aso-december
  • npq-ehco-march
  • npq-ehco-june
  • npq-ehco-november
  • npq-ehco-december
  • npq-leadership-autumn
  • npq-leadership-spring
  • npq-specialist-autumn
  • npq-specialist-spring
cohort string true

The value 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. Providers may change an NPQ participant’s cohort up until the point of submitting a started declaration.

npq_application_id string true

The ID of the NPQ application that was accepted to create this enrolment

eligible_for_funding boolean true

Indicates whether or not this participant is eligible for DfE funding

training_status string true

The training status of the NPQ participant

Possible values:

  • active
  • deferred
  • withdrawn
school_urn string false

The URN of the school when the application was made, if any

targeted_delivery_funding_eligibility boolean false

Whether or not this enrolment is eligible for Targeted Delivery Funding uplift

withdrawal object false

This conforms to any of the following schemas:

deferral object false

This conforms to any of the following schemas:

created_at string false

The date and time the NPQ participant was created

funded_place boolean false

Indicates whether or not this participant’s training is being funded by DfE

NPQDeferral

The details of an NPQ Participant deferral

Name Type Required Description
reason string true

The reason a participant was deferred

Possible values:

  • bereavement
  • long-term-sickness
  • parental-leave
  • career-break
  • other
date string true

The date and time the participant was deferred

NPQOutcome

An NPQ outcome

Name Type Required Description
id string true

The unique identifier of the NPQ outcome

type string true

The data type

attributes object true

The data attributes associated with an NPQ outcome

It conforms to NPQOutcomeAttributes schema.

NPQOutcomeAttributes

The data attributes associated with an NPQ outcome

Name Type Required Description
participant_id string true

The unique ID of the participant

course_identifier string true

The course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-leading-primary-mathematics
  • npq-senco
state string true

The state of the outcome (passed, failed or voided)

Possible values:

  • passed
  • failed
  • voided
completion_date string true

The date the participant received the assessment outcome for this course

created_at string true

The date you created the participant-outcome record

updated_at string true

The date and time the participant-outcome record was last updated

NPQOutcomeAttributesRequest

Name Type Required Description
course_identifier string true

The course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-leading-primary-mathematics
  • npq-senco
state string true

The state of the outcome (passed or failed)

Possible values:

  • passed
  • failed
completion_date string false

The date the participant received the assessment outcome for this course

NPQOutcomeDataRequest

The NPQ outcome submission request attributes

Name Type Required Description
type string true

The data type

data object false It conforms to NPQOutcomeAttributesRequest schema.

NPQOutcomeRequest

The NPQ outcome submission request

Name Type Required Description
data object true

The NPQ outcome submission request attributes

It conforms to NPQOutcomeDataRequest schema.

Example

{
  "data": {
    "type": "npq-outcome-confirmation",
    "attributes": {
      "course_identifier": "npq-leading-teaching",
      "state": "passed",
      "completion_date": "2021-05-31"
    }
  }
}

NPQOutcomeResponse

The details of an NPQ Outcome

Name Type Required Description
data object true

An NPQ outcome

It conforms to NPQOutcome schema.

NPQOutcomesResponse

A list of NPQ outcomes

Name Type Required Description
data array true It conforms to NPQOutcome schema.

NPQParticipant

The details of an NPQ Participant

Name Type Required Description
id string true

The unique identifier of the NPQ Participant record

type string true

The data type

Possible values:

  • npq-participant
attributes object true

The data attributes associated with an NPQ participants

It conforms to NPQParticipantAttributes schema.

NPQParticipantAttributes

The data attributes associated with an NPQ participants

Name Type Required Description
full_name string true

The full name of this NPQ participant

teacher_reference_number string false

The Teacher Reference Number (TRN) for this NPQ participant

updated_at string true

The date the NPQ participant was last updated

npq_enrolments array true

Information about the course(s) the participant is enroled in

It conforms to NPQEnrolment schema.
participant_id_changes array true

Information about the Participant ID changes

It conforms to ParticipantIdChange schema.

NPQParticipantChangeSchedule

An NPQ participant change schedule action

Name Type Required Description
type string true

The data type

Possible values:

  • participant-change-schedule
attributes object true

An NPQ participant change schedule action

It conforms to NPQParticipantChangeScheduleAttributes schema.

Example

{
  "type": "participant-change-schedule",
  "attributes": {
    "schedule_identifier": "npq-leadership-autumn",
    "course_identifier": "npq-leading-teaching",
    "cohort": "2021"
  }
}

NPQParticipantChangeScheduleAttributes

An NPQ participant change schedule action

Name Type Required Description
schedule_identifier string true

The new schedule of the participant

Possible values:

  • npq-aso-march
  • npq-aso-june
  • npq-aso-november
  • npq-aso-december
  • npq-ehco-march
  • npq-ehco-june
  • npq-ehco-november
  • npq-ehco-december
  • npq-leadership-autumn
  • npq-leadership-spring
  • npq-specialist-autumn
  • npq-specialist-spring
course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
cohort string false

Providers may change an NPQ participant’s cohort up until the point of submitting a started declaration. The value 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": "npq-leadership-autumn",
  "course_identifier": "npq-leading-teaching",
  "cohort": "2021"
}

NPQParticipantChangeScheduleRequest

The change schedule request for a participant

Name Type Required Description
data object true

An NPQ participant change schedule action

It conforms to NPQParticipantChangeSchedule schema.

Example

{
  "data": {
    "type": "participant-change-schedule",
    "attributes": {
      "schedule_identifier": "npq-leadership-autumn",
      "course_identifier": "npq-leading-teaching",
      "cohort": "2021"
    }
  }
}

NPQParticipantCompletedDeclarationAttributes

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:

  • completed
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
state string true

Indicates the state of this payment declaration

Possible values:

  • submitted
  • eligible
  • payable
  • paid
  • voided
  • ineligible
  • awaiting-clawback
  • clawed-back
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:

  • to
  • be
  • determined
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 that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other
has_passed boolean true

Whether the participant has failed or passed

lead_provider_name string true

The name of the provider that submitted the declaration

NPQParticipantDeclarationAttributes

This schema can be any one of the following schemas:

NPQParticipantDeclarationCompletedAttributesRequest

An NPQ 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:

  • completed
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
has_passed boolean true

Whether the participant has failed or passed

Example

{
  "participant_id": "db3a7848-7308-4879-942a-c4a70ced400a",
  "declaration_type": "completed",
  "declaration_date": "2021-05-31T02:21:32.000Z",
  "course_identifier": "npq-leading-teaching",
  "has_passed": true
}

NPQParticipantDeclarationResponse

An NPQ participant declaration response

Name Type Required Description
id string true

The unique identifier of the participant declaration record

type string true

The data type

Possible values:

  • participant-declaration
attributes true It conforms to NPQParticipantDeclarationAttributes schema.

This conforms to any of the following schemas:

NPQParticipantDeclarationRetainedAttributesRequest

An NPQ 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:

  • retained-1
  • retained-2
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco

Example

{
  "participant_id": "db3a7848-7308-4879-942a-c4a70ced400a",
  "declaration_type": "retained-1",
  "declaration_date": "2021-05-31T02:21:32.000Z",
  "course_identifier": "npq-headship"
}

NPQParticipantDeclarationStartedAttributesRequest

An NPQ 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:

  • started
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco

Example

{
  "participant_id": "db3a7848-7308-4879-942a-c4a70ced400a",
  "declaration_type": "started",
  "declaration_date": "2021-05-31T02:21:32.000Z",
  "course_identifier": "npq-leading-teaching"
}

NPQParticipantDefer

The details of an NPQ participant deferral request

Name Type Required Description
type string true

The data type

Possible values:

  • participant-defer
attributes object true

An NPQ participant deferral action

It conforms to NPQParticipantDeferAttributes schema.

NPQParticipantDeferAttributes

An NPQ participant deferral action

Name Type Required Description
reason string true

The reason for the deferral

Possible values:

  • bereavement
  • long-term-sickness
  • parental-leave
  • career-break
  • other
course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco

Example

{
  "reason": "parental-leave",
  "course_identifier": "npq-senior-leadership"
}

NPQParticipantDeferRequest

The deferral request for an NPQ participant

Name Type Required Description
data object true

The details of an NPQ participant deferral request

It conforms to NPQParticipantDefer schema.

Example

{
  "data": {
    "type": "participant-defer",
    "attributes": {
      "reason": "parental-leave",
      "course_identifier": "npq-senior-leadership"
    }
  }
}

NPQParticipantResponse

An NPQ participant

Name Type Required Description
data object true

The details of an NPQ Participant

It conforms to NPQParticipant schema.

NPQParticipantResume

An NPQ participant resume action

Name Type Required Description
type string true

The data type

Possible values:

  • participant-resume
attributes object true

An NPQ participant resume action

It conforms to NPQParticipantResumeAttributes schema.

NPQParticipantResumeAttributes

An NPQ participant resume action

Name Type Required Description
course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco

Example

{
  "course_identifier": "npq-leading-teaching-development"
}

NPQParticipantResumeRequest

The resume request for an NPQ participant

Name Type Required Description
data object true

An NPQ participant resume action

It conforms to NPQParticipantResume schema.

Example

{
  "data": {
    "type": "participant-resume",
    "attributes": {
      "course_identifier": "npq-leading-teaching-development"
    }
  }
}

NPQParticipantRetainedDeclarationAttributes

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:

  • retained-1
  • retained-2
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
state string true

Indicates the state of this payment declaration

Possible values:

  • submitted
  • eligible
  • payable
  • paid
  • voided
  • ineligible
  • awaiting-clawback
  • clawed-back
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:

  • to
  • be
  • determined
uplift_paid boolean false

If participant is eligible for uplift, whether it has been paid as part of this declaration

mentor_id string false

Unique ID of the ECT’s mentor

evidence_held string false

The type of evidence that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other
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

NPQParticipantStartedDeclarationAttributes

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:

  • started
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
state string true

Indicates the state of this payment declaration

Possible values:

  • submitted
  • eligible
  • payable
  • paid
  • voided
  • ineligible
  • awaiting-clawback
  • clawed-back
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:

  • to
  • be
  • determined
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 that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other
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

NPQParticipantsSort

Sort NPQ participants being returned

Name Type Required Description
Item string false It conforms to NPQParticipantsSort/items schema.

Possible values:

  • created_at
  • -created_at
  • updated_at
  • -updated_at

NPQParticipantWithdraw

An NPQ participant withdrawal action

Name Type Required Description
type string false

The data type

Possible values:

  • participant-withdraw
attributes object true

An NPQ participant withdrawal action

It conforms to NPQParticipantWithdrawAttributes schema.

NPQParticipantWithdrawAttributes

An NPQ participant withdrawal action

Name Type Required Description
reason string true

The reason for the withdrawal

Possible values:

  • insufficient-capacity-to-undertake-programme
  • personal-reason-health-or-pregnancy-related
  • personal-reason-moving-school
  • personal-reason-other
  • insufficient-capacity
  • change-in-developmental-or-personal-priorities
  • change-in-school-circumstances
  • change-in-school-leadership
  • quality-of-programme-structure-not-suitable.
  • quality-of-programme-content-not-suitable
  • quality-of-programme-facilitation-not-effective
  • quality-of-programme-accessibility
  • quality-of-programme-other
  • programme-not-appropriate-for-role-and-cpd-needs
  • expected-commitment-unclear
  • other
course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco

Example

{
  "reason": "left-teaching-profession",
  "course_identifier": "npq-headship"
}

NPQParticipantWithdrawRequest

The withdrawal request for an NPQ participant

Name Type Required Description
data object true

An NPQ participant withdrawal action

It conforms to NPQParticipantWithdraw schema.

Example

{
  "data": {
    "type": "participant-withdraw",
    "attributes": {
      "reason": "quality-of-programme-other",
      "course_identifier": "npq-leading-teaching-development"
    }
  }
}

NPQWithdrawal

The details of an NPQ Participant withdrawal

Name Type Required Description
reason string true

The reason a participant was withdrawn

Possible values:

  • insufficient-capacity-to-undertake-programme
  • personal-reason-health-or-pregnancy-related
  • personal-reason-moving-school
  • personal-reason-other
  • insufficient-capacity
  • change-in-developmental-or-personal-priorities
  • change-in-school-circumstances
  • change-in-school-leadership
  • quality-of-programme-structure-not-suitable.
  • quality-of-programme-content-not-suitable
  • quality-of-programme-facilitation-not-effective
  • quality-of-programme-accessibility
  • quality-of-programme-other
  • programme-not-appropriate-for-role-and-cpd-needs
  • started-in-error
  • expected-commitment-unclear
  • other
date string true

The date and time the participant was withdrawn

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:

  • Recruited by other provider
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.

ParticipantDeclaration

A participant declaration

Name Type Required Description
type string false

Possible values:

  • participant-declaration
attributes false

This conforms to any of the following schemas:

ParticipantDeclarationDataRequest

A participant declaration data request

Name Type Required Description
type string false

Possible values:

  • participant-declaration
attributes false

This conforms to any of the following schemas:

ParticipantDeclarationRequest

An participant declaration request

Name Type Required Description
data object true

A participant declaration data request

It conforms to ParticipantDeclarationDataRequest schema.

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 response

It conforms to ParticipantDeclarationAttributes schema.

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:

  • started
  • retained-1
  • retained-2
  • retained-3
  • retained-4
  • completed
  • extended-1
  • extended-2
  • extended-3
declaration_date string true

The event declaration date

course_identifier string true

The type of course the participant is enrolled in

Possible values:

  • ecf-induction
  • ecf-mentor
  • npq-leading-teaching
  • npq-leading-behaviour-culture
  • npq-leading-teaching-development
  • npq-leading-literacy
  • npq-senior-leadership
  • npq-headship
  • npq-executive-leadership
  • npq-early-years-leadership
  • npq-additional-support-offer
  • npq-early-headship-coaching-offer
  • npq-leading-primary-mathematics
  • npq-senco
state string true

Indicates the state of this payment declaration

Possible values:

  • submitted
  • eligible
  • payable
  • paid
  • voided
  • ineligible
  • awaiting-clawback
  • clawed-back
updated_at string true

The date the declaration was last updated

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:

  • duplicate_declaration
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 that the lead provider holds on their platform to demonstrate that the participant has met the retention criteria for the current milestone period

Possible values:

  • training-event-attended
  • self-study-material-completed
  • other
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

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.

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

NPQParticipantFilter

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)

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

NPQOutcomeFilter

Filter NPQ outcomes to return more specific results

Name Type Required Description
created_since string false

Return only records that have been created since this date and time (ISO 8601 date format)

PartnershipExistsError

Partnership already exists

Name Type Required Description
title string false

Title of error message

Possible values:

  • Partnership already exists
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:

  • created_at
  • -created_at
  • updated_at
  • -updated_at

SchoolFundingError

School is not eligible for DfE-funded FIP

Name Type Required Description
title string false

Title of error message

Possible values:

  • School is not eligible for DfE-funded FIP
detail string false

Additional info why school is not for DfE-funded FIP if any

SingleParticipantDeclarationResponse

A confirmation that the participant declaration has been recorded successfully

Name Type Required Description
data object true

A participant declaration response

It 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 statement

It 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:

  • ecf
  • npq
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 statement

It 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:

  • ecf
  • npq
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.

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 mentor

It 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

email 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. The details of an unfunded mentor

It conforms to UnfundedMentor schema.

ECFUnfundedMentorsSort

Sort unfunded mentors being returned.

Name Type Required Description
Item string false It conforms to ECFUnfundedMentorsSort/items schema.

Possible values:

  • updated_at
  • -updated_at

UnauthorisedResponse

Authorization information is missing or invalid

Name Type Required Description
error string false

UrnInvalidError

URN entered is not valid

Name Type Required Description
title string false

Title of error message

Possible values:

  • URN is not valid
detail string false

Additional info why URN is not valid