---
title: "Get a job"
method: GET
path: "/v1/jobs/{jobId}"
tags: ["Job"]
---

# Get a job

`GET /v1/jobs/{jobId}`

Returns one job with its resolved scheduling settings and job-stage information. The job must belong to the authenticated organization or the request returns not found.

## Path parameters

- `jobId` string, required — a job ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.

## Response `200`

Success

- JobDetail
  - `id` string, required — Canonical job ID (job_ followed by 32 lowercase hexadecimal UUID characters).
  - `name` string, required
  - `status` 'DRAFT' | 'OPEN' | 'CLOSED', required
  - `confidential` boolean, required
  - `locations` string[], required
  - `hiring_team` object[], required
    - `role` 'HIRING_MANAGER' | 'RECRUITER' | 'COORDINATOR' | 'SOURCER', required
    - `employee` object, required
      - `id` string, required — Canonical employee ID (emp_ followed by 32 lowercase hexadecimal UUID characters).
      - `name` string, required
  - `ats` object, nullable, required
    - `type` 'GREENHOUSE' | 'ASHBY' | 'LEVER' | 'WORKDAY' | 'SMARTRECRUITERS' | 'GEM' | 'KOMBO', required
    - `id` string, required
  - `created_at` string, date-time, required — ISO 8601 timestamp.
  - `updated_at` string, date-time, required — ISO 8601 timestamp.
  - `settings` JobSettings, required
    - `interview_name_setting` object, nullable, required
      - `is_custom` boolean, required
      - `show_interview_name` boolean, required
      - `is_locked` boolean, required
      - `level` 'ORG' | 'EMPLOYEE' | 'JOB' | 'JOB_STAGE', nullable, required
    - `interviewer_info_setting` object, nullable, required
      - `is_custom` boolean, required
      - `can_show_info` boolean, required
      - `can_show_full_name` boolean, required
      - `can_show_job_title` boolean, required
      - `can_show_linkedin` boolean, required
      - `can_show_email` boolean, required
      - `can_show_profile_picture` boolean, required
      - `can_show_pronouns` boolean, required
      - `can_show_bio` boolean, required
      - `is_locked` boolean, required
      - `level` 'ORG' | 'EMPLOYEE' | 'JOB' | 'JOB_STAGE', nullable, required
    - `recruiting_team_contact_info_setting` object, nullable, required
      - `is_custom` boolean, required
      - `show_recruiter` boolean, required
      - `show_coordinator` boolean, required
      - `can_show_job_title` boolean, required
      - `can_show_linkedin` boolean, required
      - `can_show_profile_picture` boolean, required
      - `can_show_pronouns` boolean, required
      - `can_show_bio` boolean, required
      - `can_show_phone` boolean, required
      - `is_locked` boolean, required
      - `level` 'ORG' | 'EMPLOYEE' | 'JOB' | 'JOB_STAGE', nullable, required
    - `default_task_queue_id` string, nullable, required — Canonical task queue ID (que_ followed by 32 lowercase hexadecimal UUID characters).
    - `remote_ats_hiring_process` object, nullable, required
      - `ats_id` string, nullable, required
      - `name` string, nullable, required
      - `status` 'NOT_SET' | 'SET' | 'DELETED' | 'MISMATCH', required
    - `locale` string, nullable, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Conflict
- `410` — Gone
- `500` — Internal error

---

[API](https://skmtc.dev/modernloop/apis/modernloop-platform-api.md) · [All operations](https://skmtc.dev/modernloop/apis/modernloop-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/modernloop/modernloop-platform-api/revisions/33a0f9f44e4c/schema)
