{ "openapi": "3.0.1", "info": { "title": "Recruitment API", "description": "Create adverts for Find an apprenticeship using your own system.", "version": "1" }, "servers": [ { "url": "https://api.apprenticeships.education.gov.uk/managevacancies" } ], "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. The AccountLegalEntityPublicHashedId is required for Vacancy creation.\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.", "operationId": "get-accountlegalentities", "parameters": [ { "name": "X-Version", "in": "header", "schema": { "type": "string" }, "required": true, "example": "1" } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/GetAccountLegalEntitiesListResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/GetAccountLegalEntitiesListResponse" }, "example": { "accountLegalEntities": [ { "accountLegalEntityName": "string", "accountLegalEntityPublicHashedId": "string", "accountPublicHashedId": "string", "accountName": "string" } ] } }, "text/json": { "schema": { "$ref": "#/components/schemas/GetAccountLegalEntitiesListResponse" }, "example": { "accountLegalEntities": [ { "accountLegalEntityName": "string", "accountLegalEntityPublicHashedId": "string", "accountPublicHashedId": "string", "accountName": "string" } ] } } } } } } }, "/referencedata/qualifications": { "get": { "tags": [ "ReferenceData" ], "parameters": [ { "name": "X-Version", "in": "header", "schema": { "type": "string" }, "required": true, "example": "1" } ], "summary": "GET list of qualifications.", "description": "Returns list of qualifications to be used when creating a Vacancy.", "operationId": "get-referencedata-qualifications", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/GetQualificationsResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/GetQualificationsResponse" }, "example": { "qualifications": [ "string" ] } }, "text/json": { "schema": { "$ref": "#/components/schemas/GetQualificationsResponse" }, "example": { "qualifications": [ "string" ] } } } } } } }, "/referencedata/skills": { "get": { "tags": [ "ReferenceData" ], "parameters": [ { "name": "X-Version", "in": "header", "schema": { "type": "string" }, "required": true, "example": "1" } ], "summary": "GET list of candidate skills.", "description": "Returns list of candidate skills to be used when creating a Vacancy.", "operationId": "get-referencedata-skills", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/GetCandidateSkillsListResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/GetCandidateSkillsListResponse" }, "example": { "candidateSkills": [ "string" ] } }, "text/json": { "schema": { "$ref": "#/components/schemas/GetCandidateSkillsListResponse" }, "example": { "candidateSkills": [ "string" ] } } } } } } }, "/referencedata/courses": { "get": { "tags": [ "ReferenceData" ], "parameters": [ { "name": "X-Version", "in": "header", "schema": { "type": "string" }, "required": true, "example": "1" } ], "summary": "GET list of courses.", "description": "Returns list of courses to be used when creating a Vacancy. The `Id` should be used for `standardsLarsCode` in create Vacancy", "operationId": "get-referencedata-courses", "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/GetTrainingCoursesListResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/GetTrainingCoursesListResponse" }, "example": { "trainingCourses": [ { "larsCode": 0, "title": "string", "route": "string" } ] } }, "text/json": { "schema": { "$ref": "#/components/schemas/GetTrainingCoursesListResponse" }, "example": { "trainingCourses": [ { "larsCode": 0, "title": "string", "route": "string" } ] } } } } } } }, "/vacancy/{id}": { "post": { "tags": [ "Vacancy" ], "summary": "POST apprenticeship vacancy", "description": "Creates an apprenticeship vacancy using the specified values", "operationId": "post-vacancy-id", "parameters": [ { "name": "id", "in": "path", "description": "Format - uuid. The unique ID of the Apprenticeship advert.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-Version", "in": "header", "schema": { "type": "string" }, "required": true, "example": "1" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyRequest" }, "example": { "title": "Library assistant apprenticeship", "numberOfPositions": 0, "closingDate": "2019-08-24T:14:15:22Z", "startDate": "2019-08-24T:14:15:22Z", "contractingParties": { "accountLegalEntityPublicHashedId": "string", "ukprn": 0 }, "wage": { "wageType": "FixedWage", "fixedWageYearlyAmount": 25000, "wageAdditionalInformation": "string", "CompanyBenefitsInformation": "string", "weeklyHours": 0, "workingWeekDescription": "string", "duration": 18, "durationUnit": "Month" }, "address": { "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "addressLine4": "string", "postcode": "string" }, "shortDescription": "string", "description": "Your daily tasks could include: working within a team to deliver a menu of high-quality food each service prepare food in a way that meets food hygiene standards storing food correctly", "outcomeDescription": "string", "trainingDescription": "One day per week, in-person at college", "additionalTrainingDescription": "You’ll have an apprenticeship advisor who will support you through your apprenticeship.", "standardLarsCode": "119", "employerNameOption": "RegisteredName", "alternativeEmployerName": "string", "employerDescription": "Car manufacturer or clothes retailer", "anonymousReason": "string", "employerWebsiteUrl": "string", "disabilityConfident": "No", "submitterContactDetails": { "name": "string", "email": "string", "phone": "string" }, "skills": [ "string" ], "qualifications": [ { "qualificationType": "string", "level": 7, "subject": "string", "grade": "C or 4", "weighting": "Essential" } ], "thingsToConsider": "string", "applicationMethod": "ThroughFindAnApprenticeship", "applicationInstructions": "string", "applicationUrl": "string", "additionalQuestion1": "Do you have a driving licence?", "additionalQuestion2": "What is your interest in this industry?" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyRequest" }, "example": { "title": "Library assistant apprenticeship", "numberOfPositions": 0, "closingDate": "2019-08-24T:14:15:22Z", "startDate": "2019-08-24T:14:15:22Z", "contractingParties": { "accountLegalEntityPublicHashedId": "string", "ukprn": 0 }, "wage": { "wageType": "FixedWage", "fixedWageYearlyAmount": 25000, "wageAdditionalInformation": "string", "CompanyBenefitsInformation": "string", "weeklyHours": 0, "workingWeekDescription": "string", "duration": 18, "durationUnit": "Month" }, "address": { "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "addressLine4": "string", "postcode": "string" }, "shortDescription": "string", "description": "Your daily tasks could include: working within a team to deliver a menu of high-quality food each service prepare food in a way that meets food hygiene standards storing food correctly", "outcomeDescription": "string", "trainingDescription": "One day per week, in-person at college", "additionalTrainingDescription": "You’ll have an apprenticeship advisor who will support you through your apprenticeship.", "standardLarsCode": "119", "employerNameOption": "RegisteredName", "alternativeEmployerName": "string", "employerDescription": "Car manufacturer or clothes retailer", "anonymousReason": "string", "employerWebsiteUrl": "string", "disabilityConfident": "No", "submitterContactDetails": { "name": "string", "email": "string", "phone": "string" }, "skills": [ "string" ], "qualifications": [ { "qualificationType": "string", "level": 7, "subject": "string", "grade": "C or 4", "weighting": "Essential" } ], "thingsToConsider": "string", "applicationMethod": "ThroughFindAnApprenticeship", "applicationInstructions": "string", "applicationUrl": "string", "additionalQuestion1": "Do you have a driving licence?", "additionalQuestion2": "What is your interest in this industry?" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateVacancyRequest" }, "example": { "title": "Library assistant apprenticeship", "numberOfPositions": 0, "closingDate": "2019-08-24T:14:15:22Z", "startDate": "2019-08-24T:14:15:22Z", "contractingParties": { "accountLegalEntityPublicHashedId": "string", "ukprn": 0 }, "wage": { "wageType": "FixedWage", "fixedWageYearlyAmount": 25000, "wageAdditionalInformation": "string", "CompanyBenefitsInformation": "string", "weeklyHours": 0, "workingWeekDescription": "string", "duration": 18, "durationUnit": "Month" }, "address": { "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "addressLine4": "string", "postcode": "string" }, "shortDescription": "string", "description": "Your daily tasks could include: working within a team to deliver a menu of high-quality food each service prepare food in a way that meets food hygiene standards storing food correctly", "outcomeDescription": "string", "trainingDescription": "One day per week, in-person at college", "additionalTrainingDescription": "You’ll have an apprenticeship advisor who will support you through your apprenticeship.", "standardLarsCode": "119", "employerNameOption": "RegisteredName", "alternativeEmployerName": "string", "employerDescription": "Car manufacturer or clothes retailer", "anonymousReason": "string", "employerWebsiteUrl": "string", "disabilityConfident": "No", "submitterContactDetails": { "name": "string", "email": "string", "phone": "string" }, "skills": [ "string" ], "qualifications": [ { "qualificationType": "string", "level": 7, "subject": "string", "grade": "C or 4", "weighting": "Essential" } ], "thingsToConsider": "string", "applicationMethod": "ThroughFindAnApprenticeship", "applicationInstructions": "string", "applicationUrl": "string", "additionalQuestion1": "Do you have a driving licence?", "additionalQuestion2": "What is your interest in this industry?" } } } }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CreateVacancyResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyResponse" }, "example": { "vacancyReference": "1000000001" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyResponse" }, "example": { "vacancyReference": "1000000001" } } } }, "403": { "description": "Forbidden", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CreateVacancyExampleForbiddenResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyExampleForbiddenResponse" }, "example": { "type": "https://tools.ietf.org/html/rfc7231#section-6.5.3", "title": "Forbidden", "status": 403, "traceId": "|3f20b24dba787449b33e0d53e3d3ef9d.d6137015_" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyExampleForbiddenResponse" }, "example": { "type": "https://tools.ietf.org/html/rfc7231#section-6.5.3", "title": "Forbidden", "status": 403, "traceId": "|3f20b24dba787449b33e0d53e3d3ef9d.d6137015_" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/CreateVacancyExampleBadRequestResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyExampleBadRequestResponse" }, "example": { "errors": { "qualifications": [ "Required property 'qualifications' not found in JSON. Path '', line 42, position 1." ] }, "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400, "traceId": "|3f20b24dba787449b33e0d53e3d3ef9d.d6137015_" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateVacancyExampleBadRequestResponse" }, "example": { "errors": { "qualifications": [ "Required property 'qualifications' not found in JSON. Path '', line 42, position 1." ] }, "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400, "traceId": "|3f20b24dba787449b33e0d53e3d3ef9d.d6137015_" } } } } } } } }, "components": { "schemas": { "ContractingParties": { "required": [ "accountLegalEntityPublicHashedId" ], "type": "object", "properties": { "accountLegalEntityPublicHashedId": { "minLength": 1, "type": "string", "description": "The unique identification number for the apprentice’s employer. Use `GET accountlegalentites` to obtain the hashed ID for the employer." }, "ukprn": { "type": "integer", "description": "The UK provider reference number (UKPRN) for the apprenticeship’s training provider.", "format": "int32" } }, "additionalProperties": false }, "CreateVacancyAddress": { "required": [ "addressLine1", "postcode" ], "type": "object", "properties": { "addressLine1": { "minLength": 1, "type": "string", "description": "First line of the address where the apprentice will work." }, "addressLine2": { "type": "string", "description": "Second line of the address where the apprentice will work.", "nullable": true }, "addressLine3": { "type": "string", "description": "Third line of the address where the apprentice will work.", "nullable": true }, "addressLine4": { "type": "string", "description": "Fourth line of the address where the apprentice will work.", "nullable": true }, "postcode": { "minLength": 1, "type": "string", "description": "Postcode of the address where the apprentice will work." } }, "additionalProperties": false, "description": "Address for the apprenticeship advert. Must contain address line 1 and a valid postcode." }, "CreateVacancyApplicationMethod": { "enum": [ "ThroughFindAnApprenticeship", "ThroughExternalApplicationSite" ], "type": "string", "description": "Choose from:\r\n