---
title: "Create or start workspaces workspaceID retention pins"
method: POST
path: "/v1/workspaces/{workspaceID}/retention/pins"
---

# Create or start workspaces workspaceID retention pins

`POST /v1/workspaces/{workspaceID}/retention/pins`

## Request

- Base URL: `https://api.plori.ai`
- URL: `https://api.plori.ai/v1/workspaces/{workspaceID}/retention/pins`
- Auth: HTTP bearer

Candidate Workspace API. Access depends on the owner cohort and, for Files routes, the Files gate. Check operation state and retained data before assuming a write is durable.

## Path parameters

- `workspaceID` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `resource_kind` string, required
  - `resource_id` string, uuid, required
  - `expires_at` string, date-time, required

## Response `201`

Request accepted or completed.

- WorkspaceRetentionPin
  - `id` string, uuid, required
  - `owner_user_id` string, uuid
  - `resource_kind` string, required
  - `resource_id` string, uuid, required
  - `created_at` string, date-time
  - `expires_at` string, date-time, required
  - `released_at` string, date-time

## Other responses

- `400`: Malformed request.
- `401`: Missing or invalid credential.
- `404`: No such resource.
- `409`: Conflict, active operation, or current-revision mismatch. A deleting Workspace returns code workspace_deleting.

---

[API](https://skmtc.dev/plori/apis/plori-rest-api.md) · [All operations](https://skmtc.dev/plori/apis/plori-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/plori/apis/plori-rest-api/revisions/15c4f9260dff?raw)
