---
title: "Sign up a candidate for the Schools Experience service."
method: POST
path: "/api/schools_experience/candidates"
tags: ["Schools Experience"]
---

# Sign up a candidate for the Schools Experience service.

`POST /api/schools_experience/candidates`

Upsert a candidate. Returns the updated candidate information in the body of the response along 
                with a Location header which specifies the location of the candidate

## Request body

- SchoolsExperienceSignUp
  - `candidateId` string, uuid, nullable
  - `preferredTeachingSubjectId` string, uuid, required
  - `secondaryPreferredTeachingSubjectId` string, uuid, nullable
  - `acceptedPolicyId` string, uuid, required
  - `masterId` string, uuid, nullable
  - `merged` boolean
  - `fullName` string, nullable
  - `email` string, required
  - `firstName` string, required
  - `lastName` string, required
  - `addressLine1` string, required
  - `addressLine2` string, nullable
  - `addressLine3` string, nullable
  - `addressCity` string, required
  - `addressStateOrProvince` string, required
  - `addressPostcode` string, required
  - `telephone` string, required
  - `hasDbsCertificate` boolean, required
  - `dbsCertificateIssuedAt` string, date-time, nullable
  - `qualificationId` string, uuid, nullable
  - `degreeStatusId` integer, nullable
  - `degreeTypeId` integer, nullable
  - `degreeSubject` string, nullable
  - `ukDegreeGradeId` integer, nullable
  - `creationChannelSourceId` integer, nullable
  - `creationChannelServiceId` integer, nullable
  - `creationChannelActivityId` integer, nullable
  - `defaultContactCreationChannel` integer, nullable
  - `defaultCreationChannelSourceId` integer, nullable
  - `defaultCreationChannelServiceId` integer, nullable
  - `defaultCreationChannelActivityId` integer, nullable

## Response `201`

Created

- SchoolsExperienceSignUp
  - `candidateId` string, uuid, nullable
  - `preferredTeachingSubjectId` string, uuid, required
  - `secondaryPreferredTeachingSubjectId` string, uuid, nullable
  - `acceptedPolicyId` string, uuid, required
  - `masterId` string, uuid, nullable
  - `merged` boolean
  - `fullName` string, nullable
  - `email` string, required
  - `firstName` string, required
  - `lastName` string, required
  - `addressLine1` string, required
  - `addressLine2` string, nullable
  - `addressLine3` string, nullable
  - `addressCity` string, required
  - `addressStateOrProvince` string, required
  - `addressPostcode` string, required
  - `telephone` string, required
  - `hasDbsCertificate` boolean, required
  - `dbsCertificateIssuedAt` string, date-time, nullable
  - `qualificationId` string, uuid, nullable
  - `degreeStatusId` integer, nullable
  - `degreeTypeId` integer, nullable
  - `degreeSubject` string, nullable
  - `ukDegreeGradeId` integer, nullable
  - `creationChannelSourceId` integer, nullable
  - `creationChannelServiceId` integer, nullable
  - `creationChannelActivityId` integer, nullable
  - `defaultContactCreationChannel` integer, nullable
  - `defaultCreationChannelSourceId` integer, nullable
  - `defaultCreationChannelServiceId` integer, nullable
  - `defaultCreationChannelActivityId` integer, nullable

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/department-for-education/apis/get-into-teaching-api-v1.md) · [All operations](https://skmtc.net/department-for-education/apis/get-into-teaching-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/department-for-education/get-into-teaching-api-v1/versions/5d53dbaed560/schema)
