> ## Documentation Index
> Fetch the complete documentation index at: https://sudomock.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The base URL is https://api.sudomock.com.
> Authenticate every request with the x-api-key header. Keys begin with sm_.
> A render returns the finished image at data.print_files[0].export_path. A request sent with is_async true returns a job_id to poll at GET /api/v1/jobs/{job_id}.
> Prefer the official SDKs over hand-written HTTP calls: npm install sudomock for Node, pip install sudomock for Python.

# Sell customizable products under your own brand

> Put your name on the editor and the images.

A shopper personalising a product in your store is buying from you. Everything
they meet on the way should say so: the editor they design in, the preview they
approve, and the link that preview arrives on.

Three surfaces carry a name, and each one is set in a single place. This page
says which place, and what each one changes. All three sit on a paid plan, and
a custom domain is a monthly add-on on top of it.

| What a shopper meets | Where it is set |
| - | - |
| The editor, its colours, its words | [Studio settings](/docs/dashboard/studio), saved against one API key |
| The host on the URL a render comes back on | [Custom domains](/docs/dashboard/custom-domains) |
| The button, the cart line, the order | The [Shopify app](/docs/integrations/shopify), the [WooCommerce plugin](/docs/integrations/woocommerce), or a page you built |

## Dress the editor

Studio is the editor you put inside your own product, and every visible part of
it is yours. A logo served over HTTPS, an accent colour, a neutral palette, a
corner radius from 0 to 20, a font, and a light or a dark theme. The words are
yours too: the header, the upload prompt, both action buttons, and the two
short lines the add to cart button shows while the item goes into the cart
and once it is in. The
interface language is English or Turkish.

Settings are saved against one API key rather than against the account, so a
seller running two storefronts dresses each one separately without opening a
second account. A single session can also carry an override that is never
written down, which is how a seasonal skin is put on the sessions your server
opens during a campaign and disappears the moment it stops sending it.

[Set up the editor your buyers see](/docs/dashboard/studio) walks the whole form.

## Decide what a buyer can change

Branding is what a shopper sees. Controls are what they can do, and those are
chosen per editor, because the PSD editor and the photo editor do not offer the
same work. Switching one off takes it out of every session opened with that
key.

Naming a colour palette closes free colour entry, so a shopper picks from the
colours you actually print rather than from a colour wheel. The upload ceiling
runs from 1 to 50 MB. Together they keep a buyer inside the decisions you are
willing to fulfil, which is the difference between a design you can produce and
a support ticket.

## Serve the images from your own name

A render comes back as a URL, and by default the host on that URL is ours. Add
a subdomain you own, such as `cdn.yourbrand.com`, publish the three records the
dashboard hands you, and the same image is served from your name instead. The
call, the artwork and the file do not change. Only the host does.

Which domain a call uses is decided in order: the domain bound to the API key
that signed the call, then the account default, then any domain the account has
active. Binding a key to its own domain is how one
account serves two brands whose links never mention each other.

The preview a shopper sees inside the editor carries the same host, because a
Studio session renders with the key that opened it. Branding and the link agree
without a second setting.

[Serve mockups from your own domain](/docs/dashboard/custom-domains) covers setup,
status and bindings.

## On Shopify and WooCommerce

The official app and the official plugin place the Customize button, open the
session and keep the approved render on the order, so the file you fulfil is
the file the shopper signed off. Branding lives in the app's own settings
screen rather than in theme code, which means a change reaches the storefront
without a theme deploy.

Both engines are available on a product. Map a PSD template when the product
needs Photoshop fidelity, or a product photo mockup when a photograph is what
you have. [Shopify](/docs/integrations/shopify) and
[WooCommerce](/docs/integrations/woocommerce) each cover install, mapping and the
button.

## On a storefront you built yourself

A custom storefront takes the same path the official app takes. Your server
opens a Studio session, names the page allowed to host the editor, and hands
the browser a short lived token, so your API key stays on your side. When the
shopper is done, your server confirms the result and gets a receipt it can
store beside its own order record.

[How to build a buyer facing live preview](/docs/knowledge-base/how-to-build-a-buyer-facing-live-preview)
walks that path, including how to open the editor on the design a shopper
already saw in a preview card.

## Example workflow: one account, two storefronts

A seller runs an apparel store and a gift store and wants each to look like
itself.

1. Issue two [API keys](/docs/dashboard/api-keys), one per storefront.
2. Open [Studio settings](/docs/dashboard/studio) on the first key. Load the apparel
   logo, set the accent to that brand's colour, name the palette as the four
   garment colours it stocks, and write the button as that store writes it.
3. Repeat on the second key with the gift brand's logo, its own theme and its
   own palette.
4. Add `cdn.apparelbrand.example` and `cdn.giftbrand.example` in
   [Custom domains](/docs/dashboard/custom-domains) and bind each one to its key.
5. Point each storefront at its own key.

A shopper in either store meets one brand from the first upload to the order
confirmation, and neither storefront has to know the other exists.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.