6

I'm trying to understand how rate limiting works for REST API calls. I was informed that it's based on the number of concurrent requests, which I can live with, but I can't figure out what the permitted number of parallel requests is. I've setup a simple test to make 16 parallel requests using the following shell script:

for ((request=1;request<=4;request++))
do
    for ((x=1;x<=4;x++))
    do
  curl --header "Content-Type: application/json" \
  --header "Authorization: Bearer 7gPInMQYW5rxE2G2F4sZXXXX" \
  --request POST \
  --data '{"email": "eliot@eliot.com.au", "validators": [ "SyntaxValidator", "MXValidator", "ListDetectiveValidator" ] }' \
  https://www.exacttargetapis.com/address/v1/validateEmail &
    done
done
wait

This returns a successful response for approx 80% of the requests, but returns the following response with a 500 HTTP status code for others:

{  
   "message":"Internal Server Error",
   "errorcode":0,
   "documentation":"https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm"
}

I have also tried using Tenant Specific Endpoints and OAuth2, but I get the same result.

I would assume if this is a rate limiting reason, then it would respond with a documented rate limiting response and 429 HTTP status code.

If I replay the same failed request, then it works 99% of the time, second time around.

I've tried different REST API routes and this issue appears consistently across all of them (so it's not specific to an API method).

Obviously, I can make consecutive requests instead of concurrent, but this is very inefficient.

How do others approach concurrent REST API requests for Marketing Cloud?

  • 1
    There is currently an issue on this route where sometimes you receive a 500 error, the 500 error is not caused by a rate limit – EazyE Apr 23 '19 at 16:46
  • Hello @EazyE, thanks for confirming that this is an issue an is not expected behavior. I only tested two routes; validateEmail and /guide/v1/emails (used to return interpreted email content). I've built a solution that uses the latter method and I'm keen to see this fixed too. – Eliot Harper Apr 23 '19 at 20:29
  • Have you seen these 500 errors no longer occur on the validate route? – EazyE Apr 24 '19 at 20:49
  • Hello @EazyE, thanks I can confirm that there are no longer 500 errors on the Validate route. Can we expect to see a fix for the Emails route too? – Eliot Harper Apr 28 '19 at 10:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.