---
title: "Create a retention policy"
method: POST
path: "/v1/retention-policies"
tags: ["retention-policies"]
---

# Create a retention policy

`POST /v1/retention-policies`

## Request body

- RetentionPolicyCreate
  - `name` string, required
  - `turn_retention_days` integer, nullable
  - `session_retention_days` integer, nullable
  - `archive_strategy` 'soft_delete' | 'hard_delete'
  - `is_default` boolean

## Response `201`

Successful Response

- SrcConversationSchemasRetentionPolicyResponse
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `name` string, required
  - `turn_retention_days` integer, nullable
  - `session_retention_days` integer, nullable
  - `archive_strategy` 'soft_delete' | 'hard_delete', required
  - `is_default` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `422` — Validation Error

## Changes

- **2026-08-12** `5a5597ebb2d6` — 4 info
  - added the optional property `retry_after` to the response with the `400` status
  - added the optional property `retry_after` to the response with the `401` status
  - added the optional property `retryable` to the response with the `400` status
  - added the optional property `retryable` to the response with the `401` status

[Change history](https://skmtc.dev/oneloop-hq/apis/feather-api/changes/v1/retention-policies/post.md)

---

[API](https://skmtc.dev/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.dev/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
