/api/v1/campaignsCampañas
Lista las campañas de tu workspace, archívalas y agrega o quita idiomas.
Una campaña agrupa conceptos, tamaños e idiomas. Estos endpoints leen y ajustan las campañas del workspace de la clave.
Listar campañas
GET /api/v1/campaigns las lista de la más reciente a la más antigua. Requiere el permiso read (o cualquiera de los otros).
qstringstatusstringdraft.limitinteger1 a 100. Por defecto 50.cursorstringnextCursor de la página anterior.Paginación
Todos los listados (campañas, conceptos, exportaciones y biblioteca) responden { data, hasMore, nextCursor }. Si hasMore es true, pasa nextCursor como cursor para pedir la página siguiente. Un cursor inválido responde 400.
Archivar una campaña
DELETE /api/v1/campaigns/:id la archiva y responde 204. Se puede restaurar desde la app y se borra del todo a los 30 días. Requiere el permiso generate.
Agregar y quitar idiomas
POST /api/v1/campaigns/:id/locales con { "locale": "en-US" } agrega un idioma a la campaña y, salvo que envíes "translate": false, traduce cada concepto: un trabajo por concepto, con el mismo costo que «Traducir lo que falta» en la app. Responde 202 con jobs, o 200 si no hubo nada que traducir. Una campaña admite hasta 10 idiomas. Al terminar cada traducción recibirás el webhook translation.completed.
DELETE /api/v1/campaigns/:id/locales/:locale quita un idioma y sus piezas. El idioma base no se puede quitar (400). Los dos requieren el permiso generate.
campaignId, se crea una campaña nueva automáticamente. Con una clave bm_test_, la lista trae una sola campaña de muestra.