---
title: "Owner: unpin an active rule"
method: POST
path: "/datamates/{datamate_id}/rules/{public_id}/unpin"
tags: ["WORKSPACE_RULES"]
---

# Owner: unpin an active rule

`POST /datamates/{datamate_id}/rules/{public_id}/unpin`

## Request

- Base URL: `https://api.myaltimate.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.myaltimate.com/datamates/{datamate_id}/rules/{public_id}/unpin`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/myaltimate/apis/myaltimate-api/docs/datamates/:datamate_id/rules/:public_id/unpin/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `datamate_id` integer, required
- `public_id` string, required

## Request body

- RuleActionRequest
  - `expected_version` integer, required
  - `reason` string, nullable

## Response `200`

Successful Response

- RuleDetail: A rule row in full, for the Rules tab.
  - `public_id` string, required
  - `rule_key` string, required
  - `repo_identity` string, nullable
  - `text` string, required
  - `applies_to` string[], required
  - `tags` string[], required
  - `pinned` boolean, required
  - `status` string, required
  - `change` string, required
  - `origin` string, required
  - `why` string, nullable
  - `replaces` ReplacedRule
    - `public_id` string, required
    - `text` string, required
    - `applies_to` string[], required
    - `version` integer, required
    - `status` string, required
  - `evidence_sessions` integer, required
  - `corrections` CorrectionOut[], required
    - `excerpt` string, required
    - `corrected_at` string, date-time, required
    - `corrected_by_name` string, nullable
  - `weakens_verification` boolean, required
  - `verification_reason` string, nullable
  - `proposed_by` integer, nullable
  - `proposed_by_name` string, nullable
  - `proposed_at` string, date-time, required
  - `reviewed_by_name` string, nullable
  - `reviewed_at` string, date-time, nullable
  - `review_reason` string, nullable
  - `usage` RuleUsageTotals, required
    - `applied` integer
    - `helpful` integer
    - `harmful` integer
    - `corrected_again` integer
  - `edit_pending` boolean
  - `version` integer, required
  - `updated_at` string, date-time, required

## Other responses

- `403`: Not the workspace's owner
- `404`: Workspace or rule not found
- `409`: Changed since read, or refused
- `422`: Validation Error

## Changes

- **2026-11-03** `868dfab8c7fe`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myaltimate/apis/myaltimate-api/changes/datamates/:datamate_id/rules/:public_id/unpin/post.md)

---

[API](https://skmtc.dev/myaltimate/apis/myaltimate-api.md) - [All operations](https://skmtc.dev/myaltimate/apis/myaltimate-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myaltimate/apis/myaltimate-api/revisions/01c038028180?raw)
