# Listar empleados

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

Los empleados del emisor, los más recientes primero.

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

## 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.employees.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.employees.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->employees->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.Employees.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.Employees.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.employees().listAutoPaging()) {
    System.out.println(item.getId());
}
```

## Respuesta 200

Correcto.

Un objeto `EmployeeList`:

| 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` | `"employee"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `data[].issuer` | string | sí | El emisor (iss_…). |
| `data[].number` | string | sí | Número de empleado (NumEmpleado). |
| `data[].name` | string | sí | Nombre completo del empleado. |
| `data[].tax_id` | string | sí | RFC (Rfc), 12 caracteres una persona moral y 13 una física. |
| `data[].curp` | string | sí | CURP, 18 caracteres. |
| `data[].social_security_number` | string | sí | Número de seguridad social (NumSeguridadSocial), 11 dígitos. |
| `data[].zip` | string | sí | Código postal del domicilio fiscal, 5 dígitos, como en la constancia de situación fiscal. El de un emisor es el lugar de expedición (LugarExpedicion) de sus comprobantes. |
| `data[].email` | string o null | sí | Correo del empleado, a donde van sus recibos. |
| `data[].start_date` | string | sí | Fecha de inicio de la relación laboral (FechaInicioRelLaboral), AAAA-MM-DD. |
| `data[].end_date` | string o null | sí | Último día trabajado si ya no trabaja ahí, AAAA-MM-DD. |
| `data[].daily_salary` | number | sí | Salario diario. |
| `data[].integrated_daily_salary` | number | sí | Salario diario integrado (SalarioDiarioIntegrado): no menor al salario diario. |
| `data[].contract_type` | string | sí | Tipo de contrato (TipoContrato), c_TipoContrato. Por omisión 01, por tiempo indeterminado. |
| `data[].workday_type` | string | sí | Tipo de jornada (TipoJornada), c_TipoJornada. Por omisión 01, diurna. |
| `data[].regime_type` | string | sí | Tipo de régimen (TipoRegimen): 02 sueldos y salarios. |
| `data[].periodicity` | string | sí | Periodicidad del pago (PeriodicidadPago): 02 semanal, 03 catorcenal, 04 quincenal (por omisión), 05 mensual. |
| `data[].risk_class` | string | sí | Clase de riesgo del puesto ante el IMSS (RiesgoPuesto), 1 a 5. Por omisión 1. |
| `data[].state` | string | sí | Entidad federativa donde trabaja (ClaveEntFed): JAL, CMX, NLE… |
| `data[].border_zone` | boolean | sí | true si trabaja en la zona libre de la frontera norte (salario mínimo de frontera). |
| `data[].unionized` | boolean | sí | true si es sindicalizado (Sindicalizado). |
| `data[].department` | string o null | sí | Departamento (Departamento). |
| `data[].position` | string o null | sí | Puesto (Puesto). |
| `data[].warnings` | arreglo de string | sí | Lo que el SAT podría observar de sus datos, antes de timbrar. |
| `data[].created_at` | string (date-time) | sí | Cuándo se creó, ISO 8601 con la hora de la Ciudad de México (-06:00). |
| `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": "emp_OufpKqnrvx9p3RxmD1RIDgEHzKYPYnYBlV",
      "object": "employee",
      "livemode": false,
      "issuer": "iss_OufpKqnrvx9p",
      "number": "9",
      "name": "ANA GÓMEZ RUIZ",
      "tax_id": "GORA800101JK2",
      "curp": "GORA800101MDFMZN09",
      "social_security_number": "12345678903",
      "zip": "06000",
      "email": null,
      "start_date": "2024-03-04",
      "end_date": null,
      "daily_salary": 320,
      "integrated_daily_salary": 334.66,
      "contract_type": "01",
      "workday_type": "01",
      "regime_type": "02",
      "periodicity": "02",
      "risk_class": "1",
      "state": "CMX",
      "border_zone": false,
      "unionized": false,
      "department": null,
      "position": null,
      "warnings": [],
      "created_at": "2026-10-20T09:02:11-06:00"
    }
  ],
  "has_more": false,
  "url": "/v1/employees"
}
```

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