1. Jobs
CVViZ API Documentation
  • Start here
    • Quickstart
    • Authentication & permissions
  • Guides
    • API concepts
    • Create a job
    • Find candidates and download resumes
    • Pagination & filtering
    • Rate limits & usage
    • Errors & troubleshooting
    • Safe retries & idempotency
  • Jobs
    • Create a job
      POST
    • List jobs
      GET
    • Get a job
      GET
    • Update a job
      PATCH
    • List candidates for a job
      GET
    • List job benchmark resumes
      GET
    • List candidate job offers
      GET
    • Update a candidate application stage
      PATCH
    • Update job status
      PATCH
  • Candidates
    • List candidates
      GET
    • Get a candidate
      GET
    • Update a candidate
      PATCH
    • List applications for a candidate
      GET
    • List candidate events
      GET
    • List candidate documents
      GET
    • Download a candidate resume
      GET
  • Tasks
    • List tasks
    • Create a task
    • Update a task
    • Update task completion
  • Notes & tags
    • List job notes
    • Add a job note
    • List tags for a job
    • Add tags to a job
    • List tags for a candidate
    • Add tags to a candidate
    • List candidate notes
    • Add a candidate note
    • List candidate tags
  • Screening & interviews
    • List job pre-screening questions
    • List candidate screening answers
    • List candidate interview feedback
  • Organization & lookup data
    • List candidate stages for a job
    • Get job creation options
    • List industries
    • List job functions
    • List employer types
    • List client companies
    • List account users
    • List departments
    • List hiring managers
    • List candidate grades
  1. Jobs

Create a job

POST
/jobs
Create a job through your account's standard workflow.
For a complete walkthrough, see Create a job.

Permissions#

ActionRequired scopes
Create a jobjobs.write
Change its lifecycle laterjobs.status.write
Read job-creation lookupsorganization.read

Before you begin#

Use lookup endpoints to obtain valid classification IDs; do not copy example IDs unchanged.
Complete every field marked required below.
Provide a description of at least 100 words and a full location, including for remote jobs.
Staffing accounts must include customerId from the client-company lookup.
Omit code or leave it blank to generate a job code automatically.

What happens after creation?#

By default, the job becomes active when job approval is disabled for the account.
When job approval is enabled, the job is created pending approval and follows the normal CVViZ approval workflow.
Use PATCH /jobs/{jobId}/status for later lifecycle changes.
If active-job capacity is unavailable, normal creation returns 409 and creates no job. Pending-approval jobs do not consume active-job capacity.

Publication (optional)#

publishToCareerPage: request publication on your career page.
publishToFreeJobBoards: request distribution to eligible free job boards managed by CVViZ. Individual boards are not exposed.
Both default to false. Enabling either during creation is allowed only when the account workflow creates an active, approved job.
Jobs pending approval must be created without publication. Enable publication later with PATCH /jobs/{jobId} after activation and approval.
Account, integration, moderation and provider eligibility still apply. Some distribution channels require career-page publication. No paid advertising is purchased; listing and removal may be delayed by providers.
To change publication later, use PATCH /jobs/{jobId}. Enabling requires an active, approved job. Publication does not activate or approve a job.

Retries and errors#

Send an Idempotency-Key with every creation request. Retry the same request with the same key to avoid duplicates. Use a new key for a new operation.
400: fix missing or invalid fields.
403: check scopes and API access.
409: check approval, active-job capacity, or conflicting reuse of the idempotency key.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201
application/json
Mutation applied or safely replayed.
Headers

Bodyapplication/json

🟠400
🟠401
🟠403
🟠404
🟠409
🟠429
🔴503
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://api.cvviz.com/v1/jobs' \
--header 'Idempotency-Key: cvviz-integration-operation-001' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "title": "Backend Engineer",
    "description": "We are looking for a Backend Engineer to build and maintain reliable services for our recruitment platform. You will design APIs, implement business workflows, improve database queries, and write automated tests. You will collaborate with product managers, designers, and other engineers to deliver clear and dependable customer experiences. The role includes reviewing code, investigating production issues, documenting technical decisions, and improving application security and performance. Candidates should be comfortable with TypeScript, relational databases, version control, and practical debugging. We value thoughtful communication, ownership, and a willingness to learn. You will receive regular feedback and work with the team to plan improvements, share knowledge, and maintain high engineering standards.",
    "country": "India",
    "state": "Maharashtra",
    "city": "Pune",
    "zipCode": "411001",
    "minimumExperience": 2,
    "maximumExperience": 5,
    "jobType": "Full Time",
    "educationLevel": "Bachelor",
    "qualifications": [
        "B.Tech"
    ],
    "skills": [
        "TypeScript"
    ],
    "industryId": 12,
    "jobFunctionId": 14,
    "employerTypeId": 16
}'
Response Response Example
201 - Draft created
{
    "data": {
        "id": 901,
        "status": 1,
        "isDraft": true,
        "isDeleted": false
    }
}
Previous
Safe retries & idempotency
Next
List jobs
Built with