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

# Overview

> O objeto Token

Um `token` representa um **cartão recém-digitado, transformado em uma credencial opaca de uso único**. Ele é a forma segura de o cartão sair do navegador do comprador: o número (PAN) e o código de segurança (CVC) são trocados por um `token` que não revela nada sensível e que pode ser enviado para o seu backend sem expor os dados do cartão.

O `token` é o ponto de entrada da [tokenização de cartão](/features/card-tokenization). Ele é gerado no navegador pelo [Chargefy.js](/features/chargefy-js) (ou diretamente via [`POST /v1/tokens`](/api-reference/tokens/create)) e depois **consumido uma única vez** para salvar o cartão — você envia o `id` do token como `token_id` ao confirmar um [setup intent](/api-reference/setup-intents/confirm), que o transforma em um `payment_method` (`pm_*`) reutilizável.

<Info>
  **Uso único e efêmero.** Um `token` só pode ser consumido uma vez e tem vida curta. Ele não é armazenado, não pode ser consultado depois (`GET`), não pode ser listado nem atualizado, e **não emite webhooks** — os eventos do ciclo de vida do cartão vêm do [setup intent](/api-reference/setup-intents/object) e do [payment method](/api-reference/payment-methods/object), depois que o token é consumido. Para tentar de novo, gere um novo token.
</Info>

## Data Object

Este é o formato completo retornado por [`create`](/api-reference/tokens/create).

```json theme={}
{
  "id": "tok_123",
  "object": "token",
  "card": {
    "brand": "visa",
    "exp_month": 12,
    "exp_year": 2030,
    "last4": "4242"
  },
  "created_at": "2026-05-16T14:09:27Z",
  "livemode": true
}
```

<ResponseField name="id" type="string">
  Identificador do token. Usa o prefixo `tok_*`. É este valor que você envia
  como `token_id` ao confirmar um setup intent.
</ResponseField>

<ResponseField name="object" type="string">
  Sempre `"token"`.
</ResponseField>

<ResponseField name="card" type="object">
  Dados não sensíveis do cartão, para você exibir um resumo na sua interface. O
  número completo (PAN) e o CVC nunca aparecem aqui nem em qualquer outro campo.

  <Expandable title="card">
    <ResponseField name="brand" type="string | null">
      Bandeira do cartão (`visa`, `mastercard`, `amex`, `elo`, `hipercard`, …).
    </ResponseField>

    <ResponseField name="exp_month" type="number | null">
      Mês de validade (`1`–`12`).
    </ResponseField>

    <ResponseField name="exp_year" type="number | null">
      Ano de validade com quatro dígitos.
    </ResponseField>

    <ResponseField name="last4" type="string | null">
      Quatro últimos dígitos do cartão.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created_at" type="string">
  Data de criação em ISO 8601.
</ResponseField>

<ResponseField name="livemode" type="boolean">
  `true` quando o token foi criado em ambiente de produção. Tokens criados por
  este endpoint são sempre de produção; para testar a tokenização, use o
  [Chargefy.js](/features/chargefy-js) em modo `test`, que gera um token
  sintético no navegador sem chamar a rede.
</ResponseField>
