> ## Documentation Index
> Fetch the complete documentation index at: https://help.ciarem.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Cada cambio al contrato de la API pública, aditivo o correctivo, en un solo lugar.

Cada cambio al contrato de la API pública aterriza aquí — nuevos endpoints y campos el día que salen, y la rara corrección en el sitio antes de que tenga uso real. Suscribe tu integración a la tolerancia, y esta página a la conciencia.

<Update label="2026-09-10" description="Acceso en la prueba gratuita, límites por segundo y 403 que dicen qué hacer">
  * **La API está abierta durante la prueba gratuita.** Una organización en prueba obtiene todos los endpoints, con un presupuesto menor, para construir y probar una integración antes de pagar.
  * **Los límites de uso ahora son por segundo**: **20 solicitudes/segundo** en Scale, **5 solicitudes/segundo** durante la prueba, compartidas entre las claves de la organización. Los encabezados `X-RateLimit-*` no cambian; `Retry-After` en un `429` ahora es siempre `1`.
  * **`GET /v1/me`** gana `trial` (booleano) — `true` mientras la organización está en su prueba gratuita. `plan` ahora reporta el código real del plan en vez de siempre `"scale"`.
  * **`403` más claros.** `scale_plan_required` ahora significa solo "un plan activo por debajo de Scale — sube de plan". Dos nuevos detalles cubren el resto: `trial_expired` (la prueba terminó sin método de pago) y `subscription_required` (cancelada, o suspendida por falta de pago). Consulta [Autenticación](/api-reference/authentication).
</Update>

<Update label="2026-08-28" description="Plantillas de WhatsApp, envíos y campañas">
  La API ya puede enviar.

  * **Plantillas de WhatsApp** — listar, leer, crear y eliminar (`/v1/templates`). Crear una plantilla también la envía a Meta para aprobación en la misma llamada, así que regresa como `PENDING`; consúltala hasta que Meta la pase a `APPROVED` o `REJECTED`.
  * **`GET /v1/templates/{id}/send-requirements`** — qué necesita una plantilla antes de poder enviarse: los tokens de variables, cuáles de ellos se resuelven solos desde el contacto, slots de catálogo, botones de URL dinámicos, superficies de medios, y el motivo cuando una plantilla no se puede enviar nunca. Léelo antes de tu primer envío en vez de descubrirlo a través de 422s.
  * **`POST /v1/templates/{id}/send`** — hasta 100 destinatarios en una llamada, cada uno identificado por `contact_id` o `phone` y con **sus propios** `variables`, `url_suffixes`, `coupon_code`, `lto_expiration` y medios. `recipients` acepta un solo objeto o un arreglo — enviar a una persona no necesita envoltura. Los encabezados de medios aceptan una URL pública (`header_media_url` / `card_media_urls`), que descargamos del lado del servidor. Devuelve **202** y la campaña que creó.
    * Un `phone` que no coincide con ningún contacto **crea uno**, así que un envío puede hacer crecer tu CRM.
    * Envía `Idempotency-Key` y reintentar es seguro: la misma clave devuelve la campaña original durante 24 horas en vez de enviar de nuevo.
    * La solicitud se rechaza **completa** — nada encolado, nada cobrado — si falta una variable, si una clave no la usa la plantilla, si una URL de medios no se puede descargar, o si el lote excede lo que queda del límite de mensajería de 24 horas de WhatsApp.
  * **Campañas** — `GET /v1/broadcasts` y `GET /v1/broadcasts/{id}` para el progreso (`sent` / `failed` / `pending` siempre suman `requested`), `GET /v1/broadcasts/{id}/recipients` para el resultado de cada destinatario, y `POST /v1/broadcasts/{id}/cancel` para abandonar el resto sin enviar. Los mensajes que WhatsApp ya aceptó no se pueden recuperar.
  * **`GET /v1/channels/whatsapp/phones`** — los números conectados desde los que puede salir un envío, para que `channel_id` sea descubrible. Opcional cuando tu cuenta de WhatsApp tiene exactamente un número; obligatorio cuando tiene más.
</Update>

<Update label="2026-08-26" description="Lanzamiento de v1">
  La primera superficie pública de la API de Ciarem:

  * **Contactos** — CRUD completo (`/v1/contacts`).
  * **Metadatos de CRM** — propiedades y etapas del funnel, CRUD completo (`/v1/properties`, `/v1/funnel-stages`).
  * **Conversaciones** — historial de solo lectura (`/v1/conversations`), cada mensaje con un `sender` de `contact`, `agent`, `ai` o `system`.
  * **`/v1/me`** — identidad de la organización, plan, zona horaria e idioma.
  * Claves de API `oak_` ligadas a la organización, 60 solicitudes/minuto por organización.
</Update>
