Skip to content
Start here

Retrieve all operations from a schema

client.apiGateway.userSchemas.operations.list(stringschemaID, OperationListParams { zone_id, endpoint, feature, 5 more } params, RequestOptionsoptions?): V4PagePaginationArray<OperationListResponse>
GET/zones/{zone_id}/api_gateway/user_schemas/{schema_id}/operations

Retrieves all operations from the schema. Operations that already exist in API Shield Endpoint Management will be returned as full operations. Deprecated; use /zones/{zone_id}/schema_validation/schemas/{schema_id}/operations instead.

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
schemaID: string
formatuuid
maxLength36
params: OperationListParams { zone_id, endpoint, feature, 5 more }
zone_id: string

Path param: Identifier.

maxLength32
endpoint?: string

Query param: Filter results to only include endpoints containing this pattern.

feature?: Array<"thresholds" | "parameter_schemas" | "schema_info" | "confidence_intervals">

Query param: 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?: Array<string>

Query param: Filter results to only include the specified hosts.

method?: Array<string>

Query param: Filter results to only include the specified HTTP methods.

operation_status?: "new" | "existing"

Query param: Filter results by whether operations exist in API Shield Endpoint Management or not. new will just return operations from the schema that do not exist in API Shield Endpoint Management. existing will just return operations from the schema that already exist in API Shield Endpoint Management.

One of the following:
"new"
"existing"
page?: number

Query param: Page number of paginated results.

minimum1
per_page?: number

Query param: Maximum number of results per page.

maximum50
minimum5
ReturnsExpand Collapse
OperationListResponse = APIShieldOperation { endpoint, host, last_updated, 3 more } | APIShieldBasicOperation { endpoint, host, method }
One of the following:
APIShieldOperation { endpoint, host, last_updated, 3 more }
endpoint: string

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: string

RFC3986-compliant host.

formathostname
maxLength255
last_updated: string
formatdate-time
method: "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: string

UUID.

maxLength36
minLength36
features?: APIShieldOperationFeatureThresholds { thresholds } | APIShieldOperationFeatureParameterSchemas { parameter_schemas } | APIShieldOperationFeatureAPIRouting { api_routing } | 2 more
One of the following:
APIShieldOperationFeatureThresholds { thresholds }
thresholds?: Thresholds { auth_id_tokens, data_points, last_updated, 6 more }
auth_id_tokens?: number

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

data_points?: number

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

last_updated?: string
formatdate-time
p50?: number

The p50 quantile of requests (in period_seconds).

p90?: number

The p90 quantile of requests (in period_seconds).

p99?: number

The p99 quantile of requests (in period_seconds).

period_seconds?: number

The period over which this threshold is suggested.

requests?: number

The estimated number of requests covered by these calculations.

suggested_threshold?: number

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

APIShieldOperationFeatureParameterSchemas { parameter_schemas }
parameter_schemas: ParameterSchemas { last_updated, parameter_schemas }
last_updated?: string
formatdate-time
parameter_schemas?: ParameterSchemas { parameters, responses }

An operation schema object containing a response.

parameters?: Array<unknown>

An array containing the learned parameter schemas.

responses?: unknown

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

APIShieldOperationFeatureAPIRouting { api_routing }
api_routing?: APIRouting { last_updated, route }

API Routing settings on endpoint.

last_updated?: string
formatdate-time
route?: string

Target route.

APIShieldOperationFeatureConfidenceIntervals { confidence_intervals }
confidence_intervals?: ConfidenceIntervals { last_updated, suggested_threshold }
last_updated?: string
formatdate-time
suggested_threshold?: SuggestedThreshold { confidence_intervals, mean }
confidence_intervals?: ConfidenceIntervals { p90, p95, p99 }
p90?: P90 { lower, upper }

Upper and lower bound for percentile estimate

lower?: number

Lower bound for percentile estimate

upper?: number

Upper bound for percentile estimate

p95?: P95 { lower, upper }

Upper and lower bound for percentile estimate

lower?: number

Lower bound for percentile estimate

upper?: number

Upper bound for percentile estimate

p99?: P99 { lower, upper }

Upper and lower bound for percentile estimate

lower?: number

Lower bound for percentile estimate

upper?: number

Upper bound for percentile estimate

mean?: number

Suggested threshold.

APIShieldOperationFeatureSchemaInfo { schema_info }
schema_info?: SchemaInfo { active_schema, mitigation_action }
active_schema?: ActiveSchema { id, created_at, name }

Schema active on endpoint.

id?: string

UUID.

maxLength36
minLength36
created_at?: string
formatdate-time
name?: string

Schema file name.

mitigation_action?: "none" | "log" | "block" | null

Action taken on requests failing validation.

One of the following:
"none"
"log"
"block"
APIShieldBasicOperation { endpoint, host, method }
endpoint: string

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: string

RFC3986-compliant host.

formathostname
maxLength255
method: "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"

Retrieve all operations from a schema

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const operationListResponse of client.apiGateway.userSchemas.operations.list(
  'f174e90a-fafe-4643-bbbc-4a0ed4fc8415',
  { zone_id: '023e105f4ecef8ad9ca31a8372d0c353' },
)) {
  console.log(operationListResponse);
}
{
  "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
  }
}