"publish": true or by calling
POST /jobs/{id}/publish on a draft. Both run the same three gates the
Sorce dashboard runs.
Gate 1: Completeness
A live listing must carry:titleanddescriptionremoteOption, plusremoteCountry(REMOTE) or at least one location (HYBRID / IN_PERSON). See LocationsjobTypeandjobLevel- A salary range:
salaryMin≤salaryMax, withsalaryPeriod bidPerQualifiedApplicantCents> 0: what you pay per qualified applicant- At least one
REQUIREDqualification: what applicants are screened against
422 VALIDATION_FAILED with a fields map
naming each gap.
Gate 2: Terms
Your organization accepts the Sorce Employer Terms of Service once, in the dashboard. The API cannot accept terms on your behalf. Until then, publishing returns409 AGREEMENT_OUTDATED.
Gate 3: Payment method
Publishing is what lets a balance accrue, so a card on file is the price of going live:402 PAYMENT_METHOD_REQUIRED until one is added in the
dashboard’s Billing tab.
Create-and-publish is atomic
After publish
- The listing runs for 30 days (
expiresAt), then flips toEXPIRED. pausehides it temporarily;resumebrings it back;closeis terminal.- Edits to a live job are re-validated against Gate 1 and rejected whole if they’d leave the listing incomplete.
- Once applications arrive,
qualificationsandquestionsfreeze (409 JOB_FROZEN); the bid and everything else stay editable.