## Retrieve information about all operations on a zone `api_gateway.operations.list(OperationListParams**kwargs) -> SyncV4PagePaginationArray[OperationListResponse]` **get** `/zones/{zone_id}/api_gateway/operations` Lists all API operations tracked by API Shield for a zone with pagination. Returns operation details including method, path, and feature configurations. ### Parameters - `zone_id: str` Identifier. - `direction: Optional[Literal["asc", "desc"]]` Direction to order results. - `"asc"` - `"desc"` - `endpoint: Optional[str]` Filter results to only include endpoints containing this pattern. - `feature: Optional[List[Literal["thresholds", "parameter_schemas", "schema_info"]]]` 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. - `"thresholds"` - `"parameter_schemas"` - `"schema_info"` - `host: Optional[SequenceNotStr[str]]` Filter results to only include the specified hosts. - `method: Optional[SequenceNotStr[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`. - `"method"` - `"host"` - `"endpoint"` - `"thresholds.$key"` - `page: Optional[int]` Page number of paginated results. - `per_page: Optional[int]` Maximum number of results per page. ### Returns - `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/. - `host: str` RFC3986-compliant host. - `last_updated: datetime` - `method: Literal["GET", "POST", "HEAD", 6 more]` The HTTP method used to access the endpoint. - `"GET"` - `"POST"` - `"HEAD"` - `"OPTIONS"` - `"PUT"` - `"DELETE"` - `"CONNECT"` - `"PATCH"` - `"TRACE"` - `operation_id: str` UUID. - `features: Optional[Features]` - `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]` - `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]` - `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]` - `route: Optional[str]` Target route. - `class FeaturesAPIShieldOperationFeatureConfidenceIntervals: …` - `confidence_intervals: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals]` - `last_updated: Optional[datetime]` - `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. - `created_at: Optional[datetime]` - `is_learned: Optional[bool]` True if schema is Cloudflare-provided. - `name: Optional[str]` Schema file name. - `learned_available: Optional[bool]` True if a Cloudflare-provided learned schema is available for this endpoint. - `mitigation_action: Optional[Literal["none", "log", "block"]]` Action taken on requests failing validation. - `"none"` - `"log"` - `"block"` ### Example ```python 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) ``` #### Response ```json { "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": { "thresholds": { "auth_id_tokens": 0, "data_points": 0, "last_updated": "2014-01-01T05:20:00.12345Z", "p50": 0, "p90": 0, "p99": 0, "period_seconds": 0, "requests": 0, "suggested_threshold": 0 } } } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ```