Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
All solutions
    • All solutions for Object Storage
    • Resolving the `Bucket is not empty` error when deleting a bucket
    • Troubleshooting access to a bucket with an assigned security policy
    • Fixing error 429
    • Fixing error 409: `BucketAlreadyExists`
    • Resolving the error of access to S3 buckets from a Yandex Data Processing 1.4 cluster
    • Fixing error 403 (header is not retrieved when using the `OPTION` method)
    • Resolving certificate error
    • Resolving the `GATEWAY_REQUEST_ERROR` error
    • Fixing issues with incorrect MIME types of objects when uploading them to Object Storage
    • Troubleshooting issues with uploading new objects to a bucket
    • How to migrate data from an Object Storage bucket to ice storage
    • How to restrict Object Storage bucket access to a specific Cloud CDN IP address range
    • How to move bucket contents to another bucket in the same folder
    • How to directly access the Object Storage API without using SDK
    • How to view and delete incomplete downloads
    • How to determine the speed of data upload and download
    • How to configure `Cache-Control` headers for objects in a bucket during HTTP requests
    • How to restrict access to a bucket for a user
    • How to connect your own domain to a bucket
    • How to change the storage class
    • How to recover data deleted from a bucket

In this article:

  • Case description
  • Solution
  • Sample Object Storage request using curl
  1. Object Storage
  2. How to directly access the Object Storage API without using SDK

How to directly access the Object Storage API without using SDK

Written by
Yandex Cloud
Updated at December 17, 2025
  • Case description
  • Solution
  • Sample Object Storage request using curl

Case descriptionCase description

You need to exchange data directly with Object Storage, bypassing the SDKs for supported programming languages.

SolutionSolution

The Authorization header for the API request has the format: "Authorization: AWS <key_ID>:<signature>", where:

  • Authorization: AWS: Constant value.
  • <key_ID>: ID of the service account's static access key (without angle brackets).
  • <signature>: HMAC request signature using the SHA-256 hashing algorithm (without angle brackets).

Example:
Authorization: AWS YCAJEsU4EP6Dyo6QiHhPHz4dO:/CQuut9oew7fUoKorITnCcg2VlA=

Note

For more information about request signatures, see this article.

Sample Object Storage request using Sample Object Storage request using curl

Uploading an object to a bucket:

file='file_name' ;\
bucket='bucket_name' ;\
resource="/${bucket}/${file}" ;\
contentType="content_type_of_the_object_to_upload" ;\
dateValue=`date -R` ;\
stringToSign="PUT\n\n${contentType}\n${dateValue}\n${resource}" ;\
s3Key='static_access_key_ID' ;\
s3Secret='secret_key' ;\
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64` ;\
curl -vvv -X PUT -T "${file}" \
  -H "Host: ${bucket}.storage.yandexcloud.net" \
  -H "Date: ${dateValue}" \
  -H "Content-Type: ${contentType}" \
  -H "Authorization: AWS ${s3Key}:${signature}" \
  https://${bucket}.storage.yandexcloud.net/${file}

Before running your request, make sure to specify the following:

  • file: Name of the file to upload to the bucket as an object.
  • bucket: Name of the bucket to upload data to.
  • s3Key and s3Secret: ID and secret of the service account's static access key.
  • contentType: MIME type of the object being uploaded, e.g., text/plain.

Was the article helpful?

Previous
How to move bucket contents to another bucket in the same folder
Next
How to view and delete incomplete downloads
© 2026 Direct Cursus Technology L.L.C.