Arbebus API

Idempotency

Safe retries for eligible authenticated POST routes. Raw Idempotency-Key values are never stored.

Idempotency-Key: <opaque-client-value>

Optional for POST /api/v1/sandbox/ping in PHASE 3B. Empty, oversized, or control-character values are rejected as IDEMPOTENCY_KEY_INVALID. Default max length: 255.

Behavior

  • Server stores SHA-256 digests of the key and request fingerprint only.
  • Same key + same request → replay stored successful response with X-Arbebus-Idempotency-Replayed: true and a new outer request ID. Quota is not consumed again.
  • Same key + different request → HTTP 409 IDEMPOTENCY_CONFLICT.
  • Concurrent duplicates → one execution; others receive replay or IDEMPOTENCY_IN_PROGRESS.
  • Auth, authorization, quota, rate-limit, and 5xx responses are never cached.
  • TTL default: 86400 seconds.

Errors

  • IDEMPOTENCY_KEY_INVALID
  • IDEMPOTENCY_CONFLICT
  • IDEMPOTENCY_IN_PROGRESS

Example

curl -X POST https://developer.arbebus.com/api/v1/sandbox/ping \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-sync-00042" \
  -d "{}"