Docs
API reference

Get a job description

GET
/api/v1/job-descriptions/{id}

Read the full saved job and its content revision before attaching a candidate application.

Before you call

Use an ID from List job descriptions. Check status is ACTIVE before preparing a new report.

Required scope: job-descriptions:read.

What happens next

Pass the ID with kind=existing in the upload input. Send revision as expectedRevision when you want submission to fail if the job changes.

Recovery

A 404 means the job is not available in this workspace. On JD_REVISION_CHANGED during preparation, read the job again and review the revised requirements before retrying.

Follow the complete workflow · Errors and retries

Authorization

ApiKey
headerAuthorizationBearer <token>

Path Parameters

id*string

Resource ID returned by this resource's creation or list endpoint. See prerequisites for whether this is a report, interview, job, or batch ID.

Length1 <= length <= 100

Response Body

Pass the ID with kind=existing in the upload input. Send revision as expectedRevision when you want submission to fail if the job changes.

application/json
  1. response
data*
# Set PROBB_URL and PROBB_API_KEY. Replace RESOURCE_ID if present.curl --fail-with-body -X GET "$PROBB_URL/api/v1/job-descriptions/RESOURCE_ID" \  -H "Authorization: Bearer $PROBB_API_KEY"
{  "data": {    "id": "job_example",    "title": "Backend Engineer",    "company": "Example Company",    "team": "Platform",    "location": "Remote",    "level": "Senior",    "employmentType": "FULL_TIME",    "status": "ACTIVE",    "description": "Build reliable backend services. Required: API development, PostgreSQL, and production incident response.",    "revision": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",    "createdAt": "2026-09-29T12:00:00.000Z",    "updatedAt": "2026-09-29T12:00:00.000Z"  }}