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

# Listado de departamentos

> Endpoint para obtener el listado de departamentos soportados por OnePay. Cada ID se usa como `filter[state_id]` al consultar el listado de ciudades.

<Card title="Usado en listar ciudades" icon="city" href="/client/companies/list-cities" horizontal>
  El `id` de cada departamento es el valor que se envía como `filter[state_id]` al consultar el listado de ciudades.
</Card>

### Query Parameters

<ParamField query="filter[name]" type="string" placeholder="antio">
  Filtra departamentos por nombre (búsqueda parcial, case-insensitive).
</ParamField>

<ParamField query="sort" type="string" default="name">
  Ordenamiento por nombre. Usa `name` para ascendente y `-name` para descendente.
</ParamField>

### Ejemplos de uso

<Tabs>
  <Tab title="curl">
    ```bash theme={null}
    curl https://api.onepay.la/v1/states \
      -X GET \
      -H "Authorization: Bearer sk_test_xxx"
    ```

    Con filtro por nombre:

    ```bash theme={null}
    curl "https://api.onepay.la/v1/states?filter[name]=antio" \
      -X GET \
      -H "Authorization: Bearer sk_test_xxx"
    ```
  </Tab>

  <Tab title="JavaScript">
    ```ts theme={null}
    const response = await fetch('https://api.onepay.la/v1/states?filter[name]=antio', {
      method: 'GET',
      headers: {
        'Authorization': 'Bearer sk_test_xxx',
      },
    });
    const data = await response.json();
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    import requests

    response = requests.get(
        'https://api.onepay.la/v1/states',
        params={'filter[name]': 'antio'},
        headers={'Authorization': 'Bearer sk_test_xxx'},
    )
    data = response.json()
    ```
  </Tab>
</Tabs>

### Response

La respuesta es un arreglo con todos los departamentos disponibles (no paginado).

<ResponseField name="id" type="integer">ID único del departamento. Úsalo como `filter[state_id]` al consultar ciudades.</ResponseField>
<ResponseField name="name" type="string">Nombre del departamento.</ResponseField>

### Ejemplo de respuesta

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "id": 5,
      "name": "Antioquia"
    },
    {
      "id": 8,
      "name": "Atlántico"
    },
    {
      "id": 11,
      "name": "Bogotá D.C."
    },
    {
      "id": 13,
      "name": "Bolívar"
    }
  ]
  ```
</ResponseExample>
