Status Codes and Errors

Both the Galileo APIs and Galileo's Cloudflare implementation may return response codes.

Galileo API status codes

Status codes and errors are communicated in the status_code, status, and errors fields.

  • Endpoint-specific status codes are documented in the description for each individual endpoint and have one of these two formats:
    • [3-digit-prefix]-xx
    • [4-digit-prefix]-xx
  • Status codes that are used across endpoints are listed in the Global Response Statuses enumeration.

When the status code communicates an error, the errors list is present and is populated with one or more details about the error.

Example error response

{
    "status_code": 2,
    "status": "Invalid parameter(s)",
    "system_timestamp": "2020-08-13 10:20:46",
    "response_data": {},
    "processing_time": 0.28,
    "echo": {
        "transaction_id": "hymteqhhj9qlyrebeb8ktmk2GEwfql",
        "provider_transaction_id": "",
        "provider_timestamp": null
    },
    "errors": [
        "achAccountNo='achAccountNo' is required and cannot be empty",
        "achRoutingNo='achRoutingNo' is required and cannot be empty"
    ]
}
<response>
    <status_code>2</status_code>
    <status>Invalid parameter(s)</status>
    <system_timestamp>2020-08-13 10:20:08</system_timestamp>
    <response_data/>
    <processing_time>0.228</processing_time>
    <echo>
        <transaction_id>hymteqhhj9qlyrebeb8ktmk2GEwfql</transaction_id>
        <provider_transaction_id/>
        <provider_timestamp/>
    </echo>
    <errors>
        <error>achAccountNo='achAccountNo' is required and cannot be empty</error>
        <error>achRoutingNo='achRoutingNo' is required and cannot be empty</error>
    </errors>
</response>

Cloudflare response codes

Galileo uses Cloudflare for its API web services. Cloudflare returns standard HTTP response codes as well as codes specific to the application. The material for this table comes from the Cloudflare developer site.

CodeDescription
200OK — Request was successful.
301Moved Permanently — The target resource has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs.
400Bad Request — The web client did not send a correct request to the server. This is a web client error: malformed request syntax, invalid request, message framing, or deceptive request routing
403Forbidden — If you’re seeing a 403 error without Cloudflare branding, this is always returned directly from the origin web server, not Cloudflare, and is generally related to permission rules on the server. Cloudflare will serve 403 responses if the request violated either a default web-application firewall (WAF)-managed rule enabled for all orange-clouded Cloudflare domains or a WAF-managed rule enabled for that particular zone.
404Not Found — Origin server was unable or unwilling to find the resource requested. This usually means the host server could not find the resource.
499Client Close Request — nginx-specific response code to indicate when the connection has been closed by the web client while the server is still processing its request, making the server unable to send a status code back.
500Internal Server Error — Error 500 generally indicates an issue with the origin web server.
502Bad Gateway — Cloudflare is unable to establish contact with the origin web server.
503Service Unavailable — The server cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.
504Gateway Timeout — Cloudflare is unable to establish contact with the origin web server.
520Web server returns an unknown error — The origin server returns an empty, unknown, or unexpected response to Cloudflare.
521Web server is down — The origin server refused connections from Cloudflare. Security solutions at the origin may be blocking legitimate connections from certain Cloudflare IP addresses.
524A timeout occurred — Cloudflare was able to complete a TCP connection to the origin server but did not receive a timely HTTP response. In the event that a TCP session is interrupted by AWS-firewall node rebalancing, Cloudflare will send 502 or 521.
530This error is returned along with a 1xxx error.