Changelog

Binary payloads

In short

Binary and gzip webhooks are now supported


Hookdeck now accepts binary request bodies and delivers them to your destination byte for byte. Until now a request with a binary content type was either rejected or could get decoded as text.

Supported content types

A request is treated as binary when its Content-Type is a known byte-oriented format:

  • application/octet-stream
  • image/*, audio/*, video/*
  • Archives and office documents, such as zip and PDF
  • application/protobuf, application/cbor, application/msgpack

Requests with Content-Encoding: gzip or x-gzip are passed through as encoded bytes regardless of media type, including gzipped JSON. Event Gateway does not decompress them.

How it works

  • Delivery: the destination receives the original bytes with the original Content-Type and Content-Length. Retries and replays send the same bytes.
  • Raw body: fetching the raw body from the dashboard or API returns the original content type and exact byte length.
  • Transformations: the body is exposed as body: null, but you can still transform headers, path and query.