# Ver extrato do mês

`GET /v1/extratos/{mes}`

Extrato da Conta no mês. Provisório até ser aprovado: enquanto isso, é recalculado.

## Parâmetros

| Nome | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| `mes` | caminho | texto | sim | Mês no formato `AAAA-MM` |

## Respostas

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

### Exemplo de resposta

```json
{
  "mes": "2026-09",
  "estado": "aprovado",
  "provisorio": false,
  "linhas": [],
  "subtotal": "0.00",
  "complemento_minimo": "0.00",
  "creditos_usados": "0.00",
  "ativacao": "0.00",
  "total": "0.00"
}
```

## Erros

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

| HTTP | `erro` | Significa |
|---|---|---|
| 401 | — | Chave ausente ou inválida |
| 404 | `sem_extrato` | O mês ainda não foi calculado |
| 422 | `mes_invalido` | Mês fora do formato `AAAA-MM` |

## Exemplos de requisição

### Bash

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

### JavaScript

```javascript
const resposta = await fetch("https://sync.lops.com.br/v1/extratos/2026-09", {
  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/extratos/2026-09",
    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/extratos/2026-09');
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));
```
