connectors API
List file-connector catalog
The connectable file providers (Google Drive, Dropbox, OneDrive, SharePoint, Box) with per-caller connect requirements: whether one-click connect works (hasPlatformApp), whether the caller already saved an own OAuth app (hasOwnApp), and where to run the browser OAuth flow (connectUrl). Creating a connection always takes that browser step; afterwards the connection shows up in `GET /api/v1/repository-connections/`.
List repository connections
The caller’s own provider-account connections (Google Drive, OneDrive, Dropbox) with the folder mounts syncing through each. Connections are private: only the account owner sees them, and credentials never appear in responses. Connect accounts through the web UI (Developer → Files) — the OAuth dance cannot run over this API.
Disconnect repository connection
Clears the connection’s stored credentials and hides it. Owner-only, like every connection operation. Refused with 409 while active folder mounts still sync through the connection: unlink those collections first, so no sync is silently stranded.
Browse connection’s folders
One page of the provider’s folders, starting at the root (My Drive plus folders shared with the account, for Google Drive) or inside `parentFolderId`. Folders only — this is the linking counterpart of the web UI’s folder picker. Owner-only: browsing runs with the connection’s own credentials.
Link provider folder into collection
Mirrors one provider folder (subfolders included) into the collection through the caller’s connection: creates the folder mount when the collection has none for that provider, flips it to linked-folder sync, and starts the first sync immediately. Requires write access to the collection and ownership of the connection; counts against the plan’s linked-folders quota. Find folder ids with `listConnectionFolders`.
Sync linked folder now
Queues a sync run for the repository, the same run the schedule triggers: pull the provider’s change journal, apply adds, edits, renames, moves, and deletions, and import what changed. Requires write access to the repository’s collection. The run is asynchronous — poll `listRepositoryConnections` for `lastSyncedAt` to observe completion.