Errors
Error Code: 1 (Internal error)
HTTP status Code: 500
Something went wrong on our side, and there is nothing you can do to fix that. We will get notified about all errors immediately, but if you are experiencing this often then please let us know!
These errors are connected to system failures, database connection lost or DDoS attack.
Error Code: 1000 (General error of validation process)
HTTP status Code: 400
This is a general validation error - usually you will see this if there is more than one type of validation error in request message. We will give you more detailed information in the 'context' part of the error response. Please look there to see what went wrong.
Error Code: 1001 (Resource that is related to given resource cannot be found)
HTTP status Code: 400
Some of our resources are connected to other resources - you cannot get one without the other. If in your requests you specify ID of that related resources that will be invalid or nonexistent, then we cannot fulfill the request and response with this error code is our way to notify you about it.
Common examples of this error are:
- creating a new newsletter using invalid campaign
- searching for valid clicktractId but using wrong autoresponder
- adding contact with nonexistent custom-field
Error Code: 1002 (Resource state forbids that kind of action)
HTTP status Code: 400
Whatever you tried to do, this cannot be accomplished. There are many reasons:
- You tried to add contact that is already on your blacklist
- You tried to add contact, but the email address is invalid (domain don't exist or domain don't have this email registered)
- You tried to add contact that was previously deleted or bounced
- You tried to send draft but given message is not a draft
- You tried to set not active from-field as a default one
We always add more information in the context or description section in the error response.
Error Code: 1003 (Parameter has wrong format)
HTTP status Code: 400
This is validation error. There are many other validation types, but this particular checks if value of parameters you send in request are in proper type.
Generally we check:
- resource ID format
- email address syntax
- IP address syntax
- reserved words
- forbidden words
- checks against dictionary (e.g. opt-in type values during adding contact)
- date format
- phone number format
Error Code: 1004 (Wrong number of values for multi-value parameter (hash, table))
HTTP status Code: 400
Sometimes we expect that parameters should be an array (table) with multiple values inside. There can be limits (max or min) to number of values inside that parameter, and when you see this error, you go past that limits. We will tell you what are the limits in any particular case - just take a look into 'context' section of error response.
Error Code: 1005 (Parameter has empty value)
HTTP status Code: 400
We sometimes expect that some fields must have value in them, but you sent us a parameter without it. We will tell you where we expect a value - look at 'context' section in error response.
Error Code: 1006 (Parameter has wrong type)
HTTP status Code: 400
Sometimes we require that some parameters have values of some type. We check mostly primitives (string, integer, boolean). We will return bad value and name of a parameter in the 'context' section of the error response.
Error Code: 1007 (Parameter value has incorrect length)
HTTP status Code: 400
Some parameters have restriction on how long or short they can be. We always return in the 'context' section what is the limit in that case.
Error Code: 1008 (There is another resource with the same value of unique property)
HTTP status Code: 409
We cannot add resource because there is already resource with the same unique properties. This can be:
- autoresponder name
- contact email in campaign
- campaign name
- custom-field name
- goal name
- goal URL
- goal update when
- goal profile name
- search-contacts name
- suppression name
Error Code: 1009 (Resource you tried to manipulate is used somewhere and this manipulation is forbidden)
HTTP status Code: 400
Sometimes it is forbidden to edit some resource because it is used somewhere else.
Examples:
- remove custom-field when it is used on webforms
- remove custom-field when it is used in search-contacts (segmentation)
- remove from-field that is used
- removing goal when it is used in search-contacts (segmentation)
- removing goal-profile when it is used in search-contacts (segmentation)
- removing newsletter when it is used in search-contacts (segmentation)
- removing search-contacts (segments) when it is used as a target for sending messages
Error Code: 1010 (Error in external resources)
HTTP status Code: 400
This error is related to any external checks we need to do in order to fulfill your request. If for any reason this external call fails we return this error and try to add some detailed information to 'context' section in the error response. One example could be a check during GoalProfile creation.
Error Code: 1011 (Message is already in "sending" mode, you cannot change its properties)
HTTP status Code: 400
You tried to edit newsletter that is already being sent.
Error Code: 1012 (Error during parsing message content)
HTTP status Code: 400
Error in the message body. We tried to analyze message body and cannot find one of mandatory merge_word. We will try to give you more details in 'context' section in the error response.
Error Code: 1013 (Resource with given ID cannot be found)
HTTP status Code: 404
There is simply no resource of given ID.
Error Code: 1014 (Problem during authentication process)
HTTP status Code: 403
This error may be returned for a couple of different reasons:
- Authorization headers were not sent (check headers if there is X-Auth-Token header sent during every request)
- Authorization headers were ok, but there is no token (it should be passed as X-Auth-Token: token_type your_api_key)
- Authorization headers were ok, but token type is unknown (it should be passed as X-Auth-Token: api-key your_api_key)
- Headers were ok, but api-key is invalid
Error Code: 1015 (Too many request to API, quota reached)
HTTP status Code: 429
In terms of this error, there could be a couple of reasons you should look for:
- You reached quota limit and throttling system was activated
- Our monitoring system recognised your requests pattern as a potential threat and temporarily disabled access to the API. It will be enabled in next 15 minutes. Please contact us, we will check and explain what could be wrong.
- Our monitoring system recognised you requests pattern as a risky behaviour and permanently disabled access to the API. Blockade could be removed only by our support.
- Restrictions policy for that account forbids access from this IP address. Please contact with our support.
Error Code: 1016 (Too many request to API or suspected behaviour, API was temporarily blocked, please wait)
HTTP status Code: 403
Error Code: 1017 (Suspected behaviour, API was permanently blocked, please contact with our support)
HTTP status Code: 403
Error Code: 1018 (Your IP was blocked)
HTTP status Code: 403
Error Code: 1019 (Service unavailable)
HTTP status Code: 503
The server is currently unable to handle the request due to a maintenance.
Error Code: 1021 (There is something wrong with your request headers)
HTTP status Code: 400
This error is all about your request headers.
In most cases you should send us at least:
- X-Auth-Token - if you are using api-key authorization
- Authorization - if you are using oAuth2 authorization
- Content-Type - this should be sent always, and for now it should be set to 'application/json'
If you get this error, please check you request headers.
Error Code: 1023 (Access forbidden)
HTTP status Code: 403
The account or collaborator account you are using does not have access to permission or campaign required to perform the requested action. Please contact account owner (if you are a collaborator) for additional permissions or our support team (if you are the account owner).