1. Guides
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. Guides

Errors & troubleshooting

Use the HTTP status and error details together. Keep the response's
X-Request-ID when contacting support; never send your API secret or a signed file URL.
StatusWhat to checkWhat to do
400Required fields, query filters, IDs, enums and validation messagesCorrect the request; repeating unchanged input will not help
401Missing, invalid, expired or revoked credentialCheck the Bearer header and credential status
402Candidate/resume content restricted by storage capacityReview your account's resume capacity; an API add-on does not bypass content restrictions
403Required scopes or account API accessAsk an authorized account administrator to check access and credential permissions
404ID is missing, deleted or not accessible to this accountConfirm the ID using the appropriate list endpoint
409Job approval, active-job capacity, or idempotency conflictResolve the reported cause; do not blindly change the idempotency key
429Minute, daily, monthly, concurrency or shared infrastructure limitRespect Retry-After and reduce concurrency
503Temporary authorization or distributed limiter failureRespect Retry-After when present; retry with bounded backoff

Understanding the error body#

Structured failures use application/problem+json. Fields can include
type, title, status, detail, instance, errors, code and
requestId. Optional fields vary by failure; not every error has a machine code.
These are actual messages from the implementation, not a promise that every error has the same body:
MessageResolution
description must contain at least 100 wordsSupply a complete job description; HTML markup does not count
minimumExperience must not exceed maximumExperienceCorrect the experience bounds (years)
API credential does not grant the required scopeCheck the scope listed by the endpoint; active creation needs two job scopes
Customer API is not enabled for this accountCheck plan or API add-on access
API credential is invalidCheck the secret and credential expiry/revocation

Request tracing#

Record X-Request-ID, the HTTP method, endpoint, timestamp and status.
X-API-Contract identifies the response-envelope contract. Remove personal
candidate data and credentials from any example you share with support.
Previous
Rate limits & usage
Next
Safe retries & idempotency
Built with