linode Object Storage API
Manage Object Storage buckets, access keys, clusters, and endpoints for S3-compatible object storage.
Manage Object Storage buckets, access keys, clusters, and endpoints for S3-compatible object storage.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/linode-object-storage-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Linode API v4 Object Storage API
description: The Linode API v4 provides programmatic access to the full range of Akamai Connected Cloud (formerly Linode) products and services.
version: 4.189.0
contact:
name: Linode Support
url: https://www.linode.com/support/
termsOfService: https://www.linode.com/legal-tos/
servers:
- url: https://api.linode.com/v4
description: Production Server
security:
- personalAccessToken: []
- oauth: []
tags:
- name: Object Storage
description: Manage Object Storage buckets, access keys, clusters, and endpoints for S3-compatible object storage.
paths:
/object-storage/buckets:
get:
operationId: getObjectStorageBuckets
summary: List Object Storage buckets
description: Returns a paginated list of all Object Storage buckets on your account across all clusters.
tags:
- Object Storage
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/pageSizeParam'
responses:
'200':
description: Object Storage buckets retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedObjectStorageBucketList'
'401':
description: Unauthorized - invalid or missing authentication
/object-storage/buckets/{regionId}/{bucket}:
get:
operationId: getObjectStorageBucket
summary: Get an Object Storage bucket
description: Returns the details for a single Object Storage bucket.
tags:
- Object Storage
parameters:
- $ref: '#/components/parameters/regionIdParam'
- $ref: '#/components/parameters/bucketParam'
responses:
'200':
description: Object Storage bucket retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectStorageBucket'
'401':
description: Unauthorized - invalid or missing authentication
'404':
description: Bucket not found
delete:
operationId: deleteObjectStorageBucket
summary: Delete an Object Storage bucket
description: Deletes an Object Storage bucket. The bucket must be empty before it can be deleted.
tags:
- Object Storage
parameters:
- $ref: '#/components/parameters/regionIdParam'
- $ref: '#/components/parameters/bucketParam'
responses:
'200':
description: Object Storage bucket deleted successfully
'401':
description: Unauthorized - invalid or missing authentication
'404':
description: Bucket not found
/object-storage/keys:
get:
operationId: getObjectStorageKeys
summary: List Object Storage keys
description: Returns a paginated list of Object Storage keys on your account.
tags:
- Object Storage
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/pageSizeParam'
responses:
'200':
description: Object Storage keys retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedObjectStorageKeyList'
'401':
description: Unauthorized - invalid or missing authentication
post:
operationId: createObjectStorageKey
summary: Create an Object Storage key
description: Creates a new Object Storage key pair for accessing buckets. The secret key is only returned once at creation time.
tags:
- Object Storage
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectStorageKeyRequest'
responses:
'200':
description: Object Storage key created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectStorageKey'
'400':
description: Bad request - invalid parameters
'401':
description: Unauthorized - invalid or missing authentication
/object-storage/endpoints:
get:
operationId: getObjectStorageEndpoints
summary: List Object Storage endpoints
description: Returns a list of available Object Storage endpoints and their associated regions.
tags:
- Object Storage
responses:
'200':
description: Object Storage endpoints retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectStorageEndpointList'
'401':
description: Unauthorized - invalid or missing authentication
components:
schemas:
PaginatedObjectStorageBucketList:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ObjectStorageBucket'
PaginatedObjectStorageKeyList:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ObjectStorageKey'
ObjectStorageBucket:
type: object
properties:
label:
type: string
description: The name of this bucket.
region:
type: string
description: The region where this bucket is located.
created:
type: string
format: date-time
description: When this bucket was created.
hostname:
type: string
description: The hostname for accessing this bucket.
objects:
type: integer
description: The number of objects in this bucket.
size:
type: integer
description: The total size of objects in bytes.
ObjectStorageKey:
type: object
properties:
id:
type: integer
description: The unique ID of this key.
label:
type: string
description: The label for this key.
access_key:
type: string
description: The access key for S3-compatible requests.
secret_key:
type: string
description: The secret key. Only returned at creation time.
limited:
type: boolean
description: Whether this key has limited bucket access.
bucket_access:
type: array
items:
type: object
properties:
region:
type: string
description: The region of the bucket.
bucket_name:
type: string
description: The name of the bucket.
permissions:
type: string
enum:
- read_only
- read_write
description: The permission level.
description: Specific bucket access permissions for this key.
ObjectStorageEndpointList:
type: object
properties:
data:
type: array
items:
type: object
properties:
region:
type: string
description: The region ID.
endpoint_type:
type: string
description: The type of endpoint.
s3_endpoint:
type: string
description: The S3-compatible endpoint URL.
Pagination:
type: object
properties:
page:
type: integer
description: The current page number.
pages:
type: integer
description: The total number of pages.
results:
type: integer
description: The total number of results.
ObjectStorageKeyRequest:
type: object
required:
- label
properties:
label:
type: string
minLength: 3
maxLength: 50
description: The label for the new key.
bucket_access:
type: array
items:
type: object
required:
- region
- bucket_name
- permissions
properties:
region:
type: string
bucket_name:
type: string
permissions:
type: string
enum:
- read_only
- read_write
description: Specific bucket access permissions.
parameters:
bucketParam:
name: bucket
in: path
required: true
schema:
type: string
description: The name of the Object Storage bucket.
pageParam:
name: page
in: query
schema:
type: integer
minimum: 1
default: 1
description: The page number to return.
pageSizeParam:
name: page_size
in: query
schema:
type: integer
minimum: 25
maximum: 500
default: 100
description: The number of items per page.
regionIdParam:
name: regionId
in: path
required: true
schema:
type: string
description: The ID of the region.
securitySchemes:
personalAccessToken:
type: http
scheme: bearer
description: A personal access token generated from the Linode Cloud Manager that grants access to the API based on the token's scopes.
oauth:
type: oauth2
description: OAuth 2.0 authentication for third-party applications.
flows:
authorizationCode:
authorizationUrl: https://login.linode.com/oauth/authorize
tokenUrl: https://login.linode.com/oauth/token
scopes:
account:read_only: Read access to account information
account:read_write: Read and write access to account information
domains:read_only: Read access to domains
domains:read_write: Read and write access to domains
events:read_only: Read access to events
events:read_write: Read and write access to events
firewall:read_only: Read access to firewalls
firewall:read_write: Read and write access to firewalls
images:read_only: Read access to images
images:read_write: Read and write access to images
ips:read_only: Read access to IP addresses
ips:read_write: Read and write access to IP addresses
linodes:read_only: Read access to Linodes
linodes:read_write: Read and write access to Linodes
lke:read_only: Read access to LKE
lke:read_write: Read and write access to LKE
longview:read_only: Read access to Longview
longview:read_write: Read and write access to Longview
nodebalancers:read_only: Read access to NodeBalancers
nodebalancers:read_write: Read and write access to NodeBalancers
object_storage:read_only: Read access to Object Storage
object_storage:read_write: Read and write access to Object Storage
stackscripts:read_only: Read access to StackScripts
stackscripts:read_write: Read and write access to StackScripts
volumes:read_only: Read access to Volumes
volumes:read_write: Read and write access to Volumes
vpc:read_only: Read access to VPCs
vpc:read_write: Read and write access to VPCs
externalDocs:
description: Linode API v4 Documentation
url: https://techdocs.akamai.com/linode-api/reference/api