> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trmlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Error handling

Chainabuse uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, etc.). Codes in the 5xx range indicate an error with Chainabuse's servers (these are rare).

The Chainabuse API uses the following error codes:

<table>
  <thead>
    <tr>
      <th>
        Error code
      </th>

      <th>
        Meaning
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        400
      </td>

      <td>
        Bad Request -- Your request is invalid.
      </td>
    </tr>

    <tr>
      <td>
        401
      </td>

      <td>
        Unauthorized -- Your API key is wrong.
      </td>
    </tr>

    <tr>
      <td>
        404
      </td>

      <td>
        Not Found -- The specified resource could not be found.
      </td>
    </tr>

    <tr>
      <td>
        405
      </td>

      <td>
        Method Not Allowed -- You tried to access an object with an invalid method.
      </td>
    </tr>

    <tr>
      <td>
        406
      </td>

      <td>
        Not Acceptable -- You requested a format that isn't JSON.
      </td>
    </tr>

    <tr>
      <td>
        429
      </td>

      <td>
        Too Many Requests -- You have exceeded your rate limit. See below for details on handling rate limits.
      </td>
    </tr>

    <tr>
      <td>
        500
      </td>

      <td>
        Internal Server Error -- We had a problem with our server. Try again later.
      </td>
    </tr>

    <tr>
      <td>
        503
      </td>

      <td>
        Service Unavailable -- We're temporarily offline for maintenance. Please try again later.
      </td>
    </tr>
  </tbody>
</table>
