Connectors
The Connectors operations of the Hub REST API (9 operations).
bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Provider list
application/json- response
providers*array<>nangoStatus*string"ok""error"nangoError?curl -X GET 'https://pod.example.com/api/hub/connectors/providers'{ "providers": [ { "id": "string", "provider": "string", "displayName": "string", "connected": true, "connectionId": "string" } ], "nangoStatus": "ok", "nangoError": { "reason": "unreachable", "message": "string" }}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
Broker trust diagnostics
application/json- response
cpIssuer*ownerIdentityLink*relayCredential*broker*curl -X GET 'https://pod.example.com/api/hub/connectors/broker-diagnostics'{ "cpIssuer": { "present": true, "status": "pending", "hasSourceConfigWrite": true }, "ownerIdentityLink": { "present": true }, "relayCredential": { "present": true, "resolvable": true, "validUntil": "string" }, "broker": { "kind": "control-plane", "reason": "string" }}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
provider?stringworkspaceId?stringSync status rows
application/json- response
statuses*array<>curl -X GET 'https://pod.example.com/api/hub/connectors/sync-status'{ "statuses": [ { "provider": "string", "connectionId": "string", "workspaceId": "string", "kind": "string", "enabled": true, "profileSlugs": [ "string" ], "openableProfileSlugs": [ "string" ], "lastRunAt": "string", "phase": "fetching", "counts": { "fetched": 0, "created": 0, "merged": 0, "skipped": 0, "byProfile": { "property1": { "created": 0, "merged": 0 }, "property2": { "created": 0, "merged": 0 } } }, "proposalId": "string", "keepSyncing": { "enabled": true, "ruleId": "string", "available": true }, "brokerConnectionId": "string", "connectionState": "needs_reauth", "error": "string", "failure": { "errorClass": "auth", "enableProposalId": "string", "resolved": true, "next": { "kind": "add", "hint": "string", "url": "string" } } } ]}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
provider?stringworkspaceId?stringonBehalfOfUserId?stringforceReauth?booleanConnection status: connected | setup_required | provider_required | provider_unavailable
application/json- response
status*string"connected""setup_required""provider_required""provider_unavailable"provider?stringdisplayName?stringcode?"POD_PROVIDER_NOT_CONFIGURED""POD_PROVIDER_NOT_CONFIGURED"reason?string"not_declared""unauthenticated""unreachable""malformed""truncated"message?stringconnectionId?stringredirectUrl?stringsessionToken?stringproviders?array<>unlocked?array<>curl -X POST 'https://pod.example.com/api/hub/connectors/connect' \ -H 'Content-Type: application/json' \ -d '{}'{ "status": "connected", "provider": "string", "displayName": "string", "code": "POD_PROVIDER_NOT_CONFIGURED", "reason": "not_declared", "message": "string", "connectionId": "string", "redirectUrl": "string", "sessionToken": "string", "providers": [ { "id": "string", "provider": "string", "displayName": "string", "connected": true } ], "unlocked": [ { "provider": "string", "displayName": "string", "skills": [ { "name": "string", "description": "string" } ] } ]}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
providerId?stringworkspaceId?stringonBehalfOfUserId?stringSession URL
application/json- response
redirectUrl*stringsessionToken*stringcurl -X POST 'https://pod.example.com/api/hub/connectors/session' \ -H 'Content-Type: application/json' \ -d '{}'{ "redirectUrl": "string", "sessionToken": "string"}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
connectionId*stringConnection revoked
application/json- response
success*booleancurl -X DELETE 'https://pod.example.com/api/hub/connectors/connections/string'{ "success": true}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
connectionId*stringprovider?stringConnection revoked
application/json- response
success*booleancurl -X POST 'https://pod.example.com/api/hub/connectors/disconnect' \ -H 'Content-Type: application/json' \ -d '{ "connectionId": "string"}'{ "success": true}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
provider*stringConnection list
application/json- response
connections*array<>curl -X GET 'https://pod.example.com/api/hub/connectors/connections/string'{ "connections": [ { "connectionId": "string", "provider": "string", "createdAt": "string" } ]}bearerAuthAuthorizationBearer <API key>Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.
application/json- body
provider*stringmethod*stringpath*stringbody?accountHint?stringbaseUrlOverride?stringheaders?workspaceId?stringagentUserId?stringsessionId?stringExecution result
application/json- response
status*numberheaders?body?unknowncurl -X POST 'https://pod.example.com/api/hub/connectors/tool-execute' \ -H 'Content-Type: application/json' \ -d '{ "provider": "string", "method": "string", "path": "string"}'{ "status": 0, "headers": { "property1": "string", "property2": "string" }, "body": null}