OrgsServices

updateOrgService

PUT
/api/v1/orgs/{org_id}/services/{service_id}

Update an organization service definition, including its matching mode, match values, traffic classification, or optional SSR path-selection thresholds.

Authorization

Authorization<token>

Preferred authentication method for automation and integrations. Send the API token in the HTTP Authorization header.

Format: Authorization: Token {apitoken}

Notes:

  • An API token generated for a specific admin has the same privileges as that admin
  • An API token is automatically removed if it is not used for more than 90 days
  • SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed.

In: header

Path Parameters

org_id*string
Formatuuid
service_id*string
Formatuuid

Request Body

application/json

Traffic service definition for applications or destinations used by gateway and SSR policies

addresses?array<string>

Custom IPv4 or IPv6 subnets matched by this service when type==custom

app_categories?array<string>

Categories of applications matched by this service when type==app_categories

app_subcategories?array<string>

Application subcategories matched by this service when type==app_categories

apps?array<string>

Application identifiers matched by this service when type==apps

client_limit_down?integer

0 means unlimited, value from 0 to 107374182

Range0 <= value <= 107374182
Default0
client_limit_up?integer

0 means unlimited, value from 0 to 107374182

Range0 <= value <= 107374182
Default0
description?string

Free-form description of the service definition

dscp?|

QoS DSCP value used for custom SSR traffic classification

failover_policy?service_failover_policy

Failover behavior for traffic matched by this service. enum: non_revertible, none, revertible.

Default"revertible"

Value in

  • "non_revertible"
  • "none"
  • "revertible"
hostnames?array<string>

Domain hostnames matched by this custom service for web filtering

max_jitter?|

Maximum jitter threshold used for SSR uplink selection when traffic_type==custom

max_latency?|

Maximum latency threshold used for SSR uplink selection when traffic_type==custom

max_loss?|

Maximum packet loss threshold used for SSR uplink selection when traffic_type==custom

name?string

Display name of the service definition

service_limit_down?integer

0 means unlimited, value from 0 to 107374182

Range0 <= value <= 107374182
Default0
service_limit_up?integer

0 means unlimited, value from 0 to 107374182

Range0 <= value <= 107374182
Default0
sle_enabled?boolean

Whether to enable measure SLE

Defaultfalse
specs?array<>

Protocol and port match rules used when type==custom

ssr_relaxed_tcp_state_enforcement?boolean

Whether SSR relaxes TCP state enforcement for this service

Defaultfalse
traffic_class?service_traffic_class

Traffic class applied when traffic_type==custom. enum: best_effort, high, low, medium.

Default"best_effort"

Value in

  • "best_effort"
  • "high"
  • "low"
  • "medium"
traffic_type?string

values from List Traffic Types

Default"data_best_effort"
type?service_type

Matching mode that determines which app, URL, or custom fields are used. enum: app_categories, apps, custom, urls.

Default"custom"

Value in

  • "app_categories"
  • "apps"
  • "custom"
  • "urls"
urls?array<string>

URL patterns matched by this service when type==urls

Response Body

curl -X PUT "https://example.com/api/v1/orgs/000000ab-00ab-00ab-00ab-0000000000ab/services/000000ab-00ab-00ab-00ab-0000000000ab" \  -H "Content-Type: application/json" \  -d '{    "addresses": [      "string"    ],    "app_categories": [      "string"    ],    "apps": [      "string"    ],    "dscp": 0,    "failover_policy": "revertible",    "hostnames": [      "string"    ],    "max_jitter": 0,    "max_latency": 0,    "max_loss": 0,    "name": "string",    "sle_enabled": false,    "specs": [      {        "port_range": "0",        "protocol": "any"      }    ],    "traffic_class": "best_effort",    "traffic_type": "data_best_effort",    "type": "custom",    "vpn_name": "addresses"  }'
{  "addresses": [    "string"  ],  "app_categories": [    "string"  ],  "apps": [    "string"  ],  "created_time": 0,  "dscp": 0,  "failover_policy": "revertible",  "hostnames": [    "string"  ],  "id": "497f6eca-6276-5004-bfeb-53cbbbba6f16",  "max_jitter": 0,  "max_latency": 0,  "max_loss": 0,  "modified_time": 0,  "name": "string",  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",  "sle_enabled": false,  "specs": [    {      "port_range": "0",      "protocol": "any"    }  ],  "traffic_class": "best_effort",  "traffic_type": "data_best_effort",  "type": "custom",  "vpn_name": "addresses"}