Get / Update / Delete / Preview
Get binding details, update signal filters or field maps, delete a binding, or preview the resolved payload for a binding without sending it.
Manage a single delivery binding: retrieve its configuration, update the signal filter or field map, delete it, or preview the payload it would produce. Updates re-validate the compatibility triangle. Deleting a binding stops future routing but allows in-flight deliveries to complete.
Use GET to inspect the current binding config and last_status. Use PUT to adjust the signal filter, field map, or retry policy — changes take effect on the next matching event. Use DELETE when the binding is no longer needed; in-flight deliveries already in the job queue will still complete.
The PUT response returns the full updated binding. The compatibility triangle is re-validated on every update — if you change the signal_filter.event_type or serializer_format, the system verifies the new combination is still valid. The preview endpoint (POST /preview) walks the resolve-project-serialize pipeline with a synthetic signal and returns the wire output without delivering.
Pair updates with the delivery history endpoint to verify the binding is producing expected results. If last_status shows failed, check the DLQ for error details before adjusting the binding config.
/v1/delivery/bindings/:idResponse
Response fields
Response
{
"id": "d4e5f6a7-b8c9-0123-defa-345678901234",
"name": "Notify on extraction complete",
"signal_filter": { "event_type": "document.extraction.completed" },
"deliverable_type": "document_capture",
"destination_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"serializer_format": "json",
"serializer_config": {},
"field_map": { "vendor": "$.vendor_name", "total": "$.amount" },
"delivery_policy": { "max_attempts": 5, "backoff_schedule": [1000, 5000, 30000] },
"is_active": true,
"last_status": "succeeded",
"created_at": "2024-09-10T09:00:00.000Z",
"updated_at": "2024-09-10T09:00:00.000Z"
}Errors
Error responses
/v1/delivery/bindings/:idResponse
Response fields
Response
{
"id": "d4e5f6a7-b8c9-0123-defa-345678901234",
"name": "Notify on extraction complete",
"signal_filter": { "event_type": "document.extraction.completed" },
"deliverable_type": "document_capture",
"destination_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"serializer_format": "json",
"serializer_config": {},
"field_map": { "vendor": "$.vendor_name", "total": "$.amount", "date": "$.invoice_date" },
"delivery_policy": { "max_attempts": 7 },
"is_active": true,
"last_status": "succeeded",
"created_at": "2024-09-10T09:00:00.000Z",
"updated_at": "2024-09-16T10:00:00.000Z"
}Errors
Error responses
/v1/delivery/bindings/:idResponse
Response fields
Response
{
"deleted": true
}Errors
Error responses
/v1/delivery/bindings/:id/previewResponse
Response fields
Response
{
"preview": "not-implemented-in-slice-1-MVP"
}Errors
Error responses