hosting
POST /v1/storage/buckets
Provision Zinn® storage, or attach a bucket of your own.
Аутентификация
Отправьте ключ API в качестве токена носителя (bearer token). Ключ должен иметь разрешение storage.manage; ключ без него отклоняется с кодом 403, а не 404.
Этот эндпоинт не принимает идентификатор организации. Ваш ключ уже определяет организацию, к которой он принадлежит, и ответ ограничивается ее рамками.
Попробовать
Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.
curl -X POST https://api.zinndigital.com/v1/storage/buckets \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "name": <string> }'Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли
Подробнее
With `ownership: zinn` this provisions storage on our own backend and needs nothing else. With `ownership: customer` it attaches an existing S3-compatible bucket and requires `bucket_name`, `endpoint`, `access_key_id` and `secret_access_key`. The key pair is written to Vault and never to a column; the bucket is created `pending` and only becomes `active` once the write has returned, so a failure part way leaves a visibly unfinished bucket rather than one that reads as configured and cannot sign. Requires `storage.manage`.
Тело запроса
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
name | string | Да | — |
ownership | string<zinn, customer> | Нет | — |
vendor | string<r2, s3, b2, bunny, gcore, minio> | Нет | — |
bucket_name | string | Нет | — |
endpoint | string | Нет | — |
region | string | Нет | — |
public_base_url | string | Нет | — |
access_key_id | string | Нет | Required for `ownership: customer`. Written to Vault, never to a column. |
secret_access_key | string | Нет | Required for `ownership: customer`. Written to Vault, never to a column. |
Ответ
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
id | string | Да | — |
name | string | Да | The customer's own label, not the bucket's name at the vendor. |
ownership | string<zinn, customer> | Да | `zinn` is storage we operate and bill for; `customer` is the organisation's own bucket, which costs us nothing and is not metered against their allowance. |
vendor | string<r2, s3, b2, bunny, gcore, minio> | Да | — |
status | string<pending, active, suspended, failed> | Да | — |
bucket_name | string | Да | — |
endpoint | string | Нет | — |
region | string | Нет | — |
public_base_url | string | Нет | Where a public object is readable. Empty means the bucket is private and its objects are reachable only through a presigned URL. |
bytes_stored | integer | Нет | — |
objects_stored | integer | Нет | — |
usage_measured_at | string | Нет | When the size above was last measured against the vendor. `null` means it has not been measured yet — which is not the same as empty. |
has_credential | boolean | Да | Whether a stored key exists. The key and the Vault path it lives at are deliberately absent from this payload. |
metered | boolean | Да | Whether this bucket's bytes count against `object_storage_gb`. |
created_at | string | Нет | — |
Ошибки, которые может возвращать этот эндпоинт
401 · 403 · 422 · 429