Rate Limit Profiles

RateLimitProfiles define a limit for the maximum number of Reservations that can be created Hourly.

When a Worker has a rate_limit_profile set, you guarantee that the Worker will not be assigned more than a certain number of Tasks hourly, regardless of the Task’s nature , or which Workflow It’s processed through or which TaskQueue it comes from. You can read more about Rate Limits and Rate Limit Profiles here .

Using Rate Limit Profiles helps you group similar Workers together and change their pace of Task consumption from a single point of setting. For example , a Call Center may set a rate limit profile for all the Workers in the support department, which lets them all have 12 calls per hour in the morning session , and then update the Rate Limit Profile and let them have 6 calls per hour in the afternoon session, halving their workload and redirecting it to some other department, with a single Rate Limit Profile update.

  • With utilizing Rate Limit Profiles , you can :
    • change the pace of Task consumption or
    • enforce quotas on limited resources and budgets or
    • prevent bottlenecks on your application side

You can read more about Rate Limits and Rate Limit Profiles here

RateLimitProfile Properties

Properties
field description
sid The unique string that we created to identify the Rate Limit Profile resource.
account_sid The SID of the Account that created the RateLimitProfile resource.
workspace_sid The SID of the Workspace that contains the RateLimitProfile
friendly_name The string that you assigned to describe the resource.
reservations_per_hour The maximum number of Reservations that can be created hourly, for a Worker with this RateLimitProfile
date_created The date and time in GMT when the resource was created, specified in ISO 8601 format.
date_updated The date and time in GMT when the resource was last updated, specified in ISO 8601 format.
url The absolute URL of the RateLimitProfile resource
links The URLs of related resources.

Create A RateLimitProfile

POST /v1/rindap-rest-gw/Workspaces/{WorkspaceSID}/RateLimitProfiles

You can easily create a RateLimitProfile by providind a friendly name and the number of maximum hourly reservations

Query Parameters
Parameter Type Default Description
WorkspaceSID String “” The SID of the Workspace
FriendlyName String “” Human readable friendly name. It can be 512 characters long
ReservationsPerHour Integer “” The maximum number of Reservations that can be created hourly, for a Worker with this RateLimitProfile

Example code pieces using SDKs

Shell

curl -X POST https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles \
--data-urlencode 'FriendlyName=my rate limit profile for 6 reservations an Hour'
--data-urlencode 'ReservationsPerHour=6'
-H "Authorization: Bearer {YOUR_ACCOUNT_SID}.{YOUR_AUTH_TOKEN}" \
-H "Content-Type:application/x-www-form-urlencoded"

Java

// Install the Java helper library from rindap.com/docs/java/install

import com.rindap.Rindap;
import com.rindap.rest.v1.workspace.RateLimitProfile;

public class Example {
    // Find your Account Sid and Token at rindap.com/console

    public static void main(String[] args) {

        Rindap.init("YOUR_ACCOUNT_SID","YOUR_AUTH_TOKEN");

        RateLimitProfile rl = RateLimitProfile.creator("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "my rate limit profile for 6 reservations an Hour",
            6
            )
            .create();

        System.out.println(rl);
    }
}

Python

from rindap.rest import Client
from rindap.rest import Rindap

client = Client("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN")
rindap = Rindap(client)

workspace = rindap.workspaces.get("WSb9d8cf8597f64f77a45666c4c0263862")
rtp = workspace.rate_limit_profiles.create("My Rate Limit", reservation_per_hour=7)
print(rtp)

JS

var Rindap = require('rindap');

// Authenticate
var rindap = new Rindap("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

// Crate a reservation
rindap.workspaces('WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
.rateLimitProfiles
.create({
    friendlyName: 'New Rate Limit',
    reservationsPerHour: 4
}, function(err, rateLimitProfile) {
    console.log(rateLimitProfile.sid);
    console.log(rateLimitProfile.friendlyName);
    console.log(rateLimitProfile.reservationsPerHour);
});

C#

using System;
using Rindap;
using Rindap.Rest.V1.Workspace;

class Program
{
    static void Main(string[] args)
    {
        // Authenticate
        RindapClient.Init("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

        // Create a RateLimitProfile
        var rateLimitProfile = RateLimitProfileResource.Create(
            pathWorkspaceSid: "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            friendlyName: "New RateLimitProfile",
            reservationsPerHour: 7
            );

        // Print RateLimitProfile Content
        Console.WriteLine("SID               : " + rateLimitProfile.Sid);
        Console.WriteLine("FriendlyName      : " + rateLimitProfile.FriendlyName);
        Console.WriteLine("ReservationPerHour: " + rateLimitProfile.ReservationPerHour);
    }
}

The above command returns JSON structured like this:

{
"sid": "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"workspace_sid": "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"friendly_name": "my rate limit profile for 6 reservations an Hour",
"reservations_per_hour": 6,
"date_created": "2020-05-06T16:24:36+03:00",
"date_updated": "2020-05-06T16:24:36+03:00",
"url": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles/RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"links": {
    "workspace": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}

Get All RateLimitProfiles

GET /v1/rindap-rest-gw/Workspaces/{WorkspaceSID}/RateLimitProfiles

This endpoint retrives all RateLimitProfiles

Query Parameters
Parameter Type Default Description
WorkspaceSID String “” The SID of the Workspace
PageSize Integer 50 Page size for paging
Page Integer 0 Page number for paging

Example code pieces using SDKs

Shell

curl -X GET https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles \
-H "Authorization: Bearer {YOUR_ACCOUNT_SID}.{YOUR_AUTH_TOKEN}" \
-H "Content-Type:application/x-www-form-urlencoded"

Java

// Install the Java helper library from rindap.com/docs/java/install

import com.rindap.Rindap;
import com.rindap.rest.v1.workspace.RateLimitProfile;

public class Example {
    // Find your Account Sid and Token at rindap.com/console


    public static void main(String[] args) {

        Rindap.init("YOUR_ACCOUNT_SID","YOUR_AUTH_TOKEN");

        RateLimitProfile.Reader reader = RateLimitProfile.reader("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

        for(RateLimitProfile rl:reader.read())
        System.out.println(rl);
    }
}

Python

from rindap.rest import Client
from rindap.rest import Rindap

client = Client("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN")
rindap = Rindap(client)

workspace = rindap.workspaces.get("WSb9d8cf8597f64f77a45666c4c0263862")
rate_limit_profiles = workspace.rate_limit_profiles.list(limit=10, page_size=5)
for rate_limit_profile in rate_limit_profiles:
    print("RateLimitProfileSid: {}".format(rate_limit_profile.sid))
    print("FriendlyName: {}".format(rate_limit_profile.friendly_name))

JS

var Rindap = require('rindap');

// Authenticate
var rindap = new Rindap("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

// Get all ratelimits
rindap.workspaces('WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
.rateLimitProfiles
.list({
    limit: 100,
    pageSize: 100
}, function(err, rateLimitProfiles) {
    rateLimitProfiles.forEach(function(rateLimitProfile){
    console.log(rateLimitProfile.sid);
    console.log(rateLimitProfile.friendlyName);
    console.log(rateLimitProfile.reservationsPerHour);
    });
});

C#

using System;
using Rindap;
using Rindap.Rest.V1.Workspace;

class Program
{
    static void Main(string[] args)
    {
        // Authenticate
        RindapClient.Init("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

        // List All RateLimitProfiles
        var rateLimitProfiles = RateLimitProfileResource.Read(
            pathWorkspaceSid: "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            limit: 100,
            pageSize: 100
            );

        foreach (var rateLimitProfile in rateLimitProfiles)
        {
            // Print RateLimitProfile Content
            Console.WriteLine("SID               : " + rateLimitProfile.Sid);
            Console.WriteLine("FriendlyName      : " + rateLimitProfile.FriendlyName);
            Console.WriteLine("ReservationPerHour: " + rateLimitProfile.ReservationPerHour);
        }
    }
}

The above command returns JSON structured like this:

{
"meta": {
    "page_size": 50,
    "page": 0,
    "first_page_url": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles?Page=0&PageSize=50",
    "previous_page_url": null,
    "url": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles?Page=0&PageSize=50",
    "key": "rate_limit_profiles",
    "next_page_url": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles?Page=1&PageSize=50"
},
"rate_limit_profiles": [
    {
    "sid": "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "workspace_sid": "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "friendly_name": "my rate limit profile for 6 reservations an Hour",
    "reservations_per_hour": 6,
    "date_created": "2020-05-06T16:24:36+03:00",
    "date_updated": "2020-05-06T16:24:36+03:00",
    "url": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles/RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "links": {
        "workspace": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
    }
]
}

Fetch a RateLimitProfile

GET /v1/rindap-rest-gw/Workspaces/{WorkspaceSid}/RateLimitProfiles/{RateLimitProfileSID}

This endpoint fetches a single RateLimitProfile with all Its details

Query Parameters
Parameter Type Default Description
WorkspaceSID String “” The SID of the Workspace
RateLimitProfileSID String “” The SID of the RateLimitProfile

Example code pieces using SDKs

Shell

curl -X GET https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
/RateLimitProfiles/RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-H "Authorization: Bearer {YOUR_ACCOUNT_SID}.{YOUR_AUTH_TOKEN}" \
-H "Content-Type:application/x-www-form-urlencoded"

Java

// Install the Java helper library from rindap.com/docs/java/install

import com.rindap.Rindap;
import com.rindap.rest.v1.workspace.RateLimitProfile;

public class Example {
    // Find your Account Sid and Token at rindap.com/console

    public static void main(String[] args) {

        Rindap.init("YOUR_ACCOUNT_SID","YOUR_AUTH_TOKEN");

        RateLimitProfiles rl = RateLimitProfile
            .fetcher("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
            .fetch();

        System.out.println(rl);
    }
}

Python

from rindap.rest import Client
from rindap.rest import Rindap

client = Client("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN")
rindap = Rindap(client)

workspace = rindap.workspaces.get("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
rate_limit_profile = workspace.rate_limit_profiles.get('RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').fetch()
print("RateLimitProfileSid: {}".format(rate_limit_profile.sid))
print("FriendlyName: {}".format(rate_limit_profile.friendly_name))

JS

var Rindap = require('rindap');

// Authenticate
var rindap = new Rindap("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

// Get a ratelimit with SID
rindap.workspaces('WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
.rateLimitProfiles("RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
.fetch(function(err, rateLimitProfile) {
    console.log(rateLimitProfile.sid);
    console.log(rateLimitProfile.friendlyName);
    console.log(rateLimitProfile.reservationsPerHour);
});

C#

using System;
using Rindap;
using Rindap.Rest.V1.Workspace;

class Program
{
    static void Main(string[] args)
    {
        // Authenticate
        RindapClient.Init("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

        // Get a RateLimitProfile with SID
        var rateLimitProfile = RateLimitProfileResource.Fetch(
            pathWorkspaceSid: "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            pathSid: "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            );

        // Print RateLimitProfile Content
        Console.WriteLine("SID               : " + rateLimitProfile.Sid);
        Console.WriteLine("FriendlyName      : " + rateLimitProfile.FriendlyName);
        Console.WriteLine("ReservationPerHour: " + rateLimitProfile.ReservationPerHour);
    }
}

The above command returns JSON structured like this:

{
"sid": "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"workspace_sid": "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"friendly_name": "my rate limit profile for 6 reservations an Hour",
"reservations_per_hour": 6,
"date_created": "2020-05-06T16:24:36+03:00",
"date_updated": "2020-05-06T16:24:36+03:00",
"url": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles/RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"links": {
    "workspace": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}

Update a RateLimitProfile

PUT /v1/rindap-rest-gw/Workspaces/{WorkspaceSID}/RateLimitProfiles/{RateLimitProfileSID}

Warning

When you update the reservations_per_hour field , all the Workers with this RateLimitProfile will be affected immediately, Thus receiving Reservations according to this new value.

Query Parameters
Parameter Type Default Description
WorkspaceSID String “” The SID of the Workspace with the Rate Limit Profile to update
RateLimitProfileSID String “” The SID of the Rate Limit Profile to be updated
FriendlyName String “” (optional) Human readable friendly name. It can be 512 characters long
ReservationsPerHour Integer “” (optional) The maximum number of Reservations that can be created hourly, for a Worker with this RateLimitProfile

Example code pieces using SDKs

Shell

curl -X PUT https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
/RateLimitProfiles/RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
--data-urlencode 'FriendlyName=my newly named rate limit profile' \
--data-urlencode 'ReservationsPerHour=30' \
-H "Authorization: Bearer {YOUR_ACCOUNT_SID}.{YOUR_AUTH_TOKEN}" \
-H "Content-Type:application/x-www-form-urlencoded"

Java

// Install the Java helper library from rindap.com/docs/java/install

import com.rindap.Rindap;
import com.rindap.rest.v1.workspace.RateLimitProfile;

public class Example {
    // Find your Account Sid and Token at rindap.com/console

    public static void main(String[] args) {

        Rindap.init("YOUR_ACCOUNT_SID","YOUR_AUTH_TOKEN");

        RateLimitProfile rl = RateLimitProfile
            .updater("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
            .setFriendlyName("my newly named rate limit profile")
            .setReservationsPerHour(30)
            .update();

        System.out.println(rl);
    }
}

Python

from rindap.rest import Client
from rindap.rest import Rindap

client = Client("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN")
rindap = Rindap(client)

workspace = rindap.workspaces.get("WSb9d8cf8597f64f77a45666c4c0263862")
rate_limit_profile_fetcher = workspace.rate_limit_profiles.get('RL8e22315c14294c749db7eee2d9d7bc27')
rate_limit_profile = rate_limit_profile_fetcher.update(friendly_name="New New Rate Limit", reservation_per_hour=9)
print("RateLimitProfileSid: {}".format(rate_limit_profile.sid))
print("FriendlyName: {}".format(rate_limit_profile.friendly_name))

JS

var Rindap = require('rindap');

// Authenticate
var rindap = new Rindap("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

// Update a ratelimit with SID
rindap.workspaces('WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
.rateLimitProfiles("RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
.update({
    friendlyName: "New Friendly Name",
    reservationsPerHour: 7
},function(err, rateLimitProfile) {
    console.log(rateLimitProfile.sid);
    console.log(rateLimitProfile.friendlyName);
    console.log(rateLimitProfile.reservationsPerHour);
});

C#

using System;
using Rindap;
using Rindap.Rest.V1.Workspace;

class Program
{
    static void Main(string[] args)
    {
        // Authenticate
        RindapClient.Init("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

        // Update RateLimitProfile
        var rateLimitProfile = RateLimitProfileResource.Update(
            pathWorkspaceSid: "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            pathSid: "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            friendlyName: "New Friendly Name",
            reservationsPerHour: 6
            );

        // Print RateLimitProfile Content
        Console.WriteLine("SID               : " + rateLimitProfile.Sid);
        Console.WriteLine("FriendlyName      : " + rateLimitProfile.FriendlyName);
        Console.WriteLine("ReservationPerHour: " + rateLimitProfile.ReservationPerHour);
    }
}

The above command returns JSON structured like this:

{
"sid": "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"workspace_sid": "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"friendly_name": "my newly named rate limit profile",
"reservations_per_hour": 30,
"date_created": "2020-05-06T16:24:36+03:00",
"date_updated": "2020-05-06T16:24:36+03:00",
"url": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/RateLimitProfiles/RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"links": {
    "workspace": "https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}

Delete a RateLimitProfile

DELETE /v1/rindap-rest-gw/Workspaces/{WorkspaceSID}/RateLimitProfiles/{RateLimitProfileSID}

Warning

When you DELETE a RateLimitProfile , all the Workers with this RateLimitProfile will be affected immediately, Thus receiving Reservations with NO LIMITS

Query Parameters
Parameter Type Default Description
WorkspaceSID String “” The SID of the Workspace with the Rate Limit Profile
RateLimitProfileSID String “” The SID of the Rate Limit Profile

Example code pieces using SDKs

Shell

curl -X DEL https://api.rindap.com/v1/rindap-rest-gw/Workspaces/WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
/RateLimitProfiles/RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-H "Authorization: Bearer {YOUR_ACCOUNT_SID}.{YOUR_AUTH_TOKEN}" \
-H "Content-Type:application/x-www-form-urlencoded"

Java

// Install the Java helper library from rindap.com/docs/java/install

import com.rindap.Rindap;
import com.rindap.rest.v1.workspace.RateLimitProfile;

public class Example {
    // Find your Account Sid and Token at rindap.com/console

    public static void main(String[] args) {

        Rindap.init("YOUR_ACCOUNT_SID","YOUR_AUTH_TOKEN");

        RateLimitProfile.deleter("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
            .delete();
    }
}

Python

from rindap.rest import Client
from rindap.rest import Rindap

client = Client("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN")
rindap = Rindap(client)

workspace = rindap.workspaces.get("WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
if workspace.rate_limit_profiles.get('RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx').delete():
    print("RateLimitProfile has been deleted!")

JS

var Rindap = require('rindap');

// Authenticate
var rindap = new Rindap("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

// Delete a ratelimit with SID
rindap.workspaces('WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
.rateLimitProfiles("RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
.remove();

C#

using System;
using Rindap;
using Rindap.Rest.V1.Workspace;

class Program
{
    static void Main(string[] args)
    {
        // Authenticate
        RindapClient.Init("YOUR_ACCOUNT_SID", "YOUR_AUTH_TOKEN");

        // Update RateLimitProfile
        var isDeleted = RateLimitProfileResource.Delete(
            pathWorkspaceSid: "WSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            pathSid: "RLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            );

        if (isDeleted)
        {
            Console.WriteLine("RateLimitProfile has been deleted!");
        }
    }
}