skoza docs
Developer docs for Koza

Build on top of your digital product workspace.

Learn the core model, publish products, authenticate API requests, verify signed webhooks, and connect billing without fighting the platform.

koza API
curl https://koza.app/api/v1/products \
  -H "Authorization: Bearer koza_live_xxx"

{
  "products": [
    { "name": "Design System Kit", "price_cents": 4900 }
  ]
}

Setup time

< 5 min

Auth model

API keys

Webhook signing

HMAC-SHA256

Start here

A quick path from empty account to integrated workspace.

01

Create workspace

Sign in, create your organization, and choose the public storefront slug.

02

Publish product

Create a product with pricing, images, metadata, and publish state.

03

Automate

Create an API key and webhook endpoint to connect Koza to your stack.

Architecture

How data and security boundaries are structured.

Organizations
Each workspace owns its members, products, API keys, webhooks, settings, and billing state.
Products
Products are digital items published to your public storefront and exposed through the API.
API keys
Keys authenticate server-side integrations and scope requests to one organization.
Webhooks
Endpoints receive signed product and billing events with retry-friendly payloads.

Products

Model, publish, and display digital goods.

Draft vs published

Keep products private while editing, then publish them to the storefront when ready.

Storefront URLs

Published products appear under the organization storefront route at /s/[slug].

Images and metadata

Upload product imagery and describe the asset so customers understand what they are buying.

Pricing

Prices are stored in cents for reliable currency formatting and API consistency.

API

Use API keys to access organization data from your own systems.

GET/api/v1/ping

Validate an API key and inspect the active organization.

GET/api/v1/products

List products for the organization attached to the API key.

POST/api/v1/products

Create products from external systems and automation flows.

GET/api/v1/orders

List orders placed through the storefront, newest first.

POST/api/v1/orders

Record orders from external checkout flows.

GET/api/v1/customers

List customers associated with the organization.

POST/api/v1/customers

Upsert a customer record by email.

List products

GET /api/v1/products
Authorization: Bearer koza_live_xxx

HTTP/1.1 200 OK
{
  "products": []
}

Create API keys in Settings → API keys. Keep keys server-side and rotate them if they are exposed.

Webhooks

Receive product and billing events on your own endpoint.

Signed payloads

Every delivery includes a signature header that your server can verify with the endpoint secret.

Retry support

Failed deliveries can be retried through the Supabase Edge Function worker.

Webhook payload

POST https://your-app.com/webhooks/koza
X-Koza-Signature: sha256=...

{
  "event": "product.created",
  "data": { "id": "prod_..." }
}

Billing

Stripe handles checkout, subscriptions, customer portal, and billing webhooks.

Checkout

Users can upgrade to paid plans through hosted Stripe Checkout sessions.

Customer portal

Paid customers can manage payment methods, invoices, and cancellations in Stripe.

Plan sync

Stripe webhooks update subscription status and plan data in the organization record.

Safe keys

Stripe secrets stay server-side and should never be exposed to client components.

Ready to build?

Create a workspace, publish a product, and wire your first integration using API keys and webhooks.

Open Koza