---
title: "Crear Embed Token"
method: POST
path: "/embed-tokens"
tags: ["Embed Tokens"]
---

# Crear Embed Token

`POST /embed-tokens`

## Request

- Base URL: `https://api.trytoku.com`
- URL: `https://api.trytoku.com/embed-tokens`
- Auth: API key in header `x-api-key`

Emite un Embed Token de corta duración que habilita los orígenes indicados.

Se usa como paso previo a montar un componente embebido: se declaran los orígenes desde los que podrá cargarse y se obtiene el token que después se comprueba en `POST /embed-tokens/validate`.

El token vive 5 minutos desde su emisión. `expires_at` entrega el instante exacto de expiración en UTC y, pasado ese momento, `POST /embed-tokens/validate` deja de reconocerlo.

Cada origen se normaliza a `scheme://host` antes de guardarse: el host pasa a minúsculas y se descartan el puerto, la ruta y el query string. Los orígenes que quedan repetidos tras la normalización se colapsan en uno solo, conservando el orden en que llegaron.

## Headers

- `x-account-key` string

## Request body

- CreateEmbedTokenPayload
  - `domains` string[], required: Orígenes que quedan habilitados para el token emitido (entre 1 y 10). Cada entrada debe incluir el esquema: 'https://{host}' para web y Android, o 'capacitor://{host}' para apps iOS hechas con Ionic.
  - `journey_id` string: Identificador opaco del journey de integración al que se asocia el token. Se devuelve tal cual en `POST /embed-tokens/validate`.

## Response `201`

Successful Response

- EmbedTokenResponse
  - `domains` string[], required: Orígenes habilitados por el token, ya normalizados a 'scheme://host' y sin duplicados.
  - `expires_at` string, date-time, required: Instante en que el token deja de ser válido, en UTC.
  - `journey_id` string: Journey de integración recibido al crear el token, o `null` cuando no se envió.
  - `token` string, required: Token emitido. Es el valor que se envía a `POST /embed-tokens/validate` para comprobar su vigencia.

## Other responses

- `400`: Alguno de los orígenes no es válido: esquema distinto de `https` o `capacitor`, host ausente, host con el comodín `*` o host de más de 253 caracteres.
- `401`: Faltan las credenciales o son inválidas.
- `403`: No tienes acceso a este recurso.
- `404`: El recurso solicitado no existe.
- `422`: El cuerpo de la petición no pasó la validación.
- `429`: Se superó el límite de peticiones permitidas.

## Changes

- **2026-11-03** `a6ef070075b1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trytoku/apis/toku-api/changes/embed-tokens/post.md)

---

[API](https://skmtc.dev/trytoku/apis/toku-api.md) - [All operations](https://skmtc.dev/trytoku/apis/toku-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trytoku/apis/toku-api/revisions/a6ef070075b1?raw)
