REST API non-HTTP response headers

Content Platform Tenant Management Help

Version
9.7.x
File Size
4269 KB
Audience
anonymous
Part Number
MK-95HCPH002-19

The headers returned by HCP in response to REST API requests are either standard HTTP response headers or HCP-specific response headers. The following table describes the HCP-specific response headers.

Header Methods Description
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-ChangeTimeMilliseconds GET or HEAD for an object, version, or annotation The 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-ChangeTimeString GET 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-ContentLength GET with compressed transmission The length of the returned data before HCP compressed it.
X-HCP-CurrentStorageNode HEAD 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-Metadata GET or HEAD for an object or object version A true or false value indicating whether the object has any annotations.
X-HCP-CustomMetadataAnnotations GET 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-CustomMetadataContentType GET 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-CustomMetadataFirst GET 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-CustomMetadataHash PUT 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-DataContentType GET 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-Domain GET 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-DPL GET or HEAD for an object or version The data protection level of the object or version.
X‑HCP-ErrorMessage All

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-GID GET 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-Index HEAD and GET for objects and object versions A true or false value indicating whether the object is marked for indexing.
X-HCP-IngestProtocol HEAD 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-IngestTime HEAD and GET for objects and object versions The time when HCP stored the object, in seconds since January 1, 1970, at 00:00:00 UTC.
X-HCP-LabelRetentionHold HEAD and GET for objects A Boolean value (true|false) indicating whether the object is on labeled hold.
X-HCP-LabelRetentionHold-Labels HEAD 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-Owner HEAD 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-Replicated HEAD 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 to all configured replication links.

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

  • In an HCP system with multiple replication links (e.g., in a ring topology or GeoEC configuration), the header will return the value true for an object only when the object has been accurately copied to all the replication links associated with a particular tenant. If even one of these replication links experiences a problem or goes offline, the header will not change to true
  • If one of the HCP systems becomes unavailable or if a replication link experiences an outage or if there is an issue with any of the components, the header will not change to true, even when an alternative HCP system is available for replication.
X-HCP-ReplicationCollision HEAD and GET for objects and object versions A true or false value indicating whether the object is flagged as a replication collision.
X-HCP-Retention HEAD and GET for objects and object versions The 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-RetentionClass HEAD and GET for objects and object versions The 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-RetentionHold HEAD and GET for objects and object versions A true or false value indicating whether the object is on hold.
X-HCP-RetentionString HEAD 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-ServicedBySystem All 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-Shred HEAD and GET for objects and object versions A true or false value indicating whether HCP will shred the object after it is deleted.
X-HCP-Size HEAD and GET for objects, object versions, and annotations The size of the object, version, or annotation, in bytes. For whole-object data, this value is the size of the object data.
X-HCP-SoftwareVersion HEAD and GET for objects, object versions, annotations, ACLs, and directories The version number of the HCP software.
X-HCP-SymlinkTarget HEAD 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-Time All except POST The time at which HCP sent the response to the request, in seconds since January 1, 1970, at 00:00:00 UTC.
X-HCP-Type HEAD and GET for objects, object versions, annotations, and directories

The entity type. One of:

  • annotation
  • directory
  • object
X-HCP-UID HEAD 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.