# Listar usuários

`GET /v1/usuarios`

Usuários da Conta, com papel (`administrador`, `operador` ou `financeiro`) e se estão ativos. Só administrador.

## Respostas

| HTTP | Significa |
|---|---|
| 200 | OK |
| 422 | Corpo ou parâmetros com formato inválido (`detail` lista os campos) |

### Exemplo de resposta

```json
[
  {
    "id": "7d6c5b4a-3928-4f1e-9d0c-b1a2f3e4d5c6",
    "conta_id": "0f1e2d3c-4b5a-6978-8a9b-0c1d2e3f4a5b",
    "email": "fulano@escritorio.com.br",
    "nome": "Fulano de Tal",
    "papel": "operador",
    "ativo": true
  }
]
```

## Erros

Recusas vêm como `{"detail": {"erro": "<código>", "mensagem": "…"}}`.

| HTTP | `erro` | Significa |
|---|---|---|
| 401 | — | Chave ausente ou inválida |

## Exemplos de requisição

### Bash

```bash
curl 'https://sync.lops.com.br/v1/usuarios' \
  -H "Authorization: Bearer $SYNC_CHAVE"
```

### JavaScript

```javascript
const resposta = await fetch("https://sync.lops.com.br/v1/usuarios", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.SYNC_CHAVE}`,
  },
});
console.log(resposta.status, await resposta.json());
```

### Python

```python
import os

import requests

resposta = requests.get(
    "https://sync.lops.com.br/v1/usuarios",
    headers={"Authorization": f"Bearer {os.environ['SYNC_CHAVE']}"},
)
print(resposta.status_code, resposta.json())
```

### PHP

```php
<?php
$ch = curl_init('https://sync.lops.com.br/v1/usuarios');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('SYNC_CHAVE'),
    ],
]);
$corpo = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
var_dump($status, json_decode($corpo, true));
```
