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âmetro | Tipo | Descrição |
|---|---|---|
id | UUID | ID 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:
- Existência — se não houver um audience criteria com esse
idno projeto ativo, responde404(Audience criteria not found). - Não é a audiência raiz — a audiência raiz
do projeto não pode ser excluída: responde
409com a mensagemLa audiencia raíz de un proyecto no se puede eliminar. - Não referenciado — se outro audience criteria que ainda existe (não
arquivado) o referencia como operando em uma composição, responde
400com a mensagemCannot 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. - Arquivado — se passar pelas três verificações, o critério é arquivado e o endpoint
responde
204 No Contentsem 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
| Status | Descrição |
|---|---|
400 | Outro audience criteria o referencia como operando em uma composição (mensagem exata acima), ou o id não é um UUID válido. |
401 | Ausente ou inválido o Authorization: Bearer. |
403 | O usuário não tem a permissão audience-criteria:delete, ou o x-tenant-id não está autorizado. |
404 | Não existe um audience criteria com esse id no projeto ativo (Audience criteria not found). |
409 | O critério é a audiência raiz do projeto (La audiencia raíz de un proyecto no se puede eliminar). |
Atualizar Audience Criteria
Atualize parcialmente um audience criteria por id. Somente os campos enviados são modificados; incluir queryBlocks substitui completamente a definição (blocos e composições).
Gerar SQL
Compila uma definição de audience criteria para SQL do BigQuery, a partir do corpo da requisição (ainda não persistida) ou por id de um critério salvo, em formato parametrizado ou literal.