Object Storage v4.176.0
Object Storage Buckets List
Returns a paginated list of all Object Storage Buckets that you own.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/buckets/
Response Samples
{
"data": [
{
"cluster": "us-east-1",
"created": "2019-01-01T01:23:45",
"hostname": "example-bucket.us-east-1.linodeobjects.com",
"label": "example-bucket",
"objects": 4,
"size": 188318981
}
],
"page": 1,
"pages": 1,
"results": 1
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
data | array
of objects
| ||||||||||||
page | integerThe current page. | ||||||||||||
pages | integerThe total number of pages. | ||||||||||||
results | integerThe total number of results. |
errors | array
of objects
|
Object Storage Bucket Create
Creates an Object Storage Bucket in the specified cluster.
Accounts with negative balances cannot access this command.
If the bucket already exists and is owned by you, this endpoint returns a 200 response with that bucket as if it had just been created.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"label": "example-bucket",
"cluster": "us-east-1",
"cors_enabled": true,
"acl": "private"
}' \
https://api.linode.com/v4/object-storage/buckets/
Request Body Schema
acl | stringEnum:
private
public-read
authenticated-read
public-read-write
Default:
privateThe Access Control Level of the bucket using a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly. |
cluster Required | stringThe ID of the Object Storage Cluster where this bucket should be created. |
cors_enabled | booleanDefault:
falseIf true, the bucket will be created with CORS enabled for all origins. For more fine-grained controls of CORS, use the S3 API directly. |
label Required | stringThe name for this bucket. Must be unique in the cluster you are creating the bucket in, or an error will be returned. Labels will be reserved only for the cluster that active buckets are created and stored in. If you want to reserve this bucket’s label in another cluster, you must create a new bucket with the same label in the new cluster. |
Response Samples
{
"cluster": "us-east-1",
"created": "2019-01-01T01:23:45",
"hostname": "example-bucket.us-east-1.linodeobjects.com",
"label": "example-bucket",
"objects": 4,
"size": 188318981
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
cluster | stringThe ID of the Object Storage Cluster this bucket is in. |
created | string<date-time>When this bucket was created. |
hostname | stringThe hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public. |
label | stringThe name of this bucket. |
objects | integerThe number of objects stored in this bucket. |
size | integerThe size of the bucket in bytes. |
errors | array
of objects
|
Object Storage Buckets in Cluster List
Returns a list of Buckets in this cluster belonging to this Account.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/buckets/us-east-1
Response Samples
{
"data": [
{
"cluster": "us-east-1",
"created": "2019-01-01T01:23:45",
"hostname": "example-bucket.us-east-1.linodeobjects.com",
"label": "example-bucket",
"objects": 4,
"size": 188318981
}
],
"page": 1,
"pages": 1,
"results": 1
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
data | array
of objects
| ||||||||||||
page | integerThe current page. | ||||||||||||
pages | integerThe total number of pages. | ||||||||||||
results | integerThe total number of results. |
errors | array
of objects
|
Object Storage Bucket Remove
Removes a single bucket.
Bucket objects must be removed prior to removing the bucket. While buckets containing objects may be deleted using the s3cmd command-line tool, such operations can fail if the bucket contains too many objects. The recommended way to empty large buckets is to use the S3 API to configure lifecycle policies that remove all objects, then delete the bucket.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket
Response Samples
{}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
errors | array
of objects
|
Object Storage Bucket View
Returns a single Object Storage Bucket.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket
Response Samples
{
"cluster": "us-east-1",
"created": "2019-01-01T01:23:45",
"hostname": "example-bucket.us-east-1.linodeobjects.com",
"label": "example-bucket",
"objects": 4,
"size": 188318981
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
cluster | stringThe ID of the Object Storage Cluster this bucket is in. |
created | string<date-time>When this bucket was created. |
hostname | stringThe hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public. |
label | stringThe name of this bucket. |
objects | integerThe number of objects stored in this bucket. |
size | integerThe size of the bucket in bytes. |
errors | array
of objects
|
Object Storage Bucket Access Modify
Allows changing basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings. Only allows enabling/disabling CORS for all origins, and/or setting canned ACLs.
For more fine-grained control of both systems, please use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"cors_enabled": true,
"acl": "private"
}' \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/access
Request Body Schema
acl | stringEnum:
private
public-read
authenticated-read
public-read-write
customThe Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly. |
cors_enabled | booleanIf true, the bucket will be created with CORS enabled for all origins. For more fine-grained controls of CORS, use the S3 API directly. |
Response Samples
{}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
errors | array
of objects
|
Object Storage Bucket Access Update
Allows changing basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings. Only allows enabling/disabling CORS for all origins, and/or setting canned ACLs.
For more fine-grained control of both systems, please use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"cors_enabled": true,
"acl": "private"
}' \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/access
Request Body Schema
acl | stringEnum:
private
public-read
authenticated-read
public-read-write
customThe Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly. |
cors_enabled | booleanIf true, the bucket will be created with CORS enabled for all origins. For more fine-grained controls of CORS, use the S3 API directly. |
Response Samples
{}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
errors | array
of objects
|
Object Storage Object ACL Config View
View an Object’s configured Access Control List (ACL) in this Object Storage bucket. ACLs define who can access your buckets and objects and specify the level of access granted to those users.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Query Parameters
| name |
The |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-acl?name=example.txt
Response Samples
{
"acl": "public-read",
"acl_xml": "<AccessControlPolicy>...</AccessControlPolicy>"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
acl | stringEnum:
private
public-read
authenticated-read
public-read-write
customThe Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly. |
acl_xml | stringThe full XML of the object’s ACL policy. |
errors | array
of objects
|
Object Storage Object ACL Config Update
Update an Object’s configured Access Control List (ACL) in this Object Storage bucket. ACLs define who can access your buckets and objects and specify the level of access granted to those users.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"acl": "public-read",
"name": "example.txt"
}' \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-acl
Request Body Schema
acl Required | stringEnum:
private
public-read
authenticated-read
public-read-write
customThe Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly. |
name Required | stringThe |
Response Samples
{
"acl": "public-read",
"acl_xml": "<AccessControlPolicy>...</AccessControlPolicy>"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
acl | stringEnum:
private
public-read
authenticated-read
public-read-write
customThe Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly. |
acl_xml | stringThe full XML of the object’s ACL policy. |
errors | array
of objects
|
Object Storage Bucket Contents List
Returns the contents of a bucket. The contents are paginated using a marker,
which is the name of the last object on the previous page. Objects may
be filtered by prefix and delimiter as well; see Query Parameters for more
information.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Query Parameters
| marker |
The “marker” for this request, which can be used to paginate through large buckets. Its value should be the value of the |
| delimiter |
The delimiter for object names; if given, object names will be returned up to the first occurrence of this character. This is most commonly used with the |
| prefix |
Filters objects returned to only those whose name start with the given prefix. Commonly used in conjunction with |
| page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-list
Response Samples
{
"data": [
{
"etag": "9f254c71e28e033bf9e0e5262e3e72ab",
"last_modified": "2019-01-01T01:23:45",
"name": "example",
"owner": "bfc70ab2-e3d4-42a4-ad55-83921822270c",
"size": 123
}
],
"is_truncated": true,
"next_marker": "bd021c21-e734-4823-97a4-58b41c2cd4c8.892602.184"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
data | array
of objects
| ||||||||||
is_truncated | booleanDesignates if there is another page of bucket objects. | ||||||||||
next_marker Nullable | stringReturns the value you should pass to the |
errors | array
of objects
|
Object Storage Object URL Create
Creates a pre-signed URL to access a single Object in a bucket. This
can be used to share objects, and also to create/delete objects by using
the appropriate HTTP method in your request body’s method parameter.
This endpoint is available for convenience. It is recommended that instead you use the more fully-featured S3 API directly.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"method": "GET",
"name": "example"
}' \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-url
Request Body Schema
content_type | stringThe expected |
expires_in | integer
360..86400Default:
3600How long this signed URL will be valid for, in seconds. If omitted, the URL will be valid for 3600 seconds (1 hour). |
method Required | stringDefault:
GETThe HTTP method allowed to be used with the pre-signed URL. |
name Required | stringThe name of the object that will be accessed with the pre-signed URL. This object need not exist, and no error will be returned if it doesn’t. This behavior is useful for generating pre-signed URLs to upload new objects to by setting the |
Response Samples
{
"url": "https://us-east-1.linodeobjects.com/example-bucket/example?Signature=qr98TEucCntPgEG%2BsZQGDsJg93c%3D&Expires=1567609905&AWSAccessKeyId=G4YAF81XWY61DQM94SE0"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
url | stringThe signed URL to perform the request at. |
errors | array
of objects
|
Object Storage TLS/SSL Cert Delete
Deletes this Object Storage bucket’s user uploaded TLS/SSL certificate and private key.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl
linode-cli object-storage ssl-delete \
us-east-1 example-bucket
Response Samples
{}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
errors | array
of objects
|
Object Storage TLS/SSL Cert View
Returns a boolean value indicating if this bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl
linode-cli object-storage ssl-view \
us-east-1 example-bucket
Response Samples
{
"ssl": true
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
ssl | booleanA boolean indicating if this Bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user. |
errors | array
of objects
|
Object Storage TLS/SSL Cert Upload
Upload a TLS/SSL certificate and private key to be served when you visit your Object Storage bucket via HTTPS. Your TLS/SSL certificate and private key are stored encrypted at rest.
To replace an expired certificate, delete your current certificate and upload a new one.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| clusterId | stringRequiredThe ID of the cluster this bucket exists in. |
| bucket | stringRequiredThe bucket name. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"certificate": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----",
"private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----"
}' \
https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl
linode-cli object-storage ssl-upload \
us-east-1 example-bucket \
--certificate "-----BEGIN CERTIFICATE-----
CERTIFICATE_INFORMATION
-----END CERTIFICATE-----" \
--private_key "-----BEGIN PRIVATE KEY-----
PRIVATE_KEY_INFORMATION
-----END PRIVATE KEY-----"
Request Body Schema
certificate Required | stringYour Base64 encoded and PEM formatted SSL certificate. Line breaks must be represented as “\n” in the string for requests (but not when using the Linode CLI) |
private_key Required | stringThe private key associated with this TLS/SSL certificate. Line breaks must be represented as “\n” in the string for requests (but not when using the Linode CLI) |
Response Samples
{
"ssl": true
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
ssl | booleanA boolean indicating if this Bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user. |
errors | array
of objects
|
Object Storage Cancel
Cancel Object Storage on an Account.
Warning: Removes all buckets and their contents from your Account. This data is irretrievable once removed.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X POST \
https://api.linode.com/v4/object-storage/cancel
linode-cli object-storage cancel
Response Samples
{}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
errors | array
of objects
|
Clusters List
Returns a paginated list of Object Storage Clusters that are available for use. Users can connect to the clusters with third party clients to create buckets and upload objects.
Authorizations
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/clusters
linode-cli object-storage clusters-list
Response Samples
{
"data": [
{
"domain": "us-east-1.linodeobjects.com",
"id": "us-east-1",
"region": "us-east",
"static_site_domain": "website-us-east-1.linodeobjects.com",
"status": "available"
}
],
"page": 1,
"pages": 1,
"results": 1
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
data | array
of objects
| ||||||||||
page | integerThe current page. | ||||||||||
pages | integerThe total number of pages. | ||||||||||
results | integerThe total number of results. |
errors | array
of objects
|
Cluster View
Returns a single Object Storage Cluster.
Authorizations
Path Parameters
| clusterId | stringRequiredThe ID of the Cluster. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/clusters/us-east-1
linode-cli object-storage clusters-view us-east-1
Response Samples
{
"domain": "us-east-1.linodeobjects.com",
"id": "us-east-1",
"region": "us-east",
"static_site_domain": "website-us-east-1.linodeobjects.com",
"status": "available"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
domain | stringThe base URL for this cluster, used for connecting with third-party clients. |
id | stringThe unique ID for this cluster. |
region | stringThe region where this cluster is located. |
static_site_domain | stringThe base URL for this cluster used when hosting static sites. |
status | stringEnum:
available
unavailableThis cluster’s status. |
errors | array
of objects
|
Object Storage Keys List
Returns a paginated list of Object Storage Keys for authenticating to the Object Storage S3 API.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/keys
linode-cli object-storage keys-list
Response Samples
{
"data": [
{
"access_key": "KVAKUTGBA4WTR2NSJQ81",
"bucket_access": [
{
"bucket_name": "example-bucket",
"cluster": "ap-south-1",
"permissions": "read_only"
}
],
"id": 123,
"label": "my-key",
"limited": true,
"secret_key": "OiA6F5r0niLs3QA2stbyq7mY5VCV7KqOzcmitmHw"
}
],
"page": 1,
"pages": 1,
"results": 1
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
data | array
of objects
| ||||||||||||||||||
page | integerThe current page. | ||||||||||||||||||
pages | integerThe total number of pages. | ||||||||||||||||||
results | integerThe total number of results. |
errors | array
of objects
|
Object Storage Key Create
Provisions a new Object Storage Key on your account.
- Accounts with negative balances cannot access this command.
- A successful request triggers an
obj_access_key_createevent. - To create a Limited Access Key with specific permissions, send a
bucket_accessarray. - To create a Limited Access Key without access to any buckets, send an empty
bucket_accessarray. - To create an Access Key with unlimited access to all clusters and all buckets, omit the
bucket_accessarray.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"label": "my-object-storage-key",
"bucket_access": [
{
"cluster": "ap-south-1",
"bucket_name": "bucket-example-1",
"permissions": "read_write"
},
{
"cluster": "us-east-1",
"bucket_name": "bucket-example-2",
"permissions": "read_only"
}
]
}' \
https://api.linode.com/v4/object-storage/keys
linode-cli object-storage keys-create \
--label "my-object-storage-key" \
--bucket_access '[{"cluster": "ap-south-1", "bucket_name": "bucket-example-1", "permissions": "read_write" }]'
Request Body Schema
bucket_access | array
of objectsDefines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Limited Access Keys can:
Note: You can create an Object Storage Limited Access Key without access to any buckets.
This is achieved by sending a request with an empty Note: If this field is omitted, a regular unlimited access key is issued.
| ||||||
label | stringThe label given to this key. For display purposes only. |
Response Samples
{
"access_key": "KVAKUTGBA4WTR2NSJQ81",
"bucket_access": [
{
"bucket_name": "example-bucket",
"cluster": "ap-south-1",
"permissions": "read_only"
}
],
"id": 123,
"label": "my-key",
"limited": true,
"secret_key": "OiA6F5r0niLs3QA2stbyq7mY5VCV7KqOzcmitmHw"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
access_key | stringThis keypair’s access key. This is not secret. | ||||||
bucket_access | array
of objectsDefines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Limited Access Keys can:
Note: You can create an Object Storage Limited Access Key without access to any buckets.
This is achieved by sending a request with an empty Note: If this field is omitted, a regular unlimited access key is issued.
| ||||||
id | integerThis keypair’s unique ID | ||||||
label | stringThe label given to this key. For display purposes only. | ||||||
limited | booleanWhether or not this key is a limited access key. Will return | ||||||
secret_key | stringThis keypair’s secret key. Only returned on key creation. |
errors | array
of objects
|
Object Storage Key Revoke
Revokes an Object Storage Key. This keypair will no longer be usable by third-party clients.
- A successful request triggers an
obj_access_key_deleteevent.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| keyId | integerRequiredThe key to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/object-storage/keys/12345
linode-cli object-storage keys-delete 12345
Response Samples
{}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
errors | array
of objects
|
Object Storage Key View
Returns a single Object Storage Key provisioned for your account.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Path Parameters
| keyId | integerRequiredThe key to look up. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/keys/12345
linode-cli object-storage keys-view \
--keyId 12345
Response Samples
{
"access_key": "KVAKUTGBA4WTR2NSJQ81",
"bucket_access": [
{
"bucket_name": "example-bucket",
"cluster": "ap-south-1",
"permissions": "read_only"
}
],
"id": 123,
"label": "my-key",
"limited": true,
"secret_key": "OiA6F5r0niLs3QA2stbyq7mY5VCV7KqOzcmitmHw"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
access_key | stringThis keypair’s access key. This is not secret. | ||||||
bucket_access | array
of objectsDefines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Limited Access Keys can:
Note: You can create an Object Storage Limited Access Key without access to any buckets.
This is achieved by sending a request with an empty Note: If this field is omitted, a regular unlimited access key is issued.
| ||||||
id | integerThis keypair’s unique ID | ||||||
label | stringThe label given to this key. For display purposes only. | ||||||
limited | booleanWhether or not this key is a limited access key. Will return | ||||||
secret_key | stringThis keypair’s secret key. Only returned on key creation. |
errors | array
of objects
|
Object Storage Key Update
Updates an Object Storage Key on your account.
- A successful request triggers an
obj_access_key_updateevent.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_write |
Path Parameters
| keyId | integerRequiredThe key to look up. |
Request Samples
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"label": "my-object-storage-key"
}' \
https://api.linode.com/v4/object-storage/keys/12345
linode-cli object-storage keys-update \
--keyId 12345
--label "my-object-storage-key"
Request Body Schema
label | stringThe label for this keypair, for display purposes only. |
Response Samples
{
"access_key": "KVAKUTGBA4WTR2NSJQ81",
"bucket_access": [
{
"bucket_name": "example-bucket",
"cluster": "ap-south-1",
"permissions": "read_only"
}
],
"id": 123,
"label": "my-key",
"limited": true,
"secret_key": "OiA6F5r0niLs3QA2stbyq7mY5VCV7KqOzcmitmHw"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
access_key | stringThis keypair’s access key. This is not secret. | ||||||
bucket_access | array
of objectsDefines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Limited Access Keys can:
Note: You can create an Object Storage Limited Access Key without access to any buckets.
This is achieved by sending a request with an empty Note: If this field is omitted, a regular unlimited access key is issued.
| ||||||
id | integerThis keypair’s unique ID | ||||||
label | stringThe label given to this key. For display purposes only. | ||||||
limited | booleanWhether or not this key is a limited access key. Will return | ||||||
secret_key | stringThis keypair’s secret key. Only returned on key creation. |
errors | array
of objects
|
Object Storage Transfer View
The amount of outbound data transfer used by your account’s Object Storage buckets. Object Storage adds 1 terabyte of outbound data transfer to your data transfer pool. See the Object Storage Overview guide for details on Object Storage transfer quotas.
Authorizations
| personalAccessToken | |
| oauth | object_storage:read_only |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/object-storage/transfer/
Response Samples
{
"used": 12956600198
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
used | integerThe amount of outbound data transfer used by your account’s Object Storage buckets, in bytes, for the current month’s billing cycle. |
errors | array
of objects
|