> ## Documentation Index
> Fetch the complete documentation index at: https://docs.z2pay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Buscar cartão por ID

> Retorna os dados de um cartão salvo do cliente — sempre mascarados.

`GET /customers/:customerId/cards/:cardId`

Faz parte do recurso [Cartões](/pt-BR/cards) — como tokenizar e salvar está lá.

Devolve o cartão salvo: bandeira, primeiros e últimos dígitos, validade e titular.

<Warning>
  **O número completo nunca sai — nem aqui, nem em lugar nenhum.** A API devolve os seis primeiros e
  os quatro últimos dígitos, que é o suficiente para o cliente reconhecer o cartão numa tela. O PAN
  inteiro e o CVV vivem no cofre PCI e não têm rota de leitura.

  Para cobrar, use o `crd_` — é ele que substitui o número.
</Warning>

<Note>
  **O cartão pertence ao cliente do caminho.** Um `crd_` válido que seja de outro cliente responde
  `404`: os dois segmentos da URL são conferidos juntos, não só o último.
</Note>

<Note>
  **Cartão desativado responde `404`.** Depois do [DELETE](/pt-BR/cards/delete), nenhuma rota
  devolve aquele `crd_` — nem esta. Para histórico de compras antigas, use os dados do cartão que a
  própria transação guarda (`payments[].card`), que não mudam com a desativação.
</Note>

## Exemplo

```bash theme={null}
curl https://api.sandbox.z2pay.com/v1/customers/cust_lhsmn6ugmjotm5qvnunrr2hz1/cards/crd_d6bvtkpr7fd4jrb3tbpm8ohqi \
  -H "x-api-key: SUA_CHAVE_DE_SANDBOX"
```

```json Resposta 200 theme={null}
{
  "id": "crd_d6bvtkpr7fd4jrb3tbpm8ohqi",
  "customerId": "cust_lhsmn6ugmjotm5qvnunrr2hz1",
  "brand": "visa",
  "firstDigits": "411111",
  "lastDigits": "1111",
  "holderName": "ANA C SOUZA",
  "expirationMonth": "12",
  "expirationYear": "2030",
  "status": "active",
  "createdAt": "2026-07-15T09:20:00.000Z"
}
```


## OpenAPI

````yaml openapi/psp.json GET /customers/{customerId}/cards/{cardId}
openapi: 3.0.3
info:
  title: Z2Pay PSP API
  version: 1.0.0
  description: API pública do PSP — autenticação via API Key (Credential)
servers:
  - url: https://api.sandbox.z2pay.com/v1
    description: Sandbox
  - url: https://api.z2pay.com/v1
    description: Produção
security: []
tags:
  - name: Cards
    description: Cartões salvos de um cliente
  - name: Chargebacks
    description: Gerenciamento de chargebacks
  - name: Customers
    description: Gerenciamento de clientes (compradores)
  - name: Fees
    description: Tabela de taxas da conta (pix, boleto, cartão, saque, refund, chargeback)
  - name: Recipients
    description: Gerenciamento de recebedores (sellers/merchants que recebem repasses)
  - name: Refunds
    description: Gerenciamento de reembolsos e estornos
  - name: Splits
    description: Regras de divisão do valor de uma venda entre recebedores
  - name: Transactions
    description: Gerenciamento de transações e payments
  - name: Wallets
    description: Saldo, extrato e resumo da carteira de um recebedor, agrupados por moeda
  - name: Webhooks
    description: Configuração, gerenciamento e histórico de entregas de webhooks
  - name: Withdrawals
    description: Solicitação e acompanhamento de saques (payouts) por recipient
paths:
  /customers/{customerId}/cards/{cardId}:
    get:
      tags:
        - Cards
      summary: Buscar cartão por ID
      description: Retorna os dados de um cartão específico do cliente
      operationId: CardController_getById
      parameters:
        - name: cardId
          in: path
          required: true
          description: ID do cartão
          schema:
            type: string
        - name: customerId
          in: path
          required: true
          description: ID do cliente
          schema:
            type: string
      responses:
        '200':
          description: Dados do cartão
          content:
            application/json:
              example:
                id: crd_hqx4mkpi8dcxbrb2nzynxnjky
                customerId: cust_j43n74fbt2geb8c1y86ssf6iw
                brand: visa
                firstDigits: '411111'
                lastDigits: '1111'
                holderName: JOAO DA SILVA
                expirationMonth: '12'
                expirationYear: '2030'
                status: active
                createdAt: '2026-07-02T19:26:17.000Z'
                updatedAt: '2026-07-02T19:26:17.000Z'
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID do cartão (`crd_`).
                  customerId:
                    type: string
                    description: Cliente dono do cartão (`cust_`).
                  brand:
                    type: string
                    description: 'Bandeira (ex.: `visa`, `mastercard`).'
                  firstDigits:
                    type: string
                    description: Seis primeiros dígitos.
                  lastDigits:
                    type: string
                    description: Quatro últimos dígitos.
                  holderName:
                    type: string
                    description: Nome impresso no cartão.
                  expirationMonth:
                    type: string
                    description: Mês de validade (`MM`).
                  expirationYear:
                    type: string
                    description: Ano de validade (`YYYY`).
                  status:
                    type: string
                    description: Situação do cartão.
                  createdAt:
                    type: string
                    description: Criação, ISO 8601.
                  updatedAt:
                    type: string
                    description: Última alteração, ISO 8601.
        '401':
          description: Chave de API ausente, malformada ou inválida
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Identificador estável do erro. É por ele que você deve
                          ramificar, não pela mensagem.
                      message:
                        type: string
                        description: >-
                          Descrição legível. Pode mudar sem aviso e não deve ser
                          usada em condicional.
              example:
                error:
                  code: UNAUTHORIZED
                  message: Invalid API key
        '404':
          description: Cartão não encontrado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Identificador estável do erro. É por ele que você deve
                          ramificar, não pela mensagem.
                      message:
                        type: string
                        description: >-
                          Descrição legível. Pode mudar sem aviso e não deve ser
                          usada em condicional.
              example:
                error:
                  code: NOT_FOUND
                  message: Card not found
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API Key da Credential (gerada no Backoffice)

````