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
- Send an interval no shorter than
extensions.floor. On a production deployment, the shortest cadence is one day (P1D). - 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 |
Related Errors
- Rotation Interval Exceeds Its Ceiling (422) - the interval is longer than the deployment maximum, the compliance cryptoperiod or a locked default
- Invalid Input (400) - the interval is outside the grammar (seconds, fractions, weeks, a sign, more than 16 characters) or zero
For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.