# Cheese Store ## Documentation - [Cheese Store API](https://cheesestore-docs.pages.dev/introduction.md): The catalog, the orders, the last wheel of Comté. - [Build the demo](https://cheesestore-docs.pages.dev/quickstart.md): Reproduce the Cheese Store documentation site from its checked-in inputs. - [Authentication](https://cheesestore-docs.pages.dev/authentication.md): Security schemes in the sample OpenAPI contract. - [Core Concepts](https://cheesestore-docs.pages.dev/concepts.md): The fundamental building blocks of the Cheese Store API. Think of it as Cheese Theory 101. ## Guides - [Webhooks](https://cheesestore-docs.pages.dev/guides/webhooks.md): Real-time event delivery for orders, inventory, and system events. - [Components](https://cheesestore-docs.pages.dev/guides/directives.md): Rich components for documentation pages, using simple directive syntax. ## API Reference - [Cheese Store](https://cheesestore-docs.pages.dev/api.md): This is a fictional API contract used to demonstrate documentation generated by Sourcey. The Cheese Store service, accounts, keys, and endpoints are examples; there is no live cheese-ordering service behind this reference. - [List all cheeses](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-get.md): Returns a paginated list of cheeses in the store. Results can be filtered by status and sorted by name or creation date. - [Add a new cheese](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-post.md): Add a new cheese to the store inventory. The cheese name must be unique within its category. - [Update an existing cheese](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-put.md): Replace an existing cheese with updated data. The cheese ID in the body must match an existing cheese. - [Find cheeses by status](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-findbystatus-get.md): Multiple status values can be provided as comma-separated strings. Returns all cheeses matching any of the given statuses. - [Find cheeses by tags](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-findbytags-get.md): Multiple tags can be provided as comma-separated strings (e.g. ?tags=blue,italian,aged). - [Get cheese by ID](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-cheeseid-get.md): Returns detailed information about a specific cheese, including its category, tags, and current availability status. - [Update cheese with form data](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-cheeseid-post.md): Updates specific fields of a cheese using form data. Only provided fields are updated. - [Delete a cheese](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-cheeseid-delete.md): Permanently removes a cheese from the store. This action cannot be undone. Any pending orders for this cheese will be cancelled. - [Upload a cheese image](https://cheesestore-docs.pages.dev/api/operations/operation-cheeses-cheeseid-uploadimage-post.md): Upload a photo of the cheese. Supports JPEG, PNG, and WebP formats. Maximum file size is 10MB. - [Get store inventory](https://cheesestore-docs.pages.dev/api/operations/operation-store-inventory-get.md): Returns a map of cheese status codes to quantities, representing the current inventory levels. - [Place a cheese order](https://cheesestore-docs.pages.dev/api/operations/operation-store-order-post.md): Place an order to purchase cheese from the store. The cheese must be in available status. - [Get order by ID](https://cheesestore-docs.pages.dev/api/operations/operation-store-order-orderid-get.md): Retrieve details of a specific order. For testing, use order IDs between 1 and 10. - [Cancel an order](https://cheesestore-docs.pages.dev/api/operations/operation-store-order-orderid-delete.md): Cancel a pending order. Orders that have already been shipped cannot be cancelled. - [Create a customer account](https://cheesestore-docs.pages.dev/api/operations/operation-customer-post.md): Register a new customer account. The username and email must be unique. - [Create multiple customers](https://cheesestore-docs.pages.dev/api/operations/operation-customer-createmultiple-post.md): Create a batch of customer accounts from an array. Each customer is validated independently - partial success is possible. - [Customer login](https://cheesestore-docs.pages.dev/api/operations/operation-customer-login-post.md): Authenticate a customer and receive a session token. The token expires after 24 hours. - [Customer logout](https://cheesestore-docs.pages.dev/api/operations/operation-customer-logout-get.md): End the current customer session and invalidate the session token. - [Get customer by username](https://cheesestore-docs.pages.dev/api/operations/operation-customer-username-get.md): Retrieve a customer's profile by their username. - [Update customer profile](https://cheesestore-docs.pages.dev/api/operations/operation-customer-username-put.md): Update a customer's profile. Can only be performed by the authenticated customer. - [Delete customer account](https://cheesestore-docs.pages.dev/api/operations/operation-customer-username-delete.md): Permanently delete a customer account and all associated data. This action cannot be undone. - [Cheese](https://cheesestore-docs.pages.dev/api/schemas/cheese-6e5a59d4fd.md): Fields: id, name, category, photoUrls, tags, status and 6 more. - [CheeseInput](https://cheesestore-docs.pages.dev/api/schemas/cheeseinput-4479830925.md): Fields: name, category, photoUrls, tags, status, origin and 3 more. - [CheeseList](https://cheesestore-docs.pages.dev/api/schemas/cheeselist-06d8bd48db.md): Paginated list of cheeses - [Category](https://cheesestore-docs.pages.dev/api/schemas/category-292c06f004.md): Fields: id and name. - [Tag](https://cheesestore-docs.pages.dev/api/schemas/tag-1503916a2a.md): Fields: id and name. - [Order](https://cheesestore-docs.pages.dev/api/schemas/order-6be090825c.md): Fields: id, items, shippingAddress, status, notes, total and 3 more. - [OrderInput](https://cheesestore-docs.pages.dev/api/schemas/orderinput-fdf8fed0b2.md): Fields: items, shippingAddress and notes. - [OrderItem](https://cheesestore-docs.pages.dev/api/schemas/orderitem-6b56cf7850.md): Fields: cheeseId, cheeseName, quantity and pricePerKg. - [Address](https://cheesestore-docs.pages.dev/api/schemas/address-56ef8f2095.md): Fields: street, city, state, zipCode and country. - [Customer](https://cheesestore-docs.pages.dev/api/schemas/customer-bf3763383a.md): Fields: id, username, firstName, lastName, email, phone and 3 more. - [CustomerInput](https://cheesestore-docs.pages.dev/api/schemas/customerinput-63c834e0ae.md): Fields: username, firstName, lastName, email, password and phone. - [Error](https://cheesestore-docs.pages.dev/api/schemas/error-54a0e8c17e.md): Fields: code, type and message. - [ValidationError](https://cheesestore-docs.pages.dev/api/schemas/validationerror-bdfaef14be.md): Fields: code, type, message and errors. ## MCP Tools - [cheesestore](https://cheesestore-docs.pages.dev/mcp.md): A fictional Cheese Store MCP schema fixture for demonstrating Sourcey's generated tool documentation. The listed tools and cheese-ordering service are examples, not a running MCP server. - [search_cheese](https://cheesestore-docs.pages.dev/mcp/operations/operation-search-cheese-tool.md): Search the cheese catalog by name, origin, milk type, or texture. Returns matching cheeses sorted by relevance. - [get_cheese](https://cheesestore-docs.pages.dev/mcp/operations/operation-get-cheese-tool.md): Get full details for a specific cheese by ID. Includes tasting notes, pairings, nutritional info, and current stock levels. - [recommend_cheese](https://cheesestore-docs.pages.dev/mcp/operations/operation-recommend-cheese-tool.md): Get personalized cheese recommendations based on preferences, occasion, or pairing needs. - [create_order](https://cheesestore-docs.pages.dev/mcp/operations/operation-create-order-tool.md): Place an order for one or more cheeses. Requires a shipping address. International shipping available but customs may have questions about that Époisses. - [get_order](https://cheesestore-docs.pages.dev/mcp/operations/operation-get-order-tool.md): Check the status of an existing order. Includes tracking info if shipped. - [cancel_order](https://cheesestore-docs.pages.dev/mcp/operations/operation-cancel-order-tool.md): Cancel an order that hasn't shipped yet. Once the cheese is in the van, there's no going back. - [subscribe_cheese_box](https://cheesestore-docs.pages.dev/mcp/operations/operation-subscribe-cheese-box-tool.md): Subscribe to a monthly curated cheese box. Each month our cheesemongers select a themed collection. Past themes include "Alpine Adventure", "Stinky but Distinguished", and "Goat to Be Kidding Me". - [Full Catalog](https://cheesestore-docs.pages.dev/mcp/operations/operation-cheese-catalog-resource.md): Complete cheese catalog with current prices and stock levels - [Featured Cheeses](https://cheesestore-docs.pages.dev/mcp/operations/operation-cheese-featured-resource.md): This week's featured selections, hand-picked by our cheesemonger - [Cheese Regions](https://cheesestore-docs.pages.dev/mcp/operations/operation-cheese-regions-resource.md): Cheese-producing regions with descriptions and specialties - [Cheese Detail](https://cheesestore-docs.pages.dev/mcp/operations/operation-cheese-catalog-cheese-id-resource.md): Full details for a single cheese by ID - [Region Detail](https://cheesestore-docs.pages.dev/mcp/operations/operation-cheese-regions-region-resource.md): Cheeses and producers from a specific region - [cheese_board](https://cheesestore-docs.pages.dev/mcp/operations/operation-cheese-board-prompt.md): Design a cheese board for a specific occasion, guest count, and budget. Returns a curated selection with serving notes and wine pairings. - [pairing_guide](https://cheesestore-docs.pages.dev/mcp/operations/operation-pairing-guide-prompt.md): Get a wine and food pairing guide for a specific cheese or cheese style. ## Changelog - [Changelog](https://cheesestore-docs.pages.dev/changelog.md): New endpoints, contract changes and fixes.