Skip to main content
Bulkgrid supports API keys for backend integrations and OAuth for AI apps and CLI connections. Every connection is limited to a workspace and its granted permissions.

API keys

Create a key in Settings → API Keys. Workspace owners and admins can create, rotate, and revoke keys. Use separate keys for development and production. Both headers are supported. Send one authentication method per request: Node.js and Python examples use the Bulkgrid SDKs. Set BULKGRID_API_KEY in your backend environment; cURL examples also use BULKGRID_BASE_URL=https://bulkgrid.com.
The equivalent bearer header is:
The TypeScript SDK sends the key through x-api-key. See API key scopes for permissions required by each workflow.

OAuth connections

Add https://bulkgrid.com/api/v1/mcp to a compatible AI client, or run bulkgrid login from the CLI. Your browser opens Bulkgrid’s consent page. Sign in if needed, select the workspace and collection access, and approve the connection. Your current workspace is preselected when available. The client receives tokens and handles refresh. OAuth access tokens are sent as Authorization: Bearer <access-token>. They currently grant mcp:use and search:query; they do not authorize creating runs, managing sources, or fetching arbitrary run results. Use a suitably scoped API key for those operations.

Workspace and collection boundaries

API keys belong to a workspace. An OAuth user/client connection is bound to the workspace selected during consent. Reauthorizing the same connection retains that workspace. Keys and OAuth grants can allow all accessible collections or selected collections. A collectionId search filter can narrow access; it cannot grant access beyond the credential’s permissions. OAuth access also requires the user to remain a member of the workspace. CLI login and an AI app’s MCP login are separate connections. Manage OAuth connections under Settings → Connected Apps. Revocation blocks subsequent Bulkgrid API access. CLI users can also run bulkgrid logout.

Errors

Keep API keys and refresh tokens out of browser bundles, source control, and logs. Your application backend should hold service credentials.