Common Request Headers - Amazon S3 Glacier

This page is only for existing customers of the S3 Glacier service using Vaults and the original REST API from 2012.

If you're looking for archival storage solutions we suggest using the S3 Glacier storage classes in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, and S3 Glacier Deep Archive. To learn more about these storage options, see S3 Glacier storage classes and Long-term data storage using S3 Glacier storage classes in the Amazon S3 User Guide. These storage classes use the Amazon S3 API, are available in all regions, and can be managed within the Amazon S3 console. They offer features like Storage Cost Analysis, Storage Lens, advanced optional encryption features, and more.

Common Request Headers

Amazon S3 Glacier (S3 Glacier) REST requests include headers that contain basic information about the request. The following table describes headers that can be used by all S3 Glacier REST requests.

Header Name Description Required
Authorization

The header that is required to sign requests. S3 Glacier requires Signature Version 4. For more information, see Signing Requests.

Type: String

Yes
Content-Length

The length of the request body (without the headers).

Type: String

Condition: Required only for the Upload Archive (POST archive) API.

Conditional
Date

The date that can be used to create the signature contained in the Authorization header. If the Date header is to be used for signing it must be specified in the ISO 8601 basic format. In this case, the x-amz-date header is not needed. Note that when x-amz-date is present, it always overrides the value of the Date header.

If the Date header is not used for signing, it can be one of the full date formats specified by RFC 2616, section 3.3. For example, the following date/time Wed, 10 Feb 2017 12:00:00 GMT is a valid date/time header for use with S3 Glacier.

If you are using the Date header for signing, then it must be in the ISO 8601 basic YYYYMMDD'T'HHMMSS'Z' format.

Type: String

Condition: If Date is specified but is not in ISO 8601 basic format, then you must also include the x-amz-date header. If Date is specified in ISO 8601 basic format, then this is sufficient for signing requests and you do not need the x-amz-date header. For more information, see Handling Dates in Signature Version 4 in the Amazon Web Services Glossary.

Conditional
Host

This header specifies the service endpoint to which you send your requests. The value must be of the form "glacier.region.amazonaws.com", where region is replaced with an AWS Region designation such as us-west-2.

Type: String

Yes
x-amz-content-sha256

The computed SHA256 checksum of an entire payload that is uploaded with either Upload Archive (POST archive) or Upload Part (PUT uploadID). This header is not the same as the x-amz-sha256-tree-hash header, though, for some small payloads the values are the same. When x-amz-content-sha256 is required, both x-amz-content-sha256 and x-amz-sha256-tree-hash must be specified.

Type: String

Condition: Required for streaming API, Upload Archive (POST archive) and Upload Part (PUT uploadID).

Conditional
x-amz-date

The date used to create the signature in the Authorization header. The format must be ISO 8601 basic in the YYYYMMDD'T'HHMMSS'Z' format. For example, the following date/time 20170210T120000Z is a valid x-amz-date for use with S3 Glacier.

Type: String

Condition: x-amz-date is optional for all requests; it can be used to override the date used for signing requests. If the Date header is specified in the ISO 8601 basic format, then x-amz-date is not needed. When x-amz-date is present, it always overrides the value of the Date header. For more information, see Handling Dates in Signature Version 4 in the Amazon Web Services Glossary.

Conditional
x-amz-glacier-version

The S3 Glacier API version to use. The current version is 2012-06-01.

Type: String

Yes
x-amz-sha256-tree-hash

The computed SHA256 tree-hash checksum for an uploaded archive (Upload Archive (POST archive)) or archive part (Upload Part (PUT uploadID)). For more information about calculating this checksum, see Computing Checksums.

Type: String

Default: None

Condition: Required for Upload Archive (POST archive) and Upload Part (PUT uploadID).

Conditional