Skip to content
Start here

List web and API operations

api_gateway.operations.list(OperationListParams**kwargs) -> SyncV4PagePaginationArray[OperationListResponse]
GET/zones/{zone_id}/api_gateway/operations

Lists web and API operations tracked for the zone, including each operation’s method, path, and feature configuration.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Account API GatewayAccount API Gateway ReadDomain API GatewayDomain API Gateway Read
ParametersExpand Collapse
zone_id: str

Identifier.

maxLength32
direction: Optional[Literal["asc", "desc"]]

Direction to order results.

One of the following:
"asc"
"desc"
endpoint: Optional[str]

Filter results to only include endpoints containing this pattern.

feature: Optional[List[Literal["thresholds", "parameter_schemas", "schema_info", "confidence_intervals"]]]

Add feature(s) to the results. The feature name that is given here corresponds to the resulting feature object. Have a look at the top-level object description for more details on the specific meaning.

One of the following:
"thresholds"
"parameter_schemas"
"schema_info"
"confidence_intervals"
host: Optional[Sequence[str]]

Filter results to only include the specified hosts.

method: Optional[Sequence[str]]

Filter results to only include the specified HTTP methods.

order: Optional[Literal["method", "host", "endpoint", "thresholds.$key"]]

Field to order by. When requesting a feature, the feature keys are available for ordering as well, e.g., thresholds.suggested_threshold.

One of the following:
"method"
"host"
"endpoint"
"thresholds.$key"
page: Optional[int]

Page number of paginated results.

minimum1
per_page: Optional[int]

Maximum number of results per page.

maximum50
minimum5
ReturnsExpand Collapse
class OperationListResponse:
endpoint: str

The endpoint which can contain path parameter templates in curly braces, each will be replaced from left to right with {varN}, starting with {var1}, during insertion. This will further be Cloudflare-normalized upon insertion. See: https://developers.cloudflare.com/rules/normalization/how-it-works/.

formaturi-template
maxLength4096
host: str

RFC3986-compliant host.

formathostname
maxLength255
last_updated: datetime
formatdate-time
method: Literal["GET", "POST", "HEAD", 6 more]

The HTTP method used to access the endpoint.

One of the following:
"GET"
"POST"
"HEAD"
"OPTIONS"
"PUT"
"DELETE"
"CONNECT"
"PATCH"
"TRACE"
operation_id: str

UUID.

maxLength36
minLength36
features: Optional[Features]
One of the following:
class FeaturesAPIShieldOperationFeatureThresholds:
thresholds: Optional[FeaturesAPIShieldOperationFeatureThresholdsThresholds]
auth_id_tokens: Optional[int]

The total number of auth-ids seen across this calculation.

data_points: Optional[int]

The number of data points used for the threshold suggestion calculation.

last_updated: Optional[datetime]
formatdate-time
p50: Optional[int]

The p50 quantile of requests (in period_seconds).

p90: Optional[int]

The p90 quantile of requests (in period_seconds).

p99: Optional[int]

The p99 quantile of requests (in period_seconds).

period_seconds: Optional[int]

The period over which this threshold is suggested.

requests: Optional[int]

The estimated number of requests covered by these calculations.

suggested_threshold: Optional[int]

The suggested threshold in requests done by the same auth_id or period_seconds.

class FeaturesAPIShieldOperationFeatureParameterSchemas:
parameter_schemas: FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas
last_updated: Optional[datetime]
formatdate-time
parameter_schemas: Optional[FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas]

An operation schema object containing a response.

parameters: Optional[List[object]]

An array containing the learned parameter schemas.

responses: Optional[object]

An empty response object. This field is required to yield a valid operation schema.

class FeaturesAPIShieldOperationFeatureAPIRouting:
api_routing: Optional[FeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting]

API Routing settings on endpoint.

last_updated: Optional[datetime]
formatdate-time
route: Optional[str]

Target route.

class FeaturesAPIShieldOperationFeatureConfidenceIntervals:
confidence_intervals: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals]
last_updated: Optional[datetime]
formatdate-time
suggested_threshold: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold]
confidence_intervals: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals]
p90: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90]

Upper and lower bound for percentile estimate

lower: Optional[float]

Lower bound for percentile estimate

upper: Optional[float]

Upper bound for percentile estimate

p95: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95]

Upper and lower bound for percentile estimate

lower: Optional[float]

Lower bound for percentile estimate

upper: Optional[float]

Upper bound for percentile estimate

p99: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99]

Upper and lower bound for percentile estimate

lower: Optional[float]

Lower bound for percentile estimate

upper: Optional[float]

Upper bound for percentile estimate

mean: Optional[float]

Suggested threshold.

class FeaturesAPIShieldOperationFeatureSchemaInfo:
schema_info: Optional[FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo]
active_schema: Optional[FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema]

Schema active on endpoint.

id: Optional[str]

UUID.

maxLength36
minLength36
created_at: Optional[datetime]
formatdate-time
name: Optional[str]

Schema file name.

mitigation_action: Optional[Literal["none", "log", "block"]]

Action taken on requests failing validation.

One of the following:
"none"
"log"
"block"

List web and API operations

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
page = client.api_gateway.operations.list(
    zone_id="023e105f4ecef8ad9ca31a8372d0c353",
)
page = page.result[0]
print(page.operation_id)
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": [
    {
      "endpoint": "/api/v1/users/{var1}",
      "host": "www.example.com",
      "last_updated": "2014-01-01T05:20:00.12345Z",
      "method": "GET",
      "operation_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
      "features": {
        "api_routing": {
          "last_updated": "2014-01-01T05:20:00.12345Z",
          "route": "https://api.example.com/api/service"
        }
      }
    }
  ],
  "success": true,
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000,
    "total_pages": 100
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": [
    {
      "endpoint": "/api/v1/users/{var1}",
      "host": "www.example.com",
      "last_updated": "2014-01-01T05:20:00.12345Z",
      "method": "GET",
      "operation_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
      "features": {
        "api_routing": {
          "last_updated": "2014-01-01T05:20:00.12345Z",
          "route": "https://api.example.com/api/service"
        }
      }
    }
  ],
  "success": true,
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000,
    "total_pages": 100
  }
}