Get Throttling Limits

Responsys monitors and throttles the frequency of API requests that are submitted from each Oracle Responsys account. This is to ensure that the best possible level of service is offered to API clients in a shared environment.

You can use the Get Throttling Limits API to obtain a list of API throttling limits for key interfaces for your Responsys account.

REQUEST

  • Service URL: /rest/api/ratelimit
  • Request Method: GET
  • Request Header: Authorization=<AUTH_TOKEN>

RESPONSE

A successful response returns your Responsys account-specific throttling limits of all APIs configured on the gateway server, and it may include some APIs that are not enabled for your account. If your account is not configured for throttling for a specific API, the gateway server returns the default throttle limit for that API.

  • A successful response will return the following for each REST API for which throttling limits apply:
    • limit: Number of requests allowed per minute for the API. A higher limit does not necessarily equal faster processing.
    • api: System name of the API for which the limit applies.
    • resource_path: The resource path of the API. For example, for Merge Trigger Email, it would show /campaigns/{campaignName}/email .
    • verb: The API method (GET, POST, PUT, or DELETE).
    • description: Text description of the API.
  • Common error responses include the following:
    • 404: HTTP Status 404 ? Not Found. One common cause for this is when "v1.3" is included in the endpoint path. Ensure that you are using /rest/api/ratelimit.
    • 500: UNEXPECTED_EXCEPTION ("Not a valid authentication token"). You must use a valid authentication token in your request. Try logging in again and use the authToken returned in the successful login response.

Successful Response Example

NOTE: The values shown in the following example are from a test environment and represent a partial sample of the response body. The values in the response you receive for your account will differ.


{
    [
        {
            "limit": "10",
            "api": "login",
            "resource_path": "auth/token",
            "verb": "POST",
            "description": "Login"
        },
        {
            "limit": "100",
            "api": "retrieveProfileLists",
            "resource_path": "lists",
            "verb": "GET",
            "description": "Fetch All Profile Lists"
        },
        .
        .
        .
        {
            "limit": "1000",
            "api": "mergeListRecipients",
            "resource_path": "lists/{listName}/members",
            "verb": "POST",
            "description": "Merge List Recipients"
        },
        {
            "limit": "100",
            "api": "retrieveListRecipients",
            "resource_path": "lists/{listName}/members",
            "verb": "GET",
            "description": "Retrieve List Recipient using query attribute"
        },
        .
        .
        . 
        {
            "limit": "1000",
            "api": "HaMergeListRecipients",
            "resource_path": "lists/{listName}/members",
            "verb": "POST",
            "description": "Merge List Recipients"
        }
    ]
}

More about throttling limits for the Responsys Web Services API

Depending on the type of API function, a specific frequency rate limit is imposed based on an account's total number of requests made per minute for that function. For example, the API function for triggering email messages can be called more times per minute than the API function for launching a campaign. By default, the throttling limit for high volume API functions (for example, triggering email messages or merging records into a profile list) is set to 200 requests per minute.

When an account exceeds its allowable frequency rate limit for an API request, you see the error code API_LIMIT_EXCEEDED and this message "You exceeded your allowable limit to call the < function_name> API function. Please try again in a minute." On the other hand, if a specific user of an account is blocked from using selected API functions, the user sees the error code API_BLOCKED with this message: "The <function_name> is currently not available to this user. Please contact tech support."