Create a job
Create a job through your account's standard workflow.
For a complete walkthrough, see Create a job.
Permissions
| Action | Required scopes |
|---|---|
| Create a job | jobs.write |
| Change its lifecycle later | jobs.status.write |
| Read job-creation lookups | organization.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
customerIdfrom the client-company lookup. - Omit
codeor 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}/statusfor 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.
Unique key for this write: 8-128 letters, digits, periods, underscores, colons or hyphens. Reusing the same key with the same request replays its original result; different content returns 409.
8 - 128^[A-Za-z0-9._:-]{8,128}$cvviz-integration-operation-001Body
Active account user IDs from GET /v1/users. No automatic assignment to a human user.
50Job code. Automatically generated if omitted or blank.
255ENG-104Required for staffing accounts. An account-owned client company from GET /v1/customers.
1 <= xAt least 100 words of visible job description. HTML is supported; markup does not count as words. Maximum 65,535 UTF-8 bytes.
1 - 65535We 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.Bachelor, Doctorate / PhD, High school, Master, Middle schoolBachelorEmployer display name. Defaults to the selected client company name when omitted.
255Must belong to industryId; use GET /v1/employer-types.
1 <= x16Must belong to industryId; use GET /v1/job-functions.
1 <= x14Full Time, Part Time, Contract-to-Hire, Contract, Contract Corp-to-Corp, Internship, Commission Based, Freelancer, Voluntary, Third PartyFull TimeMaximum experience in years. Zero is valid.
0 <= x <= 1005Minimum experience in years. Zero is valid.
0 <= x <= 1002Good-to-have skills. Do not replace the mandatory skills list.
50Request career-page publication. Defaults to false on creation; omitted on update leaves this channel unchanged. Enabling requires an active, approved job.
Request distribution to eligible free job boards managed by CVViZ. Defaults to false on both creation and update: omission on update disables free-job-board publication. Enabling requires an active, approved job. Account, integration, moderation and provider eligibility still apply; no paid advertising or guaranteed listing.
One or more qualifications. After trimming and joining with commas, the combined value must not exceed 255 characters.
1 - 20Set true to save a draft. Draft creation still requires all mandatory job fields and a description of at least 100 words.
Required skills. At least one is mandatory. Stored as Required skills in the ATS.
1 - 50Response
Mutation applied or safely replayed.
Daily account request allowance, when metered. Shared across API credentials.
0 <= xRequests remaining in the daily window after admission.
0 <= xMonthly account request allowance, when metered. Shared across API credentials.
0 <= xRequests remaining in the monthly window after admission.
0 <= x