Earlier Start Reason Required
URI: https://docs.ankatech.co/errors/custody-move-earlier-start-reason-required
HTTP Status: 422 Unprocessable Content
When you see this
On a SaaS deployment, a platform administrator scheduled a key custody window for an Edition change to start earlier than the platform's default notice, without giving a reason. Nothing was changed.
During a window the tenant's applications are refused cryptographic operations, so a window the platform imposes for a commercial change is proposed at now plus the default notice — the platform setting ankasecure.key-protection.custody-move.notice-hours, 72 hours unless the operator changed it (1 to 720). The operator may choose any later start, or an earlier one with a reason, which is audited with the schedule.
No default notice applies to a move the tenant administrator schedules, or to any move on a private-cloud or on-premise deployment.
Response Example
{
"type": "https://docs.ankatech.co/errors/custody-move-earlier-start-reason-required",
"title": "Earlier Start Reason Required",
"status": 422,
"detail": "A custody window starting earlier than the platform's default notice requires a reason, which is audited with the schedule. Nothing was changed.",
"instance": "/api/v3/admin/platform/tenants/8f14e45f-ceea-467a-9575-0d5b2a1f3c11/key-custody/moves/5e2d4c6b-8a1f-4b3c-9d7e-0f1a2b3c4d5e/schedule",
"timestamp": 1793696400,
"extensions": {
"requestId": "9c41e7a2-5b08-4d3f-a6e1-2f7c90b4d815"
}
}
Content-Type: application/problem+json — the response follows RFC 9457 Problem Details.
How to Resolve
- Send the schedule again with
earlierStartReason(at most 500 characters, no control characters), for example{"startAt": "2026-11-03T22:00:00Z", "earlierStartReason": "Customer asked for the move before its quarter-end close"}. - Or omit
startAtto schedule at the default notice, or choose a start at or after it.
For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.