# WoodSystems developers > WoodSystems is ERP for custom cabinet and millwork shops. Its REST API reads and writes an account (jobs and leads, contacts, tasks, calendar, estimates, invoices, files, work orders, materials, purchasing and products), signed webhooks report changes, and a hosted MCP server lets AI tools work in the account as the person who connects them. - REST API: https://api.woodsystems.com/v1 (sandbox https://api-sandbox.woodsystems.com/v1). Send X-Api-Key and X-Tenant-Id, or Authorization: Bearer . Idempotency-Key on every POST. - MCP server: https://mcp.woodsystems.com/mcp (sandbox https://mcp-sandbox.woodsystems.com/mcp), streamable HTTP, OAuth sign-in or Bearer API key. - OpenAPI 3.1 file with webhooks: https://developers.woodsystems.com/openapi.v1.json - Apps for WoodSystems shops: OAuth 2.1 authorization code with PKCE and client_secret_basic at https://api.woodsystems.com/oauth/authorize and https://api.woodsystems.com/oauth/token (sandbox https://api-sandbox.woodsystems.com). Create a free developer account at https://app.woodsystems.com/developers/signup ## Docs - [Getting started](https://developers.woodsystems.com/): Keys, base URLs, first call, authentication, idempotency, pagination, errors, rate limits and the sandbox. - [API reference](https://developers.woodsystems.com/api/reference/): Every endpoint and field, rendered from the OpenAPI file. - [Scopes](https://developers.woodsystems.com/api/scopes/): What each scope allows and which endpoints need it. - [Errors](https://developers.woodsystems.com/api/errors/): Every error code with its status, when it happens and what to do. - [Limits and pricing](https://developers.woodsystems.com/api/limits/): Pricing, included calls, rate limits and what counts as a call. - [Webhook events](https://developers.woodsystems.com/api/events/): Every event type with an example payload. - [Changelog](https://developers.woodsystems.com/api/changelog/): Changes to the API. - [What the API cannot do](https://developers.woodsystems.com/api/not-available/): What stays in the web app. - [Receiving webhooks](https://developers.woodsystems.com/webhooks/): Headers, retries, switch-offs, URL rules and signature verification in Python, Node, PHP and Go. - [MCP server](https://developers.woodsystems.com/mcp/): Connect Claude, ChatGPT, Cursor or an agent; every tool, resource and prompt. - [Building an app for WoodSystems shops](https://developers.woodsystems.com/apps/build/): Developer account, sandbox shop with demo data, app registration, the OAuth 2.1 flow with PKCE, review, the install limit and the directory. - [App directory](https://developers.woodsystems.com/apps/): Apps reviewed and approved by WoodSystems, with the permissions each one asks for. Read live from the API, so not copied into these files. - [SDKs](https://developers.woodsystems.com/sdks/): Generate a client from the OpenAPI file. ## Optional - [llms-full.txt](https://developers.woodsystems.com/llms-full.txt): every guide, scope, error, limit, event and MCP tool in one file. - [OpenAPI file](https://developers.woodsystems.com/openapi.v1.json): the full machine-readable reference.