API pública

Contagem de prazos para equipas jurídicas portuguesas

Calcula prazos, sincroniza processos e recebe eventos assinados por webhook com contratos versionados por data.

Motor atual: 2.2.1. A versão corrige transferências de prazos processuais em dias que atravessam férias judiciais, sem alterar o contrato da API.

Os prazos podem incluir o estado archived. As listagens preservam os registos arquivados; os calendários omitem esses prazos.

Contrato

Cada chave de API continua ligada à equipa que a emitiu. Mudar o workspace no portal não altera o âmbito da chave. Criar equipas e gerir links de entrada exige sessão Better Auth no portal. Cada conta guarda a sua equipa ativa. Após a migração, é necessário iniciar sessão novamente.

Calcular prazo

curl -X POST https://contarprazos.pt/api/deadline-calculations \
  -H "Authorization: Bearer $PRAZOS_API_KEY" \
  -H "X-Prazos-API-Version: 2026-05-19" \
  -H "Content-Type: application/json" \
  -d '{
    "startDate": "2026-05-04",
    "amount": 10,
    "unit": "dias",
    "kind": "processual",
    "notificationKind": "nenhuma"
  }'

Sincronizar processo

curl -X POST https://contarprazos.pt/api/processes/sync \
  -H "Authorization: Bearer $PRAZOS_API_KEY" \
  -H "X-Prazos-API-Version: 2026-05-19" \
  -H "Idempotency-Key: process-kleos-123-v1" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": "kleos-123",
    "name": "Processo principal",
    "tags": ["civil"]
  }'

SDK TypeScript

import { PrazosClient } from "@prazos/sdk";

const client = new PrazosClient({ apiKey: process.env.PRAZOS_API_KEY! });

const { calculation } = await client.deadlines.calculate({
  startDate: "2026-05-04",
  amount: 10,
  unit: "dias",
  kind: "processual",
});

console.log(calculation.deadline, calculation.rulesVersion);

Webhooks

Entregas usam X-Prazos-Signature no formato t=<unix>,v1=<hmac>. O HMAC é SHA-256 sobre <unix>.<body> com o segredo mostrado na criação do webhook.

Callbacks de notificações

O callback de estado da Twilio aceita apenas formulários assinados em X-Twilio-Signature. O recetor provider-neutral exige um bearer token dedicado em NOTIFICATION_EVENTS_SECRET; ambos permanecem fechados quando a respetiva configuração não existe.