---
title: "Set Project Requirement"
method: POST
path: "/api/v1/da-project/ops/projects/{project_id}/requirements"
tags: ["da-project"]
---

# Set Project Requirement

`POST /api/v1/da-project/ops/projects/{project_id}/requirements`

## Request

- Base URL: `https://api.casaintelligence.com.au` (the document declares no server; this is the origin it was published from)
- URL: `https://api.casaintelligence.com.au/api/v1/da-project/ops/projects/{project_id}/requirements`
- Auth: HTTP bearer

Founder: add / update / waive a document requirement (WS6C).

Update an existing requirement by ``requirement_id``, or add/upsert one by
``doc_type``. Used to add a project-specific requirement (e.g. a bushfire
report), retitle one, toggle gating, edit its dependency chain, or waive one
that doesn't apply. Founder-only; declared before /{project_id}.

## Path parameters

- `project_id` string, required

## Request body

- RequirementUpsertRequest: Founder add / update / waive a document requirement (WS6C). Update an existing requirement by ``requirement_id``, or add/upsert one by ``doc_type``. Only supplied fields are changed. Waive via ``status='waived'``.
  - `requirement_id` string, nullable
  - `doc_type` string, nullable
  - `title` string, nullable
  - `provider` string, nullable: 'client' or 'casa'
  - `status` string, nullable: outstanding|received|surfaced|waived
  - `gates_submission` boolean, nullable
  - `depends_on` string[], nullable
  - `sort_order` integer, nullable
  - `note` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine.md) · [All operations](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/revisions/71d711039de0?raw)
