# Actualizar una sucursal

`POST https://api.fiscalisto.com/v1/branches/{id}`

Cambia solo los campos que manda; una serie en null vuelve a la del emisor. archived: true la archiva (ya no se factura desde ella y sus facturas la siguen nombrando), false la restaura. El código postal de una sucursal que ya facturó no cambia: si se mudó, archívela y cree otra.

## Parámetros

| Nombre | Dónde | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `id` | ruta | sí | El id del objeto. |
| `Idempotency-Key` | encabezado |  | Opcional (los SDK la mandan solos). Si la respuesta se pierde, repita la solicitud con el mismo valor durante 24 horas: contesta lo mismo, con idempotent-replayed: true, y no lo hace dos veces (ni crea, ni manda correos, ni cobra). |

## Cuerpo

| Campo | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `name` | string |  | Cómo la llama su equipo, por ejemplo «Sucursal Monterrey». Va en el PDF. (hasta 60 caracteres) |
| `zip` | string |  | Su código postal (LugarExpedicion de sus CFDI): uno por sucursal, distinto del domicilio fiscal del emisor. |
| `address` | objeto |  | La dirección que va en el PDF de sus facturas. |
| `address.street` | string o null |  | Calle. |
| `address.exterior` | string o null |  | Número exterior. |
| `address.interior` | string o null |  | Número interior. |
| `address.neighborhood` | string o null |  | Colonia. |
| `address.city` | string o null |  | Municipio o alcaldía. |
| `address.state` | string o null |  | Estado; por omisión, el de su código postal. |
| `phone` | string o null |  | Teléfono, para el PDF. |
| `email` | string (email) o null |  | Correo, para el PDF. |
| `series` | objeto |  | Serie (Serie), hasta 25 caracteres. Cada serie lleva sus propios folios. |
| `series.invoice` | string o null |  | Serie de sus facturas (tipo I); sin ella, la del emisor. |
| `series.credit_note` | string o null |  | Serie de sus notas de crédito (tipo E); sin ella, la del emisor. |
| `series.payment` | string o null |  | Serie de sus complementos de pago (tipo P); sin ella, la del emisor. |
| `series.transfer` | string o null |  | Serie de sus traslados (tipo T); sin ella, la del emisor. |
| `archived` | boolean |  | true la archiva: ya no se puede facturar desde ella, y sus facturas la siguen nombrando. false la restaura. |

Ejemplo:

```json
{
  "archived": true
}
```

## Con el SDK de TypeScript

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

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

const branch = await fiscalisto.branches.update("brn_OufpKqnrvx9p3", { archived: true }, { idempotencyKey: "pedido-A-1042" });
```

## Con el SDK de Python

```python
from fiscalisto import Fiscalisto

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

branch = fiscalisto.branches.update("brn_OufpKqnrvx9p3", {"archived": True}, idempotency_key="pedido-A-1042")
```

## Con el SDK de PHP

```php
<?php

use Fiscalisto\Fiscalisto;

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

$branch = $fiscalisto->branches->update('brn_OufpKqnrvx9p3', ['archived' => true], ['idempotency_key' => 'pedido-A-1042']);
```

## Con el SDK de .NET

```csharp
using Fiscalisto;

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

var branch = await fiscalisto.Branches.UpdateAsync("brn_OufpKqnrvx9p3", new UpdateBranchParams { Archived = true }, new RequestOptions { IdempotencyKey = "pedido-A-1042" });
```

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

	branch, err := client.Branches.Update(ctx, "brn_OufpKqnrvx9p3", &fiscalisto.UpdateBranchParams{
		Archived: fiscalisto.Bool(true),
	}, fiscalisto.WithIdempotencyKey("pedido-A-1042"))
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(branch.ID)
}
```

## Con el SDK de Java

```java
import com.fiscalisto.FiscalistoClient;
import com.fiscalisto.RequestOptions;
import com.fiscalisto.model.UpdateBranchParams;

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

var branch = fiscalisto.branches().update("brn_OufpKqnrvx9p3", new UpdateBranchParams().setArchived(true), RequestOptions.idempotencyKey("pedido-A-1042"));
System.out.println(branch.getId());
```

## Respuesta 200

Correcto.

Un objeto `Branch`:

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

```json
{
  "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"
}
```

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