manager, and your end
customers drive it as a client. The browser never holds your API key: you mint a
short-lived, site-scoped session token on your server and load it in the frame.
This needs the embed scope.
How it fits together
1
Mint a session on your server
Call
POST /sites/:siteId/embed-session with your partner key. You get a
one-hour token and a ready-to-frame URL. The site must belong to you.2
Frame the URL
Drop the returned The embed surface sets a
url into an iframe in your app.frame-ancestors policy that allows your configured
origins, so it loads inside your app and nowhere else.3
Your customer chats
The assistant loads with your branding and runs the agent on the token’s site.
Each message is a build job under the hood, bounded by the same credits and
caps as the Build jobs API. When the token expires
after an hour, mint another.
Roles
The role is stamped into the session token and travels with every job the session
runs, so your reporting can tell operator work from customer work.
Branding
The embedded assistant renders with the site’s white-label branding: agency name, logo, and accent color, falling back to your partner defaults. Set them per site through Branding, or set partner-wide defaults with WPOS. No WPOS name appears to your customer.Security model
- The token is an embed-only credential. It cannot be used as a partner key or a site token.
- Everything the frame can do is scoped to the one site the token was minted for.
- Configure which origins may frame the assistant with WPOS when you set up your embed integration.
Next
Branding
Set the name, logo, and color your customers see.
Build jobs
The API the embedded assistant runs on.