---
title: "Create a new application for a job opportunity"
method: POST
path: "/recruitment/api/public/applications"
tags: ["Applications"]
---

# Create a new application for a job opportunity

`POST /recruitment/api/public/applications`

This route allows creating a new application for a job opportunity,
given candidate information.

Usable only with an API key. It is designed for custom career sites 
that need to push candidate data directly into Lucca Recruitment.

## Request body

- PublicApplicationPayload — Payload for creating a new application for a job opportunity.
  - `jobOpportunityId` integer, required — Job opportunity Id, used to know which job opportunity the application is for.
  - `lastName` string, required — Last name of the candidate.
  - `firstName` string, required — First name of the candidate.
  - `phoneNumber` string, required — Phone number of the candidate, used for contact purposes.
  - `emailAddress` string, required — Email address of the applicant, used for communication regarding the job application.
  - `resume` ExternalFilePayload, required — Represents a file payload with metadata and content in a base64-encoded format. Useful for handling externally uploaded files such as resumes or additional documents. The maximum file size is 5 MB, and the file should be in one of the following formats: .doc, .docx, .pdf, .png, or .pages.
    - `fileName` string — The name of the file, including its extension. Used to identify or label the uploaded file for reference purposes.
    - `base64Data` string — Base64-encoded string representing the content of a file. Commonly used to transfer file data in a text-based format, ensuring compatibility with various systems and APIs. The maximum file size is 5 MB, and the file should be in one of the following formats: .doc, .docx, .pdf, .png, or .pages.
  - `additionalFiles` ExternalFilePayload[], required — Collection of additional files provided in the application payload, such as certifications or supporting documents. Only used to add as attachments.
    - `fileName` string — The name of the file, including its extension. Used to identify or label the uploaded file for reference purposes.
    - `base64Data` string — Base64-encoded string representing the content of a file. Commonly used to transfer file data in a text-based format, ensuring compatibility with various systems and APIs. The maximum file size is 5 MB, and the file should be in one of the following formats: .doc, .docx, .pdf, .png, or .pages.
  - `comments` string[] — Comments provided by the applicant, typically used for additional details or notes regarding the application.
  - `consentToGoInTalentPool` boolean — Indicates whether the applicant consents to being included in the talent pool.

## Response `202`

Application accepted. It will be processed shortly.

---

[API](https://skmtc.net/luccasoftware/apis/lucca-expenses.md) · [All operations](https://skmtc.net/luccasoftware/apis/lucca-expenses/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/luccasoftware/lucca-expenses/revisions/110f9897756c/schema)
