Skip to content
  • There are no suggestions because the search field is empty.

Error Codes

We use typical HTTP response codes for requests made to our endpoints. If your request generates an error, the response will typically include a more detailed message about the specific error. If you are unsure about what is causing the error, please contact us for additional support.
 

403 - Forbidden:

{​​​​​​​​"status":403,"message":"403 Error: Unknown traffic or suspicious activity detected. Contact your product engineer to resolve."}​​​​​​​​

Possible causes:

  1. Your traffic is originating from an IP address we do not have on our allow-list. All traffic from unapproved IP addresses is dropped. If you need to add an IP address to our allow-list, please contact us.
  2. You are attempting to hit an API endpoint that you have not subscribed to. Each of our endpoints (Search, Score, etc) require different subscriptions.
  3. A GET request has data in the body of the request. Only one of our endpoints (Scores Submit) uses a POST method, so all of our other endpoints should have all relevant data in the URL and/or HTTP headers, not as a payload. Including a JSON payload in your GET request will result in a 403 error.
  4. Suspicious activity is detected and was blocked automatically. 

If any of the following codes are returned, it means the origin IP of the traffic is on the allow-list and you’ve gotten past the 403 gate.

200 – OK

This is the response code if everything works. Only requests that return a 200 response are counted towards your subscription allowance.

202 – Accepted

The only endpoint that will return this is the Scores Submit endpoint. This is returned when the Score was successfully submitted and is being calculated.

400 – Bad Request

{​​​​​​​​"status": 400, "code": 5002, "message": "Something is wrong with your search. Please check and try again.", "detailedMessages": null}​​​​​​​​ 

Something is wrong with the syntax of your request. Depending on the exact issue, you may see a more detailed description in the "detailedMessages" section of the response.

401 – Unauthorized

{​​​​​​​​​​​​​​​"status":401,"code":2000,"message":"Authentication failed","detailedMessages":null}​​​​​​​​​​​​​​​​​​​​​​ 

Something is wrong with the "Authorization" header in the request. Because of the nature of how the Authorization headers work, it's difficult to know exactly what caused this without seeing how the header was calculated. Some common things to check: 

  1. Be sure the Authorization header is being calculated on the URL string before it's URL-encoded. In other words, the URL used to make the Auth header should have literal spaces, quotes, and other special characters. Then the URL would need to be URL-encoded after the Auth header is calculated, and before sending the request.
  2. You may be base64 encoding the HMAC result incorrectly. The base64 needs to be the encoding of the raw binary output of the HMAC calculation rather than a base64 encoded version of a hex string, etc. 

429 – Subscription Limit Reached

{​​​​​​​​​​​​​​​​​​​​​​"status":429,"code":3002,"message":"Subscription limit reached","detailedMessages":null}​​​​​​​​​​​​​​​​​​​​​​ 

You have hit your limit for your current subscription on that particular endpoint. Most subscriptions are monthly and will reset at midnight UTC on the first of the month.

500 – Server Error

A response code of 500 or greater means something has gone wrong on the DarkOwl side. This could be due to maintenance or a number of other factors. If you encounter this error code, please contact us for support.