Skip to main content
Hitachi Vantara Knowledge

HTTP reference

This section of the Help contains a reference of the HTTP methods available for accessing a namespace and the possible return codes and HCP-specific response headers.

HTTP methods

DELETE

Deletes:

  • Objects
  • Versions (purge)
  • Annotations
  • Empty directories
  • ACLs
  • Symbolic links
Permissions

For all operations: delete

For purge: purge

For privileged operations: privileged

Elements

For all operations:

  • Authorization header
  • Object, directory, or symbolic link URL

For privileged operations, these as URL query parameters or form-encoded data:

privileged=true

reason=reason-text

To purge all versions, this as a URL query parameter or form-encoded data:

purge=true

To delete an annotation, these as URL query parameters:

type=custom-metadata

annotation=annotation-name

The annotation name is optional for the default annotation.

To delete an ACL, this as a URL query parameter:

type=acl
Response headers
  • X-HCP-Time
  • X-HCP-ServicedBySystem
  • X-HCP-ErrorMessage

    (if an error occurred and more information is available)

Return codes

Success: 200, 204

Error: 400, 403, 404, 409, 414, 500, 503

GET, except for namespace information requests

Retrieves:

  • Objects
  • Versions
  • Annotations
  • ACLs

Lists:

  • Versions
  • Directories
  • Annotations
Permissions

For object, version, and annotation operations: read

To retrieve directory listings: browse

To retrieve ACLs: read ACL

Elements

For all operations:

  • Authorization header
  • Object, directory, or symbolic link URL

To retrieve data in Gzip format, an Accept-Encoding header that contains gzip or *.

To retrieve a specific version, an annotation or ACL for a specific version, or list annotations for a specific version, this URL query parameter:

version=version-id

To retrieve a version list, this URL query parameter:

version=list

To list deleted objects or versions, this URL query parameter:

deleted=true

To choose not to wait for delayed retrievals, this URL query parameter:

nowait

To retrieve object or version data and an annotation together:

  • This URL query parameter:
    type=whole-object
  • To control the order of the returned information, an X-HCP-CustomMetadataFirst request header with a value of true or false (the default)

To retrieve part of an object or version, an HTTP Range header specifying any of these zero-indexed byte ranges:

  • start-position-end-position
  • start-position-
  • -offset-from-end

To conditionally retrieve an object or version, these headers:

  • If-Match: etag-list
  • If-None-Match: etag-list
  • If-Modified-Since: datetime
  • If-None-Modified-Since: datetime

To force HCP to generate an ETag if the object does not yet have one:

forceEtag=true

To include or exclude the X-HCP-Replicated header in the response, this header:

X-HCP-Get-Replicated: true|false

To have change times for subdirectories in a directory listing reflect object additions and deletions, this URL query parameter:

mostRecentDirTimes=true

To retrieve an annotation, these as URL query parameters:

type=custom-metadata

annotation=annotation-name

The annotation name is optional for the default annotation.

To list annotations, this URL query parameter:

type=custom-metadata-info

To retrieve only an ACL, this URL query parameter:

type=acl

Optionally, to specify the format for the returned ACL, a Content-Type header with one of:

application/json

application/xml (the default)
Response headers

Standard

  • X-HCP-Time
  • X-HCP-SoftwareVersion
  • X-HCP-ServicedBySystem
  • X-HCP-SymlinkTarget

    (if URL is a symbolic link)

  • X-HCP-ErrorMessage

    (if an error occurred and more information is available)

Objects, versions, directory listings, and annotations:

  • X-HCP-ChangeTime Milliseconds
  • X-HCP-ChangeTime String

Objects, versions, and annotations:

  • ETag

Objects and versions:

  • Last-Modified
  • X-HCP-ACL
  • X-HCP-Custom-Metadata
  • X-HCP-Domain
  • X-HCP-DPL
  • X-HCP-GID
  • X-HCP-Hash

    (not returned for multipart objects)

  • X-HCP-Index
  • X-HCP-IngestProtocol
  • X-HCP-IngestTime
  • X-HCP-LabelRetentionHold
  • X-HCP-LabelRetentionHold-Labels
  • X-HCP-Owner
  • X-HCP-Replicated
  • X-HCP-Retention
  • X-HCP-RetentionClass
  • X-HCP-RetentionHold
  • X-HCP-RetentionString
  • X-HCP-Shred
  • X-HCP-Size
  • X-HCP-Type
  • X-HCP-UID
  • X-HCP-VersionID

Partial objects and versions:

  • Content-Range

Objects and versions with annotations:

  • X-HCP-CustomMetadata Annotations
  • X-HCP-CustomMetadata ContentType
  • X-HCP-CustomMetadata First
  • X-HCP-DataContentType

Annotations:

  • X-HCP-ContentLength
  • X-HCP-Hash
  • X-HCP-Size

If response is in Gzip compressed format:

  • Content-Encoding
  • X-HCP-ContentLength

Directory listings:

X-HCP-Type

Return codes

Success: 200, 206

Error: 314, 400, 403, 404, 406, 412, 414, 416, 500, 503

GET of namespace information

Retrieves:

  • Namespace list
  • Namespace settings
  • Namespace retention classes
  • Namespace and user permissions
  • Namespace statistics
Permissions

Any

Elements

For all operations:

  • Authorization header
  • Namespace information URL

To retrieve a namespace list:

http[s]://namespace.tenant.domain/proc

To retrieve settings for an individual namespace:

http[s]://namespace.tenant.domain/proc?single=true

To retrieve retention classes:

http[s]://namespace.tenant.domain/proc/retentionClasses

To retrieve permissions:

http[s]://namespace.tenant.domain/proc/permissions

To retrieve statistics:

http[s]://namespace.tenant.domain/proc/statistics
Response headers
  • X-HCP-Time
  • X-HCP-ErrorMessage

    (if an error occurred and more information is available)

Return codes

Success: 200

Error: 400, 401, 403, 404, 414, 500, 503

HEAD

Checks existence of:

  • Objects
  • Versions
  • Directories
  • Annotations
  • ACLs

Retrieves metadata for:

  • Objects
  • Versions
Permissions

For all operations: read

To check existence of ACLs: read or read ACL

Elements

For all operations:

  • Authorization header
  • Object, directory, or symbolic link URL

To conditionally check the existence of an object or version, these headers:

  • If-Match: etag-list
  • If-None-Match: etag-list
  • If-Modified-Since: datetime
  • If-None-Modified-Since: datetime

To check a specific version or the annotation for a specific version, this URL query parameter:

version=version-id

To check an annotation, these URL query parameters:

type=custom-metadata

annotation=annotation-name

The annotation name is optional for the default annotation.

To check ACLs, this URL query parameter:

type=acl

To include or exclude the X-HCP-Replicated header in the response, this header:

X-HCP-Get-Replicated: true|false
Response headers

General

  • X-HCP-Time
  • X-HCP-SoftwareVersion
  • X-HCP-ServicedBySystem
  • X-HCP-SymlinkTarget

    (if URL is a symbolic link)

  • X-HCP-ErrorMessage

    (if an error occurred and more information is available)

Objects, versions, directories, and annotations:

  • X-HCP-ChangeTimeMilliseconds
  • X-HCP-ChangeTimeString

Objects, versions, and annotations:

  • ETag

Objects and versions:

  • X-HCP-ACL
  • X-HCP- CurrentStorageNode
  • X-HCP-Custom-Metadata
  • X-HCP-CustomMetadataAnnotations
  • X-HCP-Domain
  • X-HCP-DPL
  • X-HCP-GID
  • X-HCP-Hash

    (not returned for multipart objects)

  • X-HCP-Index
  • X-HCP-IngestProtocol
  • X-HCP-IngestTime
  • X-HCP-LabelRetentionHold
  • X-HCP-LabelRetentionHold-Labels
  • X-HCP-Owner
  • X-HCP-Replicated
  • X-HCP-Retention
  • X-HCP-RetentionClass
  • X-HCP-RetentionHold
  • X-HCP-RetentionString
  • X-HCP-Shred
  • X-HCP-Size
  • X-HCP-Type
  • X-HCP-UID
  • X-HCP-VersionID

Directories:

  • X-HCP-Hash
  • X-HCP-Size
  • X-HCP-Type

ACLs:

  • X-HCP-ACL
Return codes

Success: 200, 204

Error: 304, 400, 403, 404, 412, 414, 500, 503

POST

Changes one or more of these metadata values:

  • Hold status
  • Index setting
  • Retention setting
  • Shred setting
  • Object owner
Permissions

For all operations: write

For hold: privileged

For owner: change owner

Elements
  • Authorization header
  • Object URL
  • A body containing these form-encoded values:
    • To hold or release, this URL query parameter:
      hold=true|false
    • To change the index setting, this URL query parameter:
      index=true|false
    • To change the retention setting, this URL query parameter:
      retention=retention-expression
    • To add or change a labeled retention hold, this query parameter:
      label_hold = 
        [{"id":"UniqueLabelHold-1","hold":true|false}, 
        {"id":"UniqueLabelHold-2","hold":true|false}]
    • To specify that the object will be shredded, this URL query parameter:
      shred=true
    • To change the owner of the object, this URL query parameter:
      owner=user-name
    • If the owner query parameter specifies an Active Directory user, this URL query parameter:
      domain=ad-domain
Response headers
  • X-HCP-ServicedBySystem
  • X-HCP-ErrorMessage

    (if an error occurred and more information is available)

Return codes

Success: 200

Error: 400, 403, 404, 414, 500, 503

PUT

Stores:

  • Objects
  • Versions
  • Empty directories
  • Annotations
  • ACLs

Copies objects

Permissions

For all operations: write

To copy objects and versions: read for source namespace

To hold or release: privileged

To add an ACL: write or write ACL

Elements

For all operations:

  • Authorization header
  • Object or directory URL

For all operations except directory creation:

  • A body containing the data
  • To send Gzip compressed data, a Content-Encoding request header with a value of gzip and a chunked transfer encoding

To copy an object, this header:

X-HCP-CopySource:source-namespace-name.source-tenant-name/object-path

To add or change a labeled retention hold, this query parameter:

label_hold = [{"id":"UniqueLabelHold-1","hold":true|false},
{"id":"UniqueLabelHold-2","hold":true|false}]

Optionally, to control whether custom metadata is copied with object data, this header:

X-HCP-MetadataDirective:ALL|NONE

Default is NONE.

To copy a specific version of an object, this URL query parameter:

version=version-number

To conditionally store or copy an object, these headers:

  • If-Match: etag-list
  • If-None-Match: etag-list
  • If-Modified-Since: datetime
  • If-None-Modified-Since: datetime

To conditionally copy an object, these headers:

  • X-HCP-CopySource-If-Match: etag-list
  • X-HCP-CopySource-If-None-Match: etag-list
  • X-HCP-CopySource-If-Modified-Since: datetime
  • X-HCP-CopySource-If-None-Modified-Since: datetime

For copy operations, to force HCP to generate an ETag if the source object does not yet have one:

forceEtag=true

To create a directory, this URL query parameter:

type=directory

To store an annotation, these as URL query parameters:

type=custom-metadata
annotation=annotation-name

The annotation name is optional for the default annotation.

To store object or version data and an annotation together:

  • This URL query parameter:
    type=whole-object
  • An X-HCP-Size request header with the size of the object, in bytes

To add an ACL to an existing object, this URL query parameter:

type=acl

Optionally, to specify the ACL format, a Content-Type header with one of these values:

application/json
application/xml (default value)

To add a predefined ACL when storing an object or version, one of these URL query parameters:

acl=all_read
acl=auth_read

To set hold, index, retention, or shred metadata when storing an object or version, see the query parameters described for the POST method.

Response headers

General

  • X-HCP-Time
  • X-HCP-ServicedBySystem
  • X-HCP-ErrorMessage

    (if an error occurred and more information is available)

Storing or copying objects and versions:

  • ETag
  • X-HCP-Hash
  • X-HCP-VersionID

Storing or copying object or version data and an annotation together:

  • ETag
  • X-HCP-CustomMetadataHash
  • X-HCP-Hash
  • X-HCP-VersionID

Storing annotations:

  • X-HCP-Hash
Return codes

Success: 201, 204

Error: 304, 400, 403, 404, 409, 412, 413, 414, 415, 500, 503

HTTP return codes

The table below describes the possible return codes for HTTP requests that access a namespace.

CodeMeaningMethodsDescription
200OK

DELETE

GET

HEAD

POST

HCP successfully processed a request that does any of:

  • Retrieve an object, system metadata, an annotation, information about annotations, an ACL, or a directory
  • Delete an object, annotation, ACL, symbolic link, or directory
  • Set a metadata value

Note: For a GET request for an object or version, if the number of bytes returned does not equal the value of the Content-Length response header, try the request again later.

201CreatedPUTHCP successfully added an object, version, annotation, ACL, or directory to the namespace, copied an object, or replaced an annotation or ACL for an object.
204No Content

GET or HEAD of an annotation or a version

GET of information about annotations

DELETE of an annotation

One of:

  • For an annotation, the specified object does not have the requested annotation.
  • For a version, the requested version is a delete marker.
  • For information about annotations, the object or version does not have any annotations.
206Partial ContentGET with a Range headerHCP successfully retrieved the data in the byte range specified in the request.
304Not Modified

GET, PUT, or HEAD with If-Modified-Since

GET or HEAD with If-None-Match

PUT with X-HCP-Copy-Source-If-Modified-Since

PUT with X-HCP-Copy-Source-If-None-Match

One of:

  • The request specified an If-Modified-Since header, and the object change time is at or before the time specified in the header.
  • The request specified an If-None-Match header, and the ETag of the requested object or version matches the value in the header.
  • A request to copy an object specified X-HCP-Copy-Source-If-Modified-Since header, and the source object change time is at or before the time specified in the header.
  • A request to copy an object specified an X-HCP-Copy-Source-If-None-Match header, and the ETag of the source object matches the value in the header.
400Bad RequestAll

The request was not valid. These are some, but not all, of the possible reasons:

  • The URL in the request is not well-formed.
  • The request contains an unsupported query parameter or an invalid value for a query parameter.
  • A GET request has both a type=whole-object query parameter and a Range request header.
  • A PUT or POST request has a Content-Encoding header that specifies gzip, but the content is not in gzip-compressed format.
  • The X-HCP-CopySource header in a PUT request to copy an object identifies a symbolic link to an object.
  • A PUT request has a type=whole-object query parameter but does not have an X-HCP-Size header or the X-HCP-Size header value is greater than the content length.
  • HCP has custom metadata XML checking enabled, and a PUT request includes an annotation that is not well-formed XML.
  • For a PUT request that is trying to store an ACL:
    • The ACL includes invalid entries or values or is not well-formed XM L or JSON.
    • ACLs are not enabled for the namespace.
    • The ACL contains more than one thousand ACEs.
    • The ACL specifies an AD user or group, but the namespace does not support AD authentication.
  • The request is trying to change the owner of an object to an AD user, but the namespace does not support AD authentication.
  • The request is trying to change the retention setting from a retention class to an explicit setting, such as a datetime value.
  • The request is trying to change the retention setting and the hold setting at the same time.
  • The specified object has ten annotations and the request is trying to add an annotation.
  • The request is trying to change the retention setting for an object on hold.
  • The request is trying to change the shred setting from true to false.
  • A request other than GET, HEAD, or PUT for an object or version includes a conditional header such as If-Match.
  • The request includes an If-Match or If-None-Match header and the object does not yet have an ETag.
  • A request to copy an object includes an X-HCP-CopySource-If-Match or X-HCP-CopySource-If-None-Match header and does not include a ForceEtag=true query parameter, and the source object does not yet have an ETag.
  • A DELETE request includes a conditional header.

If more information about the error is available, the response headers include the HCP-specific X-HCP-ErrorMessage header.

401UnauthorizedGET for namespace informationThe user does not have access to the namespace for which information is being requested.
403ForbiddenAll

The requested operation was not allowed. These are some, but not all, of the possible reasons:

  • The Authorization header or hcp-ns-auth cookie specifies invalid credentials.
  • The namespace requires authentication, and the request does not include an Authorization header or hcp-ns-auth cookie.
  • The user doesn’t have permission to perform the requested operation.
  • The namespace does not exist.
  • The access method (HTTP or HTTPS) is disabled.
  • For a DELETE request to delete an object, the object is under retention.
  • For a DELETE request to delete a directory, the directory is not empty.
  • For a DELETE request to delete an annotation, the object is under retention, and the namespace does not allow deleting annotations for objects under retention.
  • For a PUT request to add a version of an existing object, the object is under retention.
  • For a PUT request to add or replace an annotation for an object that is under retention, the namespace does not allow the operation for objects under retention.

If more information about the error is available, the response headers include the HCP-specific X-HCP-ErrorMessage header.

404Not Found

DELETE

GET

HEAD

POST

PUT of an annotation or ACL

GET of information about annotations

One of:

  • For all methods, HCP could not find the specified object, version, or directory.
  • Any component of the URL except for the last component in the path is a symbolic link to a directory.
  • For a GET request for a version or a PUT request to copy a version, the specified version is the current version of a deleted object.
  • For a GET request to retrieve object or version data and an annotation concurrently, the requested object does not have an annotation with the specified name.
406Not AcceptableGET

One of:

  • The request has an Accept-Encoding header that does not include gzip or *.
  • For a GET request for an ACL, the request has a Content-Type header with a value other than application/xml or application/json.
409Conflict

DELETE

PUT

One of:

  • For a DELETE request, HCP could not delete or purge the specified object or delete the directory, annotation, or ACL because it is currently being written to the namespace.
  • For a PUT request, HCP could not add the object or directory because it already exists and versioning is not enabled.
  • For a PUT request to store a version of an existing object, HCP could not add a new version of the object because another version is currently being added.
  • For a PUT request to store an annotation, the object for which the annotation is being stored was ingested using CIFS or NFS, and the lazy close period for the object has not expired.
  • For a PUT request that includes a conditional header, HCP is processing another PUT request for the object.
  • A large number of clients are trying to store custom metadata or ACLs for multiple objects at the same time.
410Gone

GET

PUT with X-HCP-CopySource

Possible reasons include:

  • For a GET request, the object is in the process of being deleted.
  • For a GET request, the object exists, but the HCP system does not have the object data. Retry the request, targeting a different system in the replication topology.
  • For a PUT request to copy an object or version, the source object is in the process of being deleted.
  • For a PUT request to copy an object or version, the source object exists, but the HCP system does not have the source object data. Retry the request, targeting a different system in the replication topology.
412Precondition Failed

GET, HEAD, or PUT with If-Match or If-Unmodified-Since header

PUT with

If-None-Match,

X-HCP-Copy-Source-If-Match, or

X-HCP-Copy-Source-If-Unmodified-Since header

One of:

  • The request specified an If-Match header, and the ETag of the requested object or version does not match the value in the header.
  • A PUT request specified an If-None-Match header, and the ETag of the requested object or version matches the value in the header.
  • The request specified an If-Unmodified-Since header, and the object change time is after the time specified in the header.
413File Too LargePUT

One of:

  • Not enough space is available to store the object. Try the request again after objects or versions are deleted from the namespace or the namespace capacity is increased.
  • The request is trying to save an object that is larger than two TB. HCP cannot store objects larger than two TB.
  • The request is trying to store a default annotation that is larger than one GB or any other annotation that is larger than one MB.
414Request URI Too LargeAllThe portion of the URL following rest is longer than 4,095 bytes.
415Unsupported Media TypePOST

One of:

  • The request has a Content-Encoding header with a value other than gzip.
  • For a PUT request for an ACL, the request has a Content-Type header with a value other than application/xml or application/json.
416Requested Range Not SatisfiableGET with a Range header

One of:

  • The specified start position is greater than the size of the requested data.
  • The size of the specified range is zero.
500Internal Server ErrorAll

An internal error occurred. Try the request again, gradually increasing the delay between each successive attempt.

If this error happens repeatedly, please contact your tenant administrator.

503Service UnavailableAll

One of:

  • The request includes a Content-Length header with a value larger than the length of the message body
  • For a GET request to retrieve object data or an annotation, the request specifies the nowait query parameter, and HCP determined that the request would have taken a significant amount of time to return the data.
  • HCP is temporarily unable to handle the request, probably due to system overload, maintenance, or upgrade.

In the last two cases, try the request again, gradually increasing the delay between each successive attempt. If the error persists, please contact your tenant administrator.

If more information about the error is available, the response headers include the HCP-specific X-HCP-ErrorMessage header.

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 to all configured replication links.

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.

Common HTTP response headers

HTTP requests return some common response headers that address browser security concerns. The next table describes some of these common headers.

HeaderValueDescription
Cache-Control
  • no-cache
  • no-store
  • must-revalidate
Specifies directives that must be obeyed by all caching mechanisms along the request/response chain
Content-Security- Policy
  • default-src 'self'
  • script-src 'self'
  • script-src 'unsafe-eval'
  • script-src 'unsafe- inline'
  • connect-src 'self'
  • img-src 'self'
  • style-src 'self'
  • style-src 'unsafe-inline'
  • object-src 'self'
  • frame-ancestors 'self'
Restricts the content that the browser can load to the sources specified by the header value
ExpiresThu, 01 Jan 1970 00:00:00 GMTCauses the response to become stale immediately after it is sent
Pragmano-cachePrevents the response from being used for subsequent requests for the same resource without the browser first checking whether the resource has changed
X-Content-Type- OptionsnosniffPrevents the browser from examining the returned content to determine the content MIME type
X-DNS-Prefetch- ControloffPrevents the browser from performing domain name resolution on URLs embedded in returned content before the URLs are requested
X-Download- OptionsnoopenPrevents the browser from opening resources that are downloaded through links in the returned content
X-Frame-OptionsSAMEORIGINPrevents the browser from rendering the returned content in a frame on a page containing content not returned by the HCP system
X-XSS-Protection1; mode=blockStops the browser from loading the returned content if the browser detects reflected cross-site scripting (XSS) in the response

HCP can also return several standard HTTP response headers that are not described in the help, including Connection, Content-Disposition, Content-Encoding, and Content-Language. For more information about HTTP response headers, see the HTTP/1.1 standards, RFCs 7230 through 7237.

 

  • Was this article helpful?