---
title: "Editar Campaign"
method: PUT
path: "/edit-campaign"
tags: ["Campaigns"]
---

# Editar Campaign

`PUT /edit-campaign`

## Request

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

Reemplaza el nombre, la Sequence o la Intention de una campaña y reagenda sus envíos.

Se usa para corregir una campaña programada que aún no terminó. Los envíos pendientes se eliminan y se vuelven a agendar a partir de `outbound_dates`, por lo que hay que enviar la lista completa de fechas y no solo las nuevas. Las fechas ya pasadas no se reagendan.

Rige el mismo ajuste de hora que al crear la campaña, con `todays_outbound_delay_in_minutes` en 2 minutos por defecto. La edición se rechaza si alguna fecha ajustada cae en un feriado del país.

El usuario que viene en `x-jwt-user` queda registrado como el último editor de la campaña, igual que el autor al crearla. Una edición sin ese dato no borra al editor anterior.

## Headers

- `x-account-key` string: Llave de API de una Account, para operar sobre esa Account en lugar de la principal.

## Request body

- EditCampaign: Nuevos valores de una campaña programada ya existente.
  - `id_campaign` string, required: Identificador público de la campaña que se edita.
  - `intention` string: Identificador público de la Intention que define el mensaje a enviar. Se entrega `intention` o `sequence`, nunca ambos.
  - `is_weekly` boolean: Cuando es `true` se omite el aviso de carga de pagos; en caso contrario se intenta agendar 25 horas antes de cada envío, si ese momento no pasó aún.
  - `name` string, required: Nombre con el que se identifica la campaña dentro de la aplicación.
  - `outbound_dates` string[]: Fechas en las que se envía el contacto masivo. Se aceptan hasta 28 fechas, y cada una debe estar en el futuro y dentro de los próximos 56 días.
  - `sequence` string: Identificador público de la Sequence que define los recordatorios a enviar. Se entrega `intention` o `sequence`, nunca ambos.
  - `todays_outbound_delay_in_minutes` integer: Minutos de espera antes de enviar cuando una de las fechas es hoy y su hora de envío ya pasó o queda dentro de este margen. Si al sumarlos se alcanza la hora de corte del país, el envío se agenda para el día siguiente.

## Response `200`

La campaña fue editada y sus envíos quedaron reagendados.

- CampaignEditedMessage: Resultado de editar una campaña programada.
  - `is_scheduled_for_tomorrow` boolean, required: `true` cuando alguna de las fechas pedidas era hoy y, tras aplicar la hora de envío y la hora de corte del país, ninguna quedó agendada para hoy.
  - `message` string, required: Descripción legible del resultado de la operación.

## Other responses

- `400`: Alguna de las fechas de envío, ya ajustada por Toku, cae en un feriado del país de la organización. El cuerpo es un texto con las fechas rechazadas.
- `401`: Faltan las credenciales o son inválidas.
- `403`: No tienes acceso a este recurso.
- `404`: La campaña, la Intention o la Sequence referenciada no existe en la organización autenticada.
- `422`: La Sequence de la campaña envía por WhatsApp y la organización no está habilitada para hacerlo: le falta configuración de mensajería, o le faltan campos en ella. El detalle indica cuáles.
- `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/edit-campaign/put.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)
