Aller au contenu principal

Flush batch d'événements de navigation cross-tenant

POST 

/accounts/v0/cross-tenant-navigations

Persiste un batch d'événements de navigation cross-tenant remontés depuis le frontend (useCrossTenantNavigationFlush, MOCOSAG-260) vers la table partitionnée audit.cross_tenant_navigations.

  • Idempotent. Rejouer le même Idempotency-Key retourne 201 avec compteur deduped reflétant les rejets de la contrainte UNIQUE (actor_id, idempotency_key).
  • Self-write only. L'actor_email_hash (sha256(request.user.email)[:16]) est calculé côté serveur à partir de l'acteur authentifié et appliqué à chaque ligne persistée. Le client n'a plus à le fournir (MOCOSAG-263).
  • RBAC. Acteur non porteur de CROSS_TENANT_ROLES403.
  • Plafond. events.length > 100400 BATCH_TOO_LARGE.
  • Rate-limit.10 batchs/min/actor_id (HTTP 429 + Retry-After).
  • sendBeacon fallback. Comme navigator.sendBeacon ne supporte pas les headers custom, l'Idempotency-Key peut être passé en query-param ?idempotency_key=…. Le header reste prioritaire si les deux sont présents.

Request

Responses

Batch persisté (au moins partiellement)

Response Headers
    Location

    URI de référence pour le batch traité, construite à partir du request_id du premier event accepté.