Skip to main content
POST
/
jobs
Create a job
curl --request POST \
  --url https://www.sorce.jobs/api/external/v1/jobs \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "Senior Product Designer",
  "description": "<string>",
  "remoteCountry": "<string>",
  "locations": [
    {
      "locationId": 17024,
      "city": "San Francisco",
      "stateProvince": "California",
      "country": "United States"
    }
  ],
  "salaryMin": 123,
  "salaryMax": 123,
  "bidPerQualifiedApplicantCents": 123,
  "qualifications": [
    {
      "text": "5+ years of product design experience",
      "order": 0
    }
  ],
  "questions": [
    {
      "prompt": "Why do you want to work here?",
      "order": 123,
      "options": [
        "<string>"
      ]
    }
  ],
  "budgets": [
    {
      "budgetCents": 50000,
      "notes": "<string>"
    }
  ],
  "publish": false
}
'
{
  "id": "<string>",
  "title": "<string>",
  "description": "<string>",
  "remoteCountry": "<string>",
  "salaryMin": 123,
  "salaryMax": 123,
  "bidPerQualifiedApplicantCents": 123,
  "companyId": "<string>",
  "locations": [
    {
      "locationId": 17024,
      "displayName": "San Francisco, California, United States",
      "city": "San Francisco",
      "stateProvince": "California",
      "country": "United States"
    }
  ],
  "qualifications": [
    {
      "text": "5+ years of product design experience",
      "order": 0,
      "id": "<string>"
    }
  ],
  "questions": [
    {
      "prompt": "Why do you want to work here?",
      "order": 123,
      "options": [
        "<string>"
      ],
      "id": "<string>"
    }
  ],
  "budgets": [
    {
      "budgetCents": 50000,
      "notes": "<string>"
    }
  ],
  "applicationCounts": {
    "pending": 123,
    "accepted": 123,
    "rejected": 123
  },
  "isFrozen": true,
  "newApplicantCount": 123,
  "publishedAt": "2023-11-07T05:31:56Z",
  "expiresAt": "2023-11-07T05:31:56Z",
  "closedAt": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Partner key (sk_ext_…) bound to your company.

Body

application/json

All fields optional; arrays use replace semantics (the set you send becomes the entire new set).

title
string
Example:

"Senior Product Designer"

description
string
remoteOption
enum<string> | null
Available options:
REMOTE,
HYBRID,
IN_PERSON,
null
remoteCountry
string | null

Where remote employees may work (REMOTE jobs).

jobType
enum<string> | null
Available options:
FULL_TIME,
PART_TIME,
CONTRACT,
INTERNSHIP,
null
jobLevel
enum<string> | null
Available options:
ENTRY,
MID,
SENIOR,
null
locations
object[]
salaryMin
integer | null

Whole dollars

salaryMax
integer | null
salaryPeriod
enum<string> | null
Available options:
ANNUAL,
HOURLY,
null
bidPerQualifiedApplicantCents
integer | null

What you pay per qualified applicant, in cents.

qualifications
object[]
questions
object[]

Custom screening questions only. The applicant basics - first and last name, email, phone, location, and resume - are collected automatically on every application; never send them as questions.

budgets
object[]
publish
boolean
default:false

Publish atomically after creation.

Response

The created job.

The full job, as the dashboard sees it.

id
string
title
string
status
enum<string>
Available options:
DRAFT,
ACTIVE,
PAUSED,
CLOSED,
EXPIRED
description
string
remoteOption
enum<string> | null
Available options:
REMOTE,
HYBRID,
IN_PERSON,
null
remoteCountry
string | null
jobType
enum<string> | null
Available options:
FULL_TIME,
PART_TIME,
CONTRACT,
INTERNSHIP,
null
jobLevel
enum<string> | null
Available options:
ENTRY,
MID,
SENIOR,
null
salaryMin
integer | null
salaryMax
integer | null
salaryPeriod
enum<string> | null
Available options:
ANNUAL,
HOURLY,
null
bidPerQualifiedApplicantCents
integer | null
companyId
string
locations
object[]
qualifications
object[]
questions
object[]
budgets
object[]
applicationCounts
object
isFrozen
boolean

True once the job has applications. Qualifications/questions locked.

newApplicantCount
integer
publishedAt
string<date-time> | null
expiresAt
string<date-time> | null
closedAt
string<date-time> | null