What this family does
Connectors are the managed side of ingestion: instead of pushing content yourself, you authorize a provider once and Exo keeps pulling. GitHub is the only provider in v1. Connecting returns a URL to send the user to. The install is finalized by the provider’s callback. Syncing enqueues one backfill job per repository and returns the ids of the jobs it newly enqueued.Routes
The shape of a call
List connectors.Traps
not_connected is a status, not an error. An organization that has never connected a provider still gets a provider stub back, with status: "not_connected" and no id, so the provider stays discoverable. The connector error codes are connector_not_found and connector_not_syncable.
Disconnect is a tombstone. It marks the installation disconnected and stops syncing. It is idempotent, and reconnecting means starting the connect flow again.
Sync is safe to repeat. A backfill already in flight is absorbed by the queue, and the worker deduplicates content at ingest.
Related
API reference
Base URL, authentication, and the conventions every route shares.
Errors
The problem envelope and the full code catalogue.