HTTP response headers specific to HCP

The next table describes the HTTP response headers specific to HCP.

HeaderMethodsDescription
X-HCP-ACL

HEAD for an object, version, or ACLs

GET for objects and object versions

A true or false value indicating whether the object has an ACL.
X-HCP-ChangeTimeMillisecondsGET or HEAD for an object, version, or annotationThe change time for the object or annotation, in milliseconds since January 1, 1970, at 00:00:00 UTC, followed by an integer that’s unique for the change time
X-HCP-ChangeTimeStringGET or HEAD for objects, object versions, and annotations

The change time for the object or annotation, in this format:

yyyy-MM-ddThh:mm:ssZ

In this format, Z represents the offset from UTC and is specified as:

(+|-)hhmm

X-HCP-ContentLengthGET with compressed transmissionThe length of the returned data before HCP compressed it.
X-HCP-CurrentStorageNodeHEAD for an object or object version

The IP address of a node on which object data is stored. You may get better performance retrieving an object if you use this IP address in the GET request for the object instead of using a hostname in the request URL.

This header is returned only if both of these are true:

  • HCP is configured to return the header.
  • HCP has determined that a GET request for the object is likely to have better performance if the request is targeted to the IP address specified by the header.
X-HCP-Custom-MetadataGET or HEAD for an object or object versionA true or false value indicating whether the object has any annotations.
X-HCP-CustomMetadataAnnotationsGET or HEAD for an object or object version

A comma and space-separated list containing the names and sizes of all object annotations. Each entry in the list consists of the annotation name, a semicolon (;) and the annotation size in bytes, as in report_data;12908.

This header is returned only if X-HCP-Custom-Metadata is true.

X-HCP-CustomMetadataContentTypeGET or HEAD for an object or version data and an annotation together

The custom metadata type, one of:

  • text/xml if HCP checked for well-formed XM L when the annotation was stored
  • unknown otherwise
X-HCP-CustomMetadataFirstGET for an object or version data and an annotation together

One of:

  • true if the custom metadata precedes the object data.
  • false if the object data precedes the custom metadata.
X-HCP-CustomMetadataHashPUT for object data and an annotation together

The cryptographic hash algorithm HCP uses and the cryptographic hash value of the stored annotation, in this format:

X-HCP-CustomMetadataHash: hash-algorithm hash-value

You can use the returned hash value to verify that the stored annotation is the same as the custom metadata you sent. To do this, compare this value with a hash value that you generate from the original custom metadata.

X-HCP-DataContentTypeGET for and object or version data and an annotation together

The Internet media type of the object, such as text/plain or image/jpg.

X-HCP-DomainGET or HEAD for an object or version

The Active Directory domain that contains the user account identified by the X-HCP-Owner header.

This value is an empty string if the X-HCP-Owner header identifies a user account defined in HCP or if the object has no owner.

If the X-HCP-Owner header returns a user account ID or nobody, the value of the X-HCP-Domain header is one of several invalid domains that begin with the percent sign (%). These values have meanings internal to the HCP system.

X-HCP-DPLGET or HEAD for an object or versionThe data protection level of the object or version.
X‑HCP-ErrorMessageAll

Detailed information about the cause of an error.

This header is returned only if a request results in a 400, 403, or 503 error code and HCP has specific information about the cause.

X-HCP-GIDGET or HEAD for an object or version

The POSIX group ID for the object.

For objects added through the NFS protocol, this value is determined by the NFS client.

This value is an empty string if either of these are true:

  • The object was added through a protocol other than NFS, and neither the UID nor the GID for the object has been changed.
  • The HCP owner of the object was changed.
X-HCP-Hash

HEAD and GET for an object, version, or annotation

PUT for an object or annotation

The cryptographic hash algorithm the namespace uses, along with a cryptographic hash value of the stored object or annotation:

X-HCP-Hash: hash-algorithmhash-value

You can use the returned hash value to verify that the stored data is the same as the data you sent. To do this, compare this value with a hash value that you generate from the original data.

The X-HCP-Hash header is not returned for multipart objects.

X-HCP-IndexHEAD and GET for objects and object versionsA true or false value indicating whether the object is marked for indexing.
X-HCP-IngestProtocolHEAD and GET for objects and object versions

The namespace access protocol through which the object was added to the namespace. One of:

  • CIFS_NFS
  • HTTP
  • SMTP
  • WebDAV

If HCP cannot determine the protocol through which the object was added, this value is UNKNOWN.

X-HCP-IngestTimeHEAD and GET for objects and object versionsThe time when HCP stored the object, in seconds since January 1, 1970, at 00:00:00 UTC.
X-HCP-LabelRetentionHoldHEAD and GET for objectsA Boolean value (true|false) indicating whether the object is on labeled hold.
X-HCP-LabelRetentionHold-LabelsHEAD and GET for objects

If the object is on labeled hold (X-HCP-LabelRetentionHold:true) and the user has privileged data access and read permissions on the bucket, this header is returned with a list of all labeled holds.

Example

X-HCP-LabelRetentionHold-Labels:
[{"id":"UniqueLabelHold-1","hold":true},
 {"id":"UniqueLabelHold-2","hold":true},
 {"id":"UniqueLabelHold-3","hold":true}]
X-HCP-OwnerHEAD and GET for objects and object versions

The user that owns the object. This value can be one of:

  • The username of a user account that’s defined in HCP.
  • The username of an Active Directory user account that HCP recognizes. This can be either the user principal name or the Security Accounts Manager (SAM) account name for the AD user account.
  • If the object has no owner, an empty string.
  • nobody: The object was added by an authenticated user before the HCP system was upgraded from a release earlier than 5.0 to release 5.x. This object effectively has no owner.
  • If HCP can no longer identify the object owner by username, a user account ID. For example, you would see a user account ID if the owner has been deleted.
X-HCP-ReplicatedHEAD and GET for objects and object versions

A true or false value indicating whether the object from the primary system has been successfully replicated to an outbound system. The value is true only if the current version of the object, its system metadata, annotations (if any), and ACL (if any) have been replicated.

HCP returns this header only if either of these is true:

  • HCP is configured to return this header, and the request does not include the X-HCP-Get-Replicated header with a value of false.
  • The request includes the X-HCP-Get-Replicated header with a value of true.
X-HCP-ReplicationCollisionHEAD and GET for objects and object versionsA true or false value indicating whether the object is flagged as a replication collision.
X-HCP-RetentionHEAD and GET for objects and object versionsThe end of the retention period for the object, in seconds since January 1, 1970, at 00:00:00 UTC. This value can also be 0, -1, or -2.
X-HCP-RetentionClassHEAD and GET for objects and object versionsThe name of the retention class to which the object belongs. This value is an empty string if the object is not in a retention class.
X-HCP-RetentionHoldHEAD and GET for objects and object versionsA true or false value indicating whether the object is on hold.
X-HCP-RetentionStringHEAD and GET for objects and object versions

The end of the retention period for the object, in this format:

yyyy-MM-ddThh:mm:ssZ

In this format, Z represents the offset from UTC and is specified as:

(+|-)hhmm

For example, 2015-11-16T14:27:20-0500 represents the start of the 20th second into 2:27 PM, November 16, 2015, EST.

The value can also be Deletion Allowed, Deletion Prohibited, or Initial Undefined.

X-HCP-ServicedBySystemAll except GET for namespace information

The domain name of the HCP system responding to the request.

If the target HCP system is unable to respond to the request and also participates in replication, this value may be another system in the replication topology.

X-HCP-ShredHEAD and GET for objects and object versionsA true or false value indicating whether HCP will shred the object after it is deleted.
X-HCP-SizeHEAD and GET for objects, object versions, and annotationsThe size of the object, version, or annotation, in bytes. For whole-object data, this value is the size of the object data.
X-HCP-SoftwareVersionHEAD and GET for objects, object versions, annotations, ACLs, and directoriesThe version number of the HCP software.
X-HCP-SymlinkTargetHEAD and GET

The path to the target object or directory as specified when the symbolic link was created.

This header is returned only if the URL specifies a symbolic link to an object or directory.

X-HCP-TimeAll except POSTThe time at which HCP sent the response to the request, in seconds since January 1, 1970, at 00:00:00 UTC.
X-HCP-TypeHEAD and GET for objects, object versions, annotations, and directories

The entity type. One of:

  • annotation
  • directory
  • object
X-HCP-UIDHEAD and GET for objects and object versions

The POSIX user ID for the object.

For objects added through the NFS protocol, this value is determined by the NFS client.

This value is an empty string if either of these are true:

  • The object was added through a protocol other than NFS and neither the UID nor the GID for the object has been changed.
  • The HCP owner of the object was changed.
X-HCP-VersionId

HEAD and GET for objects and object versions

PUT for objects and object versions

The version ID of the object.