The body carries metadata about the event, not the entity itself. Use
entityId to fetch the current state with GET /payments/payment-intent/{paymentIntentId}, and dedupe on eventId
since deliveries are at-least-once and unordered.
Every delivery is signed with a slash-webhook-signature header. Verify it
against either of Slash’s public keys before trusting the payload; see
Webhook Signing for the
verification steps and a code sample. Respond with any 2xx within 10
seconds to acknowledge; anything else is retried.
Legal-entity-scoped keys are pinned to a single legal entity.
Minted via the dashboard under a specific entity; every request
acts on that entity.
User-scoped keys are pinned to a user and span every legal
entity that user has access to. Every request made with a
user-scoped key (except GET /legal-entity, which lists the
legal entities the user can access) must include an
x-legal-entity header naming the legal entity the request is
operating on. Requests without the header are rejected with
400. The authenticated user must have an active permission
role on the supplied legal entity, otherwise the request is
rejected with 403.