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

# Get Job

`GET /v1/jobs/{job_id}`

## Request

- Base URL: `https://api.actuato.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.actuato.com/v1/jobs/{job_id}`
- Auth: none declared

A job, as its owner, a worker, or a guest sees it.

A guest gets the worker's view of an open public job (neighbourhood, not the street), and
nothing else, so listings can be browsed before signing up.

## Path parameters

- `job_id` string, uuid, required

## Response `200`

Successful Response

- union
  - JobOut: Owner / agent view: exact location and full spec.
    - `id` string, uuid, required
    - `principal_user_id` string, uuid, required
    - `posted_by_agent_id` string, uuid, nullable, required
    - `sandbox` boolean
    - `title` string, required
    - `summary` string, nullable, required
    - `description_md` string, nullable, required
    - `structured_spec` object, required
    - `spec_quality_score` integer, required
    - `category_slug` string, required
    - `skill_slugs` string[], required
    - `location` LatLng, required
      - `lat` number, required
      - `lng` number, required
    - `address` object, required
    - `address_visibility` 'exact_after_hire' | 'approximate_only' | 'exact_public', required
    - `urgency` 'asap' | 'today' | 'this_week' | 'flexible' | 'scheduled', required
    - `window_start` string, date-time, nullable, required
    - `window_end` string, date-time, nullable, required
    - `estimated_duration_minutes` integer, nullable, required
    - `budget_type` 'fixed' | 'hourly' | 'open', required
    - `budget_min_cents` integer, nullable, required
    - `budget_max_cents` integer, nullable, required
    - `reimbursable_max_cents` integer, nullable
    - `required_cert_slugs` string[], required
    - `cert_enforcement` 'strict' | 'preferred', required
    - `max_applicants` integer, nullable, required
    - `applications_close_at` string, date-time, nullable, required
    - `status` 'draft' | 'pending_approval' | 'open' | 'on_hold' | 'hired' | 'funded' | 'in_progress' | 'work_submitted' | 'completed' | 'closed' | 'disputed' | 'cancelled' | 'expired', required
    - `status_changed_at` string, date-time, nullable, required
    - `hired_contract_id` string, uuid, nullable, required
    - `visibility` 'public' | 'invite_only', required
    - `moderation_status` 'pending' | 'approved' | 'flagged' | 'rejected', required
    - `source` 'web' | 'api' | 'mcp' | 'consumer_agent', required
    - `external_ref` string, nullable, required
    - `attachments` AttachmentOut[], required
      - `id` string, uuid, required
      - `file_id` string, uuid, required
      - `kind` 'photo' | 'video' | 'document', required
      - `caption` string, nullable, required
      - `sort_order` integer, required
    - `invitations` InvitationOut[]
      - `id` string, uuid, required
      - `job_id` string, uuid, required
      - `worker_id` string, uuid, required
      - `status` 'sent' | 'viewed' | 'applied' | 'declined' | 'expired', required
      - `created_at` string, date-time, required
    - `application_count` integer, required
    - `pending_actions` string[], required
    - `published_at` string, date-time, nullable, required
    - `expires_at` string, date-time, nullable, required
    - `cancelled_reason` string, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - JobWorkerView: What a worker sees before being hired: approximate location, no street address.
    - `id` string, uuid, required
    - `principal_user_id` string, uuid, required
    - `title` string, required
    - `summary` string, nullable, required
    - `description_md` string, nullable, required
    - `structured_spec` object, required
    - `category_slug` string, required
    - `skill_slugs` string[], required
    - `approximate_location` LatLng, required
      - `lat` number, required
      - `lng` number, required
    - `city` string, nullable, required
    - `region` string, nullable, required
    - `postal_prefix` string, nullable, required
    - `address` Address
      - `line1` string, nullable
      - `line2` string, nullable
      - `city` string, required
      - `region` string, required: State / province code, e.g. MD
      - `postal_code` string, nullable
      - `country` string
    - `distance_km` number, nullable, required
    - `urgency` 'asap' | 'today' | 'this_week' | 'flexible' | 'scheduled', required
    - `window_start` string, date-time, nullable, required
    - `window_end` string, date-time, nullable, required
    - `estimated_duration_minutes` integer, nullable, required
    - `budget_type` 'fixed' | 'hourly' | 'open', required
    - `budget_min_cents` integer, nullable, required
    - `budget_max_cents` integer, nullable, required
    - `reimbursable_max_cents` integer, nullable
    - `required_cert_slugs` string[], required
    - `cert_enforcement` 'strict' | 'preferred', required
    - `missing_cert_slugs` string[], required
    - `status` 'draft' | 'pending_approval' | 'open' | 'on_hold' | 'hired' | 'funded' | 'in_progress' | 'work_submitted' | 'completed' | 'closed' | 'disputed' | 'cancelled' | 'expired', required
    - `attachments` AttachmentOut[], required
      - `id` string, uuid, required
      - `file_id` string, uuid, required
      - `kind` 'photo' | 'video' | 'document', required
      - `caption` string, nullable, required
      - `sort_order` integer, required
    - `application_count` integer, required
    - `posted_by_agent` boolean, required
    - `published_at` string, date-time, nullable, required
    - `applications_close_at` string, date-time, nullable, required
    - `expires_at` string, date-time, nullable, required
    - `invitation` InvitationOut
      - `id` string, uuid, required
      - `job_id` string, uuid, required
      - `worker_id` string, uuid, required
      - `status` 'sent' | 'viewed' | 'applied' | 'declined' | 'expired', required
      - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/actuato/apis/actuator-api.md) · [All operations](https://skmtc.dev/actuato/apis/actuator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/actuato/apis/actuator-api/revisions/67a742c2308b?raw)
