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 | WAF_FILTERED
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 | WAF_FILTERED
- 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
- ConflictException
-
The request configuration has conflicts. For details, see the accompanying error message.
HTTP Status Code: 409
- LimitExceededException
-
The request exceeded the rate limit. Retry after the specified time period.
HTTP Status Code: 429
- 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: