openapi: 3.2.0 info: contact: email: support@linode.com name: Linode url: https://linode.com description: Add a Cloud Computing instance so you can build, release, and scale applications faster with virtual machines. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: 'Akamai: Linode Buckets API' version: 4.215.0 servers: - url: https://api.linode.com tags: - description: Buckets are the primary containers within Object Storage. Each bucket stores your files (objects) and lets you access or share those files. Use these operations to create and manage buckets, as well as the objects in them. name: Buckets paths: /{apiVersion}/object-storage/buckets: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml x-akamai: file-path: paths/object-storage-buckets.yaml path-info: /{apiVersion}/object-storage/buckets post: description: 'Creates an Object Storage bucket in the specified data center (region). If the bucket already exists on your account, this operation returns a 200 response with that bucket as if the API just created it. > 📘 > > - Accounts with negative balances can''t access this operation. > > - The API still supports the `clusterId` equivalent (`us-west-1`) when setting a `region` for a new bucket, but you should use the `regionId` (`us-west`) instead. > > - This operation has specific rate limits. > > - You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-object-storage-bucket operationId: post-object-storage-bucket requestBody: content: application/json: schema: additionalProperties: false properties: acl: default: private description: The S3 predefined collection of grantees and permissions set for the bucket, also referred to as a [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl). enum: - private - public-read - authenticated-read - public-read-write example: '{{acl}}' type: string cors_enabled: description: If set to `false`, cross-origin resource sharing (CORS) is disabled for all origins in the bucket. example: '{{cors_enabled}}' type: boolean endpoint_type: description: The type of `s3_endpoint` available to the active `user` in this `region`. See [Endpoint types](https://techdocs.akamai.com/cloud-computing/docs/object-storage#endpoint-types) for more information. enum: - E0 - E1 - E2 - E3 example: '{{endpoint_type}}' type: string label: description: 'The name for this bucket. * A bucket name can contain from 3 to 63 alphanumeric characters, dashes (`-`), or dots (`.`). * A bucket name can''t end in a dash and you can''t use two consecutive dashes. * A bucket name can''t start or end in a dot, and you can''t use two consecutive dots. As a best practice, only use dots if a certificate you''re using with your bucket requires it. (For example, if you''re using a custom TLS certificate.) * A bucket name needs to be unique in the `region` where you''re creating the bucket. The API only reserves labels for the `region` where active buckets are created and stored. If you want to reserve this bucket''s label in another `region`, create a new bucket with the same label in the new `region`.' example: '{{label}}' pattern: ^(?=.{3,63}$)[a-z0-9]+(?:-[a-z0-9]+)*(?:[.][a-z0-9]+(?:-[a-z0-9]+)*)*$ type: string region: description: 'The `id` assigned to the data center ([region](https://techdocs.akamai.com/linode-api/reference/get-regions)) where this Object Storage bucket should be created. > 📘 > > This supports legacy `clusterId` values that represented a specific region. For example, `us-east-1` is the legacy reference for the `us-east` region.' example: '{{region}}' type: string s3_endpoint: description: The active user's S3-compatible endpoint URL, based on the `endpoint_type` and `region`. example: '{{s3_endpoint}}' type: string required: - label type: object x-akamai: file-path: schemas/post-object-storage-bucket.yaml x-example: x-ref: ../examples/post-object-storage-bucket.json description: Information about the bucket you want to create. responses: '200': content: application/json: schema: additionalProperties: false description: An Object Storage bucket. properties: cluster: deprecated: true description: '__Deprecated__ The legacy `clusterId` equivalent for the `regionId` where this bucket lives. The API maintains this for backward compatibility. > 📘 > > - This value and the `regionId` are interchangeable when used in requests. Best practice is to use the `regionId`. > > - This value is empty for newer regions that don''t have a legacy `clusterId`.' example: us-east-1 type: string x-akamai: status: DEPRECATED created: description: When this bucket was created. example: '2019-01-01T01:23:45' format: date-time type: string endpoint_type: description: The type of `s3_endpoint` available to the active `user` in this `region`. See [Endpoint types](https://techdocs.akamai.com/cloud-computing/docs/object-storage#endpoint-types) for more information. enum: - E0 - E1 - E2 - E3 example: E1 type: string hostname: description: The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public. example: primary-bucket-1.us-east-12.linodeobjects.com type: string label: description: The name of this bucket. example: primary-bucket type: string objects: description: The number of objects stored in this bucket. example: 4 type: integer region: description: The `id` of the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where this Object Storage bucket lives. example: us-east type: string s3_endpoint: description: The active user's S3-compatible endpoint URL, based on the `endpoint_type` and `region`. example: us-east-12.linodeobjects.com type: string size: description: The size of the bucket in bytes. example: 188318981 type: integer type: object x-akamai: file-path: schemas/object-storage-bucket.yaml x-example: x-ref: ../examples/post-object-storage-bucket-200.json description: The bucket created successfully. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_write summary: Create an Object Storage bucket tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true get: description: 'Returns a paginated list of all Object Storage buckets available in your account. > 📘 > > You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-object-storage-buckets operationId: get-object-storage-buckets responses: '200': content: application/json: schema: additionalProperties: false properties: data: items: additionalProperties: false description: An Object Storage bucket. properties: cluster: deprecated: true description: '__Deprecated__ The legacy `clusterId` equivalent for the `regionId` where this bucket lives. The API maintains this for backward compatibility. > 📘 > > - This value and the `regionId` are interchangeable when used in requests. Best practice is to use the `regionId`. > > - This value is empty for newer regions that don''t have a legacy `clusterId`.' example: us-east-1 type: string x-akamai: status: DEPRECATED created: description: When this bucket was created. example: '2019-01-01T01:23:45' format: date-time type: string endpoint_type: description: The type of `s3_endpoint` available to the active `user` in this `region`. See [Endpoint types](https://techdocs.akamai.com/cloud-computing/docs/object-storage#endpoint-types) for more information. enum: - E0 - E1 - E2 - E3 example: E1 type: string hostname: description: The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public. example: primary-bucket-1.us-east-12.linodeobjects.com type: string label: description: The name of this bucket. example: primary-bucket type: string objects: description: The number of objects stored in this bucket. example: 4 type: integer region: description: The `id` of the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where this Object Storage bucket lives. example: us-east type: string s3_endpoint: description: The active user's S3-compatible endpoint URL, based on the `endpoint_type` and `region`. example: us-east-12.linodeobjects.com type: string size: description: The size of the bucket in bytes. example: 188318981 type: integer type: object x-akamai: file-path: schemas/object-storage-bucket.yaml type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/get-object-storage-buckets-200.yaml x-example: x-ref: ../examples/get-object-storage-buckets-200.json description: A paginated list of buckets you own. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_only summary: List Object Storage buckets tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true /{apiVersion}/object-storage/buckets/{regionId}: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: 'Identifies a region where this bucket lives. > 📘 > > You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`.' example: '{{regionId}}' in: path name: regionId required: true schema: example: us-east type: string x-akamai: file-path: parameters/region-id-obj.yaml x-akamai: file-path: paths/object-storage-buckets-region.yaml path-info: /{apiVersion}/object-storage/buckets/{regionId} get: description: 'Returns a list of buckets on your account, in the specified region. > 📘 > > You can use the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucketin-cluster operationId: get-object-storage-bucketin-cluster responses: '200': content: application/json: schema: additionalProperties: false properties: data: items: additionalProperties: false description: An Object Storage bucket. properties: cluster: deprecated: true description: '__Deprecated__ The legacy `clusterId` equivalent for the `regionId` where this bucket lives. The API maintains this for backward compatibility. > 📘 > > - This value and the `regionId` are interchangeable when used in requests. Best practice is to use the `regionId`. > > - This value is empty for newer regions that don''t have a legacy `clusterId`.' example: us-east-1 type: string x-akamai: status: DEPRECATED created: description: When this bucket was created. example: '2019-01-01T01:23:45' format: date-time type: string endpoint_type: description: The type of `s3_endpoint` available to the active `user` in this `region`. See [Endpoint types](https://techdocs.akamai.com/cloud-computing/docs/object-storage#endpoint-types) for more information. enum: - E0 - E1 - E2 - E3 example: E1 type: string hostname: description: The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public. example: primary-bucket-1.us-east-12.linodeobjects.com type: string label: description: The name of this bucket. example: primary-bucket type: string objects: description: The number of objects stored in this bucket. example: 4 type: integer region: description: The `id` of the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where this Object Storage bucket lives. example: us-east type: string s3_endpoint: description: The active user's S3-compatible endpoint URL, based on the `endpoint_type` and `region`. example: us-east-12.linodeobjects.com type: string size: description: The size of the bucket in bytes. example: 188318981 type: integer type: object x-akamai: file-path: schemas/object-storage-bucket.yaml type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/get-object-storage-bucketin-cluster-200.yaml x-example: x-ref: ../examples/get-object-storage-bucketin-cluster-200.json description: A paginated list of buckets on your account in this region. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_only summary: List Object Storage buckets per region tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true /{apiVersion}/object-storage/buckets/{regionId}/{bucket}: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: 'Identifies a region where this bucket lives. > 📘 > > You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`.' example: '{{regionId}}' in: path name: regionId required: true schema: example: us-east type: string x-akamai: file-path: parameters/region-id-obj.yaml - description: The bucket name. example: '{{bucket}}' in: path name: bucket required: true schema: type: string x-akamai: file-path: parameters/bucket.yaml x-akamai: file-path: paths/object-storage-bucket.yaml path-info: /{apiVersion}/object-storage/buckets/{regionId}/{bucket} get: description: 'Returns a single Object Storage bucket. > 📘 > > You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket operationId: get-object-storage-bucket responses: '200': content: application/json: schema: additionalProperties: false description: An Object Storage bucket. properties: cluster: deprecated: true description: '__Deprecated__ The legacy `clusterId` equivalent for the `regionId` where this bucket lives. The API maintains this for backward compatibility. > 📘 > > - This value and the `regionId` are interchangeable when used in requests. Best practice is to use the `regionId`. > > - This value is empty for newer regions that don''t have a legacy `clusterId`.' example: us-east-1 type: string x-akamai: status: DEPRECATED created: description: When this bucket was created. example: '2019-01-01T01:23:45' format: date-time type: string endpoint_type: description: The type of `s3_endpoint` available to the active `user` in this `region`. See [Endpoint types](https://techdocs.akamai.com/cloud-computing/docs/object-storage#endpoint-types) for more information. enum: - E0 - E1 - E2 - E3 example: E1 type: string hostname: description: The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public. example: primary-bucket-1.us-east-12.linodeobjects.com type: string label: description: The name of this bucket. example: primary-bucket type: string objects: description: The number of objects stored in this bucket. example: 4 type: integer region: description: The `id` of the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where this Object Storage bucket lives. example: us-east type: string s3_endpoint: description: The active user's S3-compatible endpoint URL, based on the `endpoint_type` and `region`. example: us-east-12.linodeobjects.com type: string size: description: The size of the bucket in bytes. example: 188318981 type: integer type: object x-akamai: file-path: schemas/object-storage-bucket.yaml x-example: x-ref: ../examples/get-object-storage-bucket-200.json description: The requested bucket. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_only summary: Get an Object Storage bucket tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true delete: description: 'Removes a single bucket. > 📘 > > - You need to remove all objects from a bucket before you can delete it. While you can delete a bucket using the CLI, this operation fails if the bucket contains too many objects. The best way to empty large buckets is to configure lifecycle policies with an outside API, such as the Ceph Object Gateway S3 API. Set a policy to remove all objects, wait a day or more for the system to remove all objects, then delete the bucket. > > - You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/delete-object-storage-bucket operationId: delete-object-storage-bucket responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/delete-object-storage-bucket-200.json description: Bucket deleted successfully. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_write summary: Remove an Object Storage bucket tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/access: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: 'Identifies a region where this bucket lives. > 📘 > > You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`.' example: '{{regionId}}' in: path name: regionId required: true schema: example: us-east type: string x-akamai: file-path: parameters/region-id-obj.yaml - description: The bucket name. example: '{{bucket}}' in: path name: bucket required: true schema: type: string x-akamai: file-path: parameters/bucket.yaml x-akamai: file-path: paths/object-storage-access.yaml path-info: /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/access post: description: 'Apply basic cross-origin resource sharing (CORS) and S3 canned access control list (ACL) settings. > 📘 > > You can use the S3 API for more fine-grained control of the CORS or S3 canned ACL settings. > --- - __OAuth scopes__. ``` object_storage:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-object-storage-bucket-access operationId: post-object-storage-bucket-access requestBody: content: application/json: schema: additionalProperties: false properties: acl: description: The S3 predefined collection of grantees and permissions set for the bucket, also referred to as a [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl). enum: - private - public-read - authenticated-read - public-read-write - custom example: '{{acl}}' type: string cors_enabled: description: If `true`, cross-origin resource sharing (CORS) is enabled for all origins in the bucket. example: '{{cors_enabled}}' type: boolean type: object x-akamai: file-path: schemas/post-object-storage-bucket-access.yaml x-example: x-ref: ../examples/post-object-storage-bucket-access.json responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/post-object-storage-bucket-access-200.json description: Access controls updated. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_write summary: Allow access to an Object Storage bucket tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true get: description: 'View the cross-origin resource sharing (CORS) and S3 canned access control (ACL) settings for a specific Object Storage bucket. > 📘 > > You can use the S3 API to view more details on CORS or S3 canned ACL settings. > --- - __OAuth scopes__. ``` object_storage:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-access operationId: get-object-storage-bucket-access responses: '200': content: application/json: schema: additionalProperties: false properties: acl: description: The S3 predefined collection of grantees and permissions set for the bucket, also referred to as a [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl). enum: - private - public-read - authenticated-read - public-read-write - custom example: public-read type: string acl_xml: description: The full XML of the object's ACL policy. example: ... type: string cors_enabled: description: If `true`, cross-origin resource sharing (CORS) is enabled for all origins in the bucket. Returned as `null` for `E2` and `E3` [endpoint types](https://techdocs.akamai.com/cloud-computing/docs/object-storage#endpoint-types) because CORS is not supported. example: true type: - boolean - 'null' cors_xml: description: The full XML of the bucket's CORS policy. Returned as an empty object if `cors_enabled` is `false`, and `null` for `E2` and `E3` [endpoint types](https://techdocs.akamai.com/cloud-computing/docs/object-storage#endpoint-types). CORS is not supported with these endpoint types. example: ... type: - string - 'null' type: object x-akamai: file-path: schemas/get-object-storage-bucket-access-200.yaml x-example: x-ref: ../examples/get-object-storage-bucket-access-200.json description: Access settings for the specific bucket. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_only summary: Get Object Storage bucket access tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true put: description: 'Update basic cross-origin resource sharing (CORS) and S3 canned access control list (ACL) settings. > 📘 > > You can use the S3 API for more fine-grained control of the CORS or S3 canned ACL settings. > --- - __OAuth scopes__. ``` object_storage:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/put-storage-bucket-access operationId: put-storage-bucket-access requestBody: content: application/json: schema: additionalProperties: false properties: acl: description: The S3 predefined collection of grantees and permissions set for the bucket, also referred to as a [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl). enum: - private - public-read - authenticated-read - public-read-write - custom example: '{{acl}}' type: string cors_enabled: description: If `true`, the API enables cross-origin resource sharing for all origins on the bucket. example: '{{cors_enabled}}' type: boolean type: object x-akamai: file-path: schemas/put-storage-bucket-access.yaml x-example: x-ref: ../examples/put-storage-bucket-access.json responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/put-storage-bucket-access-200.json description: Access controls updated. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_write summary: Update access to an Object Storage bucket tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-acl: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: 'Identifies a region where this bucket lives. > 📘 > > You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`.' example: '{{regionId}}' in: path name: regionId required: true schema: example: us-east type: string x-akamai: file-path: parameters/region-id-obj.yaml - description: The bucket name. example: '{{bucket}}' in: path name: bucket required: true schema: type: string x-akamai: file-path: parameters/bucket.yaml x-akamai: file-path: paths/object-storage-object-acl.yaml path-info: /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-acl get: description: 'View a specific object''s access control list (ACL) settings. ACLs define who can access your buckets and objects and specify the level of access granted to those users. > 📘 > > You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-acl operationId: get-object-storage-bucket-acl parameters: - description: The name of a specific object to get its access control list (ACL) details. Run the [List Object Storage bucket contents](https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-content) operation to access all object names in a bucket. example: '{{name}}' in: query name: name required: true schema: type: string x-akamai: file-path: parameters/name-query.yaml responses: '200': content: application/json: schema: additionalProperties: false properties: acl: description: The S3 predefined collection of grantees and permissions set for the bucket, also referred to as a [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl). enum: - private - public-read - authenticated-read - public-read-write - custom example: public-read type: string acl_xml: description: The full XML of the object's ACL policy. example: ... type: string type: object x-akamai: file-path: schemas/get-object-storage-bucket-acl-200.yaml x-example: x-ref: ../examples/get-object-storage-bucket-acl-200.json description: The Object's canned ACL and policy. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_only summary: Get an Object Storage object ACL configuration tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true put: description: 'Update a specific object''s access control list (ACL) settings. ACLs define who can access your buckets and objects, and specify the level of access granted to those users. > 📘 > > You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/put-object-storage-bucket-acl operationId: put-object-storage-bucket-acl requestBody: content: application/json: schema: additionalProperties: false properties: acl: description: The S3 predefined collection of grantees and permissions set for the bucket, also referred to as a [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl). enum: - private - public-read - authenticated-read - public-read-write - custom example: '{{acl}}' type: string name: description: The name of the object where access control list (ACL) settings will be updated. Run the [List Object Storage bucket contents](https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-content) operation to access all object names in a bucket. example: '{{name}}' type: string required: - acl - name type: object x-akamai: file-path: schemas/put-object-storage-bucket-acl.yaml x-example: x-ref: ../examples/put-object-storage-bucket-acl.json responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/get-object-storage-bucket-acl-200.json description: The ACL configuration was updated. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_write summary: Update an object's ACL configuration tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-list: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: 'Identifies a region where this bucket lives. > 📘 > > You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`.' example: '{{regionId}}' in: path name: regionId required: true schema: example: us-east type: string x-akamai: file-path: parameters/region-id-obj.yaml - description: The bucket name. example: '{{bucket}}' in: path name: bucket required: true schema: type: string x-akamai: file-path: parameters/bucket.yaml x-akamai: file-path: paths/object-storage-object-list.yaml path-info: /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-list get: description: 'Returns the contents of a bucket. The contents are paginated using a `marker`, that''s the name of the last object on the previous page. Objects can also be filtered by `prefix` and `delimiter`. See Filtering and sorting for more information. > 📘 > > You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-content operationId: get-object-storage-bucket-content parameters: - description: The "marker" for this request, which can be used to paginate through large buckets. Its value should be the value of the `next_marker` property returned with the last page. Listing bucket contents _does not_ support arbitrary page access. See the `next_marker` property in the responses section for more details. example: '{{marker}}' in: query name: marker required: false schema: type: string x-akamai: file-path: parameters/marker-query.yaml - description: 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 `/` character to allow bucket transversal in a manner similar to a filesystem, however any delimiter may be used. Use in conjunction with `prefix` to see object names past the first occurrence of the delimiter. example: '{{delimiter}}' in: query name: delimiter required: false schema: type: string x-akamai: file-path: parameters/delimiter-query.yaml - description: Filters objects returned to only those whose name start with the given prefix. Commonly used in conjunction with `delimiter` to allow transversal of bucket contents in a manner similar to a filesystem. example: '{{prefix}}' in: query name: prefix required: false schema: type: string x-akamai: file-path: parameters/prefix-query.yaml - description: The number of items to return per page. example: '{{page_size}}' in: query name: page_size schema: default: 100 example: 50 maximum: 500 minimum: 25 type: integer x-akamai: file-path: parameters/page-size.yaml responses: '200': content: application/json: schema: additionalProperties: false properties: data: items: additionalProperties: false description: An Object in Object Storage, or a "prefix" that contains one or more objects when a `delimiter` is used. properties: etag: description: An MD-5 hash of the object. `null` if this object represents a prefix. example: 9f254c71e28e033bf9e0e5262e3e72ab type: string last_modified: description: The date and time this object was last modified. `null` if this object represents a prefix. example: '2019-01-01T01:23:45' format: date-time type: string name: description: The name of this object or prefix. example: example type: string owner: description: The owner of this object, as a UUID. `null` if this object represents a prefix. example: bfc70ab2-e3d4-42a4-ad55-83921822270c type: string size: description: The size of this object, in bytes. `null` if this object represents a prefix. example: 123 type: integer type: object x-akamai: file-path: schemas/object-storage-object.yaml type: array is_truncated: description: Designates if there is another page of bucket objects. example: true type: boolean next_marker: description: Returns the value you should pass to the `marker` query parameter to get the next page of objects. If there is no next page, `null` will be returned. example: bd021c21-e734-4823-97a4-58b41c2cd4c8.892602.184 type: - string - 'null' type: object x-akamai: file-path: schemas/get-object-storage-bucket-content-200.yaml x-example: x-ref: ../examples/get-object-storage-bucket-content-200.json description: One page of the requested bucket's contents. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_only summary: List Object Storage bucket contents tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-url: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: 'Identifies a region where this bucket lives. > 📘 > > You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`.' example: '{{regionId}}' in: path name: regionId required: true schema: example: us-east type: string x-akamai: file-path: parameters/region-id-obj.yaml - description: The bucket name. example: '{{bucket}}' in: path name: bucket required: true schema: type: string x-akamai: file-path: parameters/bucket.yaml x-akamai: file-path: paths/object-storage-object-url.yaml path-info: /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-url post: description: 'Creates a pre-signed URL to access a single object in a bucket. Use it to share, create, or delete objects by using the appropriate HTTP method in your request body''s `method` parameter. > 📘 > > You can use an outside API, such as the Ceph Object Gateway S3 API for more options. > --- - __OAuth scopes__. ``` object_storage:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-object-storage-object-url operationId: post-object-storage-object-url requestBody: content: application/json: schema: additionalProperties: false properties: content_type: description: The expected `Content-type` header of the request this signed URL will be valid for. If provided, the `Content-type` header _must_ be sent with the request when this URL is used, and _must_ be the same as it was when the signed URL was created. Required for all methods _except_ `GET` or `DELETE`. example: '{{content_type}}' type: - string - 'null' expires_in: default: 3600 description: How long this signed URL will be valid for, in seconds. If omitted, the URL will be valid for 3600 seconds (1 hour). example: '{{expires_in}}' maximum: 86400 minimum: 360 type: - integer - 'null' method: default: GET description: The HTTP method allowed to be used with the pre-signed URL. example: '{{method}}' type: string name: description: The 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 `method` to `PUT`. example: '{{name}}' type: string required: - name - method type: object x-akamai: file-path: schemas/post-object-storage-object-url.yaml x-example: x-ref: ../examples/post-object-storage-object-url.json description: Information about the request to sign. responses: '200': content: application/json: schema: additionalProperties: false properties: url: description: The signed URL to perform the request at. example: https://us-east-1.linodeobjects.com/example-bucket/example?Signature=qr98TEucCntPgEG%2BsZQGDsJg93c%3D&Expires=1567609905&AWSAccessKeyId=G4YAF81XWY61DQM94SE0 type: string type: object x-akamai: file-path: schemas/post-object-storage-object-url-200.yaml x-example: x-ref: ../examples/post-object-storage-object-url-200.json description: The URL with which to access your object. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - object_storage:read_write summary: Create a URL for an object tags: - Buckets x-akamai: tabs: - syntax: object_storage:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-skip: true components: securitySchemes: oauth: flows: authorizationCode: authorizationUrl: https://login.linode.com/oauth/authorize scopes: account:read_only: Allows access to GET information about your account. account:read_write: Allows access to all endpoints related to your account. domains:read_only: Allows access to GET Domains on your account. domains:read_write: Allows access to all Domain endpoints. events:read_only: Allows access to GET your Events. events:read_write: Allows access to all endpoints related to your Events. firewall:read_only: Allows access to GET information about your Firewalls. firewall:read_write: Allows access to all Firewall endpoints. images:read_only: Allows access to GET your Images. images:read_write: Allows access to all endpoints related to your Images. ips:read_only: Allows access to GET your ips. ips:read_write: Allows access to all endpoints related to your ips. linodes:read_only: Allows access to GET Linodes on your account. linodes:read_write: Allow access to all endpoints related to your Linodes. lke:read_only: Allows access to GET LKE Clusters on your account. lke:read_write: Allows access to all endpoints related to LKE Clusters on your account. longview:read_only: Allows access to GET your Longview Clients. longview:read_write: Allows access to all endpoints related to your Longview Clients. monitor:read-write: Allows access to all Monitor (Akamai Cloud Pulse) endpoints. monitor:read_only: Allows access to Monitor (Akamai Cloud Pulse) data. nodebalancers:read_only: Allows access to GET NodeBalancers on your account. nodebalancers:read_write: Allows access to all NodeBalancer endpoints. object_storage:read_only: Allows access to GET information related to your Object Storage. object_storage:read_write: Allows access to all Object Storage endpoints. stackscripts:read_only: Allows access to GET your StackScripts. stackscripts:read_write: Allows access to all endpoints related to your StackScripts. volumes:read_only: Allows access to GET your Volumes. volumes:read_write: Allows access to all endpoints related to your Volumes. vpc:read_write: Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion. tokenUrl: https://login.linode.com/oauth/token type: oauth2 personalAccessToken: scheme: bearer type: http externalDocs: description: See documentation for Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference x-readme: samples-languages: - curl - python - node