Consultar uma verificação
Devolve a verificação com o status atual e, quando confirmada, como foi a confirmação (`confirmation`).
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.
verification_id*stringO id da verificação, que começa com ver_.
A verificação.
application/json- response
Uma verificação de endereço físico: a CartaFlow envia uma correspondência com um código, com a sua marca, e o endereço fica verificado quando a pessoa confirma o código. O código nunca aparece neste objeto, nem no painel.
id*stringIdentificador único da verificação. Sempre começa com ver_.
^ver_[A-Za-z0-9]+$object*stringTipo do objeto. Sempre verification.
status*stringEm que etapa a verificação está. Ela só avança: received, in_production, awaiting_code, verified. De received ela pode ir para canceled; de in_production, para canceled (pela CartaFlow) ou revoked; de awaiting_code, para failed, expired ou revoked; de verified, para revoked. Só verified quer dizer endereço confirmado.
Valores possíveis
received: A CartaFlow recebeu o pedido, cobrou o preço do seu saldo e colocou a correspondência com o código na fila de produção. Se você cancelar agora, nada é impresso e o valor volta para o saldo.in_production: A correspondência com o código está sendo impressa e envelopada. Cancelar agora revoga a verificação (revoked), sem devolução do valor.awaiting_code: A correspondência foi postada. Agora esperamos a pessoa confirmar o código. Ela tem 60 dias a partir da postagem (vejaexpires_at). Cancelar agora revoga a verificação, sem devolução do valor.verified: A pessoa confirmou o código certo. Ela recebe correspondência no endereço informado.confirmationdiz como e quando. Você ainda pode revogar a verificação, e ela passa pararevoked.failed: Foram digitados 5 códigos errados. A verificação foi bloqueada para impedir tentativas aleatórias. Crie uma nova verificação se quiser tentar de novo.expired: Passaram 60 dias desde a postagem sem que a pessoa confirmasse o código.canceled: A verificação foi cancelada antes da postagem e o valor voltou para o seu saldo. Ou você cancelou enquanto ela estava emreceived, ou a CartaFlow cancelou porque a correspondência não pôde ser produzida.revoked: Você cancelou a verificação depois que a produção começou: em produção, aguardando código ou já verificada. O valor não volta para o saldo, porque a produção já começou, e uma correspondência que estava em produção ainda é postada. O código deixa de funcionar, na página e na API, e a verificação nunca mais aparece comoverified.
"received""in_production""awaiting_code""verified""failed""expired""canceled""revoked"method*stringComo a pessoa confirma o código.
Valores possíveis
hosted_page: Na página com a sua marca, pelo QR code ou digitando o código.code: Digitando o código no seu site ou aplicativo.
"hosted_page""code"source*stringPor onde a verificação foi criada. Não depende de como ela é confirmada (veja confirmation).
Valores possíveis
api: Pela API, com POST /v1/verifications.dashboard: No painel, por alguém da sua equipe.
"api""dashboard"to*O endereço verificado.
document*|||Como a correspondência foi feita: o modelo da CartaFlow ou o seu PDF. A cópia dela, com o código escondido (000 000), está em preview_url.
instructions*|O texto que você enviou para imprimir abaixo do código, no modelo da CartaFlow. null quando você não enviou.
return_url*|Para onde a página leva a pessoa depois da confirmação. null quando não se aplica.
urihosted_page_url*|O endereço da página de confirmação, com a sua marca (por enquanto no domínio verifica.cartaflow.com.br): https://verifica.cartaflow.com.br/{id da sua conta}/{token da página}. É o endereço impresso na correspondência e o que o QR code abre; o QR code leva o código junto, mas este link não, então quem abre o link precisa digitar o código. Você pode mandar este link por e-mail ou mostrar no seu app. Trate-o como um endereço opaco: guarde e use como veio. null quando method é code.
uriattempts_remaining*integerQuantos códigos errados ainda podem ser digitados. Começa em 5 e diminui a cada erro, pela página ou pela API. Em 0 a verificação vai para failed.
0 <= value <= 5expires_at*|Prazo para a pessoa confirmar: 60 dias depois da postagem. null antes da postagem.
date-timeconfirmation*|Como e quando a pessoa confirmou o código: por onde (method), quando, de qual IP e de onde, aproximadamente. null enquanto a verificação não foi confirmada. Uma verificação revogada depois de confirmada mantém este registro, mas o status é revoked: o endereço não conta mais como verificado.
preview_url*|Link para uma cópia da correspondência como ela será impressa, com o endereço, mas sem o código: no lugar dele aparece 000 000, e no lugar do QR code, um quadro que mostra onde ele será impresso. O código só existe no arquivo que a CartaFlow imprime: nem a API nem o painel conseguem mostrá-lo. O link vale por 60 minutos: consulte a verificação de novo para receber um link novo. null nos eventos e webhooks, e quando o arquivo não está disponível.
uriprice*O preço cobrado do saldo na criação. Com o modelo da CartaFlow, um envio simples do seu plano: uma linha base. Com o seu PDF, o preço de uma correspondência com as mesmas opções: base, additional_sheets e color. Nunca há serviços dos Correios. Volta para o saldo quando a verificação é cancelada (canceled); não volta quando ela é revogada (revoked).
reference*|Seu identificador para esta verificação, 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 verificação chegou a cada status. null para os status pelos quais ela não passou. O status received é o momento de created_at. Uma verificação revogada depois de confirmada mantém verified_at.
created_at*stringQuando a verificação foi criada.
date-timecurl "https://api.cartaflow.com.br/v1/verifications/string" \ -H "Authorization: Bearer $CARTAFLOW_API_KEY"{ "id": "ver_3Hd9Kp2qZ6tW", "object": "verification", "status": "awaiting_code", "method": "hosted_page", "source": "api", "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" }, "document": { "type": "template", "title": "Confirme o seu endereço", "body": "{{empresa}} pediu a confirmação de que você recebe correspondência neste endereço. Use o código abaixo para confirmar.", "footer": "O código vale por 60 dias depois da postagem e só funciona para este endereço. Não compartilhe este código com ninguém.", "include_qr_code": true, "include_page_url": true }, "instructions": null, "return_url": "https://www.exemplo.com.br/conta", "hosted_page_url": "https://verifica.cartaflow.com.br/acc_7Jw3Nf8Xq2Lp/9Qx2Lm7Tp4Rb8Kd3Wn6Yc1", "attempts_remaining": 5, "expires_at": "2026-12-14T16:05:00Z", "confirmation": null, "preview_url": "https://files.cartaflow.com.br/previews/ver_3Hd9Kp2qZ6tW.pdf?expires=1760369400&signature=5d2e81b3", "price": { "currency": "BRL", "total": 990, "items": [ { "type": "base", "quantity": 1, "unit_amount": 990, "amount": 990 } ] }, "reference": "cliente-1842", "metadata": {}, "status_transitions": { "in_production_at": "2026-10-13T21:00:00Z", "awaiting_code_at": "2026-10-15T16:05:00Z", "verified_at": null, "failed_at": null, "expired_at": null, "canceled_at": null, "revoked_at": null }, "created_at": "2026-10-13T14:20:00Z"}