How-to guide

Payload formats & envelopes

Control exactly what your receiver gets — the raw bytes, normalized JSON, or a structured envelope — how much of the body Queuey stores, and whether to transform the payload on the way out.

Outbound format

FormatWhat the receiver gets
RawForward the original body bytes unchanged — best for signature passthrough (e.g. provider webhooks your receiver already verifies).
JsonNormalizedParse and re-serialize the JSON — stable, canonical formatting for receivers that care about shape.
EnvelopedWrap the payload in an envelope with metadata (event id, type, timestamps).

Envelopes & CloudEvents

When you envelope a payload, pick the envelope kind: Queuey's own QueueyV1, or CloudEventsV1 for receivers that speak the CloudEvents spec. The original payload becomes the envelope's data, with event id, type, and timestamps alongside.

Payload privacy

Three levers on a workspace or queue (Delivery → Payload privacy) decide how much of a payload exists and who can look at it. Payload in the console: shape (default — the event list and detail show the payload's structure, never its values; an operator clicks Reveal, and that look is written to the payload access log), values, or shapeOnly(values are never shown in the console — Reveal is refused for everyone and AI analysis is capped at Shape; delivery and the API are unaffected). Payload after delivery: untilRetention (default — replay possible) or deleteOnSuccess (the payload is deleted the moment the event is delivered; status, attempts and a values-free shape stay, delivered events can no longer be replayed). Receiver responses: onFailure (default), always or never — when the receiver's response body and headers are kept per attempt. You can also cap body size with maxBytes.

Transform on the way out

Apply RFC 6902 JSON Patch mutations to reshape the outbound payload — add a field, strip an internal one — without touching the producer:

JSON Patch mutation
[
  { "op": "add",    "path": "/source", "value": "queuey" },
  { "op": "remove", "path": "/internalNote" }
]
Raw + passthrough keeps signatures valid
For provider webhooks your receiver already verifies (signature over the raw body), use Raw outbound format and avoid mutations — so the bytes (and the signature) survive untouched.

Related