Skip to main content
Use these RPCs to discover the connectors compiled into a deployment and build configuration forms from their schemas. Resource discovery and column lookup may query the external source. Configuration validation checks values locally; it is not a connection test. The messages are defined in protos/ingestion/v1/connectors.proto.

RPCs

The catalog, validation, and resource discovery RPCs run under a 5-second server-side timeout. GetResourceColumns gets 30 seconds because it queries the external system per resource. DiscoverResources and GetResourceColumns return unimplemented for connectors that don’t support discovery or column introspection.

ListConnectors

Filter by kind (CONNECTOR_KIND_SOURCE, CONNECTOR_KIND_SINK, or unspecified for both). Supports pagination. Each ConnectorSpec carries:
  • name, display_name, kind, and version
  • supported replication modes (STANDARD, CDC)
  • its full config_schema: fields with types, scopes, defaults, and secret flags, enough to render a form
  • logo URLs and schema_field
  • maturity (ALPHA, BETA, STABLE)

GetConnector

Fetches a single spec. Both connector (the name) and kind are required, because some names register as both a source and a sink. An unknown combination returns not_found.

ValidateConfig

Runs the submitted config through the connector’s schema and local configuration checks. It catches problems such as missing fields, invalid enum values, and incompatible settings. It does not call the connector’s live TestConnection method, so network and credential failures can still appear during discovery or a run. Validation results are returned in the response:
An invalid config still produces a successful RPC with valid: false. RPC errors are reserved for problems such as an unknown connector or missing connector kind, which lets a client display all field errors together. Pass connection_id to validate an edit to an existing connection. The submitted config is overlaid on the stored, secret-resolved config, so the client never needs to round-trip secrets it only holds masked.

DiscoverResources

Lists the tables, streams, and endpoints a source config can read. Accepts either an inline config or a connection_id (same overlay semantics as ValidateConfig). Set refresh to bypass any cached listing. Each resource reports name, is_selectable, its primary_key columns, a selector, display_name, and connector-specific metadata.

GetResourceColumns

Returns column metadata for the named resources, keyed per resource. Beyond the basics (name, logical_type, native_type, is_nullable, is_primary_key), each column carries the cursor-selection fields the pipeline editor uses for incremental reads.