Skip to content

Instantly share code, notes, and snippets.

@dexit
Last active May 27, 2026 14:57
Show Gist options
  • Select an option

  • Save dexit/835d80f6474b9d80e1a00d6cde7a0ba9 to your computer and use it in GitHub Desktop.

Select an option

Save dexit/835d80f6474b9d80e1a00d6cde7a0ba9 to your computer and use it in GitHub Desktop.
displayadverapi.json
openapi: 3.0.1
info:
title: Display Advert API
description: |-
Get and display adverts from Find an apprenticeship.
**Note.** It is not recommended to use The Display Advert API directly from a browser and as such we have not enabled CORS for this API. Instead, we recommend you call the API intermittently to retrieve the latest vacancies, store those vacancies in your own data store, and then change your website to read those vacancies from your own data store.
version: '2'
servers:
- url: https://api.apprenticeships.education.gov.uk/vacancies
paths:
/accountlegalentities:
get:
tags:
- AccountLegalEntities
summary: GET list of Account Legal Entities.
description: "Get a list of Account Legal Entities that are connected to your subscription. This can be used to further filter results in `GET vacancy` request.\r\nIf you are a provider only Accounts that have given permission for you to act on there behalf will show in the list. If you are an employer then only\r\nlegal entities that have a signed agreement will be in the list. If you are not an employer or provider a forbidden response will be returned."
operationId: get-accountlegalentities
parameters:
- name: X-Version
in: header
schema:
type: string
required: true
example: '2'
- name: X-Version
in: header
required: true
schema:
type: string
responses:
'200':
description: OK
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/GetAccountLegalEntitiesListResponse'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/GetAccountLegalEntitiesListResponse'
example:
accountLegalEntities:
- accountLegalEntityName: string
accountLegalEntityPublicHashedId: string
accountPublicHashedId: string
accountName: string
text/json; ver=2:
schema:
$ref: '#/components/schemas/GetAccountLegalEntitiesListResponse'
example:
accountLegalEntities:
- accountLegalEntityName: string
accountLegalEntityPublicHashedId: string
accountPublicHashedId: string
accountName: string
'403':
description: Forbidden
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
example:
type: string
title: string
status: 0
detail: string
instance: string
text/json; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
example:
type: string
title: string
status: 0
detail: string
instance: string
/referencedata/courses:
get:
tags:
- ReferenceData
summary: GET list of courses.
description: GET list of courses.
operationId: get-referencedata-courses
parameters:
- name: X-Version
in: header
required: true
schema:
type: string
- name: X-Version
in: header
schema:
type: string
required: true
example: '2'
responses:
'200':
description: OK
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/GetTrainingCoursesListResponse'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/GetTrainingCoursesListResponse'
example:
trainingCourses:
- larsCode: 0
title: string
route: string
type: string
text/json; ver=2:
schema:
$ref: '#/components/schemas/GetTrainingCoursesListResponse'
example:
trainingCourses:
- larsCode: 0
title: string
route: string
type: string
/referencedata/courses/routes:
get:
tags:
- ReferenceData
summary: GET list of course routes. The routes can then be used to filter results in `GET Vacancy` endpoint.
description: GET list of course routes. The routes can then be used to filter results in `GET Vacancy` endpoint.
operationId: get-referencedata-courses-routes
parameters:
- name: X-Version
in: header
required: true
schema:
type: string
- name: X-Version
in: header
schema:
type: string
required: true
example: '2'
responses:
'200':
description: OK
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/GetRouteResponseItem'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/GetRouteResponseItem'
example:
name: string
text/json; ver=2:
schema:
$ref: '#/components/schemas/GetRouteResponseItem'
example:
name: string
/vacancy:
get:
tags:
- Vacancy
summary: GET list of vacancies
description: "### Returns list of Vacancies based on your subscription. ###\r\n- If `FilterBySubscription` is `true` then for employer subscriptions this will automatically filter by your account.\r\n- If `FilterBySubscription` is `true` then for providers it will automatically filter by UKPRN.\r\n- If you provide a `AccountLegalEntityPublicHashedId` it must come from `GET accountslegalentities` or a forbidden result will be returned.\r\n### Examples ###\r\nGet all of a subscription's vacancies sorted by age descending (oldest first):\r\n```\r\n/vacancy?Sort=AgeDesc&FilterBySubscription=true\r\n```\r\nGet all vacancies within a 20 mile radius of Coventry (52.408056, -1.510556), sorted by distance (closest first) for standards 123 and 345:\r\n```\r\n/vacancy?Lat=52.408056&Lon=-1.510556&Sort=DistanceAsc&DistanceInMiles=20&StandardLarsCode=123&StandardLarsCode=345\r\n```\r\nGet all nationwide vacancies for route 'example' posted within the last 30 days, page 5, size 10:\r\n```\r\n/vacancy?PageNumber=5&PageSize=10&Routes=example&NationWideOnly=true&PostedInLastNumberOfDays=30\r\n```"
operationId: get-vacancy
parameters:
- name: ExcludeRecruitingNationally
in: query
description: "If not set returns all\r\nIf `true` returns non Nation Wide apprenticeship adverts only \r\nIf `false` returns all apprenticeship adverts including Nation Wide"
schema:
type: boolean
- name: X-Version
in: header
schema:
type: string
required: true
example: '2'
- name: EmployerName
in: query
schema:
type: string
- name: PageNumber
in: query
description: Page number you wish to get - defaults to 1
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Page size you wish to get - defaults to 10
schema:
type: integer
format: int32
- name: AccountLegalEntityPublicHashedId
in: query
description: If `FilterBySubscription` is `true` then you can supply the `AccountLegalEntityPublicHashedId` you wish to filter by, obtained from `GET AccountLegalEntities`. You can only supply a value that is linked to your account, or as a Provider you have permission to act on behalf of.
schema:
type: string
- name: Ukprn
in: query
description: The UKPRN which you wish to return adverts by. If `FilterBySubscription` is `true` and you have a Provider subscription, the value in your subscription will be used.
schema:
type: integer
format: int32
- name: Routes
in: query
description: You can supply a maximum of 2 routes to be filtered by, these can be obtained from `GET referencedata/courses/routes`. If there are `StandardLarsCode` values supplied the route filtering will be ignored.
schema:
maxItems: 2
type: array
items:
type: string
- name: Lat
in: query
description: Latitude to search from, must be supplied with `Longitude` and `DistanceInMiles`
schema:
type: number
format: double
- name: Lon
in: query
description: Longitude to search from, must be supplied with `Latitude` and `DistanceInMiles`
schema:
type: number
format: double
- name: Sort
in: query
description: "If not supplied, defaults to `VacancySort.AgeDesc`\r\n`AgeDesc` From newest to oldest apprenticeship adverts\r\n`AgeAsc` From oldest to newest apprenticeship adverts\r\n`DistanceDesc` From furthest to closest away apprenticeship adverts - can only be used if `Lat`, `Lon` and `DistanceInMiles` supplied\r\n`DistanceAsc` From closest to furthest away apprenticeship adverts - can only be used if `Lat`, `Lon` and `DistanceInMiles` supplied\r\n`ExpectedStartDateDesc` Ordering by apprenticeship adverts that are closest to starting\r\n`ExpectedStartDateAsc` Ordering by apprenticeship adverts that are further in the future to starting"
schema:
$ref: '#/components/schemas/VacancySort'
- name: DistanceInMiles
in: query
description: To be used with `Lat` and `Lon` to provide apprenticeship adverts that fall into that radius
schema:
type: integer
format: int32
- name: PostedInLastNumberOfDays
in: query
description: ''
schema:
type: integer
format: int32
- name: StandardLarsCode
in: query
description: The Id or Ids of the standard you are searching for - can be obtained from `GET referencedata/courses`. If supplied will cause any route filtering to be ignored
schema:
type: array
items:
type: integer
format: int32
- name: FilterBySubscription
in: query
description: If set to `true` - then filters by the AccountId or UKPRN linked to your subscription.
schema:
type: boolean
- name: AdditionalDataSources
in: header
schema:
type: array
items:
$ref: '#/components/schemas/AdditionalDataSource'
- name: X-Version
in: header
required: true
schema:
type: string
responses:
'200':
description: OK
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/GetVacanciesListResponseV2'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/GetVacanciesListResponseV2'
example:
vacancies:
- title: string
description: string
numberOfPositions: 0
postedDate: 2019-08-24T:14:15:22Z
closingDate: 2019-08-24T:14:15:22Z
startDate: 2019-08-24T:14:15:22Z
wage:
wageType: ApprenticeshipMinimum
wageAmount: 0
wageUnit: Unspecified
wageAdditionalInformation: string
workingWeekDescription: string
hoursPerWeek: 0
expectedDuration: 21 months
addresses:
- addressLine1: string
addressLine2: string
addressLine3: string
addressLine4: string
postcode: string
latitude: 0
longitude: 0
applicationUrl: string
distance: 0
employerName: string
employerWebsiteUrl: string
employerContactName: string
employerContactPhone: string
employerContactEmail: string
course:
larsCode: 0
title: Furniture restorer (level 3)
level: 3
route: Creative and design
type: string
apprenticeshipLevel: string
providerName: string
ukprn: 0
isDisabilityConfident: true
vacancyUrl: string
vacancyReference: string
isNationalVacancy: true
isNationalVacancyDetails: string
total: 0
totalFiltered: 0
totalPages: 0
text/json; ver=2:
schema:
$ref: '#/components/schemas/GetVacanciesListResponseV2'
example:
vacancies:
- title: string
description: string
numberOfPositions: 0
postedDate: 2019-08-24T:14:15:22Z
closingDate: 2019-08-24T:14:15:22Z
startDate: 2019-08-24T:14:15:22Z
wage:
wageType: ApprenticeshipMinimum
wageAmount: 0
wageUnit: Unspecified
wageAdditionalInformation: string
workingWeekDescription: string
hoursPerWeek: 0
expectedDuration: 21 months
addresses:
- addressLine1: string
addressLine2: string
addressLine3: string
addressLine4: string
postcode: string
latitude: 0
longitude: 0
applicationUrl: string
distance: 0
employerName: string
employerWebsiteUrl: string
employerContactName: string
employerContactPhone: string
employerContactEmail: string
course:
larsCode: 0
title: Furniture restorer (level 3)
level: 3
route: Creative and design
type: string
apprenticeshipLevel: string
providerName: string
ukprn: 0
isDisabilityConfident: true
vacancyUrl: string
vacancyReference: string
isNationalVacancy: true
isNationalVacancyDetails: string
total: 0
totalFiltered: 0
totalPages: 0
'403':
description: Forbidden
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
example:
type: string
title: string
status: 0
detail: string
instance: string
text/json; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
example:
type: string
title: string
status: 0
detail: string
instance: string
/vacancy/{vacancyReference}:
get:
tags:
- Vacancy
summary: GET vacancy by reference number
description: Returns details of a specific vacancy. If no vacancy found then a 404 response is returned.
operationId: get-vacancy-vacancyreference
parameters:
- name: vacancyReference
in: path
description: Vacancy reference in the following format 10001122
required: true
schema:
type: string
- name: X-Version
in: header
schema:
type: string
required: true
example: '2'
- name: X-Version
in: header
required: true
schema:
type: string
responses:
'200':
description: OK
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/GetVacancyResponseV2'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/GetVacancyResponseV2'
example:
title: string
description: string
numberOfPositions: 0
postedDate: 2019-08-24T:14:15:22Z
closingDate: 2019-08-24T:14:15:22Z
startDate: 2019-08-24T:14:15:22Z
wage:
wageType: ApprenticeshipMinimum
wageAmount: 0
wageUnit: Unspecified
wageAdditionalInformation: string
workingWeekDescription: string
hoursPerWeek: 0
expectedDuration: 21 months
addresses:
- addressLine1: string
addressLine2: string
addressLine3: string
addressLine4: string
postcode: string
latitude: 0
longitude: 0
applicationUrl: string
distance: 0
employerName: string
employerWebsiteUrl: string
employerContactName: string
employerContactPhone: string
employerContactEmail: string
course:
larsCode: 0
title: Furniture restorer (level 3)
level: 3
route: Creative and design
type: string
apprenticeshipLevel: string
providerName: string
ukprn: 0
isDisabilityConfident: true
vacancyUrl: string
vacancyReference: string
isNationalVacancy: true
isNationalVacancyDetails: string
employerDescription: string
trainingDescription: string
additionalTrainingDescription: string
outcomeDescription: string
fullDescription: string
skills:
- string
qualifications:
- weighting: Essential
qualificationType: string
subject: string
grade: string
thingsToConsider: string
companyBenefitsInformation: string
text/json; ver=2:
schema:
$ref: '#/components/schemas/GetVacancyResponseV2'
example:
title: string
description: string
numberOfPositions: 0
postedDate: 2019-08-24T:14:15:22Z
closingDate: 2019-08-24T:14:15:22Z
startDate: 2019-08-24T:14:15:22Z
wage:
wageType: ApprenticeshipMinimum
wageAmount: 0
wageUnit: Unspecified
wageAdditionalInformation: string
workingWeekDescription: string
hoursPerWeek: 0
expectedDuration: 21 months
addresses:
- addressLine1: string
addressLine2: string
addressLine3: string
addressLine4: string
postcode: string
latitude: 0
longitude: 0
applicationUrl: string
distance: 0
employerName: string
employerWebsiteUrl: string
employerContactName: string
employerContactPhone: string
employerContactEmail: string
course:
larsCode: 0
title: Furniture restorer (level 3)
level: 3
route: Creative and design
type: string
apprenticeshipLevel: string
providerName: string
ukprn: 0
isDisabilityConfident: true
vacancyUrl: string
vacancyReference: string
isNationalVacancy: true
isNationalVacancyDetails: string
employerDescription: string
trainingDescription: string
additionalTrainingDescription: string
outcomeDescription: string
fullDescription: string
skills:
- string
qualifications:
- weighting: Essential
qualificationType: string
subject: string
grade: string
thingsToConsider: string
companyBenefitsInformation: string
'404':
description: Not Found
content:
text/plain; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
examples:
default:
value: null
application/json; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
example:
type: string
title: string
status: 0
detail: string
instance: string
text/json; ver=2:
schema:
$ref: '#/components/schemas/ProblemDetails'
example:
type: string
title: string
status: 0
detail: string
instance: string
components:
schemas:
AdditionalDataSource:
enum:
- Nhs
type: string
GetAccountLegalEntitiesItem:
type: object
properties:
accountLegalEntityName:
type: string
nullable: true
accountLegalEntityPublicHashedId:
type: string
nullable: true
accountPublicHashedId:
type: string
nullable: true
accountName:
type: string
nullable: true
additionalProperties: false
GetAccountLegalEntitiesListResponse:
type: object
properties:
accountLegalEntities:
type: array
items:
$ref: '#/components/schemas/GetAccountLegalEntitiesItem'
nullable: true
additionalProperties: false
GetRouteResponseItem:
type: object
properties:
name:
type: string
nullable: true
additionalProperties: false
GetTrainingCoursesListResponse:
type: object
properties:
trainingCourses:
type: array
items:
$ref: '#/components/schemas/GetTrainingCoursesListResponseItem'
nullable: true
additionalProperties: false
GetTrainingCoursesListResponseItem:
type: object
properties:
larsCode:
type: integer
format: int32
title:
type: string
nullable: true
route:
type: string
nullable: true
type:
type: string
nullable: true
additionalProperties: false
GetVacanciesListResponseItemV2:
type: object
properties:
title:
maxLength: 100
type: string
description: The title for the apprenticeship vacancy. Will be less than or equal to 100 characters.
nullable: true
description:
maxLength: 350
type: string
description: A short summary of the overall apprenticeship. Will be less than or equal to 350 characters.
nullable: true
numberOfPositions:
type: integer
description: The number of apprentices being recruited for the apprenticeship. Will be 1 or higher.
format: int64
postedDate:
type: string
description: The date the apprenticeship was added to Find an apprenticeship.
format: date-time
example: 2019-08-24T:14:15:22Z
closingDate:
type: string
description: The last date people can apply for the apprenticeship. Will always be more than 2 weeks after the posted date.
format: date-time
example: 2019-08-24T:14:15:22Z
startDate:
type: string
description: The date the company plans for the apprenticeship to start.
format: date-time
example: 2019-08-24T:14:15:22Z
wage:
$ref: '#/components/schemas/GetVacancyWageItem'
hoursPerWeek:
type: number
description: The total number of hours per week. This includes both work and training.
format: double
expectedDuration:
type: string
description: How long the apprenticeship will be. Will be in months, written as a string of text.
nullable: true
example: 21 months
addresses:
type: array
items:
$ref: '#/components/schemas/GetVacancyAddressItem'
description: "The address of where the apprentice will work.\r\nIf the address is available at more than one location, you'll get an address and otherAddresses.If you included a lat and long when requesting, these will be returned in order of distance.\r\nIf isNationalVacancy is true, there will be no address provided."
nullable: true
applicationUrl:
type: string
description: The web address for the apprentice will apply.
nullable: true
distance:
type: number
description: If you provide a `lat` and `lon` for a location when using `GET list of vacancies` or `GET vacancy by reference number`, this will be the distance between the apprenticeship and your defined location. Will be in miles.
format: double
nullable: true
employerName:
type: string
description: Use this to get vacancies from a specific employer. The name does not need to be exact, as we’ll match it to the closest employer we have adverts for.
nullable: true
employerWebsiteUrl:
type: string
description: The web address for the company the apprentice will work at.
nullable: true
employerContactName:
type: string
description: A named contact a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.
nullable: true
employerContactPhone:
type: string
description: A phone number a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.
nullable: true
employerContactEmail:
type: string
description: An email address a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.
nullable: true
course:
$ref: '#/components/schemas/GetVacancyCourseItem'
apprenticeshipLevel:
type: string
description: Whether an apprenticeship is ‘intermediate’ (level 2), ‘advanced’ (level 3), ‘higher’ (level 4 to 5) or ‘degree’ (level 6 or 7).
nullable: true
providerName:
type: string
description: The name of the apprenticeship’s training provider.
nullable: true
ukprn:
type: integer
description: The UK provider reference number (UKRPN) for the apprenticeship’s training provider.
format: int32
isDisabilityConfident:
type: boolean
description: Says whether the employer is part of the Department for Work and Pension’s Disability Confident scheme.
vacancyUrl:
type: string
description: The address for the apprenticeship’s vacancy on Find an apprenticeship.
nullable: true
vacancyReference:
type: string
description: The unique reference code for the vacancy on Find an apprenticeship.
nullable: true
isNationalVacancy:
type: boolean
description: If the apprenticeship is available to applicants across the entirety of England. For example, if the apprenticeship is available in many locations across England, remote working or provides live-in accommodation. When isNationalVacancy is true, there will be no address. When true, there will be isNationalVacancyDetails.
isNationalVacancyDetails:
maxLength: 500
type: string
description: Only provided when isNationalVacancy is true. Includes details about why an apprenticeship is recruiting nationally and where an apprentice will work.
nullable: true
additionalProperties: false
GetVacanciesListResponseV2:
type: object
properties:
vacancies:
type: array
items:
$ref: '#/components/schemas/GetVacanciesListResponseItemV2'
nullable: true
total:
type: integer
format: int64
totalFiltered:
type: integer
format: int64
totalPages:
type: integer
format: int32
additionalProperties: false
GetVacancyAddressItem:
type: object
properties:
addressLine1:
type: string
description: First line of an address where the apprentice will work.
nullable: true
addressLine2:
type: string
description: Second line of an address where the apprentice will work.
nullable: true
addressLine3:
type: string
description: Third line of an address where the apprentice will work.
nullable: true
addressLine4:
type: string
description: Fourth line of an address where the apprentice will work.
nullable: true
postcode:
type: string
description: Postcode of an address where the apprentice will work.
nullable: true
latitude:
type: number
description: The latitude of the address where the apprentice will work.
format: double
nullable: true
longitude:
type: number
description: The longitude of the address where the apprentice will work.
format: double
nullable: true
additionalProperties: false
GetVacancyCourseItem:
type: object
properties:
larsCode:
type: integer
description: The code from the learning aim reference service (LARS) for the apprenticeship’s training course (almost known as a ‘standard’). Use `GET list of courses` to see all courses and their LARS codes.
format: int32
title:
type: string
description: The title of the apprenticeship training course and its level.
nullable: true
example: Furniture restorer (level 3)
level:
type: integer
description: What level the apprenticeship training course is.
format: int32
example: 3
route:
type: string
description: Which route the apprenticeship training course is part of, using the routes from the Institute for Apprenticeships and Technical Education (IfATE). On Find an apprenticeship, we call these categories.
nullable: true
example: Creative and design
type:
type: string
description: Will either be `apprenticeship` or `foundationApprenticeship`.
nullable: true
additionalProperties: false
GetVacancyQualification:
type: object
properties:
weighting:
$ref: '#/components/schemas/QualificationWeighting'
qualificationType:
type: string
nullable: true
subject:
type: string
nullable: true
grade:
type: string
nullable: true
additionalProperties: false
GetVacancyResponseV2:
type: object
properties:
title:
maxLength: 100
type: string
description: The title for the apprenticeship vacancy. Will be less than or equal to 100 characters.
nullable: true
description:
maxLength: 350
type: string
description: A short summary of the overall apprenticeship. Will be less than or equal to 350 characters.
nullable: true
numberOfPositions:
type: integer
description: The number of apprentices being recruited for the apprenticeship. Will be 1 or higher.
format: int64
postedDate:
type: string
description: The date the apprenticeship was added to Find an apprenticeship.
format: date-time
example: 2019-08-24T:14:15:22Z
closingDate:
type: string
description: The last date people can apply for the apprenticeship. Will always be more than 2 weeks after the posted date.
format: date-time
example: 2019-08-24T:14:15:22Z
startDate:
type: string
description: The date the company plans for the apprenticeship to start.
format: date-time
example: 2019-08-24T:14:15:22Z
wage:
$ref: '#/components/schemas/GetVacancyWageItem'
hoursPerWeek:
type: number
description: The total number of hours per week. This includes both work and training.
format: double
expectedDuration:
type: string
description: How long the apprenticeship will be. Will be in months, written as a string of text.
nullable: true
example: 21 months
addresses:
type: array
items:
$ref: '#/components/schemas/GetVacancyAddressItem'
description: "The address of where the apprentice will work.\r\nIf the address is available at more than one location, you'll get an address and otherAddresses.If you included a lat and long when requesting, these will be returned in order of distance.\r\nIf isNationalVacancy is true, there will be no address provided."
nullable: true
applicationUrl:
type: string
description: The web address for the apprentice will apply.
nullable: true
distance:
type: number
description: If you provide a `lat` and `lon` for a location when using `GET list of vacancies` or `GET vacancy by reference number`, this will be the distance between the apprenticeship and your defined location. Will be in miles.
format: double
nullable: true
employerName:
type: string
description: Use this to get vacancies from a specific employer. The name does not need to be exact, as we’ll match it to the closest employer we have adverts for.
nullable: true
employerWebsiteUrl:
type: string
description: The web address for the company the apprentice will work at.
nullable: true
employerContactName:
type: string
description: A named contact a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.
nullable: true
employerContactPhone:
type: string
description: A phone number a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.
nullable: true
employerContactEmail:
type: string
description: An email address a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.
nullable: true
course:
$ref: '#/components/schemas/GetVacancyCourseItem'
apprenticeshipLevel:
type: string
description: Whether an apprenticeship is ‘intermediate’ (level 2), ‘advanced’ (level 3), ‘higher’ (level 4 to 5) or ‘degree’ (level 6 or 7).
nullable: true
providerName:
type: string
description: The name of the apprenticeship’s training provider.
nullable: true
ukprn:
type: integer
description: The UK provider reference number (UKRPN) for the apprenticeship’s training provider.
format: int32
isDisabilityConfident:
type: boolean
description: Says whether the employer is part of the Department for Work and Pension’s Disability Confident scheme.
vacancyUrl:
type: string
description: The address for the apprenticeship’s vacancy on Find an apprenticeship.
nullable: true
vacancyReference:
type: string
description: The unique reference code for the vacancy on Find an apprenticeship.
nullable: true
isNationalVacancy:
type: boolean
description: If the apprenticeship is available to applicants across the entirety of England. For example, if the apprenticeship is available in many locations across England, remote working or provides live-in accommodation. When isNationalVacancy is true, there will be no address. When true, there will be isNationalVacancyDetails.
isNationalVacancyDetails:
maxLength: 500
type: string
description: Only provided when isNationalVacancy is true. Includes details about why an apprenticeship is recruiting nationally and where an apprentice will work.
nullable: true
employerDescription:
maxLength: 4000
type: string
description: A description of the company the apprentice will work at. Will be less than or equal to 4000 characters.
nullable: true
trainingDescription:
type: string
description: The apprenticeship�s training plan, including where and when training will take place.
nullable: true
additionalTrainingDescription:
type: string
description: Additional information about the training, such as details about the provider.
nullable: true
outcomeDescription:
type: string
description: What progress or outcome the apprentice can expect at the end of the apprenticeship.
nullable: true
fullDescription:
type: string
nullable: true
skills:
type: array
items:
type: string
nullable: true
qualifications:
type: array
items:
$ref: '#/components/schemas/GetVacancyQualification'
nullable: true
thingsToConsider:
type: string
nullable: true
companyBenefitsInformation:
type: string
nullable: true
additionalProperties: false
GetVacancyWageItem:
type: object
properties:
wageType:
$ref: '#/components/schemas/WageType'
wageAmount:
type: number
description: If `wageType` is `Custom`, this will be the set annual wage for the apprenticeship.
format: double
nullable: true
wageUnit:
$ref: '#/components/schemas/WageUnit'
wageAdditionalInformation:
maxLength: 250
type: string
description: Additional information about pay, such as when the apprentice might get a pay rise. Will be less than or equal to 250 characters.
nullable: true
workingWeekDescription:
maxLength: 250
type: string
description: Information about the working schedule, such as daily working hours. Will be less than or equal to 250 characters.
nullable: true
additionalProperties: false
ProblemDetails:
type: object
properties:
type:
type: string
nullable: true
title:
type: string
nullable: true
status:
type: integer
format: int32
nullable: true
detail:
type: string
nullable: true
instance:
type: string
nullable: true
additionalProperties: {}
QualificationWeighting:
enum:
- Essential
- Desired
type: string
VacancySort:
enum:
- AgeDesc
- AgeAsc
- DistanceDesc
- DistanceAsc
- ExpectedStartDateDesc
- ExpectedStartDateAsc
type: string
WageType:
enum:
- ApprenticeshipMinimum
- NationalMinimum
- Custom
- CompetitiveSalary
type: string
description: "Will be either:\r\n<ul><li>ApprenticeshipMinimum which is the National Minimum Wage for apprentices.</li><li>NationalMinimum which is the National Minimum Wage.</li><li>Custom which is a set salary set by the company.</li><li>CompetitiveSalary does not set an exact wage and shows the word ‘Competitive’.</li></ul>"
WageUnit:
enum:
- Unspecified
- Weekly
- Monthly
- Annually
type: string
securitySchemes:
apiKeyHeader:
type: apiKey
name: Ocp-Apim-Subscription-Key
in: header
security:
- apiKeyHeader: []
{
"openapi": "3.0.1",
"info": {
"title": "Display Advert API",
"description": "Get and display adverts from Find an apprenticeship. \n**Note.** It is not recommended to use The Display Advert API directly from a browser and as such we have not enabled CORS for this API. Instead, we recommend you call the API intermittently to retrieve the latest vacancies, store those vacancies in your own data store, and then change your website to read those vacancies from your own data store.",
"version": "2"
},
"servers": [
{
"url": "https://api.apprenticeships.education.gov.uk/vacancies"
}
],
"paths": {
"/accountlegalentities": {
"get": {
"tags": [
"AccountLegalEntities"
],
"summary": "GET list of Account Legal Entities.",
"description": "Get a list of Account Legal Entities that are connected to your subscription. This can be used to further filter results in `GET vacancy` request.\r\nIf you are a provider only Accounts that have given permission for you to act on there behalf will show in the list. If you are an employer then only\r\nlegal entities that have a signed agreement will be in the list. If you are not an employer or provider a forbidden response will be returned.",
"operationId": "get-accountlegalentities",
"parameters": [
{
"name": "X-Version",
"in": "header",
"schema": {
"type": "string"
},
"required": true,
"example": "2"
},
{
"name": "X-Version",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetAccountLegalEntitiesListResponse"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetAccountLegalEntitiesListResponse"
},
"example": {
"accountLegalEntities": [
{
"accountLegalEntityName": "string",
"accountLegalEntityPublicHashedId": "string",
"accountPublicHashedId": "string",
"accountName": "string"
}
]
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetAccountLegalEntitiesListResponse"
},
"example": {
"accountLegalEntities": [
{
"accountLegalEntityName": "string",
"accountLegalEntityPublicHashedId": "string",
"accountPublicHashedId": "string",
"accountName": "string"
}
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
}
}
}
}
}
},
"/referencedata/courses": {
"get": {
"tags": [
"ReferenceData"
],
"summary": "GET list of courses.",
"description": "GET list of courses.",
"operationId": "get-referencedata-courses",
"parameters": [
{
"name": "X-Version",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "X-Version",
"in": "header",
"schema": {
"type": "string"
},
"required": true,
"example": "2"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetTrainingCoursesListResponse"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetTrainingCoursesListResponse"
},
"example": {
"trainingCourses": [
{
"larsCode": 0,
"title": "string",
"route": "string",
"type": "string"
}
]
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetTrainingCoursesListResponse"
},
"example": {
"trainingCourses": [
{
"larsCode": 0,
"title": "string",
"route": "string",
"type": "string"
}
]
}
}
}
}
}
}
},
"/referencedata/courses/routes": {
"get": {
"tags": [
"ReferenceData"
],
"summary": "GET list of course routes. The routes can then be used to filter results in `GET Vacancy` endpoint.",
"description": "GET list of course routes. The routes can then be used to filter results in `GET Vacancy` endpoint.",
"operationId": "get-referencedata-courses-routes",
"parameters": [
{
"name": "X-Version",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "X-Version",
"in": "header",
"schema": {
"type": "string"
},
"required": true,
"example": "2"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetRouteResponseItem"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetRouteResponseItem"
},
"example": {
"name": "string"
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetRouteResponseItem"
},
"example": {
"name": "string"
}
}
}
}
}
}
},
"/vacancy": {
"get": {
"tags": [
"Vacancy"
],
"summary": "GET list of vacancies",
"description": "### Returns list of Vacancies based on your subscription. ###\r\n- If `FilterBySubscription` is `true` then for employer subscriptions this will automatically filter by your account.\r\n- If `FilterBySubscription` is `true` then for providers it will automatically filter by UKPRN.\r\n- If you provide a `AccountLegalEntityPublicHashedId` it must come from `GET accountslegalentities` or a forbidden result will be returned.\r\n### Examples ###\r\nGet all of a subscription's vacancies sorted by age descending (oldest first):\r\n```\r\n/vacancy?Sort=AgeDesc&FilterBySubscription=true\r\n```\r\nGet all vacancies within a 20 mile radius of Coventry (52.408056, -1.510556), sorted by distance (closest first) for standards 123 and 345:\r\n```\r\n/vacancy?Lat=52.408056&Lon=-1.510556&Sort=DistanceAsc&DistanceInMiles=20&StandardLarsCode=123&StandardLarsCode=345\r\n```\r\nGet all nationwide vacancies for route 'example' posted within the last 30 days, page 5, size 10:\r\n```\r\n/vacancy?PageNumber=5&PageSize=10&Routes=example&NationWideOnly=true&PostedInLastNumberOfDays=30\r\n```",
"operationId": "get-vacancy",
"parameters": [
{
"name": "ExcludeRecruitingNationally",
"in": "query",
"description": "If not set returns all\r\nIf `true` returns non Nation Wide apprenticeship adverts only \r\nIf `false` returns all apprenticeship adverts including Nation Wide",
"schema": {
"type": "boolean"
}
},
{
"name": "X-Version",
"in": "header",
"schema": {
"type": "string"
},
"required": true,
"example": "2"
},
{
"name": "EmployerName",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "IncludeDetails",
"in": "query",
"description": "If the page size is less than or equal to 100, then with this set to true then\r\nthe full text details will be returned in the response",
"schema": {
"type": "boolean"
}
},
{
"name": "PageNumber",
"in": "query",
"description": "Page number you wish to get - defaults to 1",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "PageSize",
"in": "query",
"description": "Page size you wish to get - defaults to 10",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "AccountLegalEntityPublicHashedId",
"in": "query",
"description": "If `FilterBySubscription` is `true` then you can supply the `AccountLegalEntityPublicHashedId` you wish to filter by, obtained from `GET AccountLegalEntities`. You can only supply a value that is linked to your account, or as a Provider you have permission to act on behalf of.",
"schema": {
"type": "string"
}
},
{
"name": "Ukprn",
"in": "query",
"description": "The UKPRN which you wish to return adverts by. If `FilterBySubscription` is `true` and you have a Provider subscription, the value in your subscription will be used.",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "Routes",
"in": "query",
"description": "You can supply a maximum of 2 routes to be filtered by, these can be obtained from `GET referencedata/courses/routes`. If there are `StandardLarsCode` values supplied the route filtering will be ignored.",
"schema": {
"maxItems": 2,
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "Lat",
"in": "query",
"description": "Latitude to search from, must be supplied with `Longitude` and `DistanceInMiles`",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "Lon",
"in": "query",
"description": "Longitude to search from, must be supplied with `Latitude` and `DistanceInMiles`",
"schema": {
"type": "number",
"format": "double"
}
},
{
"name": "Sort",
"in": "query",
"description": "If not supplied, defaults to `VacancySort.AgeDesc`\r\n`AgeDesc` From newest to oldest apprenticeship adverts\r\n`AgeAsc` From oldest to newest apprenticeship adverts\r\n`DistanceDesc` From furthest to closest away apprenticeship adverts - can only be used if `Lat`, `Lon` and `DistanceInMiles` supplied\r\n`DistanceAsc` From closest to furthest away apprenticeship adverts - can only be used if `Lat`, `Lon` and `DistanceInMiles` supplied\r\n`ExpectedStartDateDesc` Ordering by apprenticeship adverts that are closest to starting\r\n`ExpectedStartDateAsc` Ordering by apprenticeship adverts that are further in the future to starting",
"schema": {
"$ref": "#/components/schemas/VacancySort"
}
},
{
"name": "DistanceInMiles",
"in": "query",
"description": "To be used with `Lat` and `Lon` to provide apprenticeship adverts that fall into that radius",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "PostedInLastNumberOfDays",
"in": "query",
"description": "",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "StandardLarsCode",
"in": "query",
"description": "The Id or Ids of the standard you are searching for - can be obtained from `GET referencedata/courses`. If supplied will cause any route filtering to be ignored",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "FilterBySubscription",
"in": "query",
"description": "If set to `true` - then filters by the AccountId or UKPRN linked to your subscription.",
"schema": {
"type": "boolean"
}
},
{
"name": "AdditionalDataSources",
"in": "header",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdditionalDataSource"
}
}
},
{
"name": "X-Version",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetVacanciesDetailsListResponseV2"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetVacanciesDetailsListResponseV2"
},
"example": {
"vacancies": [
{
"title": "string",
"description": "string",
"numberOfPositions": 0,
"postedDate": "2019-08-24T:14:15:22Z",
"closingDate": "2019-08-24T:14:15:22Z",
"startDate": "2019-08-24T:14:15:22Z",
"wage": {
"wageType": "ApprenticeshipMinimum",
"wageAmount": 0,
"wageUnit": "Unspecified",
"wageAdditionalInformation": "string",
"workingWeekDescription": "string"
},
"hoursPerWeek": 0,
"expectedDuration": "21 months",
"addresses": [
{
"addressLine1": "string",
"addressLine2": "string",
"addressLine3": "string",
"addressLine4": "string",
"postcode": "string",
"latitude": 0,
"longitude": 0
}
],
"applicationUrl": "string",
"distance": 0,
"employerName": "string",
"employerWebsiteUrl": "string",
"employerContactName": "string",
"employerContactPhone": "string",
"employerContactEmail": "string",
"course": {
"larsCode": 0,
"title": "Furniture restorer (level 3)",
"level": 3,
"route": "Creative and design",
"type": "string"
},
"apprenticeshipLevel": "string",
"providerName": "string",
"ukprn": 0,
"isDisabilityConfident": true,
"vacancyUrl": "string",
"vacancyReference": "string",
"isNationalVacancy": true,
"isNationalVacancyDetails": "string",
"employerDescription": "string",
"trainingDescription": "string",
"additionalTrainingDescription": "string",
"outcomeDescription": "string",
"fullDescription": "string",
"skills": [
"string"
],
"qualifications": [
{
"weighting": "Essential",
"qualificationType": "string",
"subject": "string",
"grade": "string"
}
],
"thingsToConsider": "string",
"companyBenefitsInformation": "string"
}
],
"total": 0,
"totalFiltered": 0,
"totalPages": 0
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetVacanciesDetailsListResponseV2"
},
"example": {
"vacancies": [
{
"title": "string",
"description": "string",
"numberOfPositions": 0,
"postedDate": "2019-08-24T:14:15:22Z",
"closingDate": "2019-08-24T:14:15:22Z",
"startDate": "2019-08-24T:14:15:22Z",
"wage": {
"wageType": "ApprenticeshipMinimum",
"wageAmount": 0,
"wageUnit": "Unspecified",
"wageAdditionalInformation": "string",
"workingWeekDescription": "string"
},
"hoursPerWeek": 0,
"expectedDuration": "21 months",
"addresses": [
{
"addressLine1": "string",
"addressLine2": "string",
"addressLine3": "string",
"addressLine4": "string",
"postcode": "string",
"latitude": 0,
"longitude": 0
}
],
"applicationUrl": "string",
"distance": 0,
"employerName": "string",
"employerWebsiteUrl": "string",
"employerContactName": "string",
"employerContactPhone": "string",
"employerContactEmail": "string",
"course": {
"larsCode": 0,
"title": "Furniture restorer (level 3)",
"level": 3,
"route": "Creative and design",
"type": "string"
},
"apprenticeshipLevel": "string",
"providerName": "string",
"ukprn": 0,
"isDisabilityConfident": true,
"vacancyUrl": "string",
"vacancyReference": "string",
"isNationalVacancy": true,
"isNationalVacancyDetails": "string",
"employerDescription": "string",
"trainingDescription": "string",
"additionalTrainingDescription": "string",
"outcomeDescription": "string",
"fullDescription": "string",
"skills": [
"string"
],
"qualifications": [
{
"weighting": "Essential",
"qualificationType": "string",
"subject": "string",
"grade": "string"
}
],
"thingsToConsider": "string",
"companyBenefitsInformation": "string"
}
],
"total": 0,
"totalFiltered": 0,
"totalPages": 0
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
}
}
}
}
}
},
"/vacancy/{vacancyReference}": {
"get": {
"tags": [
"Vacancy"
],
"summary": "GET vacancy by reference number",
"description": "Returns details of a specific vacancy. If no vacancy found then a 404 response is returned.",
"operationId": "get-vacancy-vacancyreference",
"parameters": [
{
"name": "vacancyReference",
"in": "path",
"description": "Vacancy reference in the following format 10001122",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "X-Version",
"in": "header",
"schema": {
"type": "string"
},
"required": true,
"example": "2"
},
{
"name": "X-Version",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetVacancyResponseV2"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetVacancyResponseV2"
},
"example": {
"title": "string",
"description": "string",
"numberOfPositions": 0,
"postedDate": "2019-08-24T:14:15:22Z",
"closingDate": "2019-08-24T:14:15:22Z",
"startDate": "2019-08-24T:14:15:22Z",
"wage": {
"wageType": "ApprenticeshipMinimum",
"wageAmount": 0,
"wageUnit": "Unspecified",
"wageAdditionalInformation": "string",
"workingWeekDescription": "string"
},
"hoursPerWeek": 0,
"expectedDuration": "21 months",
"addresses": [
{
"addressLine1": "string",
"addressLine2": "string",
"addressLine3": "string",
"addressLine4": "string",
"postcode": "string",
"latitude": 0,
"longitude": 0
}
],
"applicationUrl": "string",
"distance": 0,
"employerName": "string",
"employerWebsiteUrl": "string",
"employerContactName": "string",
"employerContactPhone": "string",
"employerContactEmail": "string",
"course": {
"larsCode": 0,
"title": "Furniture restorer (level 3)",
"level": 3,
"route": "Creative and design",
"type": "string"
},
"apprenticeshipLevel": "string",
"providerName": "string",
"ukprn": 0,
"isDisabilityConfident": true,
"vacancyUrl": "string",
"vacancyReference": "string",
"isNationalVacancy": true,
"isNationalVacancyDetails": "string",
"employerDescription": "string",
"trainingDescription": "string",
"additionalTrainingDescription": "string",
"outcomeDescription": "string",
"fullDescription": "string",
"skills": [
"string"
],
"qualifications": [
{
"weighting": "Essential",
"qualificationType": "string",
"subject": "string",
"grade": "string"
}
],
"thingsToConsider": "string",
"companyBenefitsInformation": "string"
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/GetVacancyResponseV2"
},
"example": {
"title": "string",
"description": "string",
"numberOfPositions": 0,
"postedDate": "2019-08-24T:14:15:22Z",
"closingDate": "2019-08-24T:14:15:22Z",
"startDate": "2019-08-24T:14:15:22Z",
"wage": {
"wageType": "ApprenticeshipMinimum",
"wageAmount": 0,
"wageUnit": "Unspecified",
"wageAdditionalInformation": "string",
"workingWeekDescription": "string"
},
"hoursPerWeek": 0,
"expectedDuration": "21 months",
"addresses": [
{
"addressLine1": "string",
"addressLine2": "string",
"addressLine3": "string",
"addressLine4": "string",
"postcode": "string",
"latitude": 0,
"longitude": 0
}
],
"applicationUrl": "string",
"distance": 0,
"employerName": "string",
"employerWebsiteUrl": "string",
"employerContactName": "string",
"employerContactPhone": "string",
"employerContactEmail": "string",
"course": {
"larsCode": 0,
"title": "Furniture restorer (level 3)",
"level": 3,
"route": "Creative and design",
"type": "string"
},
"apprenticeshipLevel": "string",
"providerName": "string",
"ukprn": 0,
"isDisabilityConfident": true,
"vacancyUrl": "string",
"vacancyReference": "string",
"isNationalVacancy": true,
"isNationalVacancyDetails": "string",
"employerDescription": "string",
"trainingDescription": "string",
"additionalTrainingDescription": "string",
"outcomeDescription": "string",
"fullDescription": "string",
"skills": [
"string"
],
"qualifications": [
{
"weighting": "Essential",
"qualificationType": "string",
"subject": "string",
"grade": "string"
}
],
"thingsToConsider": "string",
"companyBenefitsInformation": "string"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"text/plain; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"examples": {
"default": {
"value": null
}
}
},
"application/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
},
"text/json; ver=2": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AdditionalDataSource": {
"enum": [
"Nhs",
"Csj"
],
"type": "string"
},
"GetAccountLegalEntitiesItem": {
"type": "object",
"properties": {
"accountLegalEntityName": {
"type": "string",
"nullable": true
},
"accountLegalEntityPublicHashedId": {
"type": "string",
"nullable": true
},
"accountPublicHashedId": {
"type": "string",
"nullable": true
},
"accountName": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"GetAccountLegalEntitiesListResponse": {
"type": "object",
"properties": {
"accountLegalEntities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GetAccountLegalEntitiesItem"
},
"nullable": true
}
},
"additionalProperties": false
},
"GetRouteResponseItem": {
"type": "object",
"properties": {
"name": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"GetTrainingCoursesListResponse": {
"type": "object",
"properties": {
"trainingCourses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GetTrainingCoursesListResponseItem"
},
"nullable": true
}
},
"additionalProperties": false
},
"GetTrainingCoursesListResponseItem": {
"type": "object",
"properties": {
"larsCode": {
"type": "integer",
"format": "int32"
},
"title": {
"type": "string",
"nullable": true
},
"route": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"GetVacanciesDetailsListResponseV2": {
"type": "object",
"properties": {
"vacancies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GetVacancyResponseV2"
},
"nullable": true
},
"total": {
"type": "integer",
"format": "int64"
},
"totalFiltered": {
"type": "integer",
"format": "int64"
},
"totalPages": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"GetVacancyAddressItem": {
"type": "object",
"properties": {
"addressLine1": {
"type": "string",
"description": "First line of an address where the apprentice will work.",
"nullable": true
},
"addressLine2": {
"type": "string",
"description": "Second line of an address where the apprentice will work.",
"nullable": true
},
"addressLine3": {
"type": "string",
"description": "Third line of an address where the apprentice will work.",
"nullable": true
},
"addressLine4": {
"type": "string",
"description": "Fourth line of an address where the apprentice will work.",
"nullable": true
},
"postcode": {
"type": "string",
"description": "Postcode of an address where the apprentice will work.",
"nullable": true
},
"latitude": {
"type": "number",
"description": "The latitude of the address where the apprentice will work.",
"format": "double",
"nullable": true
},
"longitude": {
"type": "number",
"description": "The longitude of the address where the apprentice will work.",
"format": "double",
"nullable": true
}
},
"additionalProperties": false
},
"GetVacancyCourseItem": {
"type": "object",
"properties": {
"larsCode": {
"type": "integer",
"description": "The code from the learning aim reference service (LARS) for the apprenticeship’s training course (almost known as a ‘standard’). Use `GET list of courses` to see all courses and their LARS codes.",
"format": "int32"
},
"title": {
"type": "string",
"description": "The title of the apprenticeship training course and its level.",
"nullable": true,
"example": "Furniture restorer (level 3)"
},
"level": {
"type": "integer",
"description": "What level the apprenticeship training course is.",
"format": "int32",
"example": 3
},
"route": {
"type": "string",
"description": "Which route the apprenticeship training course is part of, using the routes from the Institute for Apprenticeships and Technical Education (IfATE). On Find an apprenticeship, we call these categories.",
"nullable": true,
"example": "Creative and design"
},
"type": {
"type": "string",
"description": "Will either be `apprenticeship` or `foundationApprenticeship`.",
"nullable": true
}
},
"additionalProperties": false
},
"GetVacancyQualification": {
"type": "object",
"properties": {
"weighting": {
"$ref": "#/components/schemas/QualificationWeighting"
},
"qualificationType": {
"type": "string",
"nullable": true
},
"subject": {
"type": "string",
"nullable": true
},
"grade": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"GetVacancyResponseV2": {
"type": "object",
"properties": {
"title": {
"maxLength": 100,
"type": "string",
"description": "The title for the apprenticeship vacancy. Will be less than or equal to 100 characters.",
"nullable": true
},
"description": {
"maxLength": 350,
"type": "string",
"description": "A short summary of the overall apprenticeship. Will be less than or equal to 350 characters.",
"nullable": true
},
"numberOfPositions": {
"type": "integer",
"description": "The number of apprentices being recruited for the apprenticeship. Will be 1 or higher.",
"format": "int64"
},
"postedDate": {
"type": "string",
"description": "The date the apprenticeship was added to Find an apprenticeship.",
"format": "date-time",
"example": "2019-08-24T:14:15:22Z"
},
"closingDate": {
"type": "string",
"description": "The last date people can apply for the apprenticeship. Will always be more than 2 weeks after the posted date.",
"format": "date-time",
"example": "2019-08-24T:14:15:22Z"
},
"startDate": {
"type": "string",
"description": "The date the company plans for the apprenticeship to start.",
"format": "date-time",
"example": "2019-08-24T:14:15:22Z"
},
"wage": {
"$ref": "#/components/schemas/GetVacancyWageItem"
},
"hoursPerWeek": {
"type": "number",
"description": "The total number of hours per week. This includes both work and training.",
"format": "double"
},
"expectedDuration": {
"type": "string",
"description": "How long the apprenticeship will be. Will be in months, written as a string of text.",
"nullable": true,
"example": "21 months"
},
"addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GetVacancyAddressItem"
},
"description": "The address of where the apprentice will work.\r\nIf the address is available at more than one location, you'll get an address and otherAddresses.If you included a lat and long when requesting, these will be returned in order of distance.\r\nIf isNationalVacancy is true, there will be no address provided.",
"nullable": true
},
"applicationUrl": {
"type": "string",
"description": "The web address for the apprentice will apply.",
"nullable": true
},
"distance": {
"type": "number",
"description": "If you provide a `lat` and `lon` for a location when using `GET list of vacancies` or `GET vacancy by reference number`, this will be the distance between the apprenticeship and your defined location. Will be in miles.",
"format": "double",
"nullable": true
},
"employerName": {
"type": "string",
"description": "Use this to get vacancies from a specific employer. The name does not need to be exact, as we’ll match it to the closest employer we have adverts for.",
"nullable": true
},
"employerWebsiteUrl": {
"type": "string",
"description": "The web address for the company the apprentice will work at.",
"nullable": true
},
"employerContactName": {
"type": "string",
"description": "A named contact a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.",
"nullable": true
},
"employerContactPhone": {
"type": "string",
"description": "A phone number a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.",
"nullable": true
},
"employerContactEmail": {
"type": "string",
"description": "An email address a person can use to ask questions about the apprenticeship before applying. This contact can be from either the employer or training provider.",
"nullable": true
},
"course": {
"$ref": "#/components/schemas/GetVacancyCourseItem"
},
"apprenticeshipLevel": {
"type": "string",
"description": "Whether an apprenticeship is ‘intermediate’ (level 2), ‘advanced’ (level 3), ‘higher’ (level 4 to 5) or ‘degree’ (level 6 or 7).",
"nullable": true
},
"providerName": {
"type": "string",
"description": "The name of the apprenticeship’s training provider.",
"nullable": true
},
"ukprn": {
"type": "integer",
"description": "The UK provider reference number (UKRPN) for the apprenticeship’s training provider.",
"format": "int32"
},
"isDisabilityConfident": {
"type": "boolean",
"description": "Says whether the employer is part of the Department for Work and Pension’s Disability Confident scheme."
},
"vacancyUrl": {
"type": "string",
"description": "The address for the apprenticeship’s vacancy on Find an apprenticeship.",
"nullable": true
},
"vacancyReference": {
"type": "string",
"description": "The unique reference code for the vacancy on Find an apprenticeship.",
"nullable": true
},
"isNationalVacancy": {
"type": "boolean",
"description": "If the apprenticeship is available to applicants across the entirety of England. For example, if the apprenticeship is available in many locations across England, remote working or provides live-in accommodation. When isNationalVacancy is true, there will be no address. When true, there will be isNationalVacancyDetails."
},
"isNationalVacancyDetails": {
"maxLength": 500,
"type": "string",
"description": "Only provided when isNationalVacancy is true. Includes details about why an apprenticeship is recruiting nationally and where an apprentice will work.",
"nullable": true
},
"employerDescription": {
"maxLength": 4000,
"type": "string",
"description": "A description of the company the apprentice will work at. Will be less than or equal to 4000 characters.",
"nullable": true
},
"trainingDescription": {
"type": "string",
"description": "The apprenticeship�s training plan, including where and when training will take place.",
"nullable": true
},
"additionalTrainingDescription": {
"type": "string",
"description": "Additional information about the training, such as details about the provider.",
"nullable": true
},
"outcomeDescription": {
"type": "string",
"description": "What progress or outcome the apprentice can expect at the end of the apprenticeship.",
"nullable": true
},
"fullDescription": {
"type": "string",
"nullable": true
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"qualifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GetVacancyQualification"
},
"nullable": true
},
"thingsToConsider": {
"type": "string",
"nullable": true
},
"companyBenefitsInformation": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"GetVacancyWageItem": {
"type": "object",
"properties": {
"wageType": {
"$ref": "#/components/schemas/WageType"
},
"wageAmount": {
"type": "number",
"description": "If `wageType` is `Custom`, this will be the set annual wage for the apprenticeship.",
"format": "double",
"nullable": true
},
"wageUnit": {
"$ref": "#/components/schemas/WageUnit"
},
"wageAdditionalInformation": {
"maxLength": 250,
"type": "string",
"description": "Additional information about pay, such as when the apprentice might get a pay rise. Will be less than or equal to 250 characters.",
"nullable": true
},
"workingWeekDescription": {
"maxLength": 250,
"type": "string",
"description": "Information about the working schedule, such as daily working hours. Will be less than or equal to 250 characters.",
"nullable": true
}
},
"additionalProperties": false
},
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"nullable": true
},
"title": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"format": "int32",
"nullable": true
},
"detail": {
"type": "string",
"nullable": true
},
"instance": {
"type": "string",
"nullable": true
}
},
"additionalProperties": {}
},
"QualificationWeighting": {
"enum": [
"Essential",
"Desired"
],
"type": "string"
},
"VacancySort": {
"enum": [
"AgeDesc",
"AgeAsc",
"DistanceDesc",
"DistanceAsc",
"ExpectedStartDateDesc",
"ExpectedStartDateAsc"
],
"type": "string"
},
"WageType": {
"enum": [
"ApprenticeshipMinimum",
"NationalMinimum",
"Custom",
"CompetitiveSalary"
],
"type": "string",
"description": "Will be either:\r\n<ul><li>ApprenticeshipMinimum which is the National Minimum Wage for apprentices.</li><li>NationalMinimum which is the National Minimum Wage.</li><li>Custom which is a set salary set by the company.</li><li>CompetitiveSalary does not set an exact wage and shows the word ‘Competitive’.</li></ul>"
},
"WageUnit": {
"enum": [
"Unspecified",
"Weekly",
"Monthly",
"Annually"
],
"type": "string"
}
},
"securitySchemes": {
"apiKeyHeader": {
"type": "apiKey",
"name": "Ocp-Apim-Subscription-Key",
"in": "header"
}
}
},
"security": [
{
"apiKeyHeader": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment