Stay organized with collections
Save and categorize content based on your preferences.
The Cloud Storage XML API supports several standard HTTP request methods.
Each method can use numerous request headers and response headers. The XML API
documentation describes all of the supported HTTP methods as well as the most
frequently used headers for each method.
Some methods are used to work with both data and metadata depending on context.
For example, you can use one PUT Bucket request to create a bucket followed by a
second PUT Bucket request to configure logging for the bucket.
The following list shows which XML API method you use to accomplish
bucket and object tasks.
The Authorization header is represented as <authentication string>. If
you are using the XML API to migrate from another storage provider, then the
Authorization has the format discussed in
Authentication in a Simple Migration Scenario.
Otherwise, the Authorization header has the format
discussed in OAuth 2.0 Authentication.
If you do not provide authorization information when required to perform a
request, the Cloud Storage issues a 401 unauthorized error. For more
information, see Status Codes.
The Host header used in the XML API documentation is of the form:
Host: BUCKET-NAME.storage.googleapis.com
where the bucket name is specified as part of the hostname. In all
operations except GET service, you can also specify the bucket as part of
the URL path. For more information, see
Request Endpoints.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Overview of request methods for the XML API\n\nThe Cloud Storage XML API supports several standard HTTP request methods.\nEach method can use numerous request headers and response headers. The XML API\ndocumentation describes all of the supported HTTP methods as well as the most\nfrequently used headers for each method.\n\nSome methods are used to work with both data and metadata depending on context.\nFor example, you can use one PUT Bucket request to create a bucket followed by a\nsecond PUT Bucket request to configure logging for the bucket.\n\nThe following list shows which XML API method you use to accomplish\nbucket and object tasks.\n\n- [GET Service](/storage/docs/xml-api/get-service)\n - List Buckets in the project\n- [DELETE Bucket](/storage/docs/xml-api/delete-bucket)\n - Delete a Bucket\n- [GET Bucket](/storage/docs/xml-api/get-bucket)\n - [List Objects in a Bucket](/storage/docs/xml-api/get-bucket-list)\n - [List Multipart Uploads in a Bucket](/storage/docs/xml-api/get-bucket-uploads)\n - [Get Bucket ACLs](/storage/docs/xml-api/get-bucket-acls)\n - [Get Bucket Metadata](/storage/docs/xml-api/get-bucket-metadata)\n- [HEAD Bucket](/storage/docs/xml-api/head-bucket)\n - checks bucket existence\n- [PUT Bucket](/storage/docs/xml-api/put-bucket)\n - [Creates a Bucket](/storage/docs/xml-api/put-bucket-create)\n - [Set Bucket ACLs](/storage/docs/xml-api/put-bucket-acls)\n - [Set Bucket Metadata](/storage/docs/xml-api/put-bucket-metadata)\n- DELETE Object\n - [Delete an object](/storage/docs/xml-api/delete-object)\n - [Abort a multipart upload](/storage/docs/xml-api/delete-multipart)\n- [GET Object](/storage/docs/xml-api/get-object)\n - [Download an Object](/storage/docs/xml-api/get-object-download)\n - [List Object Parts](/storage/docs/xml-api/get-object-multipart)\n - [List Object ACLs](/storage/docs/xml-api/get-object-acls)\n - [Get Object Encryption](/storage/docs/xml-api/get-object-encryption)\n - [Get Object Retention](/storage/docs/xml-api/get-object-retention)\n- [HEAD Object](/storage/docs/xml-api/head-object)\n - Gets Object Metadata\n- [POST Object](/storage/docs/xml-api/post-object)\n - [Initiate a Resumable Upload](/storage/docs/xml-api/post-object-resumable)\n - [Initiate a Multipart Upload](/storage/docs/xml-api/post-object-multipart)\n - [Complete a Multipart Upload](/storage/docs/xml-api/post-object-complete)\n - [Upload an Object with a Form](/storage/docs/xml-api/post-object-forms)\n- [PUT Object](/storage/docs/xml-api/put-object)\n - [Upload an Object](/storage/docs/xml-api/put-object-upload)\n - [Upload an Object Part](/storage/docs/xml-api/put-object-multipart)\n - [Copy an Object](/storage/docs/xml-api/put-object-copy)\n - [Compose an Object](/storage/docs/xml-api/put-object-compose)\n - [Set Object ACLs](/storage/docs/xml-api/put-object-acls)\n - [Set Object Retention](/storage/docs/xml-api/put-object-retention)\n- [GET HMAC Key](/storage/docs/xml-api/get-hmac-list)\n- [POST HMAC Key](/storage/docs/xml-api/post-hmac-key)\n - [Create an HMAC key](/storage/docs/xml-api/post-hmac-create)\n - [Update an HMAC key](/storage/docs/xml-api/post-hmac-update)\n - [Delete an HMAC key](/storage/docs/xml-api/post-hmac-delete)\n\nConventions used\n----------------\n\nConventions used in the XML API documentation:\n\n- The `Authorization` header is represented as `\u003cauthentication string\u003e`. If\n you are using the XML API to migrate from another storage provider, then the\n `Authorization` has the format discussed in\n [Authentication in a Simple Migration Scenario](/storage/docs/aws-simple-migration#authentication).\n Otherwise, the `Authorization` header has the format\n discussed in [OAuth 2.0 Authentication](/storage/docs/migrating#fully-migrate).\n\n If you do not provide authorization information when required to perform a\n request, the Cloud Storage issues a 401 unauthorized error. For more\n information, see [Status Codes](/storage/docs/xml-api/reference-status).\n- The `Host` header used in the XML API documentation is of the form:\n\n ```\n Host: BUCKET-NAME.storage.googleapis.com\n ```\n where the bucket name is specified as part of the hostname. In all operations except GET service, you can also specify the bucket as part of the URL path. For more information, see [Request Endpoints](/storage/docs/request-endpoints).\n\n \u003cbr /\u003e"]]