---
title: "Get job"
method: GET
path: "/jobs/{id}"
tags: ["Jobs"]
---

# Get job

`GET /jobs/{id}`

## Request

- Base URL: `https://api.100hires.com/v2`
- URL: `https://api.100hires.com/v2/jobs/{id}`
- Auth: HTTP bearer

Returns the full job payload. Use `include` to load related workflow or hiring team data.

## Path parameters

- `id` string, required

## Query parameters

- `include` string

## Response `200`

Job

- Job
  - `id` integer, required: Unique identifier
  - `alias` string, nullable: Short alphanumeric alias used in UI URLs. Use this to build job links — `https://app.100hires.com/job/{alias}/candidates/pipeline`. Also accepted as `{id}` in API requests.
  - `company_id` integer, required: ID of the company this job belongs to
  - `title` string, required: Public job title shown to candidates
  - `internal_title` string, nullable: Internal job title visible only to the hiring team
  - `internal_job_id` string, nullable: Company's internal job identifier (e.g. requisition number)
  - `description` string: Job description (HTML). Present only when `view=full` (default); omitted entirely when `view=summary` to keep list responses inside the agent context budget. Use `GET /jobs/{id}` or `view=full` to retrieve.
  - `resume_field_status` 'required' | 'optional' | 'hidden', nullable: Whether resume upload is required, optional, or hidden on the application form
  - `location` JobLocation
    - `country` string: Country.
    - `city` string: City.
    - `state` string: State or region.
    - `postal_code` string: Postal code.
    - `street_address` string: Street address.
    - `full_address` string: Full formatted address.
  - `url` string, required: Public URL of the job posting page
  - `url_backoffice` string: Backoffice URL — opens the job's pipeline view inside the recruiter app (`https://app.100hires.com/job/{alias}/candidates/pipeline`). Use this to link agent widgets / UI to the in-app job page rather than the public career page.
  - `is_remote` boolean, required: Whether this is a remote position
  - `is_hybrid` boolean, required: Whether this is a hybrid position: office days plus remote days at the job address. Never true together with is_remote.
  - `job_board_remote_scope` 'city' | 'statewide' | 'nationwide', nullable: How a remote job is listed on Indeed: city, statewide or nationwide. Null when the job is not remote.
  - `status` string, required: Job status: open, closed, draft, or archived
  - `department` IdName
    - `id` integer, required: Unique identifier.
    - `name` string, required: Display name.
  - `category` IdName
    - `id` integer, required: Unique identifier.
    - `name` string, required: Display name.
  - `employment_type` IdName
    - `id` integer, required: Unique identifier.
    - `name` string, required: Display name.
  - `education_level` IdName
    - `id` integer, required: Unique identifier.
    - `name` string, required: Display name.
  - `experience_level` IdName
    - `id` integer, required: Unique identifier.
    - `name` string, required: Display name.
  - `workflow_id` integer, nullable: ID of the hiring workflow (pipeline) assigned to this job
  - `workflow` IdName
    - `id` integer, required: Unique identifier.
    - `name` string, required: Display name.
  - `form_id` integer, nullable: ID of the application form candidates fill in for this job — the form attached to the job, or the company default form when the job has none attached yet (the same rule the public apply page follows). `null` only when the company has no forms. Fetch the questions with `GET /forms/{id}`. Present in both `view=full` and `view=summary`.
  - `pipeline_stages` object[], nullable: Pipeline stages for this job's workflow. Only included when `include=pipeline_stages` is specified. Suppressed when `view=summary` even if the include was requested.
    - `id` integer
    - `name` string
  - `salary_min` number, nullable: Minimum salary
  - `salary_max` number, nullable: Maximum salary
  - `salary_currency` string, nullable: Salary currency code (e.g. USD, EUR)
  - `salary_period` 'annually' | 'monthly' | 'daily' | 'hourly', nullable: Salary period
  - `hours_per_week_min` integer, nullable: Minimum hours per week
  - `hours_per_week_max` integer, nullable: Maximum hours per week
  - `indeed_posting_data` object: Indeed job board posting metadata. Present only when `view=full` (default); omitted entirely when `view=summary`.
  - `hiring_team` JobHiringTeamMember[]: Team members assigned to this job. Embedded via `include=hiring_team`. Suppressed when `view=summary` even if the include was requested.
    - `id` integer, required: User ID.
    - `full_name` string, required: User full name.
    - `email` string, nullable: User email.
    - `role` string, nullable: Role on hiring team (e.g. hiring_manager, recruiter).
  - `is_satellite` boolean: Whether this job is a satellite (child) of a canonical job. Satellite jobs share the candidate pipeline of their parent.
  - `parent_job_id` integer, nullable: ID of the canonical (parent) job. Null for canonical jobs. Recruiting operations should target the canonical job.
  - `language` string, nullable: Locale this job's public page renders in, overriding the career site language. Null means the page follows the career site language (`GET /companies/career-site-settings`), which in turn falls back to en-US. This is the override, not the effective language. Present in both `view=full` and `view=summary`.
  - `created_at` integer, required: Unix timestamp (seconds)
  - `updated_at` integer, required: Unix timestamp (seconds)
  - `ai_scoring_criteria` AiScoringCriterion[]: AI scoring criteria configured for this job, ordered by `position` ASC. Returned as an empty array when none are configured. Present only when `view=full` (default); omitted entirely when `view=summary`.
    - `id` integer, required: Unique identifier of the criterion.
    - `title` string, nullable: Optional short label for the criterion.
    - `text` string, required: Prompt text describing what to evaluate.
    - `weight` integer, required: Relative importance of this criterion in the total score (1–10).
    - `position` integer, required: 0-based ordinal of the criterion in the job's list.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `429`: Too many requests

---

[API](https://skmtc.dev/100hires/apis/100hires-api.md) · [All operations](https://skmtc.dev/100hires/apis/100hires-api/llms.txt) · [OpenAPI document](https://skmtc.dev/100hires/apis/100hires-api/revisions/e63e2d3115f7?raw)
