---
title: Create a web or API operation
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/go)

[API Gateway](https://developers.cloudflare.com/api/go/resources/api_gateway)

[Operations](https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Create a web or API operation

client.APIGateway.Operations.New(ctx, params) (\*[OperationNewResponse](<https://developers.cloudflare.com/api/go/resources/api_gateway#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)>), error)

POST/zones/{zone\_id}/api\_gateway/operations/item

Creates one web or API operation. The host, method, and path are normalized; an existing matching operation is returned instead of duplicated.

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



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

**Example:**<code>X-Auth-Email: user@example.com</code>

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

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### Accepted Permissions (at least one required)

`Account API Gateway``Domain API Gateway`

##### ParametersExpand Collapse

<details>

<summary>

params OperationNewParams

</summary>

ZoneID param.Field\[string]

Path param: Identifier.

maxLength32

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20zone_id">Link to this property</a>

Endpoint param.Field\[string]

Body param: 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: <a href="https://developers.cloudflare.com/rules/normalization/how-it-works/">https://developers.cloudflare.com/rules/normalization/how-it-works/</a>.

formaturi-template

maxLength4096

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20endpoint">Link to this property</a>

Host param.Field\[string]

Body param: RFC3986-compliant host.

formathostname

maxLength255

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20host">Link to this property</a>

<details>

<summary>

Method param.Field\[<a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a>]

Body param: The HTTP method used to access the endpoint.

</summary>

const OperationNewParamsMethodGet <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "GET"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%200">Link to this property</a>

const OperationNewParamsMethodPost <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "POST"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%201">Link to this property</a>

const OperationNewParamsMethodHead <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "HEAD"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%202">Link to this property</a>

const OperationNewParamsMethodOptions <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "OPTIONS"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%203">Link to this property</a>

const OperationNewParamsMethodPut <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "PUT"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%204">Link to this property</a>

const OperationNewParamsMethodDelete <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "DELETE"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%205">Link to this property</a>

const OperationNewParamsMethodConnect <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "CONNECT"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%206">Link to this property</a>

const OperationNewParamsMethodPatch <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "PATCH"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%207">Link to this property</a>

const OperationNewParamsMethodTrace <a href="https://developers.cloudflare.com/api/go/resources/api_gateway/subresources/operations/methods/create#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)">OperationNewParamsMethod</a> = "TRACE"

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method%20%3E%20(schema)%20%3E%20(member)%208">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20method">Link to this property</a>

</details>

[Link to this property](<#(resource)%20api_gateway.operations%20%3E%20(method)%20create%20%3E%20(params)%20default>)

##### ReturnsExpand Collapse

<details>

<summary>

type OperationNewResponse struct{…}

</summary>

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: <a href="https://developers.cloudflare.com/rules/normalization/how-it-works/">https://developers.cloudflare.com/rules/normalization/how-it-works/</a>.

formaturi-template

maxLength4096

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20endpoint">Link to this property</a>

Host string

RFC3986-compliant host.

formathostname

maxLength255

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20host">Link to this property</a>

LastUpdated Time

formatdate-time

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20last_updated">Link to this property</a>

<details>

<summary>

Method OperationNewResponseMethod

The HTTP method used to access the endpoint.

</summary>

One of the following:

const OperationNewResponseMethodGet OperationNewResponseMethod = "GET"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%200">Link to this property</a>

const OperationNewResponseMethodPost OperationNewResponseMethod = "POST"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%201">Link to this property</a>

const OperationNewResponseMethodHead OperationNewResponseMethod = "HEAD"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%202">Link to this property</a>

const OperationNewResponseMethodOptions OperationNewResponseMethod = "OPTIONS"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%203">Link to this property</a>

const OperationNewResponseMethodPut OperationNewResponseMethod = "PUT"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%204">Link to this property</a>

const OperationNewResponseMethodDelete OperationNewResponseMethod = "DELETE"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%205">Link to this property</a>

const OperationNewResponseMethodConnect OperationNewResponseMethod = "CONNECT"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%206">Link to this property</a>

const OperationNewResponseMethodPatch OperationNewResponseMethod = "PATCH"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%207">Link to this property</a>

const OperationNewResponseMethodTrace OperationNewResponseMethod = "TRACE"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method%20%3E%20(member)%208">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20method">Link to this property</a>

OperationID string

UUID.

maxLength36

minLength36

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20operation_id">Link to this property</a>

<details>

<summary>

Features OperationNewResponseFeaturesOptional

</summary>

One of the following:

<details>

<summary>

type OperationNewResponseFeaturesAPIShieldOperationFeatureThresholds struct{…}

</summary>

<details>

<summary>

Thresholds OperationNewResponseFeaturesAPIShieldOperationFeatureThresholdsThresholdsOptional

</summary>

AuthIDTokens int64Optional

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

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20auth_id_tokens">Link to this property</a>

DataPoints int64Optional

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

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20data_points">Link to this property</a>

LastUpdated TimeOptional

formatdate-time

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20last_updated">Link to this property</a>

P50 int64Optional

The p50 quantile of requests (in period\_seconds).

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20p50">Link to this property</a>

P90 int64Optional

The p90 quantile of requests (in period\_seconds).

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20p90">Link to this property</a>

P99 int64Optional

The p99 quantile of requests (in period\_seconds).

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20p99">Link to this property</a>

PeriodSeconds int64Optional

The period over which this threshold is suggested.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20period_seconds">Link to this property</a>

Requests int64Optional

The estimated number of requests covered by these calculations.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20requests">Link to this property</a>

SuggestedThreshold int64Optional

The suggested threshold in requests done by the same auth\_id or period\_seconds.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds%20%3E%20(property)%20suggested_threshold">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200%20%3E%20(property)%20thresholds">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%200">Link to this property</a>

<details>

<summary>

type OperationNewResponseFeaturesAPIShieldOperationFeatureParameterSchemas struct{…}

</summary>

<details>

<summary>

ParameterSchemas OperationNewResponseFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas

</summary>

LastUpdated TimeOptional

formatdate-time

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%201%20%3E%20(property)%20parameter_schemas%20%3E%20(property)%20last_updated">Link to this property</a>

<details>

<summary>

ParameterSchemas OperationNewResponseFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemasOptional

An operation schema object containing a response.

</summary>

Parameters \[]unknownOptional

An array containing the learned parameter schemas.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%201%20%3E%20(property)%20parameter_schemas%20%3E%20(property)%20parameter_schemas%20%3E%20(property)%20parameters">Link to this property</a>

Responses unknownOptional

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

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%201%20%3E%20(property)%20parameter_schemas%20%3E%20(property)%20parameter_schemas%20%3E%20(property)%20responses">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%201%20%3E%20(property)%20parameter_schemas%20%3E%20(property)%20parameter_schemas">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%201%20%3E%20(property)%20parameter_schemas">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%201">Link to this property</a>

<details>

<summary>

type OperationNewResponseFeaturesAPIShieldOperationFeatureAPIRouting struct{…}

</summary>

<details>

<summary>

APIRouting OperationNewResponseFeaturesAPIShieldOperationFeatureAPIRoutingAPIRoutingOptional

API Routing settings on endpoint.

</summary>

LastUpdated TimeOptional

formatdate-time

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%202%20%3E%20(property)%20api_routing%20%3E%20(property)%20last_updated">Link to this property</a>

Route stringOptional

Target route.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%202%20%3E%20(property)%20api_routing%20%3E%20(property)%20route">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%202%20%3E%20(property)%20api_routing">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%202">Link to this property</a>

<details>

<summary>

type OperationNewResponseFeaturesAPIShieldOperationFeatureConfidenceIntervals struct{…}

</summary>

<details>

<summary>

ConfidenceIntervals OperationNewResponseFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsOptional

</summary>

LastUpdated TimeOptional

formatdate-time

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20last_updated">Link to this property</a>

<details>

<summary>

SuggestedThreshold OperationNewResponseFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdOptional

</summary>

<details>

<summary>

ConfidenceIntervals OperationNewResponseFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsOptional

</summary>

<details>

<summary>

P90 OperationNewResponseFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90Optional

Upper and lower bound for percentile estimate

</summary>

Lower float64Optional

Lower bound for percentile estimate

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p90%20%3E%20(property)%20lower">Link to this property</a>

Upper float64Optional

Upper bound for percentile estimate

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p90%20%3E%20(property)%20upper">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p90">Link to this property</a>

<details>

<summary>

P95 OperationNewResponseFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95Optional

Upper and lower bound for percentile estimate

</summary>

Lower float64Optional

Lower bound for percentile estimate

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p95%20%3E%20(property)%20lower">Link to this property</a>

Upper float64Optional

Upper bound for percentile estimate

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p95%20%3E%20(property)%20upper">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p95">Link to this property</a>

<details>

<summary>

P99 OperationNewResponseFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99Optional

Upper and lower bound for percentile estimate

</summary>

Lower float64Optional

Lower bound for percentile estimate

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p99%20%3E%20(property)%20lower">Link to this property</a>

Upper float64Optional

Upper bound for percentile estimate

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p99%20%3E%20(property)%20upper">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20p99">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20confidence_intervals">Link to this property</a>

Mean float64Optional

Suggested threshold.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold%20%3E%20(property)%20mean">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals%20%3E%20(property)%20suggested_threshold">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203%20%3E%20(property)%20confidence_intervals">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%203">Link to this property</a>

<details>

<summary>

type OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfo struct{…}

</summary>

<details>

<summary>

SchemaInfo OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoOptional

</summary>

<details>

<summary>

ActiveSchema OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchemaOptional

Schema active on endpoint.

</summary>

ID stringOptional

UUID.

maxLength36

minLength36

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20active_schema%20%3E%20(property)%20id">Link to this property</a>

CreatedAt TimeOptional

formatdate-time

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20active_schema%20%3E%20(property)%20created_at">Link to this property</a>

Name stringOptional

Schema file name.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20active_schema%20%3E%20(property)%20name">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20active_schema">Link to this property</a>

<details>

<summary>

MitigationAction OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoMitigationActionOptional

Action taken on requests failing validation.

</summary>

One of the following:

const OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoMitigationActionNone OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoMitigationAction = "none"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20mitigation_action%20%3E%20(member)%200">Link to this property</a>

const OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoMitigationActionLog OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoMitigationAction = "log"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20mitigation_action%20%3E%20(member)%201">Link to this property</a>

const OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoMitigationActionBlock OperationNewResponseFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoMitigationAction = "block"

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20mitigation_action%20%3E%20(member)%202">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info%20%3E%20(property)%20mitigation_action">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204%20%3E%20(property)%20schema_info">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features%20%3E%20(variant)%204">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20features">Link to this property</a>

<details>

<summary>

Schemas OperationNewResponseSchemasOptional

OpenAPI JSON schemas for an operation, including both user-uploaded and Cloudflare-learned schemas.

</summary>

<details>

<summary>

Learned OperationNewResponseSchemasLearnedOptional

An OpenAPI operation object fragment containing schema information for an operation. May include parameter definitions, request body specifications, and a component schema extension.

</summary>

Parameters \[]map\[string, unknown]Optional

OpenAPI parameter objects describing path, query, header, or cookie parameters.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20schemas%20%3E%20(property)%20learned%20%3E%20(property)%20parameters">Link to this property</a>

RequestBody map\[string, unknown]Optional

OpenAPI request body object describing the expected request payload.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20schemas%20%3E%20(property)%20learned%20%3E%20(property)%20requestBody">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20schemas%20%3E%20(property)%20learned">Link to this property</a>

<details>

<summary>

Uploaded OperationNewResponseSchemasUploadedOptional

An OpenAPI operation object fragment containing schema information for an operation. May include parameter definitions, request body specifications, and a component schema extension.

</summary>

Parameters \[]map\[string, unknown]Optional

OpenAPI parameter objects describing path, query, header, or cookie parameters.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20schemas%20%3E%20(property)%20uploaded%20%3E%20(property)%20parameters">Link to this property</a>

RequestBody map\[string, unknown]Optional

OpenAPI request body object describing the expected request payload.

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20schemas%20%3E%20(property)%20uploaded%20%3E%20(property)%20requestBody">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20schemas%20%3E%20(property)%20uploaded">Link to this property</a>

</details>

<a href="#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)%20%3E%20(property)%20schemas">Link to this property</a>

</details>

[Link to this property](<#(resource)%20api_gateway.operations%20%3E%20(model)%20OperationNewResponse%20%3E%20(schema)>)

### Create a web or API operation

Go

HTTPTypeScriptPythonGoTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/api_gateway"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  operation, err := client.APIGateway.Operations.New(context.TODO(), api_gateway.OperationNewParams{
    ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    Endpoint: cloudflare.F("/api/v1/users/{var1}"),
    Host: cloudflare.F("www.example.com"),
    Method: cloudflare.F(api_gateway.OperationNewParamsMethodGet),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", operation.OperationID)
}
```

200 example

```
{
  "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"
      }
    },
    "schemas": {
      "learned": {
        "parameters": [
          {
            "foo": "bar"
          }
        ],
        "requestBody": {
          "foo": "bar"
        }
      },
      "uploaded": {
        "parameters": [
          {
            "foo": "bar"
          }
        ],
        "requestBody": {
          "foo": "bar"
        }
      }
    }
  },
  "success": true
}
```

##### Returns Examples

200 example

```
{
  "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"
      }
    },
    "schemas": {
      "learned": {
        "parameters": [
          {
            "foo": "bar"
          }
        ],
        "requestBody": {
          "foo": "bar"
        }
      },
      "uploaded": {
        "parameters": [
          {
            "foo": "bar"
          }
        ],
        "requestBody": {
          "foo": "bar"
        }
      }
    }
  },
  "success": true
}
```