For developers
Diamra

Diamra for developers

Connect your own code to your jewelry store.

The design studio on your website already tells your page what customers do in it. Webhooks and an API come next, so you can build the whole customer side yourself.

Your page, while a customer designs a ringLive
  1. diamra:ready{ store: "yourstore", signed_in: true }
  2. diamra:design.generated{ image_count: 4, image_urls: [...] }
  3. diamra:project.started{ project_id: "8c1f...", image_url: "..." }
  4. diamra:estimate.displayed{ price: 2450, currency: "USD" }
  5. diamra:estimate.accepted{ price: 2450, bench_url: "..." }
01Embed eventsLive

Hear what customers do in the studio.

When your store's studio is embedded on your website, it posts a message to your page each time a customer signs in, gets designs, starts a project or accepts a price. Your page can answer with commands.

  • diamra:estimate.accepted

    Send accepted prices to your POS

    Carries the price, the currency, the customer and a link to the project on your bench, the moment the customer taps Continue.

  • diamra:sign_out

    Sign out at the counter

    Post it when a sale on a shared tablet closes, and the next customer starts with an empty studio.

Listen for an accepted priceJavaScript
const STORE = "https://yourstore.diamra.com";

window.addEventListener("message", (event) => {
  if (event.origin !== STORE) return;
  if (event.data?.type !== "diamra:estimate.accepted") return;

  // project_id, price, currency, customer, bench_url, image_url...
  fetch("/pos/orders", { method: "POST", body: JSON.stringify(event.data) });
});
Send a commandJavaScript
const studio = document.querySelector("[data-diamra-store] iframe");

// The sale is closed: clear the counter tablet for the next customer.
studio.contentWindow.postMessage({ type: "diamra:sign_out" }, STORE);
02WebhooksComing soon

Get a POST when something happens in your store.

Embed events reach a page only while it is open. Webhooks reach your server wherever something happened: on your website, on your store's own address or on your bench. Every delivery is signed to the Standard Webhooks spec, so any library for it can check that it came from Diamra.

  • estimate.accepted

    Open the order in your POS

    Create the order the moment a customer accepts a price, whether they did it on your website or on your store's own address.

  • message.created

    Answer customers where your team works

    Forward every message from a project thread to the inbox or the chat your staff already watches.

  • Diamra Email Delivery

    Send your own emails

    Turn off any email Diamra sends for your store, one event at a time, and send your own from your domain instead.

estimate.accepted, as your server gets itJSON
{
  "id": "7b9e2f1c-3a44-4d2e-9f0b-0c1a2b3c4d5e",
  "type": "estimate.accepted",
  "created_at": "2026-10-31T18:04:12Z",
  "store": { "id": "a1b2c3d4-...", "subdomain": "yourstore" },
  "data": {
    "project_id": "...",
    "price": 2450,
    "currency": "USD",
    "metal": "18K Gold",
    "customer": { "first_name": "Jane", "email": "jane@example.com" },
    "bench_url": "https://yourstore.diamra.com/bench/projects/..."
  }
}
03APIComing soon

Build the whole customer side yourself.

The API lets your server do what the studio does: make designs, price them and start projects. On top of it, build the experience you want: your own design flow on your website, say, or an app for your customers.

Your server holds the key and makes every call, so your customers' browsers only ever talk to your domain. Serve the images from there too, and nothing your customers can see points to Diamra.

What your customers can see

Your customerOn your website or app
yourstore.com
Your serverHolds your API key
api.diamra.com/v1
DiamraDesigns, prices and projects
Your customer talks to your website at your own domain. Your server calls the Diamra API with your key. Your customers never reach Diamra directly.

From developers

What they wired up first.

  • “We already had a message listener for our analytics. Adding diamra:estimate.accepted took about twenty minutes, and accepted prices now show up in our POS as draft orders.”

    Web developer at a two-store jeweler, Texas

  • “Our counter iPad runs the studio all day. We post sign_out when the sale closes, so the next customer never sees the last one's designs.”

    Owner of a bridal store, New Jersey

  • “project.started drops into our email tool as a new lead with the design picture. Follow-ups go out the same day now, not whenever someone checks the bench.”

    Freelance developer for a family jeweler, Ohio

Questions

Before you start.

What can I build today?

Embed events are live. When your store's design studio is embedded on your website, your page hears what customers do in it, such as a design generated, a project started or a price accepted, and can send the studio commands. Webhooks and the API are documented and coming next.

Do I need a paid plan?

Embedding the studio on your website comes with the Retail plan. The API needs an active Retail subscription too, and it turns on once your free trial ends.

How is the API billed?

It is metered: you pay for each task your server runs, such as a set of designs, an estimate, a video or a 3D model. On the 1st, the month's tasks go on one invoice, charged to the card that pays for your Retail plan. Reads, sign-in and webhooks cost nothing.

Can a bug in my code run up a big bill?

Every store has a daily spending limit on the API. We warn you as you get close, and once you reach it, API calls stop until midnight UTC. If your store needs a higher limit, write to us.

Will my customers see Diamra?

The embedded studio carries your store's name and colors. With the API, your server makes every call, so your customers' browsers talk only to your domain. Serve the images from your domain too, and nothing your customers can see points to Diamra.

Is there a test mode?

No. Every key is live and every event is real. To test, do the thing yourself in your own store: keep a design, which starts a project, or send a message on one.

When do webhooks and the API open?

We have not set dates. The docs already describe how both will work, signing and errors included, so you can plan your side now.

Where do I set all this up?

In your store's Developer Console, at yourstore.diamra.com/console. It has three tabs: Embed, Webhooks and API Keys.

Start with the docs.

Embed events work today on any page that runs your store's embed. Everything coming is written down there too.