Setup
Enter your endpoint’s URL. On each run Stockful sends aPOST with Content-Type: application/json.
Optionally generate a signing secret so your endpoint can verify a request came from Stockful (see Verifying requests). The secret is shown once, so copy it then. Regenerate it if you lose it.
Send now works for webhook schedules, so you can fire a test delivery on demand.
Payload
The body is an envelope carrying the schedule, delivery metadata, and the report(s):reports is an array, so a future multi-report schedule can add entries without changing the shape. Each report’s columns describe its fields: type is text or numeric, and format carries the finer type (currency, percent, date, and so on), or null for a plain dimension.
Inline data or a linked file
dataFormat on each report tells you where the rows are, so a receiver never has to inspect the keys:
jsonmeans the rows are inline indata, an array of objects.jsonlmeans the report was too large to send inline (over about 1 MB), sodatais replaced bydataUrl: a link to the full report as JSONL, one JSON object per line. Fetch it to read the rows.
dataUrl link is tokened and served as application/x-ndjson.
Verifying requests
If the schedule has a signing secret, each POST carries anX-Stockful-Signature header: the HMAC-SHA256 of the raw request body, hex-encoded, keyed with your secret. Recompute it and compare to trust the payload:

