---
title: "Reject standalone Forms API editing."
method: PATCH
path: "/api/v1/forms/{formId}"
tags: ["Forms"]
---

# Reject standalone Forms API editing.

`PATCH /api/v1/forms/{formId}`

## Request

- Base URL: `https://commentary.dev`
- URL: `https://commentary.dev/api/v1/forms/{formId}`
- Auth: HTTP bearer

Standalone Forms API editing has been removed. Update the source review artifact or draft review file instead.

## Path parameters

- `formId` string, required

## Headers

- `X-Commentary-Workspace-Id` string
- `X-Correlation-Id` string

## Request body

- FormContractRequest
  - `contract` FormContract: Normalized Commentary Form Contract v1.
  - `contractSource` string: Literal JSON or YAML form contract source.
  - `sourceFormat` 'json' | 'yaml' | 'auto'
  - `referenceId` string
  - `title` string
  - `description` string
  - `visibility` 'private' | 'shared' | 'public_placeholder'
  - `sourceType` 'commentary' | 'github' | 'embedded' | 'custom'
  - `sourceMetadata` object
  - `destinationConfig` object
  - `agentAlias` string
  - `clientName` string

## Other responses

- `400`: The request was invalid.
- `401`: Authentication is required.
- `403`: The token or session does not have permission for this resource.
- `404`: The resource was not found.
- `410`: Standalone form editing has been removed.
- `429`: The request was rate limited.

---

[API](https://skmtc.dev/commentary/apis/commentary-public-api.md) · [All operations](https://skmtc.dev/commentary/apis/commentary-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/commentary/apis/commentary-public-api/revisions/7aaafc198c52?raw)
