> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trellis.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Organization Rule

> Update the content of an existing organization rule

Replaces the content of an existing organization rule. The `last_updated_by` field is automatically set to the authenticated admin.

<Note>
  This endpoint requires admin privileges.
</Note>

<ParamField header="Authorization" type="string" required>
  Bearer token obtained from the authenticate endpoint. The authenticated user must be an admin.
</ParamField>

<ParamField path="rule_id" type="string" required>
  UUID of the rule to update.
</ParamField>

<ParamField body="content" type="string" required>
  The new rule content.
</ParamField>

## Response

Returns the updated rule object.

<ResponseField name="id" type="string">
  Unique rule ID (UUID).
</ResponseField>

<ResponseField name="organization_id" type="string">
  Organization this rule belongs to.
</ResponseField>

<ResponseField name="content" type="string">
  The updated rule content.
</ResponseField>

<ResponseField name="created_by" type="string">
  Member ID of the admin who originally created this rule.
</ResponseField>

<ResponseField name="last_updated_by" type="string">
  Member ID of the admin who made this update.
</ResponseField>

<ResponseField name="last_updated_by_name" type="string">
  Display name of the admin who made this update.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp when the rule was created.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp of this update.
</ResponseField>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X PATCH https://api.trellis.sh/v1/organization-rules/b2c3d4e5-f6a7-8901-bcde-f12345678901 \
    -H "Authorization: Bearer YOUR_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"content": "Always cite the data source and include the date of the data"}'
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  rule_id = "b2c3d4e5-f6a7-8901-bcde-f12345678901"

  response = requests.patch(
      f"https://api.trellis.sh/v1/organization-rules/{rule_id}",
      headers={
          "Authorization": "Bearer YOUR_TOKEN",
          "Content-Type": "application/json",
      },
      json={"content": "Always cite the data source and include the date of the data"},
  )

  rule = response.json()
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const ruleId = "b2c3d4e5-f6a7-8901-bcde-f12345678901";

  const response = await fetch(
    `https://api.trellis.sh/v1/organization-rules/${ruleId}`,
    {
      method: "PATCH",
      headers: {
        Authorization: "Bearer YOUR_TOKEN",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        content: "Always cite the data source and include the date of the data",
      }),
    }
  );

  const rule = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "organization_id": "org_01HX...",
    "content": "Always cite the data source and include the date of the data",
    "created_by": "member_01HX...",
    "last_updated_by": "member_02HX...",
    "last_updated_by_name": "John Doe",
    "created_at": "2025-02-10T08:00:00+00:00",
    "updated_at": "2025-03-22T11:45:00+00:00"
  }
  ```

  ```json 401 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "detail": "Missing Authorization header"
  }
  ```

  ```json 403 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "detail": "Admin privileges required"
  }
  ```

  ```json 404 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "detail": "Organization rule not found"
  }
  ```
</ResponseExample>
