Runs
A run is the execution record for a job. Every time a job’s HTTP request is dispatched, a run is created that captures the complete request and response details.
What gets recorded
| Field | Description |
|---|---|
response_status | HTTP status code returned by your endpoint |
response_body | Full response body (truncated for large responses) |
response_headers | Response headers as key-value pairs |
request_headers | Request headers sent (including any webhook signing headers) |
request_body | Request body sent |
started_at | Timestamp when the HTTP request was dispatched |
executed_at | Timestamp when the response was received |
duration_ms | Total round-trip time in milliseconds |
error_message | Human-readable error description (if the execution failed) |
failure_reason | Categorized failure reason (if the execution failed) |
Failure reasons
When a job fails, Recuro classifies the failure into one of these categories:
| Reason | Description |
|---|---|
timeout | Your endpoint did not respond within the configured timeout |
connection_error | Could not establish a TCP connection (connection refused, reset, unreachable) |
dns_error | DNS resolution failed (could not resolve hostname) |
ssl_error | TLS/SSL handshake failed (certificate error, protocol mismatch) |
http_client_error | Your endpoint returned a 4xx status code |
http_server_error | Your endpoint returned a 5xx status code |
invalid_url | The configured URL is malformed or uses an unsupported protocol |
assertion_failed | The response did not satisfy one or more success assertions |
limit_exceeded | Your team’s monthly request limit has been reached |
unknown | An unexpected error occurred |
Viewing runs
In the dashboard
- Jobs: Navigate to Jobs > [job] to see the run details including response status, body, headers, and timing
- Crons: Navigate to Crons > [cron] > Executions to see the execution history. Cron executions record the same fields as job runs
Via completion callbacks
If a callback_url is configured, Recuro sends a POST with the execution summary after each run completes. See Jobs > Completion callbacks for the payload format.
Runs vs. cron executions
Jobs have runs (one per job, stored in the runs table). Crons have executions (one per scheduled firing, stored in the cron_executions table). Both capture the same data — the distinction is organizational:
- A job has exactly one run (plus one run per retry attempt, each on its own job record)
- A cron has many executions over its lifetime
Next steps
- Jobs — Understand the full job lifecycle
- Viewing and Debugging Runs — Troubleshoot failed executions
- Troubleshooting — Common errors and diagnostic checklists