Skip to content

SharePoint Connector

Connect SharePoint Online. OAuth uses integration: "sharepoint-online". Site and folder pickers are under /connectors/sharepoint/*.

Base URL

BASE_URL = "https://api.fermi.dev/public/v1"

Authentication

Authorization: Bearer <service-actor-token>

Required Scopes: connectors:read, connectors:write, connectors:sync

Connect

POST /connect/integrations/connect-session

{
  "integration": "sharepoint-online"
}

Response: { "sessionToken": "..." }

List connections

GET /connect/integrations/connections?providerConfigKey=sharepoint-online

List sites

GET /connectors/sharepoint/sites?connectionId={connectionId}

connectionId is required and must be a real SharePoint connection. A fake id returns 502.

Response: { "sites": [{ "id", "displayName", "name", "webUrl", "defaultDriveId", "drives", "isSharedItems" }] }

List folders

GET /connectors/sharepoint/folders?connectionId={connectionId}&driveId={driveId}&folderPath=

Response: { "folders": [{ "id", "name", "path", "webUrl", "childCount", "isFile" }] }

Resolve a site URL

GET /connectors/sharepoint/resolve-site?connectionId={connectionId}&siteUrl={url}

Response: { "site": { ... } }

Sync

POST /sync/enqueue

{
  "connectionId": "CONNECTION_ID",
  "providerKey": "sharepoint-online"
}

Summary

Method Path
POST /connect/integrations/connect-session
GET /connect/integrations/connections?providerConfigKey=sharepoint-online
GET /connectors/sharepoint/sites
GET /connectors/sharepoint/folders
GET /connectors/sharepoint/resolve-site
POST /sync/enqueue

Next Steps