# Documentation - [Introduction](/docs): Open a store on your own domain, take payments through your own accounts, and work through an API built for developers and AI agents. - **For merchants** - Get started - [Get started](/docs/getting-started): Open a store, add a product, connect a payment account and take your first order. - [Quick start](/docs/getting-started/quick-start): Create a store, make an API key and call the API in three steps. - Guides - [Guides overview](/docs/guides): Step-by-step guides for merchants and agencies, from your first product to taking real payments. - [For merchants](/docs/guides/for-merchants): What you can do on Prood today, from your first store to higher volume and automation. - [For agencies](/docs/guides/for-agencies): Run client stores on Prood, each with its own data, domain and payment accounts. - [Merchant onboarding](/docs/guides/merchant-onboarding): Step by step, from creating your account to your first real order. - [Payment integration](/docs/guides/payment-integration): Connect your Stripe, Easypay or Ifthenpay account to your Prood store. - [Webhook setup](/docs/guides/webhook-setup): Add your store's webhook URL at your payment provider, so orders get marked as paid. - Dashboard - [Dashboard](/docs/apps/dashboard): Where you run your store. Products, orders, customers, payment accounts, domains and team. - [Products](/docs/apps/dashboard/products): Add and edit products in the dashboard, with prices, descriptions and an in-stock switch. - [Orders](/docs/apps/dashboard/orders): See every order, then fulfill, cancel or refund it. - [Integrations](/docs/apps/dashboard/integrations): Connect your own payment account to your store. - [Domains](/docs/apps/dashboard/domains): Your prood.app address, and how to put your store on your own domain. - [Team](/docs/apps/dashboard/team): Who can work on your store, and what each role can do. - Billing - [Plans and limits](/docs/billing/plans): What each plan includes and where the limits apply. - **For developers** - [Machine access](/docs/guides/machine-access): API keys, Agent Auth, MCP, OpenAPI and the CLI, for code and AI agents. - Commerce API - [Commerce API](/docs/apps/api): The REST API server — catalog, cart, orders, admin, webhooks, MCP, and Agent Auth. - [Authentication](/docs/apps/api/authentication): How the Commerce API resolves callers, assigns scopes, and enforces tenant isolation. - [API endpoints](/docs/apps/api/endpoints): Complete REST endpoint reference for the Commerce API v1. - [MCP server](/docs/apps/api/mcp): Model Context Protocol server exposing Commerce API operations as tools for AI agents. - [Agent Auth](/docs/apps/api/agent-auth): Register AI agents, approve capabilities, and call the Commerce API via the Agent Auth Protocol. - API reference - [API reference](/docs/api): OpenAPI documentation for the Prood Commerce REST API v1. - Storefront - [Add cart item](/docs/api/storefront/addCartItem) - [Apply coupon](/docs/api/storefront/applyCartCoupon) - [Create cart](/docs/api/storefront/createCart) - [Get cart](/docs/api/storefront/getCart) - [Health check](/docs/api/storefront/getHealth) - [Resolved caller (tenant + scopes)](/docs/api/storefront/getMe) - [Get order by id](/docs/api/storefront/getOrder): The order's address, payment and contact details need the customer who placed it or a store member. The email it was placed with adds the payment details a guest needs to pay. - [Get product by id](/docs/api/storefront/getProduct) - [Get product by URL slug](/docs/api/storefront/getProductBySlug) - [Store metadata](/docs/api/storefront/getStore) - [List payment methods for cart](/docs/api/storefront/listCartPaymentMethods) - [List shipping methods for cart](/docs/api/storefront/listCartShippingMethods) - [List categories](/docs/api/storefront/listCategories) - [Countries (shared reference data)](/docs/api/storefront/listCountries) - [List customer orders](/docs/api/storefront/listOrders) - [Search / list products](/docs/api/storefront/listProducts) - [Place order from cart](/docs/api/storefront/placeOrder): Guests must send an email; a signed-in customer doesn't need to. - [Remove coupon](/docs/api/storefront/removeCartCoupon) - [Remove cart item](/docs/api/storefront/removeCartItem) - [Set billing address](/docs/api/storefront/setCartBillingAddress) - [Set shipping address](/docs/api/storefront/setCartShippingAddress) - [Select shipping method](/docs/api/storefront/setCartShippingMethod) - [Update cart item quantity](/docs/api/storefront/updateCartItem) - Admin - [Cancel order](/docs/api/admin/adminCancelOrder) - [Create category](/docs/api/admin/adminCreateCategory) - [Create product](/docs/api/admin/adminCreateProduct) - [Delete category](/docs/api/admin/adminDeleteCategory) - [Delete product](/docs/api/admin/adminDeleteProduct) - [Fulfill order](/docs/api/admin/adminFulfillOrder) - [Get customer](/docs/api/admin/adminGetCustomer) - [Dashboard stats](/docs/api/admin/adminGetDashboard) - [Get order (admin)](/docs/api/admin/adminGetOrder) - [Get order history](/docs/api/admin/adminGetOrderHistory) - [Get product (admin)](/docs/api/admin/adminGetProduct) - [Store settings](/docs/api/admin/adminGetStore) - [List customers](/docs/api/admin/adminListCustomers) - [List orders (admin)](/docs/api/admin/adminListOrders) - [List products (admin)](/docs/api/admin/adminListProducts) - [Refund order](/docs/api/admin/adminRefundOrder) - [Update category](/docs/api/admin/adminUpdateCategory) - [Update inventory](/docs/api/admin/adminUpdateInventory) - [Update product](/docs/api/admin/adminUpdateProduct) - [Update store settings](/docs/api/admin/adminUpdateStore) - Webhooks - [Payment webhook (checkout service)](/docs/api/webhooks/paymentWebhook) - [Payment webhook GET (Ifthenpay)](/docs/api/webhooks/paymentWebhookGet) - **For contributors** - Run it locally - [Run it locally](/docs/run-locally): For contributors. Set up the Prood monorepo and run every application on your machine. - [Installation](/docs/run-locally/installation): Clone the Prood monorepo, install dependencies, migrate the database, and start development servers. - [Walkthrough](/docs/run-locally/walkthrough): Browse the demo store locally, then take an order from the cart through payment on a store you register. - [Environment variables](/docs/run-locally/environment): Complete reference for every environment variable used across Prood applications. - Architecture - [Architecture overview](/docs/architecture/overview): How Prood applications, packages, and the Commerce API fit together in the Next.js monorepo. - [Multi-tenant platform](/docs/architecture/multi-tenant): How Prood isolates merchant data with Better Auth organizations, host-based tenant resolution, and Postgres row-level security. - [Dashboard internals](/docs/architecture/dashboard): How apps/dashboard is built, for contributors. Routes, data access, credentials, domains and team. - [Privacy and data minimization](/docs/architecture/privacy-data): Where PII lives, commerce UUID identity, and GDPR-oriented design rules. - [Checkout flow](/docs/architecture/checkout-flow): How the CheckoutSession state machine manages the payment lifecycle with dynamic transitions based on fulfillment type. - [Order lifecycle](/docs/architecture/order-lifecycle): Three-dimensional order status model — separating order, payment, and fulfillment into independent dimensions. - [Unified types](/docs/architecture/unified-types): The shared data model in @prood/types — domain entities, adapter interfaces, and provider contracts. - [API-centric architecture](/docs/architecture/api-centric): Why Prood routes all commerce operations through apps/api and how callers authenticate. - Applications - [Applications overview](/docs/apps/overview): The seven runtime applications in the Prood monorepo and how they interact. - Storefront - [Storefront](/docs/apps/storefront): The customer-facing Next.js 16 storefront — catalog, cart, checkout redirect, and account management. - [Pages and routes](/docs/apps/storefront/pages-routes): Complete route map for the storefront application. - [Cart and checkout](/docs/apps/storefront/cart-checkout): How the storefront manages cart state, places orders, and redirects to the checkout app. - [Auth and store resolution](/docs/apps/storefront/auth-tenant): Customer authentication and host-based tenant resolution in the storefront. - Checkout - [Checkout app](/docs/apps/checkout): The standalone hosted checkout application for payment processing with Redis session persistence. - [Checkout sessions](/docs/apps/checkout/sessions): Session creation, loading, and persistence in Upstash Redis via @prood/checkout-host. - [Payment UI](/docs/apps/checkout/payments): Stripe Payment Element, Easypay, and Ifthenpay payment interfaces in the checkout app. - [Webhooks](/docs/apps/checkout/webhooks): Payment webhook routing, verification, and forwarding in the checkout app. - Packages - [Packages overview](/docs/packages): Shared packages in the Prood monorepo — types, platform engine, commerce layer, checkout, UI, and providers. - [@prood/types](/docs/packages/types): Unified data model — domain types, adapter interfaces, and provider contracts. - [@prood/platform](/docs/packages/platform): Built-in commerce engine — Neon Postgres, Drizzle ORM, row-level security, and Admin API. - [@prood/commerce](/docs/packages/commerce): Server-only data layer wrapping the commerce adapter, payment providers, storage, and caching. - [@prood/checkout](/docs/packages/checkout): Framework-agnostic checkout state machine managing the payment lifecycle. - [@prood/checkout-host](/docs/packages/checkout-host): Next.js checkout session host with Upstash Redis persistence and webhook forwarding. - [@prood/api-client](/docs/packages/api-client): Typed OpenAPI fetch client for the Commerce API. - [@prood/ui](/docs/packages/ui): The Prood design system and shared React components, from shadcn/Radix primitives to commerce and product UI. - [@prood/media](/docs/packages/media): Curated photography and film for Prood's own surfaces, with one shared grade. - Payment providers - [Payment providers](/docs/packages/payments): Pluggable payment providers implementing the PaymentProvider interface — Stripe, Easypay, and Ifthenpay. - [@prood/payment-stripe](/docs/packages/payments/stripe): Stripe provider using Checkout Sessions with the embedded Payment Element. - [@prood/payment-easypay](/docs/packages/payments/easypay): Easypay payment provider for Portugal — Multibanco, MB WAY, and credit card. - [@prood/payment-ifthenpay](/docs/packages/payments/ifthenpay): Ifthenpay payment provider for Portugal — Multibanco, MB WAY, and credit card. - Storage - [Storage](/docs/packages/storage): File storage for merchant assets, on Cloudflare R2. Nothing in the dashboard uploads through it yet. - [@prood/storage-s3](/docs/packages/storage/s3): S3-compatible storage provider for AWS S3, Cloudflare R2, and MinIO. - [Deployment](/docs/guides/deployment): Deploy Prood applications to Vercel with Neon Postgres, Upstash Redis, and per-app configuration.