---
title: "Submit job application"
method: POST
path: "/career-site/applications"
tags: ["Career Site"]
---

# Submit job application

`POST /career-site/applications`

## Request

- Base URL: `https://api.100hires.com/v2`
- URL: `https://api.100hires.com/v2/career-site/applications`
- Auth: API key in header `X-Company-Slug`

Submits a job application on behalf of a candidate. Creates a candidate record and triggers the career-site pipeline automation (sets stage to Applied, runs source attribution).

## Request body

- CareerSiteApplicationRequest
  - `job_id` integer, required: Job ID to apply to.
  - `first_name` string, required: Applicant first name.
  - `last_name` string, required: Applicant last name.
  - `email` string, email, required: Applicant email address.
  - `phone` string, nullable: Applicant phone number.
  - `resume` CareerSiteResumeUpload
    - `data` string, required: Base64-encoded file content
    - `file_name` string, required: Resume file name.
    - `mime_type` string, required: Resume MIME type.
  - `linkedin_url` string, uri, nullable: Applicant LinkedIn profile URL.
  - `source` string, nullable: Application source identifier.
  - `answers` object[], nullable: Array of form answer objects

## Response `200`

Application created

- CareerSiteApplicationResponse
  - `id` integer, required: Created application ID.
  - `job_id` integer, required: Job ID.
  - `status` string, required: Application status.
  - `created_at` integer, required: Unix timestamp (seconds)

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `404`: Not found
- `415`: Content-Type must be application/json

---

[API](https://skmtc.dev/100hires/apis/100hires-api.md) · [All operations](https://skmtc.dev/100hires/apis/100hires-api/llms.txt) · [OpenAPI document](https://skmtc.dev/100hires/apis/100hires-api/revisions/e63e2d3115f7?raw)
