Procurando a documentação anterior?Acesse v1.docs.pluggy.ai
PluggyDocs

Gerenciando contas vinculadas

Liste, leia e revogue as contas que seus pagadores vincularam para Pix por biometria, veja os pagamentos feitos com cada uma e leia o saldo que um pagador compartilhou.

Ver como Markdown

Quando um pagador vincula uma conta na página de pagamento, a Pluggy armazena uma inscrição: o link entre sua conta em uma instituição e o dispositivo e navegador onde ele criou a chave de acesso. As inscrições são criadas apenas pelo pagador, durante um pagamento. Através da API, você pode listá-las, lê-las, ver os pagamentos feitos com elas e revogá-las.

Cada endpoint nesta página retorna apenas as inscrições do seu próprio cliente.

A inscrição#

Inscrição
Inscrição
{
  "id": "c91a5e2b-7d0f-4f3e-9a51-2f6b8e1d4c77",
  "status": "AUTHORIZED",
  "connector": {
    "id": 608,
    "name": "Santander",
    "imageUrl": "https://cdn.pluggy.ai/assets/connector-icons/208.svg"
  },
  "debtor": {
    "name": "John Doe",
    "taxNumber": "***.456.789-**",
    "bankAccount": {
      "agency": "1234",
      "account": "****4821",
      "name": "Santander"
    }
  },
  "cpf": "***.456.789-**",
  "cnpj": null,
  "customerId": "a2d4c1e8-5b7f-4c3a-9e2d-1f6b8c0d7e55",
  "limits": {
    "transaction": 1000,
    "daily": 3000,
    "dailyUsed": 149.9
  },
  "expiresAt": "2027-10-28T13:05:00.000Z",
  "dataConsent": null,
  "revokedBy": null,
  "errorDetail": null,
  "createdAt": "2026-10-28T13:02:00.000Z",
  "updatedAt": "2026-10-28T13:05:00.000Z"
}
CampoDescrição
idO id da inscrição. As intenções de pagamento referenciam como enrollmentId.
statusVeja a tabela abaixo.
connectorA instituição onde a conta está mantida.
debtorA conta vinculada, conforme a instituição relatou. O número do CPF e o número da conta estão mascarados.
cpf / cnpjO número do CPF do pagador, mascarado. Use o valor não mascarado para filtrar a lista.
customerIdO Cliente de Pagamento da solicitação de pagamento onde o link foi criado, ou null quando o pagador digitou seu CPF.
limitsOs limites por pagamento (transaction) e daily que o pagador definiu no banco, e quanto do limite de hoje foi utilizado (dailyUsed), em BRL. Qualquer um deles pode ser null quando a instituição não o reporta.
expiresAtQuando o link expira, conforme definido pela instituição.
dataConsentA permissão de compartilhamento de saldo, ou null quando não foi solicitada. Veja Compartilhando saldo.
revokedByQuem revogou o link: BANK (o pagador ou a instituição, no banco) ou CLIENT (você, através da API). null a menos que status seja REVOKED.
errorDetail{ code, description } com o motivo que a instituição deu quando o link foi rejeitado, por exemplo, porque o pagador não o completou a tempo. Caso contrário, null.
statusSignificado
CREATEDO pagador começou a vincular e não terminou: ele está no banco ou criando a chave de acesso.
AUTHORIZEDO link está ativo. Pagamentos nesse dispositivo precisam apenas de biometria.
REJECTEDO link não foi completado: a instituição ou o pagador o rejeitaram, ou o pagador não terminou a tempo. errorDetail diz qual.
REVOKEDO link foi revogado no banco ou através da API.
EXPIREDO link atingiu sua data de expiração ou se tornou inativo na instituição.

REJECTED, REVOKED e EXPIRED são finais. Para pagar com biometria novamente, o pagador precisa vincular novamente, o que cria uma nova inscrição.

Listar inscrições#

GET /pix-biometric/enrollments?customerId={customerId}&status=AUTHORIZED
Parâmetro de consultaDescrição
customerIdInscrições criadas em solicitações de pagamento para este Cliente de Pagamento.
cpfO CPF do pagador, apenas dígitos.
cnpjO CNPJ do pagador, apenas dígitos.
statusUm dos status acima.
page / pageSizePaginação. pageSize é no máximo 500.

A resposta utiliza a paginação usual:

GET /pix-biometric/enrollments (resposta)
GET /pix-biometric/enrollments (resposta)
{
  "total": 1,
  "totalPages": 1,
  "page": 1,
  "results": [
    {
      "id": "c91a5e2b-7d0f-4f3e-9a51-2f6b8e1d4c77",
      "status": "AUTHORIZED"
    }
  ]
}

Um pagador pode ter várias inscrições: uma por dispositivo e navegador, e uma por instituição que ele vinculou. Veja a referência da APIAPI.

Recuperar uma inscrição#

GET /pix-biometric/enrollments/{id}

Retorna a inscrição, atualizada pela instituição, de modo que um link revogado no banco apareça como REVOKED aqui mesmo antes que o webhook chegue. Um id que não existe para seu cliente responde 404 com PIX_BIOMETRIC_ENROLLMENT_NOT_FOUND. Veja a referência da APIAPI.

Pagamentos feitos com uma inscrição#

GET /payments/intents?enrollmentId={id}

Lista as intenções de pagamento feitas com aquele link, com a paginação usual. Cada uma carrega sua paymentRequest, para que você possa identificar quais compras o pagador fez com ela. Veja a referência da APIAPI.

Revogar uma inscrição#

POST /pix-biometric/enrollments/{id}/revoke

Sem corpo. O link é revogado na instituição e a inscrição é retornada com status: "REVOKED" e revokedBy: "CLIENT". Você também recebe um webhook pix_biometric_enrollment/revoked. Se o pagador ainda estava completando seu primeiro pagamento com aquele link, essa intenção de pagamento falha.

Revogar não pode ser desfeito: o pagador precisa vincular novamente para pagar com biometria. Revogar uma inscrição que já está REJECTED, REVOKED ou EXPIRED a retorna inalterada, então tentar novamente é seguro. Veja a referência da APIAPI.

O pagador também pode desfazer o link a qualquer momento no aplicativo do banco. Você toma conhecimento disso através do webhook pix_biometric_enrollment/revoked, e a inscrição então mostra revokedBy: "BANK".

Compartilhando saldo#

Quando a solicitação de pagamento foi criada com linkedJourney: true, o pagador também pode compartilhar seu saldo de conta e limite de cheque especial com você, na mesma aprovação no banco. É opcional para o pagador e dura enquanto o link estiver ativo. Leia o saldo logo antes de cobrar, para evitar um pagamento rejeitado por fundos insuficientes.

A inscrição carrega a permissão em dataConsent:

json
{
  "status": "AUTHORISED",
  "rejectionReason": null,
  "updatedAt": "2026-10-28T13:05:00.000Z"
}
dataConsent.statusSignificado
AWAITING_AUTHORISATIONO pagador ainda não aprovou.
AUTHORISEDO saldo pode ser lido.
REJECTEDO pagador ou a instituição rejeitaram. rejectionReason diz o porquê.
REVOKEDA permissão foi cancelada.

dataConsent é null quando a solicitação não pediu por isso, ou o pagador optou por não compartilhar.

Ler o saldo#

GET /pix-biometric/enrollments/{id}/balance

Lê o saldo em tempo real da instituição. Os valores estão em BRL. Veja a referência da APIAPI.

json
{
  "balance": 5.48,
  "overdraft": {
    "contracted": 1000,
    "used": 0,
    "available": 1000
  }
}

overdraft é o limite de cheque especial da conta: quanto foi contratado, quanto está em uso e quanto ainda está disponível. É null quando a instituição não o compartilha.

StatuscodeDescriptionSignificado
200Saldo lido.
403PIX_BIOMETRIC_DATA_CONSENT_NOT_AVAILABLEO link não está AUTHORIZED, ou o pagador não compartilhou o saldo, ou a permissão foi cancelada.
429PIX_BIOMETRIC_RATE_LIMITEDO limite de taxa da instituição foi atingido, por exemplo, a cota mensal de saldo da conta.

Cada chamada conta para a cota da instituição

Cada chamada lê o saldo da instituição, sem cache. O Open Finance limita as leituras de saldo por conta por mês (veja Limites de Taxa Operacional). Leia o saldo logo antes de um pagamento, não em um cronograma.

Parar de compartilhar o saldo#

DELETE /pix-biometric/enrollments/{id}/data-consent

Cancela apenas a permissão de saldo: o link permanece AUTHORIZED e os pagamentos continuam funcionando. Retorna a inscrição com dataConsent.status definido como REVOKED. Cancelar uma permissão que já terminou retorna a inscrição inalterada, então tentar novamente é seguro. Um link criado sem a permissão responde 403 com PIX_BIOMETRIC_DATA_CONSENT_NOT_AVAILABLE. Veja a referência da APIAPI.

Revogar o link também encerra a permissão de saldo. Uma permissão não pode ser adicionada a um link existente: o pagador precisa vincular novamente a partir de uma solicitação de pagamento criada com linkedJourney: true.

Webhooks#

EventoQuando
pix_biometric_enrollment/authorizedO pagador completou um link.
pix_biometric_enrollment/revokedO link foi revogado, no banco ou através da API.
pix_biometric_enrollment/errorO link não foi completado: foi rejeitado ou terminou antes que o pagador o finalizasse.
pix_biometric_enrollment/authorized
pix_biometric_enrollment/authorized
{
  "event": "pix_biometric_enrollment/authorized",
  "eventId": "8013240b-7c0a-409e-bf00-7fc586cc9196",
  "enrollmentId": "c91a5e2b-7d0f-4f3e-9a51-2f6b8e1d4c77",
  "customerId": "a2d4c1e8-5b7f-4c3a-9e2d-1f6b8c0d7e55",
  "paymentRequestId": "5b7e2c1d-3a4f-4e8b-9c6d-7f0a1b2c3d4e"
}

paymentRequestId é a solicitação de pagamento onde o link foi criado, e customerId é null quando não havia cliente. Cada evento é enviado uma vez, quando a inscrição entra nesse status. Recupere a inscrição para os detalhes.

Um link que foi AUTHORIZED e depois atinge seu expiresAt não envia evento: verifique expiresAt, ou recupere a inscrição, para saber que terminou.

Esta página foi útil?