PUT /webhook/deliveries/<record_uuid>
put_webhook_deliveries_record_uuid
Answers 200 for an empty body, for a key it does not take, and for a valid acknowledgement that then reads back null. Only the 4096-byte cap is enforced.
Partly measured. The acknowledgement never persisted on the probed site, where the webhook subsystem is degraded. Whether that is the API or the site is unresolved.
API
Params
| part | value |
|---|---|
<record_uuid> |
a delivery id |
acknowledgement |
a string, 4096 bytes or less |
Sample requests
r = c.put(f"/webhook/deliveries/{delivery_uuid}", json={"acknowledgement": "ack"})
{ "errors": [ { "status": 400, "code": 103, "title": "Request Parameters invalid.",
"source": { "acknowledgement": ["acknowledgement must be 4096 bytes long or less"] } } ] }
Response codes
| sent | status |
|---|---|
{"acknowledgement": "ack"} |
200 |
{} |
200 |
{"status": "failed"}, a key the call does not take |
200 |
{"acknowledgement": <4096 bytes>} |
200 |
{"acknowledgement": <4097 bytes>} |
400 acknowledgement must be 4096 bytes long or less |
Edge cases
- On the probed site the acknowledgement never persisted. 200 every time, and a read back gives
nullafter a short string and""after 4096 bytes. The one input that changes the answer is a body over the cap. That site's webhook subsystem is degraded (045_webhooks), so whether this is the API or the site is unresolved. - An empty body answers 200 here, where
PUT /webhook/hooks/<record_uuid>answers 400ensure_field_present. The twoPUTs in this family do not share a contract. - The cap is counted in bytes, not characters, and the error says so.