Debugging

Timeouts

If you face timeouts, try adding "Accept-Encoding": "gzip, deflate, br" to your request headers so that they can benefit from data compression.

Missing or Empty User-Agent Header

Please ensure all API requests include a non-empty User-Agent header. Requests without one may be automatically blocked for security and compliance reasons.

Issues Around Cookies / Params

Always include a trailing slash / in your API request URLs. This avoids an internal redirect which may strip cookies/params.

Correct URL Formats

  • POST /report-job/
  • GET /report-job/?profile_id=x

Incorrect URL Formats

  • POST /report-job
  • GET /report-job?profile_id=x

403 Error in GET Requests

When making GET request, please do not include a body in the request, otherwise it will fail with 403 Forbidden status code.

Correct

curl --location 'https://selfdecode.com/service/b2b-integrations/genome-file/' \
--header 'Authorization: Token *********'

Incorrect

curl --location --request GET 'https://selfdecode.com/service/b2b-integrations/genome-file/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token *********' \
--data '{
    "will": "fail"
}'

Rate Limiting - 429 Too Many Requests Error

We have a general rate limit of 300 requests per IP address / per API token in a period of 2 minutes. If you get a 429 error upon calling any of our endpoints, it means you've hit the rate limit, and are advised to wait 2 minutes before calling any endpoint. You can implement retry with backoff pattern on the client side to deal with these errors.