The following error responses may be issued by Bytio if there is a problem that prevents your request from succeeding.

To test a zone you can make a request to Bytio’s IP-checking endpoint at ip.bytio.com. For example, for a zone with ID ABCDEF, a sample curl request would be:

curl \
 --proxy http://proxy.bytio.com:8080 \
 --proxy-user zone-ABCDEF:YOUR-API-KEY \
 --verbose \
 "https://ip.bytio.com"

It’s important to use the curl --verbose flag to ensure you see the full error response, including the bytio-error response header that provides more detail about the error.

The possible error HTTP status codes, and their description, are shown below:

HTTP Status CodeDescription
200Success

The request was successful.
400Invalid argument

There was an error in your request parameters or requested zone is not enabled or not provisioned.

You should inspect the bytio-error proxy CONNECT HTTP response header for a verbose explanation of what caused the error.
402Payment required

There is a payment issue on your account. Go to the billing page of the dashboard to correct it.
403User or zone not enabled

Either the user making the request, or the zone the request is being made to, are disabled. A 403 will also be returned if your account is in review.
404Session not available

Returned when the session ID passed in the zone username is no longer available. This can occur when the IP or mobile device the session was bound to is no longer available. You should create a new session ID to use for subsequent requests.

Learn more about sessions.
407Wrong API key

Your zone request password is your API key. The API key used was not valid. To view your API key, go to the profile page of the dashboard.

You will also see this error if you do not have permissions to make requests through this zone - for example, if you are in the collaborator role and you do not have access to this zone.
429Too many connections

You are making too many simultaneous connections. You should slow your requests or implement an exponential backoff algorithm in the code making the requests.

Typically you will receive this response for a zone configured with the per-connection billing method and more simultaneous requests than the provisioned amount being made.
500Unable to service your request

The platform was unable to service your request. Should this error code persist, please contact Bytio support or check platform status here.

Inspecting the bytio-error response header

In the case of an error HTTP status code being returned you should inspect the bytio-error proxy CONNECT HTTP response header for a verbose explanation of what caused the error.

The easiest way to see the bytio-error proxy CONNECT HTTP response header is to run a curl request with the --verbose flag.

An example of the full HTTP conversation resulting from the example above, showing the bytio-errorresponse header (informing us that we have an insufficient account balance), is below:

curl \
 --proxy http://proxy.bytio.com:8080 \
 --proxy-user zone-:YOUR-API-KEY \
 --verbose \
 "https://ip.bytio.com"

* CONNECT tunnel: HTTP/1.1 negotiated
* Establish HTTP proxy tunnel to ip.bytio.com:443
* Proxy auth using Basic with user 'zone-ABCDEF'
> CONNECT ip.bytio.com:443 HTTP/1.1
> Host: ip.bytio.com:443
> Proxy-Authorization: Basic xxxxx
> Proxy-Connection: Keep-Alive
> 
< HTTP/1.1 402 Payment Required
< bytio-error: Insufficient account balance.
< date: Mon, 11 Dec 2020 09:46:55 GMT
< 
* CONNECT tunnel failed, response 402