I am using a device to test the Android implementation of the MarketingCloudSdk. Sometimes when logging the sdkState, I'm getting (even on a freshly installed apk):

"RequestManager": {
            "https:\/\/our.url.marketingcloudapis.com\/device\/v1\/registration": "Too Many Requests - 429"

The iOS client does not seem to have this issue and we are working on a test environment with very few users, maybe around 50.

Is the registration limit really so low that we run into it? Is there any best practice to avoid this on Android?

The "documentation" there is pretty vague: https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/rate-limiting-best-practices.htm

1 Answer 1


The routes are regulated both SDK- and Server-side. In the SDKs you make make no more than 1 registration call per minute.

Best practices would be to get an editor, make all your device/contact changes, and commit as 1 transaction. commit is the call that triggers a registration. Additionally, things like an application update, or timezone change can trigger a registration when the application is launched so changes you make would be held, and aggregated, for 60 seconds post-launch.

  • Ok I'm just setting profile id and attributes so there is no editor there but thank you for the information. I did reread the documentation I linked. I'm thinking my problem might actually be the Don’t request more than one access token every 20 minutes from the server side, when developing and testing a lot on the client.
    – BMarchon
    Commented Nov 16, 2021 at 16:29
  • I would use the most inclusive method possible if you're not already. Setting profileId and profileAttributes separately would result in multiple registration calls.
    – Bill Mote
    Commented Nov 16, 2021 at 16:33
  • So I am now using setProfile to do both at the same time... Which forced me to use a ModuleIdentifier.Push parameter. I saw there is a CDP module, I suppose it stands for Customer Data Platform but I didn't find any documentation for it or example of usage. Should I just ignore CDP or also add it as a second identifier?
    – BMarchon
    Commented Nov 18, 2021 at 8:18
  • CDP is a separate billable product. The SFMCSdk is a wrapper around both to give customers a single API to interact with. Based on your last comment, you are setting profile data correctly. 429s are nothing to worry about unless they persist for long periods of time.
    – Bill Mote
    Commented Nov 18, 2021 at 14:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .