---
title: "Create inbox embed"
method: POST
path: "/inbox_embeds"
tags: ["Inbox Embeds"]
---

# Create inbox embed

`POST /inbox_embeds`

Create an embeddable inbox access link.

The response includes `token` and `embed_url` once. Store the embed URL when you create it; list, get, and update responses omit the secret.

## Request body

- InboxEmbedCreateRequest
  - `inbox_embed` object, required
    - `name` string, nullable
    - `scope_type` 'project' | 'customer' | 'phone_number', required
    - `scope_id` string, nullable — Required for `customer` and `phone_number`; must be blank for `project`
    - `assigned_user_id` string, uuid, nullable
    - `allowed_origins` string[]
    - `default_mode` 'system' | 'light' | 'dark'
    - `language` 'en' | 'es' — UI language for the embedded inbox.
    - `expires_at` string, date-time, nullable

## Response `201`

Inbox embed created

- InboxEmbedCreatedResponse
  - `data` InboxEmbedCreated, required
    - `id` string, uuid, required
    - `name` string, nullable
    - `scope_type` 'project' | 'customer' | 'phone_number', required — Public embed scope
    - `scope_id` string, nullable — Customer UUID for `customer`, WhatsApp `phone_number_id` for `phone_number`, null for `project`
    - `scope_name` string, nullable — Human-readable customer or phone number label when available
    - `assigned_user_id` string, uuid, nullable — Limits visible conversations to the active assignee
    - `assigned_user_name` string, nullable
    - `status` 'active' | 'revoked', required
    - `allowed_origins` string[], required — Origins allowed to embed the inbox. Empty means any origin.
    - `default_mode` 'system' | 'light' | 'dark', required
    - `language` 'en' | 'es', required — UI language for the embedded inbox.
    - `expires_at` string, date-time, nullable
    - `last_used_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `token` string, required — Raw inbox token. Returned only when the embed is created.
    - `embed_url` string, uri, required — Iframe URL. Returned only when the embed is created.

## Other responses

- `401` — Missing or invalid API key
- `404` — Resource not found
- `422` — Request validation failed

---

[API](https://skmtc.net/kapso/apis/kapso-platform-api.md) · [All operations](https://skmtc.net/kapso/apis/kapso-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kapso/kapso-platform-api/revisions/18ff5548a33f/schema)
