Jobiflow LogoAPI Docs
ApiCandidates

Import a candidate

Adds an external candidate into your company's pipeline without them having a Jobiflow account. Imported candidates are only visible to your company. Requires scope: `candidates:write`

POST
/public/v1/candidates/import

Adds an external candidate into your company's pipeline without them having a Jobiflow account. Imported candidates are only visible to your company.

Requires scope: candidates:write

Authorization

ApiKeyAuth
X-API-Key<token>

API key issued by Jobiflow. Pass it in the X-API-Key request header.

Create keys via the company dashboard (Settings → API Keys) or via POST /settings/api-keys.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/public/v1/candidates/import" \  -H "Content-Type: application/json" \  -d '{    "firstName": "John",    "lastName": "Smith"  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "firstName": "string",
  "lastName": "string",
  "headline": "string",
  "city": "string",
  "country": "string",
  "desiredJobTypes": "string",
  "remotePreference": true
}
{
  "status": 400,
  "error": "BAD_REQUEST",
  "message": "Malformed JSON body",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings"
}
{
  "status": 401,
  "error": "UNAUTHORIZED",
  "message": "Invalid or missing API key",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings"
}
{
  "status": 403,
  "error": "FORBIDDEN",
  "message": "Scope 'jobs:write' is required",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings"
}
{
  "status": 422,
  "error": "VALIDATION_ERROR",
  "message": "Request validation failed",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings",
  "details": [
    {
      "field": "position",
      "message": "must not be blank"
    }
  ]
}