Guia de integração
Erros e health checks
Envelope padrão de erros, códigos comuns e endpoints de health.
Envelope padrão
{ "error": { "code": "VALIDATION_ERROR", "message": "Tpossible must be <= Tmatch" } }Códigos comuns:
| HTTP | code | Significado típico |
|---|---|---|
| 400 | VALIDATION_ERROR | Corpo / parâmetros inválidos. |
| 400 | INVALID_TRANSFORM_EXPR | JSONata não compila. |
| 400 | INVALID_DATA_SOURCE | dataSourceId não pertence ao tenant. |
| 401 | UNAUTHORIZED | API key/secret ausente ou inválida. |
| 404 | NOT_FOUND | Recurso inexistente para o tenant. |
| 409 | SLUG_TAKEN | Slug já registrado em outro data source. |
| 409 | IDENTITY_EXISTS | Dataset já possui um field marcado como identity. |
| 409 | WINDOW_EXPIRED | Janela de 5 min do primeiro sample expirada. |
| 415 | UNSUPPORTED_MEDIA_TYPE | Content-Type não é application/json. |
| 429 | (rate limit) | Veja retry-after e x-rate-limit-*. |
Health checks
GET /healthz— liveness. Retorna 200 se o processo está vivo.GET /ready— readiness (verifica DB + fila + Redis). Retorna 503 se algum dependente estiver fora.
Ambos são públicos (não exigem x-api-key).

