The name of the rate-limit must be constant and be the same in the API and the Product-Plan.
If you want the client1 value to relate to a different rate-limit then that must be designed outside of the API instead creating multiple Plans in the Product related to the rate-limit name. Then programmatically subscribe the different client1s to the Plan relating to the required rate-limit.
The rate-limit is not set in the API.
The rate is set in the Product-Plan.
How you link the API to the rate is via the name of the rate-limit.
Therefore you can have multiple rate-limits / Product-Plans assigned to the same rate-limit name / API.
Which Plan an App subscribes to defines the rate-limit chosen.
As for "not relying on client-id" are you suggesting that multiple Apps subscribe to the same Product-Plan and all those Apps can use up the calls of the rate-limit simultaneously?
If so in the Product-Plan set "use-client-id false".
However I'm not sure that's what you mean.
I think you need to have a clear design for what you want to achieve and then you can use the functionality to achieve that.
Some of what you want to achieve may not be possible - i.e. deciding which rate-limit to apply based on a variable, the code that invokes the API will need to decide that.
Original Message:
Sent: Wed December 03, 2025 08:43 AM
From: Shah Wajahat
Subject: Rate limit policy to pass object name Dynamically
Hi Nick Cawood
need to configure the Assembly rate limit without relying on clientId. The rate-limit name should be generated dynamically from the payload's client1 value (e.g., CCMSRQ001).
------------------------------
Shah Wajahat
Original Message:
Sent: Wed December 03, 2025 07:34 AM
From: Nick Cawood
Subject: Rate limit policy to pass object name Dynamically
Sorry, I don't understand your use-case.
Why are you passing the rate-limit name as a variable?
The rate-limit name must be a constant which is referenced in the Product-Plan - this is how the rate-limit definition is set for that API in the published Product.
You can set multiple Plans with different rate-limits referencing the rate-limit name in the API and subscribe different Apps to each different Plan.
If you want the rate-limit to be dependent to a specific dynamic variable then that must be then added to the Product-Plan syntax as per the blog.
What are you trying to do?
------------------------------
Nick Cawood
API Connect Consultant
IBM Expert Labs
IBM UK Ltd
https://www.linkedin.com/in/nickcawood/
Original Message:
Sent: Wed December 03, 2025 05:49 AM
From: Shah Wajahat
Subject: Rate limit policy to pass object name Dynamically
Dear Nick Cawood
I have tried this, but the issue is that I need to pass the name as a variable
------------------------------
Shah Wajahat
Original Message:
Sent: Tue December 02, 2025 05:05 AM
From: Nick Cawood
Subject: Rate limit policy to pass object name Dynamically
Hi,
This blog might be helpful wrt setting up the rate-limit as an assembly-rate-limit in the Product-Plan.
Also shows how you can use dynamic values for the rate limiting.
https://community.ibm.com/community/user/blogs/amit-kumar-singh/2025/04/30/ibm-apic-connect-applying-rate-limit-based-on-dyna
This DataPower functionality is explained here (although the parameters APIC side and the DataPower side aren't a perfect match cache-only vs cache-first for example).
https://www.ibm.com/docs/en/datapower-gateway/10.6.x?topic=apc-assembly-rate-limit
------------------------------
Nick Cawood
API Connect Consultant
IBM Expert Labs
IBM UK Ltd
https://www.linkedin.com/in/nickcawood/
Original Message:
Sent: Fri November 28, 2025 04:20 AM
From: Shah Wajahat
Subject: Rate limit policy to pass object name Dynamically
Dear team,
I want to use assembly rate limiting without a client ID. I have already created the assembly rate limit objects on DataPower. I have three different rate limit objects, for example: Client1, Client2, Client3. Each of these objects has different rate limits. These values (Client1, Client2, Client3) in the payload. How can I pass this value to as limit name in rate limit policy?

I have tried this but getting and error "Rate limit $(serviceId) is in rate limit assembly action
cbuae_sandbox_singleurlservice_1.0.1_ratelimit_0 but not in API gateway Stg-Int01".
why is not assigning the variable value?
kindly guide me how to do this.
Thankyou
------------------------------
Shah Wajahat
------------------------------