Delivery

Synthetic-signal dry-run preview

Builds a synthetic {DeliveryEvent} that matches the binding's signal_filter.event_type (overlaying any signal_filter.match constraints), then walks the delivery pipeline up to — but NOT including — connector.deliver(): resolver.resolve(signal) → projectFieldMap → serializer.serialize.

When the resolver can load a real entity, sample_mode is "real" and projected / serialized / wire_preview are populated. If the resolver throws (typically EntityMissingError because the synthetic entity id doesn't exist in this tenant), the service falls back to sample_mode: "structural" — it returns the resolver's declared shape without concrete data. The preview never makes a network call, never inserts a delivery row, and never touches the DLQ.

post/v1/delivery/bindings/{id}/preview

Request

  • Base URL: https://api.talonic.com
  • URL: https://api.talonic.com/v1/delivery/bindings/{id}/preview
  • Auth: HTTP bearer

Path parameters

idstring uuid required
Example:a1b2c3d4-e5f6-7890-abcd-ef1234567890

Resource UUID.

Response

Preview response — real dry-run or structural fallback.

availabletrue required

Always true. Present so future gated-preview responses can set available=false without breaking consumers.

sample_mode'real' | 'structural' required

real — the resolver loaded a synthetic entity and every pipeline stage ran. structural — the resolver threw (typically entity_missing) so only the declared shape is returned.

signalobject required

Synthetic {DeliveryEvent} built from signal_filter.event_type with placeholder entity ids (<preview-{field}>) and signal_filter.match overlaid so the synthetic signal passes its own filter. customer_id always matches the authenticated tenant.

projectedobject nullable required

Resolver output after projectFieldMap(binding.field_map). null when sample_mode='structural'.

serializedobject nullable required

Serializer output (kind: 'bytes' | 'rows' | 'graph' | 'object' + per-kind fields). null when sample_mode='structural'.

fallback_reasonstring

Only present when sample_mode="structural". Human-readable reason the resolver could not produce a real sample.

Changes

No recorded changes to this operation across all 1 revision of this API.