UpdateGatewayResponse - Amazon API Gateway

UpdateGatewayResponse

Updates a GatewayResponse of a specified response type on the given RestApi.

Request Syntax

PATCH /restapis/restapi_id/gatewayresponses/response_type HTTP/1.1 Content-type: application/json { "patchOperations": [ { "from": "string", "op": "string", "path": "string", "value": "string" } ] }

URI Request Parameters

The request uses the following URI parameters.

response_type

The response type of the associated GatewayResponse.

Valid Values: DEFAULT_4XX | DEFAULT_5XX | RESOURCE_NOT_FOUND | UNAUTHORIZED | INVALID_API_KEY | ACCESS_DENIED | AUTHORIZER_FAILURE | AUTHORIZER_CONFIGURATION_ERROR | INVALID_SIGNATURE | EXPIRED_TOKEN | MISSING_AUTHENTICATION_TOKEN | INTEGRATION_FAILURE | INTEGRATION_TIMEOUT | API_CONFIGURATION_ERROR | UNSUPPORTED_MEDIA_TYPE | BAD_REQUEST_PARAMETERS | BAD_REQUEST_BODY | REQUEST_TOO_LARGE | THROTTLED | QUOTA_EXCEEDED

Required: Yes

restapi_id

The string identifier of the associated RestApi.

Required: Yes

Request Body

The request accepts the following data in JSON format.

patchOperations

For more information about supported patch operations, see Patch Operations.

Type: Array of PatchOperation objects

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "defaultResponse": boolean, "responseParameters": { "string" : "string" }, "responseTemplates": { "string" : "string" }, "responseType": "string", "statusCode": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

defaultResponse

A Boolean flag to indicate whether this GatewayResponse is the default gateway response (true) or not (false). A default gateway response is one generated by API Gateway without any customization by an API developer.

Type: Boolean

responseParameters

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

Type: String to string map

responseTemplates

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

Type: String to string map

responseType

The response type of the associated GatewayResponse.

Type: String

Valid Values: DEFAULT_4XX | DEFAULT_5XX | RESOURCE_NOT_FOUND | UNAUTHORIZED | INVALID_API_KEY | ACCESS_DENIED | AUTHORIZER_FAILURE | AUTHORIZER_CONFIGURATION_ERROR | INVALID_SIGNATURE | EXPIRED_TOKEN | MISSING_AUTHENTICATION_TOKEN | INTEGRATION_FAILURE | INTEGRATION_TIMEOUT | API_CONFIGURATION_ERROR | UNSUPPORTED_MEDIA_TYPE | BAD_REQUEST_PARAMETERS | BAD_REQUEST_BODY | REQUEST_TOO_LARGE | THROTTLED | QUOTA_EXCEEDED

statusCode

The HTTP status code for this GatewayResponse.

Type: String

Pattern: [1-5]\d\d

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

HTTP Status Code: 400

NotFoundException

The requested resource is not found. Make sure that the request URI is correct.

HTTP Status Code: 404

TooManyRequestsException

The request has reached its throttling limit. Retry after the specified time period.

HTTP Status Code: 429

UnauthorizedException

The request is denied because the caller has insufficient permissions.

HTTP Status Code: 401

Examples

Update a gateway response

This example illustrates one usage of UpdateGatewayResponse.

Sample Request

PATCH /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1 Host: apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T070722Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=69cc3552631a97....875d6931c497ace2 Cache-Control: no-cache Postman-Token: 4ffd6473-f1e9-3b91-735d-658306e319de { "patchOperations" : [ { "op" : "replace", "path" : "/statusCode", "value" : "444" }, { "op" : "replace", "path" : "/responseParameters/gatewayresponse.header.Access-Control-Allow-Origin", "value" : "'example.com'" }, { "op" : "add", "path" : "/responseTemplates/application~1xml", "value" : "<gatewayResponse><message>$context.error.messageString</message><type>$context.error.responseType</type></gatewayResponse>" } ] }

Sample Response

"_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html", "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path": "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin": "'example.com'", "gatewayresponse.header.x-request-query": "method.request.querystring.q", "gatewayresponse.header.x-request-header": "method.request.header.Accept" }, "responseTemplates": { "application/xml": "<gatewayResponse><message>$context.error.messageString</message><type>$context.error.responseType</type></gatewayResponse>", "application/json": "{\n \"message\": $context.error.messageString,\n \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN", "statusCode": "444" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: