Catalog
Discover available signals, deliverable types, serializer formats, and connector types from the delivery registry. Use the catalog to build valid bindings.
The catalog endpoints expose the four delivery registries. Use them to discover which event types, deliverable resolvers, serializer formats, and connectors are available before creating bindings.
Walk the catalog top-down to build valid binding configurations: start with signals to pick an event type, then check which deliverables are compatible with that signal, which serializers support the deliverable shape, and which connectors accept the serializer format. This ensures every combination passes the compatibility triangle.
The catalog is a read-only snapshot of the four in-process registries — the same objects the delivery engine consults at runtime, so what the catalog reports is by construction what a binding create will accept. Entries carry human-readable label and description fields intended for configuration UIs; the type and format identifiers are the values you actually pass when creating a binding.
Because the registries are code-defined rather than tenant-configured, the catalog is identical for every workspace and changes only with platform releases. It is safe to cache per process lifetime; re-fetch when a binding create starts rejecting a combination that used to validate, which indicates the platform registry changed underneath you.
/v1/delivery/catalog/signalscurl
curl -s https://api.talonic.com/v1/delivery/catalog/signals \
-H "Authorization: Bearer tlnc_your_api_key"Response
Response fields
Response
{
"types": ["document.extracted", "run.dataspace.completed", "record.approved"],
"items": [
{ "type": "document.extracted", "label": "Document extracted", "description": "Fired when document extraction finishes." },
{ "type": "run.dataspace.completed", "label": "Dataspace run completed", "description": "Fired when a structuring run completes." },
{ "type": "record.approved", "label": "Record approved", "description": "Fired when a record passes review." }
]
}Errors
Error responses
/v1/delivery/catalog/deliverablesResponse
Response fields
Response
[
{
"type": "document_capture",
"compatible_signals": ["document.extracted"],
"shape": { "kind": "record", "is_collection": false, "columns": [] },
"label": "Document capture",
"description": "Raw extracted fields for a single document."
},
{
"type": "run_outcomes",
"compatible_signals": ["run.dataspace.completed"],
"shape": { "kind": "record", "is_collection": true, "columns": [] },
"label": "Run outcomes",
"description": "All structured rows from a completed run."
}
]Errors
Error responses
/v1/delivery/catalog/serializersResponse
Response fields
Response
[
{ "format": "json", "supports_kinds": ["record", "envelope"] },
{ "format": "csv", "supports_kinds": ["record"] },
{ "format": "xlsx", "supports_kinds": ["record"] },
{ "format": "raw", "supports_kinds": ["blob"] }
]Errors
Error responses
/v1/delivery/catalog/connectorsResponse
Response fields
Response
[
{
"type": "webhook",
"capabilities": {
"supported_serializers": ["json", "ndjson", "raw"],
"supported_deliverable_kinds": ["envelope", "record", "blob"],
"auth_types": ["none", "bearer", "basic", "api_key"],
"delivery_semantics": "record"
}
},
{
"type": "s3",
"capabilities": {
"supported_serializers": ["json", "ndjson", "csv_file", "xlsx", "md", "txt", "raw"],
"supported_deliverable_kinds": ["record", "blob", "envelope"],
"auth_types": ["access_key"],
"delivery_semantics": "file"
}
},
{
"type": "google_drive",
"capabilities": {
"supported_serializers": ["json", "ndjson", "csv_file", "xlsx", "md", "txt", "raw"],
"supported_deliverable_kinds": ["record", "blob", "envelope"],
"auth_types": ["oauth_google"],
"delivery_semantics": "file"
}
}
]Errors
Error responses