API Connect

API Connect

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#API Connect
#Applicationintegration
#APIConnect
 View Only
  • 1.  Rate limit policy to pass object name Dynamically

    Posted 5 days ago

    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
    ------------------------------


  • 2.  RE: Rate limit policy to pass object name Dynamically

    Posted 2 days ago

    The rate limit name in the above field cannot be a variable; it must be a literal string that corresponds to a rate limit defined on the gateway.



    ------------------------------
    Chad Petty
    ------------------------------



  • 3.  RE: Rate limit policy to pass object name Dynamically

    Posted 3 hours ago

    Dear Chad Petty,
    Thank you. Could you please let me know if there is a method to pass a variable? Any guidance would be appreciated



    ------------------------------
    Shah Wajahat
    ------------------------------



  • 4.  RE: Rate limit policy to pass object name Dynamically

    Posted yesterday

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



  • 5.  RE: Rate limit policy to pass object name Dynamically

    Posted 3 hours ago

    Dear Nick Cawood
    I have tried this, but the issue is that I need to pass the name as a variable



    ------------------------------
    Shah Wajahat
    ------------------------------



  • 6.  RE: Rate limit policy to pass object name Dynamically

    Posted an hour ago

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



  • 7.  RE: Rate limit policy to pass object name Dynamically

    Posted 49 minutes ago

    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
    ------------------------------



  • 8.  RE: Rate limit policy to pass object name Dynamically

    Posted 10 minutes ago

    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.



    ------------------------------
    Nick Cawood
    API Connect Consultant
    IBM Expert Labs
    IBM UK Ltd

    https://www.linkedin.com/in/nickcawood/
    ------------------------------