Comsalo
RecruitDocsEndpoints

Endpoints

All API endpoints are available under the base URL below. Every request must include a valid API key in the Authorization header.

Base URL
https://recruit.comsalo.com/api/v1

Jobs

GET
/jobs

List all active job listings for your company. Public — no API key required.

GET
/jobs/:id

Retrieve a single job listing by ID. Public — no API key required.

POST
/jobs

Create a new job listing. Requires API key (Pro/Max).

PUT
/jobs/:id

Update an existing job listing. Requires API key (Pro/Max).

DELETE
/jobs/:id

Delete a job listing. Requires API key (Pro/Max).

POST /jobs — Request body

Request body
{
  "title": "Senior Frontend Engineer",
  "department": "Engineering",
  "location": "Istanbul, Turkey",
  "work_type": "hybrid",       // "remote" | "hybrid" | "on-site"
  "status": "active",          // "active" | "draft" | "closed"
  "description": "We are looking for..."
}

Response

Response — 201 Created
{
  "id": "b3f2a1c4-...",
  "company_id": "a1b2c3d4-...",
  "title": "Senior Frontend Engineer",
  "department": "Engineering",
  "location": "Istanbul, Turkey",
  "work_type": "hybrid",
  "status": "active",
  "created_at": "2026-03-14T10:00:00.000Z",
  "updated_at": "2026-03-14T10:00:00.000Z"
}

Candidates

GET
/candidates

List all candidates for your company. Requires API key (Pro/Max).

GET
/candidates/:id

Retrieve a single candidate by ID. Requires API key (Pro/Max).

POST
/candidates

Submit a candidate application. Public or with API key.

PUT
/candidates/:id

Update candidate status or details. Requires API key (Pro/Max).

DELETE
/candidates/:id

Remove a candidate. Requires API key (Pro/Max).

POST /candidates — Request body

Request body (multipart/form-data)
{
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "[email protected]",
  "phone": "+44 7700 900000",
  "job_id": "b3f2a1c4-...",
  "company_id": "a1b2c3d4-...",
  "cv": <file>          // optional PDF or DOCX, max 5MB
}

Query parameters

ParameterEndpointDescription
company_idGET /jobsFilter jobs by company ID.
company_idGET /candidatesFilter candidates by company ID.