Job Postings

Archive a job posting (preview→bind)

Archive a job posting (preview→bind)

Required scopes: job_postings:write, job_postings:archive

Preview→bind flow. Calling without a binding returns HTTP 202 with the approval-required envelope (no mutation). To execute, re-issue with binding echoing the preview's preview_hash, approved_action_key, approved_input_hash, approved_idempotency_key, and resource_version_precondition. The Idempotency-Key must match between calls. Preview responses are not cached; bind responses are cached so retrying the bind under the same Idempotency-Key replays the original result without re-executing the mutation.

Example (curl):

curl -X POST https://api.yardstick.team/v1/job_postings/jp_abc123/actions/archive \
  -H 'Authorization: Bearer ys_sk_live_…' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 7c3a…' \
  -d '{}'

Example (TypeScript):

await fetch(
  "https://api.yardstick.team/v1/job_postings/jp_abc123/actions/archive",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.YS_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": crypto.randomUUID(),
    },
    body: JSON.stringify({}),
  },
).then((r) => r.json());
post/v1/job_postings/{job_posting_id}/actions/archive

Request

  • Base URL: https://api.yardstick.team
  • URL: https://api.yardstick.team/v1/job_postings/{job_posting_id}/actions/archive
  • Auth: HTTP bearer

Path parameters

job_posting_idstring required

Headers

Idempotency-Keystring required

Required for this operation. Reuse the same key to safely retry the same request.

X-Request-Idstring

Optional caller-supplied request identifier. Values must match ^[A-Za-z0-9_-]{1,128}$; a valid value is echoed in the response X-Request-Id header, otherwise the API generates one.

Request body

Response

Bind succeeded — job posting archived.

idstring required

Display id, e.g. jp_<base32>

object'job_posting' required
status'draft' | 'unpublished' | 'published' | 'archived' required

Derived from is_published / published_at / archived_at.

titlestring nullable required
slugstring required
departmentstring nullable required
locationstring nullable required
location_typestring nullable required
location_countrystring nullable required

Assigned ISO 3166-1 alpha-2 country code for the posting location. Drafts may be null; every new publish or republish requires a country, including remote roles.

salary_minnumber nullable required
salary_maxnumber nullable required
salary_currencystring nullable required
salary_displayboolean nullable required
descriptionstring nullable required
requirementsstring nullable required
custom_questionsunknown
interview_plan_idstring required

Display id of the bound interview plan (ipd_<base32>).

is_publishedboolean required
published_atstring nullable required

ISO-8601 UTC

archived_atstring nullable required

ISO-8601 UTC

public_urlstring nullable required

Canonical public job board URL when published in live mode; uses PUBLIC_JOB_BOARD_BASE_URL with root jobs-board paths, falls back to PUBLIC_APP_BASE_URL with /careers paths, then defaults to https://jobs.yardstick.team. Null for drafts, archived postings, and test-mode postings.

applications_countinteger nullable required

Application count populated on retrieve-by-id; null on list responses to bound query cost.

livemodeboolean required
created_atstring nullable required

ISO-8601 UTC

updated_atstring nullable required

ISO-8601 UTC

Changes

No recorded changes to this operation across all 2 revisions of this API.