# Shopify Bridge > Multi-tenant HTTP bridge that turns landing-page leads into Shopify draft orders formatted as anonymous invoices. You register Shopify stores once (OAuth), then any number of landing pages can POST customer + cart data to `/api/checkout` and receive back an `invoice_url` to redirect the buyer to. Line-item titles are rewritten to "Invoice #NNNN" before they hit Shopify, so the merchant draft order reads as an invoice rather than named products. The public base URL is `https://shopify.anonbusiness.com`. The service is self-hosted; there is no rate limit, no quota, and no billing — only an admin password (for the dashboard) and an `X-Bridge-Key` shared secret (for the checkout endpoint). Both live in the server's `.env` and are rotated by editing that file. Integration is deliberately tiny: one POST request. Everything else (the admin UI, OAuth, store registration) is one-time operator setup and you should not need to touch it when building an integration. ## Docs - [OpenAPI 3.1 spec](/openapi.json): machine-readable, full request/response schemas for every endpoint. - [HTML reference](/docs): human-readable endpoint guide with copy-pasteable curl and fetch examples. - [Health check](/healthz): returns `{"ok":true,"service":"shopify-bridge"}` when the service is live. ## Building an integration If you are an AI agent asked to "wire up a landing page / checkout page / funnel to this bridge", you only need `POST /api/checkout`. Send: - Header `X-Bridge-Key: ` - Header `Content-Type: application/json` - JSON body: `{ store_id, customer: { firstName, lastName, email, address, city, zip }, items: [{ price, quantity }, ...] }` On 200 you receive `{ "invoice_url": "https://..." }` — redirect the buyer there to pay. Full schema at `/openapi.json#/paths/~1api~1checkout/post`. Call this endpoint **from a server-side controller**, never from browser JavaScript — the `X-Bridge-Key` is a shared secret and must never reach the client. A common pattern is: the landing page form POSTs to your own backend → your backend validates input + adds the `X-Bridge-Key` → forwards to `/api/checkout` → returns the invoice_url to the browser, which redirects. ## Optional - [Admin login](/api/admin/login): only needed if you're building a replacement for the provided admin UI. Returns a 24h JWT. - [Admin dashboard](/admin): HTML operator UI for registering stores and running OAuth.