# Listar sucursales

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

Las sucursales del emisor, las más recientes primero. Las archivadas solo con include_archived=true.

## Parámetros

| Nombre | Dónde | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `limit` | consulta |  | Cuántos por página, de 1 a 100. Por omisión 10. |
| `starting_after` | consulta |  | El id del último de la página anterior, para la siguiente. |
| `issuer` | consulta |  | El emisor (iss_…). Puede omitirse si la llave o la cuenta tienen uno solo. |
| `include_archived` | consulta |  | true para incluir las archivadas. |
| `zip` | consulta |  | Solo la de este código postal. |

## Con el SDK de TypeScript

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

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

for await (const item of fiscalisto.branches.list()) {
  console.log(item.id);
}
```

## Con el SDK de Python

```python
from fiscalisto import Fiscalisto

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

for item in fiscalisto.branches.list():
    print(item["id"])
```

## Con el SDK de PHP

```php
<?php

use Fiscalisto\Fiscalisto;

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

foreach ($fiscalisto->branches->list() as $item) {
    echo $item['id'], "\n";
}
```

## Con el SDK de .NET

```csharp
using Fiscalisto;

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

await foreach (var item in fiscalisto.Branches.ListAutoPagingAsync())
    Console.WriteLine(item.Id);
```

## 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()

	for item, err := range client.Branches.ListAutoPaging(ctx, nil) {
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(item.ID)
	}
}
```

## Con el SDK de Java

```java
import com.fiscalisto.FiscalistoClient;

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

for (var item : fiscalisto.branches().listAutoPaging()) {
    System.out.println(item.getId());
}
```

## Respuesta 200

Correcto.

Un objeto `BranchList`:

| Campo | Tipo | Siempre viene | Descripción |
| --- | --- | --- | --- |
| `object` | `"list"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `data` | arreglo de objeto | sí | Los objetos de esta página. |
| `data[].id` | string | sí | Identificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_). |
| `data[].livemode` | boolean | sí | true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT. |
| `data[].object` | `"branch"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `data[].issuer` | string | sí | El emisor de la sucursal. |
| `data[].name` | string | sí | Cómo la llama su equipo; va en el PDF. |
| `data[].zip` | string | sí | Su código postal: el LugarExpedicion de sus CFDI. |
| `data[].address` | objeto | sí | Su dirección, en el PDF de sus facturas. |
| `data[].address.street` | string o null | sí | Calle (Calle). |
| `data[].address.exterior` | string o null | sí | Número exterior (NumeroExterior). |
| `data[].address.interior` | string o null | sí | Número interior (NumeroInterior). |
| `data[].address.neighborhood` | string o null | sí | Colonia. |
| `data[].address.city` | string o null | sí | Municipio o alcaldía. |
| `data[].address.state` | string o null | sí | Estado (Estado): en el extranjero c_Estado para USA y CAN, o texto. |
| `data[].phone` | string o null | sí | Teléfono, en el PDF, o null. |
| `data[].email` | string o null | sí | Correo, en el PDF, o null. |
| `data[].series` | objeto | sí | La serie de cada tipo de CFDI que se timbra desde ella; null usa la del emisor. |
| `data[].series.invoice` | string o null | sí | Serie de sus facturas (tipo I); null, la del emisor. |
| `data[].series.credit_note` | string o null | sí | Serie de sus notas de crédito (tipo E); null, la del emisor. |
| `data[].series.payment` | string o null | sí | Serie de sus complementos de pago (tipo P); null, la del emisor. |
| `data[].series.transfer` | string o null | sí | Serie de sus traslados (tipo T); null, la del emisor. |
| `data[].archived` | boolean | sí | true si está archivada: ya no se factura desde ella. |
| `data[].created_at` | string (date-time) o null | sí | Cuándo se creó. |
| `data[].updated_at` | string (date-time) o null | sí | Cuándo cambió por última vez. |
| `has_more` | boolean | sí | true si hay más: pida la siguiente con starting_after igual al id del último. |
| `url` | string | sí | La ruta de esta lista. |

```json
{
  "object": "list",
  "data": [
    {
      "id": "brn_OufpKqnrvx9p3",
      "object": "branch",
      "livemode": false,
      "issuer": "iss_OufpKqnrvx9p",
      "name": "Sucursal Monterrey",
      "zip": "64000",
      "address": {
        "street": "Av. Constitución",
        "exterior": "1500",
        "interior": null,
        "neighborhood": "Centro",
        "city": "Monterrey",
        "state": "Nuevo León"
      },
      "phone": "81 1234 5678",
      "email": null,
      "series": {
        "invoice": "MTY",
        "credit_note": null,
        "payment": null,
        "transfer": null
      },
      "archived": false,
      "created_at": "2026-10-27T09:12:00-06:00",
      "updated_at": "2026-10-27T09:12:00-06:00"
    }
  ],
  "has_more": false,
  "url": "/v1/branches"
}
```

## 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.
