# QuiltLab > Quilt design platform. Public agent API + MCP for connectors (Muse, ChatGPT, IDE agents). QuiltLab is a quilt design app. Heavy editing stays on quiltlab.co. Agents authenticate with Clerk OAuth 2.1 (the same tokens as /mcp), then create projects and block stubs, list the caller's own quilts/blocks, and search the shared fabric catalog. ## Docs - [Developer docs (Redoc)](https://www.quiltlab.co/developers): human reference generated from OpenAPI - [OpenAPI 3.1](https://www.quiltlab.co/openapi.v1.json): source contract (also at https://www.quiltlab.co/api/v1/openapi.json) - [Arazzo workflows](https://www.quiltlab.co/api/v1/arazzo.yaml): create-project, start-block, start-design - [MCP server](https://www.quiltlab.co/mcp): same operations as tools (issue #289) - [API catalog](https://www.quiltlab.co/.well-known/api-catalog): RFC 9727 linkset - [Connect Muse / ChatGPT](https://www.quiltlab.co/developers#connect) - [Help](https://www.quiltlab.co/help) ## Auth - Clerk OAuth 2.1 bearer tokens. Discover the authorization server from https://www.quiltlab.co/.well-known/oauth-protected-resource - Browser session cookies are also accepted on /api/v1 (CSRF required on cookie writes) - No API keys in v1. Do not send admin or billing credentials. ## Public operations - GET /api/v1/auth/me — getAuthMe: Confirm integration authentication - GET /api/v1/fabrics — searchFabricCatalog (MCP: search_fabric_catalog): Search the shared fabric catalog - GET /api/v1/supplies — browseSupplies (MCP: browse_supplies): Browse a quilting-supply guide - GET /api/v1/projects — listProjects (MCP: list_my_projects): List the caller's projects - POST /api/v1/projects — createProject (MCP: create_project): Create an empty project - GET /api/v1/assets — listAssets (MCP: list_my_assets): List saved items of one type - GET /api/v1/assets/{resource}/{id} — getAsset (MCP: get_asset): Read one saved item - GET /api/v1/quilts — listQuilts (MCP: list_my_assets): List the caller's quilts - GET /api/v1/quilts/{id} — getQuilt (MCP: get_asset): Read one quilt - GET /api/v1/blocks — listBlocks (MCP: list_my_assets): List the caller's blocks - GET /api/v1/blocks/{id} — getBlock (MCP: get_asset): Read one block - POST /api/v1/blocks — createBlock (MCP: create_block_stub): Create an empty block stub ## Out of scope Admin, billing, Stripe, internal Convex, and the rest of /api/* are unpublished. Do not invent endpoints that are not in the OpenAPI document. ## Optional - [MCP OAuth metadata](https://www.quiltlab.co/.well-known/oauth-protected-resource)