Set the lookup directory retention.
curl --request PUT \ --url https://auth.example.com/api/admin/data-retention/categories/example \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "retention_days": 90 }'Sets the lookup directory retention (30-3650 days, default 180), committing a typed policy generation with a durable Control projection and settings history, and records an audit log entry. Shortening it requires confirm_shortening=true and the current period in expected_current_retention_days; stale or unconfirmed requests fail with 409. Every other category is set where it is kept: the request fails with 400 retention_not_set_here and names that place in edit.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Retention category; only lookup_directory is set through this API.
Request Body required
Section titled “Request Body required ”object
Must be true when the requested period is shorter than the effective period.
Current effective period observed with the impact estimate.
Example
{ "retention_days": 90}Responses
Section titled “ Responses ”Data retention category update response.
object
Example generated
{ "category": "example", "retention_days": 1, "updated_at": "2026-04-15T12:00:00Z"}The category’s retention is set elsewhere (retention_not_set_here, with edit saying where), or the request is invalid (a standard error).
object
Where the category is changed; null for an unknown category.
object
Example
{ "error": "retention_not_set_here"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}