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-jobGET /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.
