<iframe> tag, listen for the success event, and let Anunnaki handle the rest — validation, persistence, master-list propagation, irrevocable-confirmation step for permanent exclusions, and webhook fan-out to every operator under the licence.
Embed
| URL param | Required | Purpose |
|---|---|---|
key | yes | Your tenant’s public iframe key (cur_pk_test_* / cur_pk_live_*) |
tenant | optional | Tenant slug for logging/audit context |
api | optional | Override the API base (defaults to sandbox.api.anunnakielite.com in sandbox, api.anunnakielite.com in production) |
What it does
- Shows the user a duration picker (24h, 7 days, 30 days, 6 months, 1 year, Permanent)
- Permanent exclusions require an explicit irrevocability acknowledgement (KGC-mandated)
- Collects email or phone (at least one required) plus an optional free-text reason
POST /v1/iframe/exclusions— same validation, audit, and webhook fan-out as the operator-keyed/v1/exclusionsroute- Shows the user a success state with their reference ID
Listen for completion
ready— iframe loadedsubmitted— exclusion created;dataincludesexclusion_id,duration,is_permanenterror— submission failed;data.statusis the HTTP code,data.erroris the API error code
Webhooks (no change from /v1/exclusions)
The iframe submission fires the same webhook events as a direct API call:exclusion.created(always)exclusion.permanent(additionally, forduration_permanent)
Mobile
The form is responsive down to a 320px viewport. For modal embeds, give the iframeheight: 100vh on mobile so the user can scroll all the steps.
When to use the iframe vs the direct API
| You want… | Use |
|---|---|
| Zero UI work, ship today | Iframe |
| 100% brand control over the form | Direct API + your own UI |
| Bulk imports, admin tooling | Direct API |