Reten Docs
Audiencias

Eliminar Audiencia

Archiva (soft delete) un audience criteria; responde 204 sin cuerpo. Falla con 400 si otro criterio lo referencia como operando.

DELETE /api/audience-criterias/:id

Archiva un audience criteria. Al eliminarlo, el registro se retira de inmediato de la tabla del recurso —por eso deja de aparecer en GET /audience-criterias/:id (responde 404) y en GET /audience-criterias— y en su lugar se conserva un snapshot recuperable en la papelera durante una ventana de retención configurable.

Auth: Requerida — permiso audience-criteria:delete

Parámetros de Ruta

ParámetroTipoDescripción
idUUIDID del audience criteria.

Comportamiento

El endpoint valida en este orden, y el primer control que falla corta la operación:

  1. Existencia — si no hay un audience criteria con ese id en el tenant, responde 404 (Audience criteria not found).
  2. No referenciado — si otro audience criteria que sigue existiendo (no archivado) lo referencia como operando en una composición, responde 400 con el mensaje Cannot delete an audience criteria that is referenced by another active audience criteria. Debes quitar esa composición (o eliminar el criterio que la referencia) antes de poder eliminar este.
  3. Archivado — si pasa los dos controles, el criterio se archiva y el endpoint responde 204 No Content sin cuerpo.

Ejemplo

curl -X DELETE https://api.reten.ai/api/audience-criterias/f47ac10b-58cc-4372-a567-0e02b2c3d479 \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>"
# → HTTP/1.1 204 No Content (cuerpo vacío)
import axios from 'axios';

const id = 'f47ac10b-58cc-4372-a567-0e02b2c3d479';
await axios.delete(
  `https://api.reten.ai/api/audience-criterias/${id}`,
  { headers: { Authorization: 'Bearer <token>', 'x-tenant-id': '<tenant-id>' } },
);
// La respuesta es 204 sin cuerpo; axios no rechaza (2xx).
import requests

criteria_id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"
response = requests.delete(
    f"https://api.reten.ai/api/audience-criterias/{criteria_id}",
    headers={"Authorization": "Bearer <token>", "x-tenant-id": "<tenant-id>"},
)
response.raise_for_status()  # 204 No Content, response.content == b""

Respuesta 204 No Content

Cuerpo vacío. El criterio quedó archivado.

Error 400 — referenciado por otra audiencia

Si otro audience criteria lo usa como operando en una composición, la eliminación se rechaza con 400 y el criterio no se archiva:

{
  "statusCode": 400,
  "message": "Cannot delete an audience criteria that is referenced by another active audience criteria",
  "error": "Bad Request"
}

Respuestas de error

EstadoDescripción
400Otro audience criteria lo referencia como operando en una composición (mensaje exacto arriba).
401Falta o es inválido el Authorization: Bearer.
403El usuario no tiene el permiso audience-criteria:delete, o el x-tenant-id no está autorizado.
404No existe un audience criteria con ese id en el tenant (Audience criteria not found).