Throttles API
- Table of Contents
- Overview
- Attributes
- Get a list of throttles that are currently in backoff mode
- Get a list of throttles on an IP address
- Get a throttle on an IP address by domain name
- Take a throttle out of backoff mode
Overview
Throttles are GreenArrow’s mechanism for limiting the volume of mail that should be delivered in a span of time to a single destination.
Attributes
The following attributes are defined for throttles:
throttle
hash
|
Get a list of throttles that are currently in backoff mode
GET /ga/api/v3/eng/throttles_in_backoff
throttles
array |
An array of throttle objects as defined above. |
||||||||||
pagination
hash
|
Example
GET /ga/api/v3/eng/throttles_in_backoff?in_backoff=1
HTTP/1.1 200 OK
{
"success": true,
"data": {
"throttles": [
{
"id": 5,
"ip_address": {
"id": 3,
"name": "ipaddr-1"
},
"throttling_rule": {
"type": "ip_address",
"id": 5,
"ip_address": {
"id": 3,
"name": "ipaddr-1"
}
},
"normal_max_messages_per_hour": 0,
"normal_max_concurrent_connections": 0,
"domains": [
"def.net",
"xyz.net"
],
"in_backoff": true,
"backoff_reason": "throttle_program",
"backoff_began_at": "2022-06-29T14:35:20-04:00",
"backoff_ends_at": "2022-06-29T14:40:20-04:00",
"backoff_max_messages_per_hour": 60,
"backoff_max_concurrent_connections": 1
}
],
"pagination": {
"page": 0,
"per_page": 100,
"num_pages": 1,
"num_records": 1,
"next_page_token": null
}
},
"error_code": null,
"error_messages": null
}
Get a list of throttles on an IP address
GET /ga/api/v3/eng/ip_addresses/{ip_address_id}/throttles
throttles
array |
An array of throttle objects as defined above. |
||||||||||
pagination
hash
|
Example
GET /ga/api/v3/eng/ip_addresses/2/throttles
HTTP/1.1 200 OK
{
"success": true,
"data": {
"throttles": [
{
"id": 1,
"ip_address": {
"id": 2,
"name": "ipaddr-1"
},
"throttling_rule": {
"type": "ip_address",
"id": 1,
"ip_address": {
"id": 2,
"name": "ipaddr-1"
}
},
"normal_max_messages_per_hour": 0,
"normal_max_concurrent_connections": 0,
"domains": [
"abc.net"
],
"in_backoff": false,
"backoff_reason": null,
"backoff_began_at": null,
"backoff_ends_at": null,
"backoff_max_messages_per_hour": null,
"backoff_max_concurrent_connections": null
},
{
"id": 2,
"ip_address": {
"id": 2,
"name": "ipaddr-1"
},
"throttling_rule": {
"type": "ip_address",
"id": 2,
"ip_address": {
"id": 2,
"name": "ipaddr-1"
}
},
"normal_max_messages_per_hour": 0,
"normal_max_concurrent_connections": 0,
"domains": [
"def.net",
"xyz.net"
],
"in_backoff": false,
"backoff_reason": null,
"backoff_began_at": null,
"backoff_ends_at": null,
"backoff_max_messages_per_hour": null,
"backoff_max_concurrent_connections": null
},
{
"id": 3,
"ip_address": {
"id": 2,
"name": "ipaddr-1"
},
"throttling_rule": {
"type": "throttling_template",
"id": 3,
"throttling_template": {
"id": 1,
"name": "Basic Throttling Template"
}
},
"normal_max_messages_per_hour": 0,
"normal_max_concurrent_connections": 0,
"domains": [
"zed.net"
],
"in_backoff": false,
"backoff_reason": null,
"backoff_began_at": null,
"backoff_ends_at": null,
"backoff_max_messages_per_hour": null,
"backoff_max_concurrent_connections": null
}
],
"pagination": {
"page": 0,
"per_page": 100,
"num_pages": 1,
"num_records": 3,
"next_page_token": null
}
},
"error_code": null,
"error_messages": null
}
Get a throttle on an IP address by domain name
GET /ga/api/v3/eng/ip_addresses/{ip_address_id}/throttles/by_domain/{domain}
Retrieves the status of a throttle on an IP address for a specific domain name.
The domain name can be any of the domains listed in the throttle’s throttling
rule. Wildcard expansion is not performed – so you would specify
*.example.com
to match a throttle that includes *.example.com
(not
something.example.com
).
If no such throttle was found, the throttle
key will be returned having a null
value.
Example
GET /ga/api/v3/eng/ip_addresses/5/throttles/by_domain/XYZ.Net
HTTP/1.1 200 OK
{
"success": true,
"data": {
"throttle": {
"id": 7,
"ip_address": {
"id": 5,
"name": "ipaddr-1"
},
"throttling_rule": {
"type": "ip_address",
"id": 7,
"ip_address": {
"id": 5,
"name": "ipaddr-1"
}
},
"normal_max_messages_per_hour": 0,
"normal_max_concurrent_connections": 0,
"domains": [
"def.net",
"ghi.net",
"xyz.net"
],
"in_backoff": false,
"backoff_reason": null,
"backoff_began_at": null,
"backoff_ends_at": null,
"backoff_max_messages_per_hour": null,
"backoff_max_concurrent_connections": null
}
},
"error_code": null,
"error_messages": null
}
Take a throttle out of backoff mode
POST /ga/api/v3/eng/ip_addresses/{ip_address_id}/throttles/{throttle_id}/take_out_of_backoff
If the throttle is currently in backoff mode, take it out of backoff mode.
Example
POST /ga/api/v3/eng/ip_addresses/10/throttles/16/take_out_of_backoff
HTTP/1.1 200 OK
{
"success": true,
"data": {
"was_in_backoff": true,
"is_in_backoff": false
},
"error_code": null,
"error_messages": null
}