Skip to content

Rotation Interval Below The Deployment Floor

URI: https://docs.ankatech.co/errors/rotation-interval-below-floor
HTTP Status: 400 Bad Request

When you see this

A rotation-schedule write named an interval shorter than the shortest interval this deployment admits. Nothing was stored: the policy or the key's schedule is unchanged.

The interval itself is well formed. It is refused because the deployment floor can be longer than it from some start instant. The floor is P1D on every production deployment; a development deployment may lower it, never below PT1M, and no deployment raises it above P1D. extensions.floor states the floor in force.

The comparison holds from any start date, as for the ceilings: an interval the floor cannot exceed from any start, such as P1M against P1D, is admitted.

The check applies to every interval the write carries — each TIME_BASED trigger interval and, on the deployment policy, maxInterval — and runs after the grammar and the resolution of the tenant and the key, before the licence, the schedule rows and the ceilings. Reads never apply it: an interval stored under a lower floor is read back and scheduled as stored.

Response Example

{
  "type": "https://docs.ankatech.co/errors/rotation-interval-below-floor",
  "title": "Rotation Interval Below The Deployment Floor",
  "status": 400,
  "detail": "triggers[].interval: the interval PT12H is shorter than the shortest interval this deployment admits, P1D.",
  "instance": "/api/v3/admin/tenants/550e8400-e29b-41d4-a716-446655440000/keys/payments-data-key/rotation-schedule",
  "timestamp": 1790000000,
  "extensions": {
    "floor": "P1D",
    "requestId": "8e3b6d1f-4a29-4c70-b5e8-2f9d7a1c3e64"
  }
}

Content-Type: application/problem+json — the response follows RFC 9457 Problem Details.

Extension Meaning
floor The shortest interval this deployment admits, as an ISO-8601 duration

detail names the request member that carried the interval: triggers[].interval or maxInterval.

How to Resolve

  1. Send an interval no shorter than extensions.floor. On a production deployment, the shortest cadence is one day (P1D).
  2. A shorter floor exists only on a development deployment, set by its operator; it is not a tenant or policy setting and no request can change it.

Operations that emit it

Method Endpoint
PUT /api/v3/admin/platform/deployment/policies/rotation-schedule
PUT /api/v3/admin/tenants/{tenantId}/policies/rotation-schedule
PUT /api/v3/admin/tenants/{tenantId}/keys/{kid}/rotation-schedule

For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.