APIGateway / Client / update_stage



Changes information about a Stage resource.

See also: AWS API Documentation

Request Syntax

response = client.update_stage(
            'op': 'add'|'remove'|'replace'|'move'|'copy'|'test',
            'path': 'string',
            'value': 'string',
            'from': 'string'
  • restApiId (string) –


    The string identifier of the associated RestApi.

  • stageName (string) –


    The name of the Stage resource to change information about.

  • patchOperations (list) –

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

    • (dict) –

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

      • op (string) –

        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 (string) –

        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 (string) –

        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”: …}’.

      • from (string) –

        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”.

Return type:



Response Syntax

    'deploymentId': 'string',
    'clientCertificateId': 'string',
    'stageName': 'string',
    'description': 'string',
    'cacheClusterEnabled': True|False,
    'cacheClusterSize': '0.5'|'1.6'|'6.1'|'13.5'|'28.4'|'58.2'|'118'|'237',
    'methodSettings': {
        'string': {
            'metricsEnabled': True|False,
            'loggingLevel': 'string',
            'dataTraceEnabled': True|False,
            'throttlingBurstLimit': 123,
            'throttlingRateLimit': 123.0,
            'cachingEnabled': True|False,
            'cacheTtlInSeconds': 123,
            'cacheDataEncrypted': True|False,
            'requireAuthorizationForCacheControl': True|False,
            'unauthorizedCacheControlHeaderStrategy': 'FAIL_WITH_403'|'SUCCEED_WITH_RESPONSE_HEADER'|'SUCCEED_WITHOUT_RESPONSE_HEADER'
    'variables': {
        'string': 'string'
    'documentationVersion': 'string',
    'accessLogSettings': {
        'format': 'string',
        'destinationArn': 'string'
    'canarySettings': {
        'percentTraffic': 123.0,
        'deploymentId': 'string',
        'stageVariableOverrides': {
            'string': 'string'
        'useStageCache': True|False
    'tracingEnabled': True|False,
    'webAclArn': 'string',
    'tags': {
        'string': 'string'
    'createdDate': datetime(2015, 1, 1),
    'lastUpdatedDate': datetime(2015, 1, 1)

Response Structure

  • (dict) –

    Represents a unique identifier for a version of a deployed RestApi that is callable by users.

    • deploymentId (string) –

      The identifier of the Deployment that the stage points to.

    • clientCertificateId (string) –

      The identifier of a client certificate for an API stage.

    • stageName (string) –

      The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

    • description (string) –

      The stage’s description.

    • cacheClusterEnabled (boolean) –

      Specifies whether a cache cluster is enabled for the stage.

    • cacheClusterSize (string) –

      The stage’s cache capacity in GB. For more information about choosing a cache size, see Enabling API caching to enhance responsiveness.

    • cacheClusterStatus (string) –

      The status of the cache cluster for the stage, if enabled.

    • methodSettings (dict) –

      A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*/\* for overriding all methods in the stage.

      • (string) –

        • (dict) –

          Specifies the method setting properties.

          • metricsEnabled (boolean) –

            Specifies whether Amazon CloudWatch metrics are enabled for this method.

          • loggingLevel (string) –

            Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are OFF, ERROR, and INFO. Choose ERROR to write only error-level entries to CloudWatch Logs, or choose INFO to include all ERROR events as well as extra informational events.

          • dataTraceEnabled (boolean) –

            Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs.

          • throttlingBurstLimit (integer) –

            Specifies the throttling burst limit.

          • throttlingRateLimit (float) –

            Specifies the throttling rate limit.

          • cachingEnabled (boolean) –

            Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.

          • cacheTtlInSeconds (integer) –

            Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.

          • cacheDataEncrypted (boolean) –

            Specifies whether the cached responses are encrypted.

          • requireAuthorizationForCacheControl (boolean) –

            Specifies whether authorization is required for a cache invalidation request.

          • unauthorizedCacheControlHeaderStrategy (string) –

            Specifies how to handle unauthorized requests for cache invalidation.

    • variables (dict) –

      A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

      • (string) –

        • (string) –

    • documentationVersion (string) –

      The version of the associated API documentation.

    • accessLogSettings (dict) –

      Settings for logging access in this stage.

      • format (string) –

        A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

      • destinationArn (string) –

        The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-.

    • canarySettings (dict) –

      Settings for the canary deployment in this stage.

      • percentTraffic (float) –

        The percent (0-100) of traffic diverted to a canary deployment.

      • deploymentId (string) –

        The ID of the canary deployment.

      • stageVariableOverrides (dict) –

        Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

        • (string) –

          • (string) –

      • useStageCache (boolean) –

        A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

    • tracingEnabled (boolean) –

      Specifies whether active tracing with X-ray is enabled for the Stage.

    • webAclArn (string) –

      The ARN of the WebAcl associated with the Stage.

    • tags (dict) –

      The collection of tags. Each tag element is associated with a given resource.

      • (string) –

        • (string) –

    • createdDate (datetime) –

      The timestamp when the stage was created.

    • lastUpdatedDate (datetime) –

      The timestamp when the stage last updated.