# Execuções

> Pedir a cópia integral, a consulta ou os documentos de um processo.

Uma **Execução** é um pedido ao tribunal para um Processo: a cópia integral, a consulta dos
dados ou os documentos peça a peça.

## Pedir

```bash
curl -X POST https://sync.lops.com.br/v1/processos/8187736-02.2026.8.05.0001/execucoes \
  -H "Authorization: Bearer $SYNC_CHAVE" -H 'Idempotency-Key: pedido-123' \
  -H 'Content-Type: application/json' \
  -d '{"ato": "copia_integral", "certificado_id": "5b1e…"}'
```

```json
{"id": "c3f0…", "processo": "8187736-02.2026.8.05.0001", "tribunal": "8.05", "sistema": "PJE",
 "ato": "copia_integral", "estado": "na_fila", "desfecho": null, "pendencia": null, "documentos": []}
```

| Campo | Regra |
|---|---|
| `ato` | `copia_integral` (padrão), `consulta` (dados do processo) ou `documentos` (peça a peça) |
| `certificado_id` / `credencial_id` | Sem ele, vale a Conexão padrão (ver [Cofre](https://docs.sync.lops.com.br/cofre/)) do tipo que o tribunal exige; sem padrão → `422`. O Sync nunca escolhe a Conexão por você |
| `sistema` | Opcional, mesmo em tribunal com mais de um sistema (TJSP: e-SAJ e Eproc; TJPR: Projudi e Eproc). Sem ele, o Sync escolhe (ver abaixo). Informado, o Sync usa só esse |
| `analise` | Opcional, só com `copia_integral`: `nano` (fase, partes, valores, prazos, próximos atos), `mini` (+ laudo: histórico, decisões, risco, pendências) ou `pro` (+ teses, pontos de defesa, jurisprudência citada). Vem como o documento `analise.json` |
| `Idempotency-Key` | **Obrigatório.** Repetir o pedido com a mesma chave devolve a **mesma** execução |

### Tribunal com mais de um sistema

Sem `sistema` no pedido, o Sync escolhe pelo número do processo o sistema onde ele mais
provavelmente está, e é esse que a resposta mostra em `sistema`. Se lá o processo não for
encontrado, o Sync tenta os outros sistemas do tribunal, em ordem, na **mesma** execução — você
acompanha e paga uma execução só. Quando achar em outro sistema, o `sistema` da execução passa a
ser aquele onde achou; se nenhum achar, a execução termina com `nao_encontrado` e mostra o
primeiro. Com `sistema` informado não há troca: `nao_encontrado` é a resposta daquele sistema.

### Resposta

`202` = entrou na fila. `200` com `"de_cache": true` = a sua Conta pediu o mesmo processo há pouco,
e o Sync devolve essa execução em vez de ir ao tribunal de novo:

- dados do processo: 6 h;
- cópia e documentos: 24 h;
- execução com pendência: 24 h.

### Recusas antes da fila

| HTTP | `erro` | O que fazer |
|---|---|---|
| 422 | `idempotency_key_obrigatoria` | Envie o cabeçalho `Idempotency-Key` |
| 422 | `cnj_invalido` | Número do processo com dígito verificador errado |
| 422 | `tribunal_nao_suportado` | Tribunal/sistema ainda não coberto |
| 422 | `conexao_obrigatoria` | Informe `certificado_id` ou `credencial_id`, ou marque uma Conexão padrão no Cofre |
| 422 | `analise_so_com_copia` | `analise` só vale com `ato: copia_integral` |
| 404 | `nao_encontrado` | A Conexão informada não existe nesta Conta |
| 409 | `certificado_vencido` | Cadastre o certificado novo |
| 409 | `segundo_fator_invalido` | O tribunal recusou o código da última vez; cadastre a chave nova em `/autenticacoes` |
| 409 | `limite_mensal_atingido` | A Conta chegou ao limite mensal de consumo do contrato |

## Acompanhar

Para ver tudo o que a Conta pediu: `GET /v1/execucoes?limite=50&estado=concluida`, mais recentes
primeiro; a próxima página vem com `antes=<criada_em da última linha>`.

`GET /v1/execucoes/{id}` até o `estado` sair de `na_fila`/`em_andamento` (consulte de novo em
15–30 s). O que cada estado, desfecho e pendência significa está em
[Desfechos e pendências](https://docs.sync.lops.com.br/desfechos/).

## Baixar os documentos

`GET /v1/execucoes/{id}/documentos/{documento_id}` → `{"nome", "url", "expira_em_s": 7200}`.
O link vale 2 horas; peça outro se expirar.

## Refazer

Se uma entrega veio errada: `POST /v1/execucoes/{id}/refazer`.

- **Limites:** uma vez por execução, até 30 dias depois do pedido.
- **Cobrança:** a nova execução é cortesia, e o consumo da original é estornado com um ajuste negativo.

| HTTP | `erro` | Significa |
|---|---|---|
| 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 |
