AsyncAPI channel · Materialize
· Materialize Streaming Sources and Sinks
api/webhook/{database}/{schema}/{src_name}
HTTP endpoint exposed by a Materialize webhook source. External producers
POST events to this URL; Materialize stores the body (and optionally
selected headers) as rows.
Syntax (abbreviated):
CREATE SOURCE
[IN CLUSTER ]
FROM WEBHOOK
BODY FORMAT
[INCLUDE HEADER '' AS [BYTES]]
[INCLUDE HEADERS [( NOT '',
Provider:MaterializeAsyncAPI: v2.6.0Spec: Materialize Streaming Sources and SinksOperations: 1Messages: 4
Channel address
api/webhook/{database}/{schema}/{src_name}
Parameters
database — Materialize database that owns the source.
schema — Materialize schema that owns the source.
src_name — Name of the webhook source.
Operations
publish
postWebhookEvent
External producer POSTs an event to a Materialize webhook source.
Messages
webhookEventJson
Single JSON object or newline-delimited JSON. Invalid JSON yields 400.
Content-Type: application/json
webhookEventJsonArray
JSON array; Materialize expands each element to its own row.
Content-Type: application/json
webhookEventText
UTF-8 text body. Invalid UTF-8 yields 400.
Content-Type: text/plain
webhookEventBytes
Raw request body stored as bytea without parsing.
Content-Type: application/octet-stream
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.