# Error handling with the HTTP connector
The HTTP connector surfaces enriched error data that helps you identify, manage, and resolve issues when a request fails. It displays the HTTP status, a standardized error message, and structured response details such as headers and body. These details improve clarity and support automation. This feature currently applies to the HTTP connector.
# How to view the error message
The connector raises an error when the Send request action receives a non-2xx response.
The job report's Error tab displays the following:
- A structured error message
 - HTTP response status
 - Response headers
 - Response body (when applicable)
 
Each value appears in a dedicated field. You can use these in Monitor blocks, logs, or other error-handling logic.
 HTTP connector error datapills for Monitor and On error blocks.
# Error structure
The HTTP connector includes the following fields in job errors:
| Field | Description | 
|---|---|
error_type_id |  Stable identifier for the error type. For example: err.http.response.client_error.not_found. | 
error_type |  Display name based on HTTP status. For example: 404 Not Found. | 
error_id |  Unique identifier for the error instance. | 
error_message |  High-level message. For example, HTTP 500 error. | 
http_response.code |  Numeric HTTP status code. For example: 404. | 
http_response.status_text |  HTTP status text. For example: Not Found. | 
http_response.headers |  HTTP response headers. | 
http_response.body |  HTTP response body as a string. | 
# HTTP error type IDs
The error_type_id field for the HTTP connector follows a structured format based on standard HTTP status code classes. You can use these patterns to identify and handle categories of HTTP errors in recipes:
| HTTP status class | Example error_type_id prefix |  Description | 
|---|---|---|
| 3xx | err.http.response.redirection |  Redirection responses | 
| 4xx | err.http.response.client_error |  Client-side errors, such as 404 or 401 | 
| 5xx | err.http.response.server_error |  Server-side errors, such as 500 or 503 | 
Use these prefixes in Monitor or On error blocks to group and handle related HTTP failures. For example, you can check if error_type_id starts with err.http.response.client_error to catch all client-side issues.
# Structured HTTP error output
The HTTP connector returns a structured error object you can use for debugging, filtering, and automation. This object includes fields such as the HTTP status code, response body, headers, and a machine-readable error type ID. For example:
{
  "error_type_id": "err.http.response.client_error.not_found",
  "error_type": "Not Found",
  "error_id": "ad6a...b3c",
  "error_message": "HTTP 404 error",
  "http_response": {
    "code": 404,
    "status_text": "Not Found",
    "body": "{\"error\": \"Resource not found\"}",
    "headers": {
      "Content-Type": "application/json"
    }
  }
}
You can access this structured error data through the following:
- Job reports
 - Monitor blocks (error datapills)
 - On error blocks (error datapills)
 
Workato recommends using error_type_id for automation. This field is stable and supports reliable programmatic checks.
# Best practices for error handling
Use error_type_id and http_response fields in Monitor or On error blocks to build reliable recipes:
- Catch and handle specific errors using 
error_type_id - Retry requests based on HTTP status codes or response headers
 - Send structured error data to logs or alerting systems
 
These fields eliminate the need for string parsing or fragile pattern matching.
 Last updated: 10/14/2025, 6:07:15 PM