Amazon API Gateway REST API Reference

method:update

Update the method settings.

HTTP Request

PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>

Request Body

{
  "patchOperations" : [ {
    "op" : "String",
    "path" : "String",
    "value" : "String",
    "from" : "String"
  } ]
}

Request Body Fields

The request accepts the following fields in JSON format.

  • patchOperations
  • A list of update operations to be applied to the specified resource and in the order specified in this list.

    • op
    • An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

    • path
    • The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

    • value
    • The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.

    • from
    • The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

Response

Method

Remarks

To enable request validation on a method, you must have created a RequestValidator for the RestApi before updating the method's requestValidatorId property.

The following table shows the supported and unsupported op operations for updateable Method properties of the specified path values.

path op:add op:replace op:remove op:copy
/authorizationScope Supported Not supported Supported Not supported
/authorizationType Not supported Supported Not supported Not supported
/authorizerId Not supported Supported Not supported Not supported
/apiKeyRequired Not supported Supported Not supported Not supported
/operationName Not supported Supported Not supported Not supported
/requestParameters Supported Supported, not if type = MOCK Supported Not supported
/requestModels Supported Supported Supported Not supported
/requestValidatorId Not supported Supported Not supported Not supported

Example: Update a method to require use of an API key

Request
PATCH /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1
Content-Type: application/json
Host: apigateway.us-east-1.amazonaws.com
X-Amz-Date: 20160602T185328Z
Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160602/us-east-1/apigateway/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature={sig4_hash}
Cache-Control: no-cache

{
  "patchOperations" : [ {
    "op" : "replace",
    "path" : "/apiKeyRequired",
    "value" : "true"
  } ]
}
Response

{
  "_links": {
    "curies": [
      {
        "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html&quot;,
        "name": "integration",
        "templated": true
      },
      {
        "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html&quot;,
        "name": "method",
        "templated": true
      },
      {
        "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html&quot;,
        "name": "methodresponse",
        "templated": true
      }
    ],
    "self": {
      "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET",
      "name": "GET",
      "title": "GET"
    },
    "integration:put": {
      "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration"
    },
    "method:delete": {
      "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
    },
    "method:update": {
      "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET"
    },
    "methodresponse:put": {
      "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}",
      "templated": true
    }
  },
  "apiKeyRequired": true,
  "authorizationType": "NONE",
  "httpMethod": "GET"
}

See Also

AWS CLI