---
title: "Get Contract"
method: GET
path: "/v1/contracts/{contract_id}"
tags: ["contracts"]
---

# Get Contract

`GET /v1/contracts/{contract_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/contracts/{contract_id}`
- Auth: none declared

## Path parameters

- `contract_id` string, uuid, required

## Response `200`

Successful Response

- ContractOut
  - `id` string, uuid, required
  - `job_id` string, uuid, required
  - `application_id` string, uuid, required
  - `principal_user_id` string, uuid, required
  - `worker_id` string, uuid, required
  - `hired_by_agent_id` string, uuid, nullable, required
  - `agreed_price_cents` integer, required
  - `reimbursable_max_cents` integer, nullable
  - `approved_expenses_cents` integer
  - `pending_expenses_cents` integer
  - `price_type` 'fixed' | 'hourly', required
  - `estimated_hours` number, nullable, required
  - `scheduled_start_at` string, date-time, nullable, required
  - `scheduled_end_at` string, date-time, nullable, required
  - `status` 'pending_funding' | 'active' | 'checked_in' | 'work_submitted' | 'approved' | 'released' | 'cancelled' | 'disputed' | 'resolved', required
  - `cancellation_policy` 'flexible' | 'moderate' | 'strict', required
  - `auto_approve_at` string, date-time, nullable, required
  - `funded_at` string, date-time, nullable, required
  - `checked_in_at` string, date-time, nullable, required
  - `checkin_distance_m` integer, nullable, required
  - `submitted_at` string, date-time, nullable, required
  - `completed_at` string, date-time, nullable, required
  - `rework_rounds` integer, required
  - `rework_reason` string, nullable
  - `cancelled_reason` string, nullable, required
  - `dispute_id` string, uuid, nullable
  - `evidence` EvidenceOut[], required
    - `id` string, uuid, required
    - `submitted_by_user_id` string, uuid, required
    - `kind` 'photo_before' | 'photo_after' | 'video' | 'receipt' | 'note' | 'checkin' | 'checkout', required
    - `file_id` string, uuid, nullable, required
    - `note` string, nullable, required
    - `criterion_index` integer, nullable, required
    - `ai_verification` object, nullable, required
    - `created_at` string, date-time, required
  - `updates` ContractUpdateOut[]
    - `id` string, uuid, required
    - `kind` string, required
    - `note` string, nullable, required
    - `file_id` string, uuid, nullable, required
    - `delay_minutes` integer, nullable, required
    - `created_at` string, date-time, required
  - `delay_minutes` integer
  - `expected_finish_at` string, date-time, nullable: When the work should be done: start (or check-in) plus the estimate, plus any delay the worker has reported.
  - `expenses` ExpenseOut[]
    - `id` string, uuid, required
    - `contract_id` string, uuid, required
    - `submitted_by_user_id` string, uuid, required
    - `amount_cents` integer, required
    - `description` string, required
    - `receipt_file_id` string, uuid, nullable, required
    - `status` 'submitted' | 'approved' | 'rejected', required
    - `auto_approved` boolean, required
    - `decided_at` string, date-time, nullable, required
    - `decision_note` string, nullable, required
    - `paid_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
  - `pending_actions` string[], required
  - `created_at` string, date-time, required
  - `updated_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)
