Skip to main content
POST
Ingest an event through the public webhook URL, overriding the dataset

Headers

Idempotency-Key
string

Optional. A repeat key short-circuits with 200 before quota is charged.

Path Parameters

workspace
string
required

Workspace (tenant) slug; must not be a reserved root (api, admin, stripe, v1, assets, settings, favicon.ico, robots.txt, sitemap.xml, index.html, app.js, styles.css, export.js, portal, brand, trial-info, .well-known, mcp).

project
string
required

Project slug within the workspace.

webhook
string
required

Webhook slug — the credential. Only an enabled webhook matches.

dataset
string
required

Dataset to store the record in, overriding the webhook's configured dataset for this request. No validation is performed; the name is used as given.

Body

Same parsing as the 3-segment form: urlencoded and multipart are flattened (repeats become arrays, file parts become {filename, type, size} with the bytes discarded); every other Content-Type is parsed as JSON; an empty body becomes {}; a non-object payload is wrapped as {"value": }. Over 1,000,000 bytes yields 413.

Any JSON value.

Response

Idempotent replay — a submission with this Idempotency-Key already exists for the tenant. No quota is charged when the duplicate is detected up front; a request that loses the unique-index race has already been counted against the monthly quota.

submission_id
string
required
idempotent
enum<boolean>
required
Available options:
true