Skip to main content
curl -X DELETE "https://api.chargefy.io/v1/products/prod_123" \
  -H "Authorization: Bearer {{API_KEY}}"
{
  "id": "prod_123",
  "object": "product",
  "deleted": true
}
Remove um product quando ele nunca foi usado. Se o produto já estiver referenciado por histórico financeiro, checkout ou assinatura, a Chargefy desativa o produto automaticamente com is_active=false e retorna o objeto completo atualizado em vez do shape curto de remoção.

Delete ou arquivamento: como decidimos

Você sempre chama a mesma rota, e a Chargefy escolhe o caminho seguro por você:
  • Nunca foi usado → o produto é removido de verdade. A resposta traz deleted: true.
  • Já teve venda, checkout ou assinatura → o produto é arquivado (is_active=false) em vez de apagado. A resposta traz o objeto completo com is_active: false.
Fazemos assim para nunca quebrar o histórico. Uma venda antiga precisa continuar apontando para o produto que foi vendido; se apagássemos o produto, relatórios, recibos e faturas ficariam órfãos. Arquivar tira o produto de novas vendas sem mexer em nada que já aconteceu.
Para saber o que aconteceu, olhe a resposta: se vier deleted: true, o produto saiu de vez; se vier o objeto completo com is_active: false, ele foi arquivado e o histórico está preservado.

Autenticação

A API key da própria organização atua diretamente. A API key de plataforma exige o header Organization: <organization_id> apontando para uma organização conectada ativa.

Parâmetros de caminho

id
string
required
ID do produto (prod_*).
curl -X DELETE "https://api.chargefy.io/v1/products/prod_123" \
  -H "Authorization: Bearer {{API_KEY}}"

Resposta

200 OK com um destes dois shapes: Quando a row pôde ser removida — objeto curto de remoção:
CampoTipoObservação
idstringID do produto removido
objectstringSempre "product"
deletedbooleanSempre true
{
  "id": "prod_123",
  "object": "product",
  "deleted": true
}
Quando o produto precisava permanecer auditável — mesmo shape de GET /v1/products/:id com is_active=false.

Erros comuns

StatuscodeQuando ocorre
404resource_missingProduto não existe nesta organização

Webhook

Quando o produto é desativado em vez de removido, dispara product.updated com previous_attributes.is_active = true.