# Refazer execução

`POST /v1/execucoes/{execucao_id}/refazer`

Refaz uma execução que entregou errado: uma vez por execução, até 30 dias depois do pedido. A nova é cortesia e o consumo da original é estornado com um ajuste negativo.

## Parâmetros

| Nome | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| `execucao_id` | caminho | uuid | sim | Id da execução a refazer |

## Respostas

| HTTP | Significa |
|---|---|
| 202 | Aceito: entrou na fila |
| 422 | Corpo ou parâmetros com formato inválido (`detail` lista os campos) |

### Exemplo de resposta

```json
{
  "id": "e81b2f60-4c3d-4a9e-b1f7-6d5c4b3a2918",
  "processo": "8187736-02.2026.8.05.0001",
  "tribunal": "8.05",
  "sistema": "PJE",
  "ato": "copia_integral",
  "estado": "na_fila",
  "desfecho": null,
  "pendencia": null,
  "criada_em": "2026-09-26T12:00:00+00:00",
  "concluida_em": null,
  "documentos": [],
  "refazer_de": "c3f0a9d2-7b1e-4f6a-8c2d-5e9b1a0f3d47"
}
```

## Erros

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

| HTTP | `erro` | Significa |
|---|---|---|
| 401 | — | Chave ausente ou inválida |
| 404 | `nao_encontrado` | A execução não existe nesta Conta |
| 409 | `execucao_em_andamento` | Só dá para refazer uma execução concluída |
| 409 | `cortesia_nao_se_refaz` | Esta execução já é o refazer de outra |
| 409 | `prazo_de_refazer_vencido` | Passaram-se mais de 30 dias do pedido |
| 409 | `ja_refeita` | Esta execução já foi refeita uma vez |

## Exemplos de requisição

### Bash

```bash
curl -X POST 'https://sync.lops.com.br/v1/execucoes/c3f0a9d2-7b1e-4f6a-8c2d-5e9b1a0f3d47/refazer' \
  -H "Authorization: Bearer $SYNC_CHAVE"
```

### JavaScript

```javascript
const resposta = await fetch("https://sync.lops.com.br/v1/execucoes/c3f0a9d2-7b1e-4f6a-8c2d-5e9b1a0f3d47/refazer", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SYNC_CHAVE}`,
  },
});
console.log(resposta.status, await resposta.json());
```

### Python

```python
import os

import requests

resposta = requests.post(
    "https://sync.lops.com.br/v1/execucoes/c3f0a9d2-7b1e-4f6a-8c2d-5e9b1a0f3d47/refazer",
    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/execucoes/c3f0a9d2-7b1e-4f6a-8c2d-5e9b1a0f3d47/refazer');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    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));
```
