---
title: "POST /api/v1/employer/jobs/publish"
method: POST
path: "/api/v1/employer/jobs/publish"
---

# POST /api/v1/employer/jobs/publish

`POST /api/v1/employer/jobs/publish`

## Request

- Base URL: `https://rolefig.com`
- URL: `https://rolefig.com/api/v1/employer/jobs/publish`
- Auth: HTTP bearer

Publish or reopen only after explicit employer confirmation of real pay, requirements and review capacity. Requires verified ownership and the exact current job revision. Consumes a new job revision.

## Request body

- EmployerReview
  - `jobId` string, uuid, required
  - `expectedJobRevision` integer, required
  - `requiredSkills` string[], required
  - `trainableSkills` string[], required
  - `reviewCapacity` integer, required
  - `confirmed` true, required

## Response `200`

Current revision

- EmployerPublished
  - `published` true, required
  - `jobId` string, uuid, required
  - `revision` integer, required
  - `companySlug` string, required
  - `jobSlug` string, required
  - `url` string, required

## Other responses

- `400`: Invalid request
- `401`: Missing, expired or revoked token
- `403`: Scope or ownership denied
- `409`: Stale expectedRevision; retrieve and review before retrying
- `412`: If-Match disagrees with expectedRevision
- `413`: Request or aggregate exceeds limits
- `503`: Publishing unavailable; do not fall back to withdrawn content

---

[API](https://skmtc.dev/rolefig/apis/company-publishing-api.md) · [All operations](https://skmtc.dev/rolefig/apis/company-publishing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rolefig/apis/company-publishing-api/revisions/1927dc335cba?raw)
