Create bucket or link a shared bucket
Using this API call, you can either create a new bucket in the project, or you can link an existing bucket from another project.
Create bucket - send CreateBucketRequest. The bucket is created synchronously and returned with 201.
Link shared bucket - send LinkBucketRequest (recognized by sourceProjectId) to create a new bucket which contains the contents of a shared bucket in a source project. Linking a bucket from another project is only possible if sharing has been enabled in the source project (see the bucket sharing endpoints). With async=true the link is created in a background job and 202 with the job detail is returned; otherwise the linked bucket is returned with 201.
Request
- Base URLhttps://connection.keboola.com
- Auth
- API key in header X-StorageApi-Token
- or API key in header X-KBC-ManageApiToken
- or HTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Query parameters
Link the shared bucket in a background job. Applies to linking only; ignored when creating a bucket.
Headers
Request body
Example request
{
"name": "my-bucket",
"stage": "in",
"description": "Some Description",
"backend": "snowflake",
"displayName": "my-bucket",
"color": "#FF5733"
}Response
Bucket created, or shared bucket linked synchronously (async=false).
Example response
{
"uri": "https://connection.keboola.com/v2/storage/buckets/in.c-my-new-bucket",
"id": "in.c-my-new-bucket",
"name": "c-my-new-bucket",
"displayName": "my-new-bucket",
"idBranch": 1234,
"stage": "in",
"description": "Some Description",
"tables": "https://connection.keboola.com/v2/storage/buckets/in.c-my-new-bucket",
"created": "2017-02-13T12:01:05+0100",
"updated": "2024-11-28T13:03:13+0100",
"backend": "snowflake",
"path": "database_name.c-my-new-bucket",
"bucketSharingAllowed": true,
"sharingParameters": {
"projects": [
{
"id": 321,
"name": "Some Project"
}
],
"users": [
{
"id": 5,
"name": "Jan Developer",
"email": "jan.dev@keboola.com"
}
]
},
"sharedBy": {
"id": 5,
"name": "dev@keboola.com",
"date": "2020-02-03T14:58:29+0100"
},
"owner": {
"id": 123,
"name": "Jan Developer",
"email": "jan.dev@keboola.com"
},
"sourceBucket": {
"id": "in.c-main",
"name": "c-main",
"displayName": "main",
"stage": "in",
"description": "Organization shared data",
"sharing": "organization-project",
"created": "2020-01-12T18:28:31+0100",
"lastChangeDate": "2020-01-12T18:31:49+0100",
"dataSizeBytes": 1536,
"rowsCount": 32,
"backend": "snowflake",
"path": "database_name.c-main",
"project": {
"id": 123,
"name": "Project name"
},
"tables": [
{
"id": "in.c-main.languages",
"name": "languages",
"displayName": "languages-display-name",
"path": "/1234-languages"
}
],
"sharingParameters": {
"projects": [
{
"id": 321,
"name": "Some Project"
}
],
"users": [
{
"id": 5,
"name": "Jan Developer",
"email": "jan.dev@keboola.com"
}
]
},
"sharedBy": {
"id": 5,
"name": "dev@keboola.com",
"date": "2020-02-03T14:58:29+0100"
},
"owner": {
"id": 123,
"name": "Jan Developer",
"email": "jan.dev@keboola.com"
},
"metadata": [
{
"id": "19509",
"key": "some-key",
"value": "Some value",
"provider": "test-component",
"timestamp": "2017-02-13T23:36:10+0100"
}
]
},
"backendPath": [
"KBC_PRJ_123",
"in.c-my-new-bucket"
],
"attributes": []
}Changes
No recorded changes to this operation across all 1 revision of this API.