# Storeware Docs > How to build on Storeware: apps for merchants, themes, the REST and GraphQL APIs, webhooks, and the doors AI agents shop through. Every page below is also served as Markdown. Ask any page with `Accept: text/markdown`, or add `.md` to its address. The whole set is one file at https://storeware.ai/docs/llms-full.txt. - [Build on Storeware](https://storeware.ai/docs/index.md): Apps that merchants install, themes, the API, webhooks, and the doors AI agents shop through. ## Get started - [Get started](https://storeware.ai/docs/get-started.md): What an app is, what you need, and where to go next. - [Build your first app](https://storeware.ai/docs/get-started/quickstart.md): From an empty folder to an app running inside a Storeware shop, in five commands. - [Development stores](https://storeware.ai/docs/get-started/development-stores.md): Free shops to build against, which never open and take test payments only. - [Test payments](https://storeware.ai/docs/get-started/test-payments.md): Pay for orders on a development store or a demo shop, and choose how each payment ends. No money moves. ## Build apps - [Build apps](https://storeware.ai/docs/build-apps.md): How an app is described, installed and given access to a shop. - [The manifest](https://storeware.ai/docs/build-apps/manifest.md): How storeware.app.toml is laid out, and what a merchant is shown for each part. - [Installs and tokens](https://storeware.ai/docs/build-apps/installs-and-tokens.md): How a shop installs your app, how you get its tokens, and how they rotate. - [Hosting on Storeware](https://storeware.ai/docs/build-apps/hosting.md): Run your app on Storeware's edge, free, at its own address, with no server of your own. In beta. - [Manifest reference](https://storeware.ai/docs/build-apps/manifest-reference.md): Every key of storeware.app.toml: its value, its limits and what it does. - [Permissions](https://storeware.ai/docs/build-apps/permissions.md): Every scope an app may ask for, by area. ## Extensions - [Extensions](https://storeware.ai/docs/extensions.md): Where your app appears inside a shop. - [Inside the admin](https://storeware.ai/docs/extensions/admin.md): Your app's home, panels beside a record, actions in a record's Apps menu, and actions on the rows a merchant ticks in a list. - [On the shop front](https://storeware.ai/docs/extensions/storefront.md): Blocks in four slots, sections a merchant places anywhere, and components the shop draws in its own look. - [App proxy](https://storeware.ai/docs/extensions/app-proxy.md): Pages of yours on the shop's own address, at /apps/your-slug, drawn inside the shop. - [Settings](https://storeware.ai/docs/extensions/settings.md): Fields a merchant fills in for your app, the form Storeware draws for them, how your app reads them, and pictures for your components. - [Automations](https://storeware.ai/docs/extensions/automations.md): Triggers your app fires and actions your app does, inside the rules a merchant builds. - [Delivery rates](https://storeware.ai/docs/extensions/delivery-rates.md): Offer your own delivery prices at checkout, beside the shop's. - [App Bridge](https://storeware.ai/docs/extensions/app-bridge.md): How a page the admin frames talks to the admin. The handshake, toasts, the title bar, the save bar, modals, confirm, the resource picker and navigation. - [App Bridge for React](https://storeware.ai/docs/extensions/app-bridge-react.md): A provider and hooks for App Bridge, so a React page in the admin can use its toasts, title bar, save bar, modals, confirm and resource picker. - [App UI](https://storeware.ai/docs/extensions/app-ui.md): React components for pages the admin frames, styled only by the admin's 13 variables, so your app looks like the admin around it. ## Selling - [Selling](https://storeware.ai/docs/selling.md): How merchants find your app, and how you are paid for it. - [Your App Store listing](https://storeware.ai/docs/selling/listing.md): What merchants read before installing, and how it is published. - [Charging merchants](https://storeware.ai/docs/selling/billing.md): Plans, one time charges and charges by use, approved by the merchant and collected on their Storeware bill. - [Earnings and payouts](https://storeware.ai/docs/selling/earnings-and-payouts.md): What you earn from each paid statement, and how it reaches your bank or wallet. ## Webhooks - [Webhooks](https://storeware.ai/docs/webhooks.md): How a shop tells your app what happened, and what your app should answer. - [Verifying requests](https://storeware.ai/docs/webhooks/verifying.md): How every call from Storeware to your app is signed, and how to check it. - [Verifying in other languages](https://storeware.ai/docs/webhooks/other-languages.md): Check Storeware's signatures and session tokens in Python, PHP, Go or Ruby, and test your code against known answers. - [Payloads and delivery](https://storeware.ai/docs/webhooks/delivery.md): What an event carries, and how it is retried when your endpoint fails. - Event reference - [Event reference](https://storeware.ai/docs/webhooks/events.md): Every topic a shop sends, 118 in all, and the permissions that receive each one. - [Product events](https://storeware.ai/docs/webhooks/events/product.md): Topics named product.*, when each is sent, and the permissions that receive it. - [Variant events](https://storeware.ai/docs/webhooks/events/variant.md): Topics named variant.*, when each is sent, and the permissions that receive it. - [Collection events](https://storeware.ai/docs/webhooks/events/collection.md): Topics named collection.*, when each is sent, and the permissions that receive it. - [Inventory events](https://storeware.ai/docs/webhooks/events/inventory.md): Topics named inventory.*, when each is sent, and the permissions that receive it. - [Checkout events](https://storeware.ai/docs/webhooks/events/checkout.md): Topics named checkout.*, when each is sent, and the permissions that receive it. - [Order events](https://storeware.ai/docs/webhooks/events/order.md): Topics named order.*, when each is sent, and the permissions that receive it. - [Customer events](https://storeware.ai/docs/webhooks/events/customer.md): Topics named customer.*, when each is sent, and the permissions that receive it. - [Quote events](https://storeware.ai/docs/webhooks/events/quote.md): Topics named quote.*, when each is sent, and the permissions that receive it. - [Payment terms events](https://storeware.ai/docs/webhooks/events/terms.md): Topics named terms.*, when each is sent, and the permissions that receive it. - [Fulfillment events](https://storeware.ai/docs/webhooks/events/fulfillment.md): Topics named fulfillment.*, when each is sent, and the permissions that receive it. - [Return events](https://storeware.ai/docs/webhooks/events/return.md): Topics named return.*, when each is sent, and the permissions that receive it. - [Store credit events](https://storeware.ai/docs/webhooks/events/store-credit.md): Topics named store_credit.*, when each is sent, and the permissions that receive it. - [Gift card events](https://storeware.ai/docs/webhooks/events/gift-card.md): Topics named gift_card.*, when each is sent, and the permissions that receive it. - [Subscription events](https://storeware.ai/docs/webhooks/events/subscription.md): Topics named subscription.*, when each is sent, and the permissions that receive it. - [Payment method events](https://storeware.ai/docs/webhooks/events/payment-method.md): Topics named payment_method.*, when each is sent, and the permissions that receive it. - [Company events](https://storeware.ai/docs/webhooks/events/company.md): Topics named company.*, when each is sent, and the permissions that receive it. - [Company buyer events](https://storeware.ai/docs/webhooks/events/company-buyer.md): Topics named company_buyer.*, when each is sent, and the permissions that receive it. - [Price list events](https://storeware.ai/docs/webhooks/events/price-list.md): Topics named price_list.*, when each is sent, and the permissions that receive it. - [Page events](https://storeware.ai/docs/webhooks/events/page.md): Topics named page.*, when each is sent, and the permissions that receive it. - [Blog events](https://storeware.ai/docs/webhooks/events/blog.md): Topics named blog.*, when each is sent, and the permissions that receive it. - [Article events](https://storeware.ai/docs/webhooks/events/article.md): Topics named article.*, when each is sent, and the permissions that receive it. - [Menu events](https://storeware.ai/docs/webhooks/events/menu.md): Topics named menu.*, when each is sent, and the permissions that receive it. - [Menu item events](https://storeware.ai/docs/webhooks/events/menu-item.md): Topics named menu_item.*, when each is sent, and the permissions that receive it. - [Automation events](https://storeware.ai/docs/webhooks/events/automation.md): Topics named automation.*, when each is sent, and the permissions that receive it. - [Proposal events](https://storeware.ai/docs/webhooks/events/proposal.md): Topics named proposal.*, when each is sent, and the permissions that receive it. - [Shop events](https://storeware.ai/docs/webhooks/events/store.md): Topics named store.*, when each is sent, and the permissions that receive it. - [Organization events](https://storeware.ai/docs/webhooks/events/organization.md): Topics named organization.*, when each is sent, and the permissions that receive it. - [Theme events](https://storeware.ai/docs/webhooks/events/theme.md): Topics named theme.*, when each is sent, and the permissions that receive it. ## API reference - [API reference](https://storeware.ai/docs/api-reference.md): The address, the token, the shape of every answer, and what an error looks like. - REST - [REST API](https://storeware.ai/docs/api-reference/rest.md): Every call an app can make with its token, and the permissions each needs. - [Products](https://storeware.ai/docs/api-reference/rest/products.md): The catalogue: products, their media and their fields. - [Variants](https://storeware.ai/docs/api-reference/rest/variants.md): The versions of a product a shopper buys, and their options. - [Collections](https://storeware.ai/docs/api-reference/rest/collections.md): Groups of products, set by hand or by rules. - [Inventory](https://storeware.ai/docs/api-reference/rest/inventory.md): Stock at each location, and the locations themselves. - [Shipping](https://storeware.ai/docs/api-reference/rest/shipping.md): The groups a shop sorts its goods into for delivery. - [Orders](https://storeware.ai/docs/api-reference/rest/orders.md): Orders, their payments, fulfillments, refunds and changes. - [Payments](https://storeware.ai/docs/api-reference/rest/payments.md): What the shop holds, and the money sent to its bank. - [Customers](https://storeware.ai/docs/api-reference/rest/customers.md): The shop’s customers and what is kept about them. - [Metafields](https://storeware.ai/docs/api-reference/rest/metafields.md): The typed fields a shop and its apps keep on records. - [App billing](https://storeware.ai/docs/api-reference/rest/app-billing.md): What a shop pays your app: plans, one time charges and use. - [App settings](https://storeware.ai/docs/api-reference/rest/app-settings.md): What a merchant set for your app, and pictures your components show. - [App automations](https://storeware.ai/docs/api-reference/rest/app-automations.md): Triggers your app fires into a shop’s automations, and the menu they are built from. - [Objects](https://storeware.ai/docs/api-reference/rest/objects.md): The resources many REST calls answer with, and every field each has. - Storefront GraphQL - [Storefront GraphQL](https://storeware.ai/docs/api-reference/storefront-graphql.md): The shop front as a graph: the endpoint, the credentials it takes, an example, and every type. - [Queries](https://storeware.ai/docs/api-reference/storefront-graphql/queries.md): The fields a storefront query starts from, and what each returns. - [Objects](https://storeware.ai/docs/api-reference/storefront-graphql/objects.md): Every object type the storefront graph returns, and its fields. - [Scalars](https://storeware.ai/docs/api-reference/storefront-graphql/scalars.md): The custom scalars the storefront graph uses, and how each is written. ## CLI - [The CLI](https://storeware.ai/docs/cli.md): Running it with npx, signing in, and deploying from CI. - [Building with a coding agent](https://storeware.ai/docs/cli/mcp.md): The docs, the manifest schema, the API and your app, served to Claude Code, Codex or Cursor over MCP. - Command reference - [Command reference](https://storeware.ai/docs/cli/commands.md): Every command the CLI has, 24 in all, with its arguments, flags and examples. - [login](https://storeware.ai/docs/cli/commands/login.md): Sign in by approving a code in the admin. - [logout](https://storeware.ai/docs/cli/commands/logout.md): End this sign-in, on the server as well as here. - [whoami](https://storeware.ai/docs/cli/commands/whoami.md): Show who you are, in which organisation, and your apps. - [init](https://storeware.ai/docs/cli/commands/init.md): Scaffold an app, with a manifest and a server to start from. - [validate](https://storeware.ai/docs/cli/commands/validate.md): Check a manifest, and its scopes and events when you are signed in. - [app dev](https://storeware.ai/docs/cli/commands/app-dev.md): Run your app on a development store, through a tunnel to this machine. - [app preflight](https://storeware.ai/docs/cli/commands/app-preflight.md): Run the checks a review runs, against your app on a development store. - [app submit](https://storeware.ai/docs/cli/commands/app-submit.md): Send your app's listing draft for review. - [mcp](https://storeware.ai/docs/cli/commands/mcp.md): Serve the docs, the manifest schema and your app to a coding agent, over MCP on stdio. - [app deploy](https://storeware.ai/docs/cli/commands/app-deploy.md): Send a production release, with a hosted app’s code bundled and uploaded first, and say which shops take it. - [app releases](https://storeware.ai/docs/cli/commands/app-releases.md): List releases, newest first, with how many shops run each. - [app rollback](https://storeware.ai/docs/cli/commands/app-rollback.md): Make an earlier production release the current one again. - [app logs](https://storeware.ai/docs/cli/commands/app-logs.md): Show the API calls your app made, newest last. - [webhook trigger](https://storeware.ai/docs/cli/commands/webhook-trigger.md): Send your app one signed event from a development store. - [store list](https://storeware.ai/docs/cli/commands/store-list.md): List your development stores. - [store create](https://storeware.ai/docs/cli/commands/store-create.md): Make a store that never opens and takes test payments only. - [store seed](https://storeware.ai/docs/cli/commands/store-seed.md): Fill a development store with sample products and customers. - [store test-order](https://storeware.ai/docs/cli/commands/store-test-order.md): Place a real order, so your app gets real order events. - [theme init](https://storeware.ai/docs/cli/commands/theme-init.md): Scaffold a theme, offline. - [theme validate](https://storeware.ai/docs/cli/commands/theme-validate.md): Read a theme file with the platform's own parsers, offline. - [theme pull](https://storeware.ai/docs/cli/commands/theme-pull.md): Write this shop's published look to a file. - [theme push](https://storeware.ai/docs/cli/commands/theme-push.md): Send a theme file to the draft, which shoppers do not see. - [theme preview](https://storeware.ai/docs/cli/commands/theme-preview.md): Print a link that serves the draft, retiring the last one. - [theme publish](https://storeware.ai/docs/cli/commands/theme-publish.md): Make the draft the shop, the one theme command a shopper sees. ## SDK - [The SDK](https://storeware.ai/docs/sdk.md): createStorewareApp handles webhooks, installs, admin sessions and API clients in one place. - [createStorewareApp](https://storeware.ai/docs/sdk/app.md): One object for webhooks, installs, admin sessions and API clients. - [createHostedApp](https://storeware.ai/docs/sdk/hosted.md): The same app object, for an app Storeware hosts, with its installations and data. - [Verifying requests](https://storeware.ai/docs/sdk/webhooks.md): Check the signature on every call Storeware makes to your app. - [Webhook router](https://storeware.ai/docs/sdk/router.md): Verify, finish installs and dispatch deliveries by topic. - [API client](https://storeware.ai/docs/sdk/client.md): Call the Storeware API for one shop, with tokens that refresh themselves. - [Installs and tokens](https://storeware.ai/docs/sdk/oauth.md): Trade a session token, an install grant or a code for a shop’s tokens. - [Admin sessions](https://storeware.ai/docs/sdk/session.md): Prove who is looking at your app’s page in the admin. - [Installation stores](https://storeware.ai/docs/sdk/installations.md): Where your app keeps each shop’s tokens and secrets. - [Admin bridge](https://storeware.ai/docs/sdk/bridge.md): Talk to the admin from a page it frames. - [Storefront blocks](https://storeware.ai/docs/sdk/blocks.md): Answer a request for a block or a section on the shop front. - [Components](https://storeware.ai/docs/sdk/components.md): Answer with nodes the shop front draws in its own style. - [App proxy](https://storeware.ai/docs/sdk/proxy.md): Answer a shopper’s request for a page under the shop’s address. - [Automation actions](https://storeware.ai/docs/sdk/actions.md): Run a step a merchant added to one of their automations. - [Delivery rates](https://storeware.ai/docs/sdk/rates.md): Offer delivery choices at checkout. - [Manifest](https://storeware.ai/docs/sdk/manifest.md): Parse and check storeware.app.toml as the platform does. - [Node and Express](https://storeware.ai/docs/sdk/node.md): Use the SDK’s handlers with node:http and Express. - [Testing](https://storeware.ai/docs/sdk/testing.md): Sign requests and mint sessions exactly as Storeware does, for your tests. ## Themes - [Themes](https://storeware.ai/docs/themes.md): A shop's look as a file you can validate, preview and publish. - [Theme schema](https://storeware.ai/docs/themes/theme-schema.md): The vocabulary a theme is written in, and the parsers that read it, as an open package. - [Theme kit](https://storeware.ai/docs/themes/theme-kit.md): The stylesheet a theme's bands are drawn with, and the data a renderer fills before it draws them. - Theme reference - [Theme reference](https://storeware.ai/docs/themes/reference.md): Every section a page is built from, 53 in all, and the 12 tokens a shop may restyle. - [Sections](https://storeware.ai/docs/themes/reference/sections.md): The 53 section types a page is built from, where each may sit, and what each one takes. - [Tokens](https://storeware.ai/docs/themes/reference/tokens.md): The 12 values a theme may set under tokens, and the CSS custom property each becomes. - [Embeddable assistant](https://storeware.ai/docs/themes/widget.md): A shop's shopping assistant on a site Storeware does not host, from one script tag. ## AI agents - [AI agents](https://storeware.ai/docs/agents.md): The servers and documents an AI agent uses to shop, to run a shop, and to find its way in. - [MCP servers](https://storeware.ai/docs/agents/mcp.md): The three Model Context Protocol servers, how to connect to each, and how a client authenticates. - [How an agent signs in](https://storeware.ai/docs/agents/agent-auth.md): The credentials an agent holds, the three ways to get one, and the auth.md flow for an agent that registers itself. - [UCP and ACP](https://storeware.ai/docs/agents/ucp-acp.md): The Universal Commerce Protocol and the Agentic Commerce Protocol, as every Storeware shop speaks them. - [Answers](https://storeware.ai/docs/agents/answers.md): A shop's search tells an agent what it understood, why each product qualifies, and what it turned away. - [Ask](https://storeware.ai/docs/agents/ask.md): Put a question to a shop in plain words and get the shop's own answer, over UCP, A2A or MCP. - [Standing](https://storeware.ai/docs/agents/standing.md): What an AI agent has done across Storeware shops, shown to merchants and handed to the agent itself as a signed statement. - [Price record](https://storeware.ai/docs/agents/price-record.md): A public record of what every Storeware shop offered things at, so an agent can check a was price before repeating it. - [Universal Cart](https://storeware.ai/docs/agents/universal-cart.md): How a platform hands a shopper's basket to a Storeware shop over UCP, and what the shop does with it. - [Tools in the browser](https://storeware.ai/docs/agents/webmcp.md): The WebMCP tools every shop page declares, for an agent already in the shopper's browser. - [llms.txt and skills](https://storeware.ai/docs/agents/llms-and-skills.md): The documents an agent reads before it calls anything, the Markdown copy of every page, and the signals a shop states about its content. - [x402](https://storeware.ai/docs/agents/x402.md): Paying a Storeware shop in USDC on Base with an x402 payment, at a shop that has turned it on. - [Machine payments](https://storeware.ai/docs/agents/mpp.md): Paying per call over HTTP 402 with the Machine Payments Protocol. Built, and switched off today. ## Changelog - [Changelog](https://storeware.ai/docs/changelog.md): What changed for people building on Storeware, newest first.