Consultar uma carteira
Recupera todos os detalhes de uma carteira (conta bancária) cadastrada, a partir do seu identificador único. Use esta consulta para conferir os dados bancários antes de realizar um saque, verificar qu
Recupera todos os detalhes de uma carteira (conta bancária) cadastrada, a partir do seu identificador único. Use esta consulta para conferir os dados bancários antes de realizar um saque, verificar qual carteira é a principal ou exibir a conta de recebimento na sua interface.
GET /v1/wallets/{walletId}
Como funciona
Uma carteira representa uma conta bancária vinculada ao seu negócio (o merchant) e serve como destino dos seus saques. Este endpoint é uma operação de leitura (GET): ele não altera nada no servidor, é seguro de repetir quantas vezes quiser (idempotente por natureza) e devolve o objeto completo da carteira.
Diferente da listagem — que retorna projeções leves (versões resumidas de cada carteira) —, a consulta individual entrega o objeto completo, incluindo campos como accountType e o bloco merchant. Sempre que precisar de todos os detalhes de uma carteira específica, prefira este endpoint ao invés de filtrar a lista.
A resposta também traz um bloco _links (padrão HATEOAS — links que indicam as próximas ações possíveis a partir deste recurso). Em vez de montar URLs manualmente, você pode seguir _links.delete.href para apagar esta carteira ou _links.list.href para listar todas. Veja Convenções para os padrões transversais da API.
Quando usar (e quando não usar)
Use quando:
- Precisar exibir ou conferir os dados bancários completos de uma carteira específica (titular, agência, conta, tipo).
- Quiser confirmar se uma carteira está habilitada (
enabled) ou se é a principal (primary) antes de iniciar um saque. - Já tiver o
walletIdem mãos (por exemplo, salvo após a criação ou obtido na listagem).
Prefira alternativas quando:
- Quiser percorrer ou filtrar várias carteiras de uma vez — use Listar carteiras, que aceita paginação e filtros.
- Ainda não tiver o ID — você não pode consultar por número de conta; obtenha o
walletIdprimeiro na listagem.
Requisição
Headers
| Cabeçalho | Obrigatório | Descrição |
|---|---|---|
SelectKey | Sim | Sua chave de API. Em produção começa com sl_live_; em sandbox, com sl_test_. Veja Autenticação. |
Por ser uma leitura sem corpo, não é necessário enviar
Content-TypenemX-Idempotency-Key. Nunca useAuthorization: BearerouBasic— a autenticação é sempre via headerSelectKey.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
walletId | string | Sim | Identificador da carteira, no formato wall_* (ex.: wall_01hqzvabc). Trate-o como uma string opaca — não tente fazer parsing dele. |
Exemplo (curl)
curl https://api.selectwin.io/v1/wallets/wall_01hqzvabc \
-H "SelectKey: sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ"Resposta
Sucesso (200 OK)
{
"id": "wall_01hqzvabc",
"name": "Conta principal",
"bankName": "Nubank",
"bankCode": "260",
"holderName": "João Santos",
"routingNumber": "0001",
"accountNumber": "12345678",
"accountType": "checking",
"primary": true,
"enabled": true,
"updatedAt": "2026-04-12T17:56:33.000Z",
"createdAt": "2026-04-12T17:56:33.000Z",
"merchant": {
"name": "Seller Name",
"merchantId": "bus_1234567890",
"isSubAccount": false
},
"_links": {
"self": {
"href": "https://api.selectwin.io/v1/wallets/wall_01hqzvabc",
"method": "GET",
"description": "Read a wallet."
},
"create": {
"href": "https://api.selectwin.io/v1/wallets",
"method": "POST",
"description": "Create a new wallet."
},
"delete": {
"href": "https://api.selectwin.io/v1/wallets/wall_01hqzvabc",
"method": "DELETE",
"description": "Delete the wallet."
},
"list": {
"href": "https://api.selectwin.io/v1/wallets",
"method": "GET",
"description": "List all wallets."
}
}
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da carteira (wall_*). |
name | string | Nome descritivo da conta. |
bankName | string | Nome do banco (ex.: Nubank). |
bankCode | string | Código do banco (COMPE/ISPB, ex.: 260). |
holderName | string | Nome do titular da conta. |
routingNumber | string | Agência bancária. |
accountNumber | string | Número da conta (com dígito). |
accountType | string | Tipo de conta (ex.: checking). Presente na consulta individual e na criação. |
primary | boolean | true se esta é a carteira principal usada para saques. |
enabled | boolean | true se a carteira está ativa e disponível. |
createdAt | string | Data/hora de criação, em ISO 8601 UTC. |
updatedAt | string | Data/hora da última atualização, em ISO 8601 UTC. |
merchant | object | Dados do negócio dono da carteira. |
merchant.name | string | Nome do negócio. |
merchant.merchantId | string | Identificador do negócio (ex.: bus_*). |
merchant.isSubAccount | boolean | true se o negócio é uma subconta. |
_links | object | Links HATEOAS (self, create, delete, list) com as próximas ações. |
Nota
A consulta individual inclui accountType e o objeto merchant, que não aparecem nos itens resumidos da listagem. Quando precisar de todos os campos, use sempre este endpoint.
Erros
Em caso de falha, a resposta segue o envelope padrão de erro — identifique sempre pelo error.code (estável), nunca pela message (texto livre). Veja Tratamento de Erros e o Catálogo de Códigos de Erro.
error.code | HTTP | Quando ocorre |
|---|---|---|
walletIdIsInvalid | 400 | O walletId informado tem formato inválido. |
unauthorized | 401 | SelectKey ausente, inválida ou revogada. |
forbidden | 403 | Autenticado, mas sem permissão para acessar esta carteira. |
walletNotFound | 404 | Nenhuma carteira com esse ID, ou ela não pertence ao seu negócio. |
bankAccountNotReadable | 422 | A conta bancária existe, mas não pôde ser lida (restrição de negócio). |
tooManyRequests | 429 | Limite de requisições excedido — respeite error.retryAfterMinutes e repita com backoff. |
serverError | 500 | Erro interno inesperado — tente novamente; se persistir, contate o suporte. |
{
"error": {
"code": "walletNotFound",
"statusCode": 404,
"category": "client",
"message": "Wallet not found"
}
}Boas práticas
- Armazene o
walletIdretornado na criação para consultar a carteira depois sem precisar varrer a listagem. - Trate o ID como opaco: não valide comprimento nem tente derivar dados dele; apenas verifique a presença antes de chamar a API para evitar
walletIdIsInvalid. - Confira
enabledeprimaryantes de iniciar um saque: opere com a carteira certa e evite tentar sacar de uma conta inativa. - Diferencie 404 de 403:
walletNotFoundsignifica que o ID não existe (ou não é seu);forbiddenindica falta de permissão. Trate-os de formas distintas na sua aplicação. - Não registre dados sensíveis (
accountNumber,holderName) em logs ou bancos desprotegidos. - Faça cache com cuidado: se cachear a resposta, use um TTL curto e invalide-o após qualquer alteração; campos como
primaryeenabledpodem mudar. - Siga os
_linksem vez de montar URLs à mão — assim seu código acompanha mudanças de rota automaticamente.
Veja também
- Visão geral de Carteiras — o modelo do objeto e o ciclo de vida.
- Criar carteira — cadastrar uma nova conta bancária.
- Listar carteiras — buscar e filtrar várias carteiras.
- Excluir carteira — remover uma carteira cadastrada.
- Convenções · Autenticação · Catálogo de Códigos de Erro
How is this guide?