# Ver los timbres

`GET https://api.fiscalisto.com/v1/balance`

Los timbres de producción que le quedan, por paquete. En pruebas se timbra gratis.

## Con el SDK de TypeScript

```ts
import { Fiscalisto } from "fiscalisto";

// La llave viene de FISCALISTO_API_KEY.
const fiscalisto = new Fiscalisto();

const balance = await fiscalisto.balance.get();
```

## Con el SDK de Python

```python
from fiscalisto import Fiscalisto

# La llave viene de FISCALISTO_API_KEY.
fiscalisto = Fiscalisto()

balance = fiscalisto.balance.get()
```

## Con el SDK de PHP

```php
<?php

use Fiscalisto\Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
$fiscalisto = new Fiscalisto();

$balance = $fiscalisto->balance->get();
```

## Con el SDK de .NET

```csharp
using Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

var balance = await fiscalisto.Balance.GetAsync();
```

## Con el SDK de Go

```go
package main

import (
	"context"
	"fmt"
	"log"

	fiscalisto "fiscalisto.com/go"
)

func main() {
	// La llave viene de FISCALISTO_API_KEY.
	client, err := fiscalisto.NewClient("")
	if err != nil {
		log.Fatal(err)
	}
	ctx := context.Background()

	balance, err := client.Balance.Get(ctx)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%+v\n", *balance)
}
```

## Con el SDK de Java

```java
import com.fiscalisto.FiscalistoClient;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

var balance = fiscalisto.balance().get();
System.out.println(balance);
```

## Respuesta 200

Correcto.

Un objeto `Balance`:

| Campo | Tipo | Siempre viene | Descripción |
| --- | --- | --- | --- |
| `object` | `"balance"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `livemode` | boolean | sí | true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT. |
| `available` | integer | sí | Timbres disponibles en total. (de -9007199254740991 a 9007199254740991) |
| `unlimited` | boolean | sí | true si la cuenta timbra sin usar timbres. |
| `low_balance_at` | integer | sí | Con esta cantidad o menos llega balance.low (y otra vez al acabarse). Se elige en Desarrolladores › Timbres. (de -9007199254740991 a 9007199254740991) |
| `auto_recharge` | objeto o null | sí | La recarga automática con la tarjeta guardada, o null si está apagada. |
| `auto_recharge.timbres` | integer | sí | Timbres del paquete que se compra. (de -9007199254740991 a 9007199254740991) |
| `auto_recharge.at` | integer | sí | Se compra con esta cantidad o menos. (de -9007199254740991 a 9007199254740991) |
| `auto_recharge.max_per_month` | integer | sí | Como máximo tantas compras al mes. (de -9007199254740991 a 9007199254740991) |
| `packs` | arreglo de objeto | sí | Los paquetes con timbres, el que vence antes primero (en ese orden se usan). |
| `packs[].timbres` | integer | sí | Timbres del paquete. (de -9007199254740991 a 9007199254740991) |
| `packs[].remaining` | integer | sí | Los que le quedan. (de -9007199254740991 a 9007199254740991) |
| `packs[].purchased_at` | string (date-time) o null | sí | Cuándo se compró. |
| `packs[].expires_at` | string (date-time) o null | sí | Cuándo vencen; null si no vencen. |

```json
{
  "object": "balance",
  "livemode": true,
  "available": 20,
  "unlimited": false,
  "low_balance_at": 100,
  "auto_recharge": null,
  "packs": [
    {
      "timbres": 20,
      "remaining": 20,
      "purchased_at": "2026-10-24T10:15:42-06:00",
      "expires_at": null
    }
  ]
}
```

## Errores

Puede responder 400, 401, 403, 404, 429, 500 con el cuerpo de error de siempre; cada código está en https://fiscalisto.com/docs/api/errores.md.
