Python
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
bucket = client.storage.object_storages.buckets.create(
storage_id=0,
name="my-new-bucket",
)
print(bucket.storage_id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/storage"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
bucket, err := client.Storage.ObjectStorages.Buckets.New(
context.TODO(),
0,
storage.ObjectStorageBucketNewParams{
Name: "my-new-bucket",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", bucket.StorageID)
}
curl --request POST \
--url https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "my-new-bucket"
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'my-new-bucket'})
};
fetch('https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'my-new-bucket'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"my-new-bucket\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"my-new-bucket\"\n}"
response = http.request(request)
puts response.read_body{
"cors": {
"allowed_origins": [
"https://example.com",
"*"
]
},
"lifecycle": {
"expiration_days": 30
},
"name": "my-bucket",
"policy": {
"is_public": true
},
"storage_id": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}S3-Compatible Storage
Create bucket
Creates a new bucket within an S3-compatible storage.
POST
/
storage
/
v4
/
object_storages
/
{storage_id}
/
buckets
Python
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
bucket = client.storage.object_storages.buckets.create(
storage_id=0,
name="my-new-bucket",
)
print(bucket.storage_id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/storage"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
bucket, err := client.Storage.ObjectStorages.Buckets.New(
context.TODO(),
0,
storage.ObjectStorageBucketNewParams{
Name: "my-new-bucket",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", bucket.StorageID)
}
curl --request POST \
--url https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "my-new-bucket"
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'my-new-bucket'})
};
fetch('https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'my-new-bucket'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"my-new-bucket\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"my-new-bucket\"\n}"
response = http.request(request)
puts response.read_body{
"cors": {
"allowed_origins": [
"https://example.com",
"*"
]
},
"lifecycle": {
"expiration_days": 30
},
"name": "my-bucket",
"policy": {
"is_public": true
},
"storage_id": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234_abcdef
Path Parameters
Storage ID
Body
application/json
Name of the bucket to create
Example:
"my-new-bucket"
Response
BucketDetailResV4
cors
BucketCORSV4 CORS settings controlling which web domains can access objects in this bucket from a browser. · object
required
Show child attributes
Show child attributes
lifecycle
BucketLifecycleV4 Automatic object expiration rule. Objects are permanently deleted after the specified number of days. · object
required
Show child attributes
Show child attributes
Globally unique bucket name within the storage. Used as the path prefix when accessing objects via S3 API.
Example:
"my-bucket"
policy
BucketPolicyV4 Access policy controlling whether objects in this bucket can be read without authentication. · object
required
Show child attributes
Show child attributes
Parent storage this bucket belongs to. Use this ID in the URL path for bucket operations.
Example:
123
Was this page helpful?