Documentation

Error Codes

This page provides a comprehensive list of all error codes that the CurrencyApi.net API can return. Understanding these error codes will help you handle errors gracefully in your applications and provide better user experiences.

All error responses follow a consistent format and include an error code, message, and HTTP status code to help you identify and resolve issues quickly.

Overview

When an error occurs, the API will return an HTTP error status code along with a JSON or XML response containing the error details. The error response includes:

  • Error Code: A specific numeric code identifying the type of error
  • Error Message: A human-readable description of what went wrong
  • HTTP Status Code: The standard HTTP status code (400, 401, 403, 404, 429, 500)

Use the error code to determine the specific issue and provide appropriate feedback to your users.

Error Response Format

All error responses follow a consistent JSON and XML format. The response includes the error code, message, and HTTP status code.

Error Response Properties

valid boolean

Always false for error responses

error object

Object containing error details

code number

The specific error code (400-500)

message string

Human-readable error message

Error Codes Reference

Below is the complete list of all error codes that the API can return:

All Error Codes

400 number

You did not supply an API key

401 number

Your API key is not valid

402 number

Your requesting an API function that does not exist. Please check the docs

403 number

You requested a pair that does not exist

406 number

You've requested a base currency that doesn't exist

408 number

Your subscription plan does not allow you to select a base currency

410 number

The 'from' parameter was not set

411 number

The 'to' parameter was not set

412 number

The 'amount' parameter was not set

413 number

The value you entered for the amount parameter is incorrect. Please make sure it is numeric and greater than 0

414 number

One or more of the currencies is not a currency we support or has been entered invalid

415 number

One or more of the currencies you wanted to receive (limit) is not a currency we support or has been entered invalid

416 number

Your subscription plan does not allow you to use the %s endpoint

417 number

There is no historical data for %s for the date supplied

418 number

One or more of the dates you supplied were not in the correct format (eg 2017-12-25)

419 number

We allow a maximum of 365 days. Please change this and try again

420 number

You have requested either today's date or a date in the future. For timeframe and history endpoints, we store the data at 23:59 GTM of the current day

421 number

Your IP address is blacklisted. Please contact support to be removed from the blacklist.

500 number

There seems to be a technical fault our end

Best Practices

To handle errors effectively in your applications:

  • Always check the valid field: This indicates whether the request was successful
  • Handle specific error codes: Use the error code to provide specific user feedback
  • Implement retry logic: For rate limit errors (405), implement exponential backoff
  • Log errors appropriately: Include error codes and messages in your application logs
  • Provide user-friendly messages: Translate technical error messages into user-friendly text
  • Monitor error rates: Track error frequencies to identify issues early
  • Handle subscription limits: Check for subscription-related errors (405, 407, 408, 416) and guide users to upgrade