# Quickstart: add an AI ring builder to any website

This takes about a minute and needs no account, API key or credit card. You get a real, working ring builder. The jeweler activates it later with a claim link.

If the jeweler already has a ShowroomPro account, skip to step 2 and use the snippet from their dashboard (**Settings → Embed**) instead.

## 1. Create a sandbox

```bash
curl -s -X POST https://www.showroompro.ai/api/v1/sandboxes \
  -H "Content-Type: application/json" \
  -d '{
    "businessName": "Atelier Rose Jewelers",
    "websiteUrl": "https://atelierrose.example",
    "platform": "shopify",
    "source": "my-agent"
  }'
```

All body fields are optional. `platform` is one of `shopify`, `wix`, `squarespace`, `wordpress`, `woocommerce`, `webflow`, `bigcommerce`, `custom` or `other`. Set `source` to your tool's name.

The response (shortened):

```json
{
  "object": "sandbox",
  "id": "…",
  "status": "unclaimed",
  "quizToken": "3f9c1a7b2d4e6f80",
  "quizUrl": "https://www.showroompro.ai/design?d=3f9c1a7b2d4e6f80",
  "claimUrl": "https://www.showroompro.ai/claim/spc_…",
  "expiresAt": "2026-10-30T12:00:00.000Z",
  "renders": { "limit": 3, "used": 0, "remaining": 3 },
  "snippets": {
    "inline": "<div data-showroompro-ring-builder=\"3f9c1a7b2d4e6f80\"></div>\n<script src=\"https://www.showroompro.ai/embed.js\" async></script>",
    "floating": "…",
    "popup": "…",
    "iframe": "…"
  }
}
```

Use the www host (`https://www.showroompro.ai`). The apex domain redirects, and a redirected POST becomes a GET.

## 2. Paste the snippet

Paste `snippets.inline` where the ring builder should appear. It renders in place and resizes itself to fit the quiz. It looks like this, with the token from your response:

```html
<div data-showroompro-ring-builder="YOUR_TOKEN"></div>
<script src="https://www.showroompro.ai/embed.js" async></script>
```

Prefer a button? Use `snippets.floating` (a corner button on every page) or `snippets.popup` (a button where you paste it). See [display modes](https://www.showroompro.ai/docs/widget.md#display-modes). If the site builder removes `<script>` tags, use `snippets.iframe`.

Where exactly to paste it on each platform: [HTML](https://www.showroompro.ai/docs/install/html.md) · [React](https://www.showroompro.ai/docs/install/react.md) · [Next.js](https://www.showroompro.ai/docs/install/nextjs.md) · [Shopify](https://www.showroompro.ai/docs/install/shopify.md) · [WordPress](https://www.showroompro.ai/docs/install/wordpress.md) · [Wix](https://www.showroompro.ai/docs/install/wix.md) · [Squarespace](https://www.showroompro.ai/docs/install/squarespace.md) · [Webflow](https://www.showroompro.ai/docs/install/webflow.md)

## 3. Send the jeweler the claim link

Give the jeweler the `claimUrl` with a short note, for example:

> Your ring builder is live on your site. Open this link to activate it and see your leads: https://www.showroompro.ai/claim/spc_…

Opening the link lets them create an account (a 7-day free trial) or sign in to an existing one. The token stays the same, so the snippet you pasted keeps working, and any leads captured so far move into their dashboard.

The claim URL works like a password. Send it only to the jeweler. Don't commit it to the repository, put it in page code or post it publicly.

## What the sandbox does before it is claimed

- The quiz works for shoppers right away and captures every lead.
- It renders 3 AI designs in total. After that, shoppers can still finish the quiz and their designs wait for the jeweler.
- It sends no emails to shoppers or to the jeweler, and fires no webhooks.
- Shopper pages show a small "Powered by ShowroomPro — unclaimed" note.
- It expires after 14 days. An expired sandbox can still be claimed for a while, and claiming brings it back.

Limits come from the live API: `GET https://www.showroompro.ai/api/v1/sandboxes` returns the current values.

## Check that it worked

Load the page on the real domain (not localhost) and the widget reports itself. Then:

```bash
curl -s https://www.showroompro.ai/api/v1/sandboxes/status/YOUR_TOKEN
```

`installDetected: true` means the widget has loaded on a real domain. `claimed: true` means the jeweler activated it.

## Next steps

- [Widget reference](https://www.showroompro.ai/docs/widget.md): customize the button label, color and quiz type.
- [Webhooks](https://www.showroompro.ai/docs/webhooks.md): send leads to a CRM after the jeweler claims the ring builder.
- [Sandbox & claim API](https://www.showroompro.ai/docs/sandbox-api.md): errors, rate limits and the full response.

---

Source: https://www.showroompro.ai/docs/quickstart · Last updated 2026-10-16 · All docs: https://www.showroompro.ai/llms.txt
