# CraveUp API Documentation > Developer documentation for building storefronts with the Crave platform API, CLI, and SDK. ## Docs - [Start Here](https://docs.cravejs.com/getting-started/introduction.md): Use the Crave storefront toolkit to launch a custom ordering experience fast. - [CLI Quickstart](https://docs.cravejs.com/getting-started/cli-quickstart.md): Use the Crave CLI to scaffold, configure, and launch a storefront template. - [Storefront SDK](https://docs.cravejs.com/getting-started/storefront-sdk.md): Typed TypeScript helpers for every Crave Storefront REST endpoint. - [REST API Essentials](https://docs.cravejs.com/getting-started/rest-api.md): Call the Crave Storefront API from any platform with simple HTTP requests. - [Generate a Storefront API Key](https://docs.cravejs.com/guides/generate-api-key.md): Create an API token in the Crave dashboard and store it safely for your storefront project. - [Build a Custom Storefront](https://docs.cravejs.com/guides/build-custom-storefront.md): Combine the CLI, Storefront SDK, and REST APIs to launch a bespoke ordering experience. - [Get merchant with storefront locations](https://docs.cravejs.com/api-reference/merchants/get-merchant-with-storefront-locations.md): Returns merchant metadata and enabled locations for the storefront experience. - [Get location basic info](https://docs.cravejs.com/api-reference/locations/get-location-basic-info.md): Fetches core storefront data for a location using either its slug or database ID. - [Start an ordering session](https://docs.cravejs.com/api-reference/ordering-sessions/start-an-ordering-session.md): Creates or resumes a cart for the given location. The response includes the cart ID or an error message explaining why ordering is unavailable. - [Get menus for a location](https://docs.cravejs.com/api-reference/menus/get-menus-for-a-location.md): Returns the active menus, categories, and products for the specified order date and time. Provide `orderDate` and `orderTime` to fetch the menu for a future scheduled order, or set `menuOnly=true` to fallback to the current menu. - [Get a product with modifier tree](https://docs.cravejs.com/api-reference/products/get-a-product-with-modifier-tree.md): Fetches product details and its modifier configuration for building a product detail page. - [Get cart](https://docs.cravejs.com/api-reference/carts/get-cart.md): Retrieves the current state of a cart, revalidating applied discounts when necessary. - [Delete cart](https://docs.cravejs.com/api-reference/carts/delete-cart.md): Deletes the cart. Use this when the shopper abandons their order. - [Get recommendable products](https://docs.cravejs.com/api-reference/carts/get-recommendable-products.md): Returns up to five products not already in the cart to power “you might also like” suggestions. - [Add item to cart](https://docs.cravejs.com/api-reference/carts/add-item-to-cart.md): Appends a product to the cart, merging with existing items when the configuration matches. - [Update cart item quantity](https://docs.cravejs.com/api-reference/carts/update-cart-item-quantity.md): Adjusts the quantity of a specific cart item or removes it when the quantity is 0. - [Login or Register Customer](https://docs.cravejs.com/api-reference/customers/login-or-register-customer.md): Initiates the OTP login or registration flow using an email address or phone number. - [Verify OTP](https://docs.cravejs.com/api-reference/customers/verify-otp.md): Authenticates the OTP, issues a storefront session token, and links the customer account. - [Get Customer Details](https://docs.cravejs.com/api-reference/customers/get-customer-details.md): Retrieves the authenticated customer profile associated with the session JWT. - [Logout Customer](https://docs.cravejs.com/api-reference/customers/logout-customer.md): Revokes the active storefront session for the authenticated customer. - [Changelog](https://docs.cravejs.com/changelog.md): Track improvements to the Crave storefront documentation and OpenAPI reference. ## OpenAPI Specs - [swagger](https://api.craveup.com/swagger.json) - [openapi](https://docs.cravejs.com/api-reference/openapi.json)