 Tomas DvorakandDevin
|
18f78f00a3
|
feat(api): error codes, idempotency keys, cursor pagination
- Stable machine-readable error codes alongside the error message
(UNAUTHENTICATED, INVALID_TOKEN, ADMIN_REQUIRED, SCOPE_INSUFFICIENT,
IDEMPOTENCY_IN_PROGRESS); CLI renders "CODE: message".
- Idempotency middleware on authed/admin groups: POST requests with an
Idempotency-Key header replay the first response for 24h (Redis-backed,
caller-scoped); concurrent duplicates get 409. X-Idempotent-Replay
header marks replays.
- Shared pagination helpers: ?cursor= (opaque, preferred) alongside
legacy ?page= on projects and deployments lists; pagination meta
includes next_cursor; invalid cursors fail soft to page 1.
- CLI --idempotency-key flag for safe scripted retries.
- OpenAPI updated: error envelope, cursor params, idempotency contract.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-10-08 15:38:36 +02:00 |
|