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ámetro | Tipo | Descripción |
|---|---|---|
id | UUID | ID del audience criteria. |
Comportamiento
El endpoint valida en este orden, y el primer control que falla corta la operación:
- Existencia — si no hay un audience criteria con ese
iden el tenant, responde404(Audience criteria not found). - No referenciado — si otro audience criteria que sigue existiendo (no
archivado) lo referencia como operando en una composición, responde
400con el mensajeCannot 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. - Archivado — si pasa los dos controles, el criterio se archiva y el endpoint
responde
204 No Contentsin 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
| Estado | Descripción |
|---|---|
400 | Otro audience criteria lo referencia como operando en una composición (mensaje exacto arriba). |
401 | Falta o es inválido el Authorization: Bearer. |
403 | El usuario no tiene el permiso audience-criteria:delete, o el x-tenant-id no está autorizado. |
404 | No existe un audience criteria con ese id en el tenant (Audience criteria not found). |
Actualizar Audience Criteria
Actualiza parcialmente un audience criteria por id. Solo se modifican los campos enviados; incluir queryBlocks reemplaza por completo la definición (bloques y composiciones).
Generar SQL
Compila una definición de audience criteria a SQL de BigQuery, desde el cuerpo (aún sin persistir) o por id de un criterio guardado, en formato parametrizado o literal.