# Servicebay Developers - [Authentication](/docs/authentication): API keys v2 — scopes, allowed uses, expiry, rotation — and OAuth Bearer - [Developer Portal](/docs/developer-portal): API keys, playground, connected apps, OAuth clients, and activity - [Error Handling](/docs/error-handling): HTTP status codes, conflict codes, and retry guidance - [Introduction](/docs): Welcome to the Servicebay API documentation - [MCP (AI Agents)](/docs/mcp): Connect Claude and other AI agents to Servicebay via the Model Context Protocol - [OAuth](/docs/oauth): OAuth 2.1 authorization-code flow, PKCE, scopes, discovery, and client registration - [Pagination](/docs/pagination): Cursor-based pagination across every list endpoint - [Quickstart](/docs/quickstart): Get from zero to your first API call in under five minutes - [Rate Limiting](/docs/rate-limiting): 100 requests per minute per key, and how to back off cleanly - [Two-Factor Authentication](/docs/two-factor-auth): Two-factor authentication is required for the developer portal - [Asset categories](/docs/api/asset-categories): Customer-item (device) categories - [Calendar Events](/docs/api/calendar-events): Standalone events or events linked to a specific job - [Customers](/docs/api/customers): Manage customer records and look them up by phone or email - [Devices](/docs/api/devices): Manage the devices and assets belonging to a customer - [Forms](/docs/api/forms): Read-only compliance templates, rules, and submissions - [API Reference](/docs/api): REST endpoints for the core Servicebay resources - [Inventory categories](/docs/api/inventory-categories): Catalogue categories for inventory items - [Inventory](/docs/api/inventory): Track stock items with SKU lookup and stock counts - [Invoices](/docs/api/invoices): Generate invoices with deposits, balances, and discounts - [Jobs](/docs/api/jobs): Create and manage service jobs (instore, offsite, or remote) - [Members](/docs/api/members): Read-only organisation membership projection - [Messages](/docs/api/messages): Job timeline messages, including system status/assignment/station updates - [Organisations](/docs/api/organisations): Read and update the organisation your API key belongs to - [Payments](/docs/api/payments): Record payments and refunds against invoices - [Quotes](/docs/api/quotes): Create, send, and track quotes linked to a customer or job - [Recurring schedules](/docs/api/recurring-schedules): Recurring service agreements, occurrences, and presets - [Services](/docs/api/services): Manage reusable service templates with pricing and warranty defaults - [Stations](/docs/api/stations): Manage workstations and bays that jobs can be assigned to - [Tax Rates](/docs/api/tax-rates): Manage the tax rates applied to services, inventory, quotes, and invoices - [Job Statuses](/docs/api/ticket-statuses): Manage the configurable status values a job can move through - [Anthropic Messages API](/docs/mcp/anthropic-messages): mcp_servers + mcp_toolset on POST /v1/messages - [ChatGPT](/docs/mcp/chatgpt): Developer mode connectors — search and fetch are implemented - [Claude.ai](/docs/mcp/claude-ai): Add Servicebay as a custom remote MCP connector - [Claude Code](/docs/mcp/claude-code): claude mcp add --transport http - [Claude Desktop](/docs/mcp/claude-desktop): Custom connector or mcp-remote — do not put a URL in claude_desktop_config.json - [Compatibility matrix](/docs/mcp/compatibility): Which MCP clients use OAuth DCR, a pre-registered confidential client, or a static API key - [Microsoft Copilot Studio](/docs/mcp/copilot-studio): Add a Model Context Protocol tool over Streamable HTTP - [Cursor](/docs/mcp/cursor): .cursor/mcp.json, OAuth Connect, API key, and the install deeplink - [Gemini CLI](/docs/mcp/gemini-cli): httpUrl in settings.json — url is SSE and will fail - [Google ADK](/docs/mcp/google-adk): McpToolset with StreamableHTTPConnectionParams - [JetBrains AI Assistant](/docs/mcp/jetbrains): Streamable HTTP via URL, or mcp-remote when you need a Bearer header - [n8n](/docs/mcp/n8n): MCP Client / MCP Client Tool with HTTP Streamable - [OpenAI Responses API and Agents SDK](/docs/mcp/openai): Hosted MCP with server_url and authorization Bearer - [Perplexity](/docs/mcp/perplexity): Pre-registered confidential client — DCR as a public client fails - [Troubleshooting](/docs/mcp/troubleshooting): 401 vs 403, insufficient_scope, invalid_target, PKCE, Origin, and legacy SSE - [VS Code and GitHub Copilot](/docs/mcp/vscode): .vscode/mcp.json with type http - [Windsurf](/docs/mcp/windsurf): mcp_config.json uses serverUrl, not url - [Zed](/docs/mcp/zed): context_servers with url — not mcpServers