---
title: "Create candidate"
method: POST
path: "/candidate-portal/open-application"
tags: ["Candidate Portal"]
---

# Create candidate

`POST /candidate-portal/open-application`

Create a new candidate from CV and form details. Used by the candidate portal when a candidate submits their application.

## Request body

- CandidatePortalOpenApplicationDto
  - `firstName` string, required
  - `lastName` string, required
  - `cvAttachmentId` string, required
  - `email` object, required
    - `email` string, email, required
    - `purpose` 'personal' | 'work', nullable, required
    - `isPrimary` boolean
  - `phoneNumber` object, required
    - `phoneNumber` string, required
    - `purpose` 'personal' | 'work', nullable, required
    - `isPrimary` boolean
  - `socialMedia` object
    - `url` string, uri, required
    - `type` 'LINKEDIN' | 'TWITTER' | 'FACEBOOK' | 'INSTAGRAM', required
    - `isPrimary` boolean

## Response `200`

Candidate created successfully

## Other responses

- `400` — Bad request - missing or invalid required fields
- `401` — Unauthorized - invalid or missing authentication
- `500` — Error response

---

[API](https://skmtc.net/spott/apis/spott-webhooks.md) · [All operations](https://skmtc.net/spott/apis/spott-webhooks/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spott/spott-webhooks/versions/ad1f8c51cf0a/schema)
