Ceevee
CeeveeDocs
⌘K
DashboardAPI keysSign up

Get started

  • Introduction
  • Authentication
  • Errors
  • Pagination
  • Versioning

Core resources

  • Jobs
  • Scans (CVs)
  • Candidates
  • Pipeline & stages
  • Assessments
  • Applications

Webhooks

  • Overview
  • Events
  • Signatures

Reference

  • Rate limits
  • Idempotency
  • OpenAPI spec
  • Changelog

API Reference

Jobs

Create, edit, publish, and close job offers.

A job is the top-level container for a hiring effort. It owns a pipeline of stages, a stream of scans and applications, and visibility settings that control whether the post is shown on your public career site.

Creating a job

curl -X POST https://api.ceevee.cc/v1/jobs \
  -H 'Authorization: Bearer ceevee_sk_live_…' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Senior Frontend Engineer",
    "job_details": {
      "description": "Build the next generation of our recruiter UX.",
      "work_type": "remote",
      "salary_min": 12000, "salary_max": 18000,
      "salary_currency": "PLN", "salary_period": "monthly"
    },
    "is_draft": true
  }'

Lifecycle

  • Draft (is_draft: true) — only visible to your team. The default state.
  • Published — POST /v1/jobs/{id}/publish flips it live and emits job.published.
  • Closed — POST /v1/jobs/{id}/close hides it from the portal but keeps the data and emits job.closed.

REST endpoints

GET/v1/jobs
List jobs in your organization, paginated.
jobs:read
POST/v1/jobs
Create a new job. Pass name, optional job_details.
jobs:write
GET/v1/jobs/{id}
Fetch a single job.
jobs:read
PATCH/v1/jobs/{id}
Update name, details, draft state, or visibility.
jobs:write
DELETE/v1/jobs/{id}
Soft-delete a job. Existing scans are preserved.
jobs:write
POST/v1/jobs/{id}/publish
Mark the job as live and visible on the public portal.
jobs:write
POST/v1/jobs/{id}/close
Hide the job from the portal without deleting it.
jobs:write
POST/v1/jobs/from-url
Import a job from a public posting URL — Ceevee parses it with AI.
jobs:write