Cancelar uma correspondência
Cancela uma correspondência que está em `scheduled` ou `received`.
apiKeyAuthorizationBearer <chave de API>Chave de API no cabeçalho Authorization: Bearer cf_live_.... Crie e revogue chaves no painel, em Desenvolvedores > Chaves de API.
letter_id*stringO id da correspondência, que começa com ltr_.
A correspondência cancelada.
application/json- response
Uma correspondência física: um documento impresso, envelopado e postado pela CartaFlow para um endereço no Brasil.
id*stringIdentificador único da correspondência. Sempre começa com ltr_.
^ltr_[A-Za-z0-9]+$object*stringTipo do objeto. Sempre letter.
status*stringEm que etapa a correspondência está. Ela só avança, nunca volta: scheduled (só quando agendada), received, in_production, printed, posted. De scheduled ou received ela pode ir para canceled; de received, in_production ou printed, para failed. Uma reimpressão na produção não muda o status.
Valores possíveis
scheduled: A correspondência foi validada e espera a data desend_date. Ainda não foi cobrada. Na data, às 06:00 de Brasília, a CartaFlow debita o saldo e a correspondência passa parareceived. Se o saldo não cobrir o preço, ela vai paracanceled. Pode ser cancelada sem custo.received: A CartaFlow validou o documento e o endereço, cobrou o envio do seu saldo e colocou a correspondência na fila de produção. Ainda pode ser cancelada, e o valor volta para o saldo.in_production: A correspondência entrou em um lote de impressão. A partir daqui ela não pode mais ser cancelada.printed: A correspondência foi impressa, dobrada e colocada no envelope. O próximo passo é a postagem.posted: A correspondência foi entregue aos Correios. A partir daqui a entrega segue o serviço postal, e a CartaFlow não recebe novas informações sobre ela. Uma correspondência registrada traz o código de rastreio dos Correios emtracking_code.canceled: O envio foi cancelado antes da produção e nada foi impresso.cancellation_reasondiz o motivo: você cancelou, ou o saldo não cobria uma correspondência agendada na data do envio. Se havia cobrança, o valor voltou para o saldo.failed: Algo deu errado na produção e a correspondência não será postada.failure_reasondiz o motivo. O valor voltou para o saldo automaticamente.
"scheduled""received""in_production""printed""posted""canceled""failed"to*Destinatário.
from*Remetente impresso acima do destinatário: o que você enviou ou o remetente padrão da conta.
document*||De onde veio o conteúdo da correspondência. O PDF final está em preview_url.
color*booleantrue quando a impressão é colorida.
double_sided*booleantrue quando a impressão é frente e verso.
address_placement*stringOnde o endereço é impresso.
Valores possíveis
first_page: Na área do endereço da primeira página do documento.extra_page: Num lado só dele, o primeiro, sem custo.
"first_page""extra_page"postal_services*array<>Os serviços adicionais dos Correios escolhidos na criação. Sempre uma lista: [] numa carta simples.
Valores possíveis
registered: Carta registrada: a correspondência é postada com registro nos Correios e recebe um código de rastreio, que aparece emtracking_codequando ela é postada.return_receipt: Aviso de recebimento (AR): os Correios devolvem um comprovante assinado por quem recebeu a correspondência ao remetente impresso no envelope. Exigeregistered.restricted_delivery: Mão própria (MP): os Correios entregam só para a pessoa cujo nome está no envelope. Exigeregistered.
pages*integerNúmero de páginas do seu documento, sem contar o lado do endereço com extra_page.
1 <= valuesheets*integerFolhas de papel no envelope. Só frente, é pages. Em frente e verso, é metade de pages arredondada para cima com first_page, e metade de pages arredondada para baixo, mais 1, com extra_page. Máximo de 6, contando a folha que o endereço acrescenta, que não é cobrada.
1 <= value <= 6price*O preço da correspondência. É cobrado do saldo na criação ou, se ela foi agendada, na data do envio (com o plano da conta nesse dia). Volta para o saldo se a correspondência for cancelada depois da cobrança ou falhar na produção.
send_date*|A data agendada para o envio, AAAA-MM-DD. null quando a correspondência foi enviada na hora.
datecancellation_reason*|Por que a correspondência foi cancelada. null quando ela não está cancelada.
Valores possíveis
requested: Você cancelou, pela API ou pelo painel.insufficient_balance: Era uma correspondência agendada e, na data do envio, o saldo não cobria o preço. Nada foi cobrado.
"requested""insufficient_balance"nullfailure_reason*|Por que a correspondência falhou na produção. null quando ela não está em failed. Quando ela falha, o valor volta para o saldo automaticamente.
Valores possíveis
unprintable_document: O arquivo passou pela validação, mas não pôde ser impresso como está.damaged_in_production: A correspondência foi danificada na impressão, na dobra ou no envelopamento e não pôde ser refeita.refused_by_carrier: Os Correios recusaram a correspondência na postagem.other: Outro motivo. Fale com o suporte da CartaFlow pelo painel para saber os detalhes.
"unprintable_document""damaged_in_production""refused_by_carrier""other"nulltracking_code*|O código de rastreio dos Correios de uma correspondência registrada (postal_services com registered), como RA123456785BR. Preenchido quando ela é postada. null numa carta simples, que não tem rastreio, e antes da postagem.
preview_url*|Link para o PDF final, exatamente como será impresso, já com o endereço. O link vale por 60 minutos: consulte a correspondência de novo para receber um link novo. O arquivo fica disponível por pelo menos 90 dias depois da criação (ou depois da data do envio, numa correspondência agendada); null só depois desse prazo, se o arquivo deixar de estar disponível. Numa correspondência em preto e branco, o PDF mantém as cores do original: a conversão para tons de cinza acontece na impressão.
urireference*|Seu identificador para esta correspondência, como o número da fatura ou o id do cliente no seu sistema. Aparece no painel e pode ser usado como filtro nas listagens. Não precisa ser único. Até 100 caracteres. null quando você não enviou.
length <= 100metadata*Pares chave-valor para guardar dados seus junto do objeto, como o id do cliente ou do contrato. Voltam em todas as respostas e webhooks e nunca são impressos. Até 20 chaves; chaves com até 40 caracteres e valores em texto com até 500 caracteres. Não guarde dados sensíveis, como senhas ou números de cartão. Objeto vazio {} quando você não enviou.
properties <= 20status_transitions*Quando a correspondência chegou a cada status. null para os status pelos quais ela ainda não passou. Uma correspondência agendada nasce em scheduled, no momento de created_at.
created_at*stringQuando a correspondência foi criada e recebida, em UTC.
date-timecurl -X POST "https://api.cartaflow.com.br/v1/letters/string/cancel" \ -H "Authorization: Bearer $CARTAFLOW_API_KEY"{ "id": "ltr_8Kq2wX4mN7pR", "object": "letter", "status": "canceled", "to": { "name": "Destinatário Exemplo", "street": "Praça da Sé", "number": "128", "complement": "Ap. 52", "neighborhood": "Sé", "city": "São Paulo", "state": "SP", "postal_code": "01001-000" }, "from": { "name": "Exemplo Serviços Ltda.", "street": "Avenida Exemplo", "number": "1000", "complement": "Sala 301", "neighborhood": "Bela Vista", "city": "São Paulo", "state": "SP", "postal_code": "01310-100" }, "document": { "type": "url", "url": "https://arquivos.exemplo.com.br/faturas/2026-10-0042.pdf", "variables": null }, "color": true, "double_sided": false, "address_placement": "first_page", "postal_services": [], "pages": 2, "sheets": 2, "price": { "currency": "BRL", "total": 1135, "items": [ { "type": "base", "quantity": 1, "unit_amount": 990, "amount": 990 }, { "type": "additional_sheets", "quantity": 1, "unit_amount": 75, "amount": 75 }, { "type": "color", "quantity": 2, "unit_amount": 35, "amount": 70 } ] }, "send_date": null, "cancellation_reason": "requested", "failure_reason": null, "tracking_code": null, "preview_url": "https://files.cartaflow.com.br/previews/ltr_8Kq2wX4mN7pR.pdf?expires=1760369400&signature=9c1f2a7d", "reference": "fatura-2026-10-0042", "metadata": { "customer_id": "1842" }, "status_transitions": { "received_at": "2026-10-13T14:20:00Z", "in_production_at": null, "printed_at": null, "posted_at": null, "canceled_at": "2026-10-13T14:31:00Z", "failed_at": null }, "created_at": "2026-10-13T14:20:00Z"}