Rate Limiting policies can be configured via the API.
See https://octopus.com/docs/administration/managing-infrastructure/rate-limiting to understand the feature and what the settings mean.
List all rate limiting policies
GET /api
There are three builtin policies, so while this returns a paginated response, there is only ever a single page. - Unauthenticated requests - Authenticated requests - AI Agent requests
Query Parameters
skipinteger
Number of items to skip. Minimum0.takeinteger
Number of items to take. Minimum0.
Response
200 — Success
ItemTypestringItemsarray of objectAuditModeboolean
When enabled, the policy logs requests that would be rate limited without rejecting them (no 429 response).BurstLimitinteger
Maximum capacity of the token bucket.Idstring
The ID of this policy.IsBuiltInboolean
Whether this is a built-in policy that cannot be deleted or have its name or scope changed.IsEnabledboolean
Whether this policy is actively enforced.Namestring
The display name of this policy. Minimum length 1.RequestsPerMinuteinteger
Number of requests permitted per minute.ScopeTypestring
The scope this policy applies to.
ItemsPerPageintegerLastPageNumberintegerNumberOfPagesintegerTotalResultsinteger
Example Response
JSON
{
"ItemType": "string",
"Items": [
{
"AuditMode": true,
"BurstLimit": 200,
"Id": "RateLimitingPolicies-1",
"IsBuiltIn": true,
"IsEnabled": true,
"Name": "Authenticated requests",
"RequestsPerMinute": 600,
"ScopeType": "string"
}
],
"ItemsPerPage": 0,
"LastPageNumber": 0,
"NumberOfPages": 0,
"TotalResults": 0
}Get a rate limiting policy by ID
GET /api
Path Parameters
idstring (required)
ID of the rate limiting policy.
Response
200 — A Rate Limiting Policy
AuditModeboolean
When enabled, the policy logs requests that would be rate limited without rejecting them (no 429 response).BurstLimitinteger
Maximum capacity of the token bucket.Idstring
The ID of this policy.IsBuiltInboolean
Whether this is a built-in policy that cannot be deleted or have its name or scope changed.IsEnabledboolean
Whether this policy is actively enforced.Namestring
The display name of this policy. Minimum length 1.RequestsPerMinuteinteger
Number of requests permitted per minute.ScopeTypestring
The scope this policy applies to.
Example Response
JSON
{
"AuditMode": true,
"BurstLimit": 200,
"Id": "RateLimitingPolicies-1",
"IsBuiltIn": true,
"IsEnabled": true,
"Name": "Authenticated requests",
"RequestsPerMinute": 600,
"ScopeType": "string"
}Modify an existing rate limiting policy
PUT /api
Path Parameters
idstring (required)
ID of the policy to modify.
Request Body
AuditModeboolean (required)
When enabled, the policy logs requests that would be rate limited without rejecting them (no 429 response).BurstLimitinteger (required)
Maximum capacity of the token bucket.Idstring (required)
ID of the policy to modify.IsEnabledboolean (required)
Whether this policy is actively enforced.Namestring (required)
The display name of the policy. Minimum length 1.RequestsPerMinuteinteger (required)
Number of requests permitted per minute.ScopeTypestring (required)
The scope this policy applies to.
Response
200 — A Rate Limiting Policy
AuditModeboolean
When enabled, the policy logs requests that would be rate limited without rejecting them (no 429 response).BurstLimitinteger
Maximum capacity of the token bucket.Idstring
The ID of this policy.IsBuiltInboolean
Whether this is a built-in policy that cannot be deleted or have its name or scope changed.IsEnabledboolean
Whether this policy is actively enforced.Namestring
The display name of this policy. Minimum length 1.RequestsPerMinuteinteger
Number of requests permitted per minute.ScopeTypestring
The scope this policy applies to.
Example Request
JSON
{
"AuditMode": true,
"BurstLimit": 200,
"Id": "RateLimitingPolicies-1",
"IsEnabled": true,
"Name": "Authenticated requests",
"RequestsPerMinute": 600,
"ScopeType": "string"
}Example Response
JSON
{
"AuditMode": true,
"BurstLimit": 200,
"Id": "RateLimitingPolicies-1",
"IsBuiltIn": true,
"IsEnabled": true,
"Name": "Authenticated requests",
"RequestsPerMinute": 600,
"ScopeType": "string"
}