Reten Docs
Audiências

Excluir Audiência

Arquiva (soft delete) um audience criteria; responde 204 sem corpo. Falha com 409 se for a audiência raiz do projeto, e com 400 se outro critério o referencia como operando.

DELETE /api/audience-criterias/:id

Arquiva um audience criteria. Ao excluí-lo, o registro é removido imediatamente da tabela do recurso —por isso deixa de aparecer em GET /audience-criterias/:id (responde 404) e em GET /audience-criterias— e em seu lugar é mantido um snapshot recuperável na lixeira durante uma janela de retenção configurável.

Auth: Obrigatória — permissão audience-criteria:delete

Parâmetros de Rota

ParâmetroTipoDescrição
idUUIDID do audience criteria. Deve ser um UUID válido (caso contrário, 400).

Comportamento

O endpoint valida nesta ordem, e a primeira verificação que falhar aborta a operação:

  1. Existência — se não houver um audience criteria com esse id no projeto ativo, responde 404 (Audience criteria not found).
  2. Não é a audiência raiz — a audiência raiz do projeto não pode ser excluída: responde 409 com a mensagem La audiencia raíz de un proyecto no se puede eliminar.
  3. Não referenciado — se outro audience criteria que ainda existe (não arquivado) o referencia como operando em uma composição, responde 400 com a mensagem Cannot delete an audience criteria that is referenced by another active audience criteria. Você precisa remover essa composição (ou excluir o critério que a referencia) antes de poder excluir este.
  4. Arquivado — se passar pelas três verificações, o critério é arquivado e o endpoint responde 204 No Content sem corpo.

Exemplo

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>" \
  -H "x-project-id: <project-id>"
# → HTTP/1.1 204 No Content (corpo vazio)
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>', 'x-project-id': '<project-id>' } },
);
// A resposta é 204 sem corpo; o axios não rejeita (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>", "x-project-id": "<project-id>"},
)
response.raise_for_status()  # 204 No Content, response.content == b""

Resposta 204 No Content

Corpo vazio. O critério foi arquivado.

Erro 400 — referenciado por outra audiência

Se outro audience criteria o usa como operando em uma composição, a exclusão é rejeitada com 400 e o critério não é arquivado:

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

Respostas de Erro

StatusDescrição
400Outro audience criteria o referencia como operando em uma composição (mensagem exata acima), ou o id não é um UUID válido.
401Ausente ou inválido o Authorization: Bearer.
403O usuário não tem a permissão audience-criteria:delete, ou o x-tenant-id não está autorizado.
404Não existe um audience criteria com esse id no projeto ativo (Audience criteria not found).
409O critério é a audiência raiz do projeto (La audiencia raíz de un proyecto no se puede eliminar).