---
title: "Create Contract"
method: POST
path: "/api/contracts"
tags: ["contracts"]
---

# Create Contract

`POST /api/contracts`

## Request body

- ContractCreate
  - `company_id` string, uuid, required
  - `person_id` string, uuid, required
  - `service_tier` string, required — tier_1 | tier_2 | tier_3
  - `billing_cycle` string
  - `monthly_value_cents` integer, required
  - `total_contract_value_cents` integer, nullable
  - `currency` string
  - `content_cadence` string, nullable
  - `batch_count` integer, nullable
  - `revenue_per_batch_cents` integer, nullable
  - `includes_commenting` boolean
  - `writer_owner` string, nullable
  - `editor_owner` string, nullable
  - `manager_owner` string, nullable
  - `interviewer_owner` string, nullable
  - `term_months` integer, nullable
  - `renewed_from_contract_id` string, uuid, nullable
  - `status` string
  - `payment_status` string
  - `external_source` string, nullable
  - `external_contract_id` string, nullable
  - `start_date` string, date-time, nullable
  - `end_date` string, date-time, nullable
  - `signed_at` string, date-time, nullable
  - `last_paid_at` string, date-time, nullable
  - `notes` string, nullable

## Response `201`

Successful Response

- ContractOut
  - `id` string, uuid, required
  - `company_id` string, uuid, required
  - `person_id` string, uuid, required
  - `service_tier` string, required
  - `billing_cycle` string, required
  - `monthly_value_cents` integer, required
  - `total_contract_value_cents` integer, nullable, required
  - `currency` string, required
  - `content_cadence` string, nullable, required
  - `batch_count` integer, nullable, required
  - `revenue_per_batch_cents` integer, nullable, required
  - `includes_commenting` boolean, required
  - `writer_owner` string, nullable, required
  - `editor_owner` string, nullable, required
  - `manager_owner` string, nullable, required
  - `interviewer_owner` string, nullable, required
  - `term_months` integer, nullable, required
  - `renewed_from_contract_id` string, uuid, nullable, required
  - `status` string, required
  - `payment_status` string, required
  - `external_source` string, nullable, required
  - `external_contract_id` string, nullable, required
  - `start_date` string, date-time, nullable, required
  - `end_date` string, date-time, nullable, required
  - `signed_at` string, date-time, nullable, required
  - `last_paid_at` string, date-time, nullable, required
  - `notes` string, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/rethoric/apis/rethoric-os.md) · [All operations](https://skmtc.dev/rethoric/apis/rethoric-os/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rethoric/rethoric-os/revisions/76b6d39426f6/schema)
