Subscriber FUP API
Overview
This API provides programmatic access to manage Fair Usage Policies (FUPs) and their rules. It is the same data used by the console UI. For a complete explanation of how FUPs behave — thresholds, cycles, how multiple rules stack, and why the subscriber's timezone matters — see Fair Usage Policies.
A FUP profile is a named container that holds one or more rules. Each rule reduces speed once a data threshold is reached within a daily, weekly, or monthly cycle. A FUP profile is applied to a subscriber profile, and every subscriber on that profile inherits the policy.
The typical workflow is:
Create a FUP profile — POST /v1/fup.
Add one or more rules to it — POST /v1/fup/{fup_id}/rule.
Apply the FUP profile to a subscriber profile using the Subscriber Profiles API.
FUP Profiles
Manage the FUP profile — the named container that rules belong to.
List FUPs
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| l | query | integer | Paginate Limit / Entities per Page. (1-50, -1 for streaming) | |
| name | query | string | Filter by name. (can suffix with wildcard *) | |
| p | query | integer | Paginate Current Page. (default 1) | |
| sc | query | string | Sort by Property/Column. (name) | |
| sd | query | string | Sort direction. asc for Ascending or desc for Descending |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| metadata.page | body | integer | Current Page. (always 1 for infinite) |
| metadata.pages | body | integer | Total Pages. (always 1 for infinite) |
| metadata.per_page | body | integer | Equeal to the entities per page limit or always equal to total records for infinite queries. |
| metadata.records | body | integer | Total entities found. (always max 250 unless infinite is accepted query parameter) |
| payload | body | array | Payload. |
| payload.creation_time | body | string | Payload Creation Time. |
| payload.id | body | string | Payload Id. |
| payload.name | body | string | Payload Name. |
Response Example
{
"payload": [
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"name": "Profile 1",
"creation_time": "2025-01-01T00:00:00.000Z"
}
],
"metadata": {
"records": 1,
"page": 1,
"pages": 1,
"per_page": 10
}
}
Get a single FUP
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| creation_time | body | string | Creation Time. |
| domain | body | string | Entity Domain. |
| id | body | string | Unique Entity ID. |
| name | body | string | Name of Entity. |
Response Example
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"domain": "domain.com",
"name": "Profile 1",
"creation_time": "2025-01-01T00:00:00.000Z"
}
Create a FUP
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| name | body | string | Name of Entity. | X |
Request Example
{
"name": "Profile 2"
}
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| creation_time | body | string | Creation Time. |
| domain | body | string | Entity Domain. |
| id | body | string | Unique Entity ID. |
| name | body | string | Name of Entity. |
Response Example
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"domain": "domain.com",
"name": "Profile 2",
"creation_time": "2025-01-01T00:00:00.000Z"
}
Update a FUP
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
| name | body | string | Name of Entity. |
Request Example
{
"name": "Profile 2 Updated"
}
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| creation_time | body | string | Creation Time. |
| domain | body | string | Entity Domain. |
| id | body | string | Unique Entity ID. |
| name | body | string | Name of Entity. |
Response Example
{
"id": "4381239d-6e79-4bcb-97fa-ced50b1f6067",
"domain": "domain.com",
"name": "Profile 2 Updated",
"creation_time": "2025-01-01T00:00:00.000Z"
}
Delete a FUP
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
Response Status Codes
| Code | Meaning |
|---|---|
| 204 | OK - No Content |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
FUP Rules
Each rule belongs to a FUP profile and defines a single throttling condition. See Fair Usage Policies for the meaning of each field:
chain — the traffic the rule measures: download, upload, or combined.
cycle — the counter the rule watches and when it resets: daily, weekly, or monthly.
volume_threshold — data used (in GB) before the rule takes effect.
download_reduction_percent / upload_reduction_percent — how much to cut each direction of speed (0–100).
start_hour / end_hour — the time-of-day window the rule is active. These hours are in UTC.
rule_order — the order the rule is evaluated in.
List FUP Rules
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| chain | body | string | Chain. |
| cycle | body | string | Cycle. |
| download_reduction_percent | body | integer | Download Reduction Percent. |
| end_hour | body | string | End Hour. |
| fup_profile_id | body | string | Fup Profile Id. |
| id | body | string | Unique Entity ID. |
| input_policy_name | body | string | Input Policy Name. |
| output_policy_name | body | string | Output Policy Name. |
| policy_name | body | string | Policy Name. |
| rule_order | body | integer | Rule Order. |
| start_hour | body | string | Start Hour. |
| upload_reduction_percent | body | integer | Upload Reduction Percent. |
| volume_threshold | body | integer | Volume Threshold. |
Response Example
[
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"fup_profile_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"rule_order": 1,
"chain": "download",
"volume_threshold": 5,
"cycle": "daily",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 10,
"upload_reduction_percent": 10,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
},
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"fup_profile_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"rule_order": 2,
"chain": "combined",
"volume_threshold": 10,
"cycle": "weekly",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 50,
"upload_reduction_percent": 50,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
},
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"fup_profile_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"rule_order": 3,
"chain": "upload",
"volume_threshold": 50,
"cycle": "monthly",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 75,
"upload_reduction_percent": 75,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
}
]
View a Single FUP Rule
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
| rule_id | url | string | Rule Id. | X |
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| chain | body | string | Chain. |
| cycle | body | string | Cycle. |
| download_reduction_percent | body | integer | Download Reduction Percent. |
| end_hour | body | string | End Hour. |
| fup_profile_id | body | string | Fup Profile Id. |
| id | body | string | Unique Entity ID. |
| input_policy_name | body | string | Input Policy Name. |
| output_policy_name | body | string | Output Policy Name. |
| policy_name | body | string | Policy Name. |
| rule_order | body | integer | Rule Order. |
| start_hour | body | string | Start Hour. |
| upload_reduction_percent | body | integer | Upload Reduction Percent. |
| volume_threshold | body | integer | Volume Threshold. |
Response Example
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"fup_profile_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"rule_order": 1,
"chain": "download",
"volume_threshold": 50,
"cycle": "monthly",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 75,
"upload_reduction_percent": 75,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
}
Create a FUP Rule
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
| chain | body | string | Chain. | X |
| cycle | body | string | Cycle. | X |
| download_reduction_percent | body | integer | Download Reduction Percent. | |
| end_hour | body | string | End Hour. | |
| input_policy_name | body | string | Input Policy Name. | |
| output_policy_name | body | string | Output Policy Name. | |
| policy_name | body | string | Policy Name. | |
| rule_order | body | integer | Rule Order. | X |
| start_hour | body | string | Start Hour. | |
| upload_reduction_percent | body | integer | Upload Reduction Percent. | |
| volume_threshold | body | integer | Volume Threshold. | X |
Request Example
{
"rule_order": 1,
"chain": "download",
"volume_threshold": 50,
"cycle": "monthly",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 50,
"upload_reduction_percent": 50,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
}
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| chain | body | string | Chain. |
| cycle | body | string | Cycle. |
| download_reduction_percent | body | integer | Download Reduction Percent. |
| end_hour | body | string | End Hour. |
| fup_profile_id | body | string | Fup Profile Id. |
| id | body | string | Unique Entity ID. |
| input_policy_name | body | string | Input Policy Name. |
| output_policy_name | body | string | Output Policy Name. |
| policy_name | body | string | Policy Name. |
| rule_order | body | integer | Rule Order. |
| start_hour | body | string | Start Hour. |
| upload_reduction_percent | body | integer | Upload Reduction Percent. |
| volume_threshold | body | integer | Volume Threshold. |
Response Example
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"fup_profile_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"rule_order": 1,
"chain": "download",
"volume_threshold": 50,
"cycle": "monthly",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 50,
"upload_reduction_percent": 50,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
}
Update a FUP Rule
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
| rule_id | url | string | Rule Id. | X |
| chain | body | string | Chain. | |
| cycle | body | string | Cycle. | |
| download_reduction_percent | body | integer | Download Reduction Percent. | |
| end_hour | body | string | End Hour. | |
| input_policy_name | body | string | Input Policy Name. | |
| output_policy_name | body | string | Output Policy Name. | |
| policy_name | body | string | Policy Name. | |
| rule_order | body | integer | Rule Order. | |
| start_hour | body | string | Start Hour. | |
| upload_reduction_percent | body | integer | Upload Reduction Percent. | |
| volume_threshold | body | integer | Volume Threshold. |
Request Example
{
"rule_order": 1,
"chain": "download",
"volume_threshold": 100,
"cycle": "monthly",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 50,
"upload_reduction_percent": 50,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
}
Response Status Codes
| Code | Meaning |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |
Response Properties
| Name | In | Type | Description |
|---|---|---|---|
| chain | body | string | Chain. |
| cycle | body | string | Cycle. |
| download_reduction_percent | body | integer | Download Reduction Percent. |
| end_hour | body | string | End Hour. |
| fup_profile_id | body | string | Fup Profile Id. |
| id | body | string | Unique Entity ID. |
| input_policy_name | body | string | Input Policy Name. |
| output_policy_name | body | string | Output Policy Name. |
| policy_name | body | string | Policy Name. |
| rule_order | body | integer | Rule Order. |
| start_hour | body | string | Start Hour. |
| upload_reduction_percent | body | integer | Upload Reduction Percent. |
| volume_threshold | body | integer | Volume Threshold. |
Response Example
{
"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"fup_profile_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"rule_order": 1,
"chain": "download",
"volume_threshold": 100,
"cycle": "monthly",
"start_hour": "00:00",
"end_hour": "23:59",
"download_reduction_percent": 50,
"upload_reduction_percent": 50,
"policy_name": "policy_1",
"input_policy_name": "input_policy_1",
"output_policy_name": "output_policy_1"
}
Delete a FUP Rule
subscriber
Accepted Roles (RBAC)
AdministratorNetwork OperationsSubscriber AdministratorRequest Parameters
| Name | In | Type | Description | MUST include |
|---|---|---|---|---|
| X-Auth-Token | header | string | Valid Authentication Token. Please see developers documentation/identity. | X |
| X-Domain | header | string | Optional domain context for the request. (default: the token domain) | |
| fup_id | url | string | Fup Id. | X |
| rule_id | url | string | Rule Id. | X |
Response Status Codes
| Code | Meaning |
|---|---|
| 204 | OK - No Content |
| 400 | Bad Request |
| 401 | Unauthorized / Require Authentication |
| 403 | Forbidden / Access Denied |
| 404 | Not Found |
| 409 | Conflict |
| 429 | Too Many Requests / Your Rate Limited |
| 500, 501, 502, 503, 504 | Service Unavailable |