Jobiflow LogoAPI Docs
ApiApplications

Submit an external application

Creates an application sourced from outside Jobiflow (e.g. your own careers page or another job board). The candidate does not need to have a Jobiflow account. Requires scope: `applications:write`

POST
/public/v1/applications/external

Creates an application sourced from outside Jobiflow (e.g. your own careers page or another job board). The candidate does not need to have a Jobiflow account.

Requires scope: applications: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

application/json

curl -X POST "https://example.com/public/v1/applications/external" \  -H "Content-Type: application/json" \  -d '{    "jobListingId": "a7d01775-e611-4288-b8c1-442852b8ff39",    "firstName": "Jane",    "lastName": "Doe",    "email": "jane@example.com"  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "jobListingId": "a7d01775-e611-4288-b8c1-442852b8ff39",
  "jobSeekerId": "f2c64cb3-7c14-4d64-8545-215342f6c081",
  "status": "ACTIVE",
  "source": "INTERNAL",
  "appliedAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z",
  "candidate": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "firstName": "string",
    "lastName": "string",
    "headline": "string",
    "email": "user@example.com",
    "phone": "string"
  }
}
{
  "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": 404,
  "error": "NOT_FOUND",
  "message": "Job listing not found",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings/00000000-0000-0000-0000-000000000000"
}
{
  "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"
    }
  ]
}