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", or "replace". 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. 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
    • Not supported.

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.

Updateable property path op = add op = replace op = remove
/authorizationType Not supported Supported Not supported
/authorizaterId Not supported Supported Not supported
/apiKeyRequired Not supported Supported Not supported
/operationName Not supported Supported Not supported
/requestParameters Supported Supported, not if type = MOCK Supported
/requestModels Supported Supported Supported
/requestValidatorId Not supported 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