-
Notifications
You must be signed in to change notification settings - Fork 1
63e29683 af32b.json
Maxim Mosin edited this page Feb 9, 2023
·
1 revision
etag: 63e29683-af32b
Add date: 2023-02-09
{
"openapi": "3.0.0",
"info": {
"contact": {
"email": "info@timeweb.cloud"
},
"title": "Документация публичного API",
"version": "",
"description": "# Введение\nAPI Timeweb Cloud позволяет вам управлять ресурсами в облаке программным способом с использованием обычных HTTP-запросов.\n\nМножество функции, которые доступны в панели управления Timeweb Cloud, также доступны через API, что позволяет вам автоматизировать ваши собственные сценарии.\n\nВ этой документации сперва будет описан общий дизайн и принципы работы API, а после этого конкретные конечные точки. Также будут приведены примеры запросов к ним.\n\n\n## Запросы\nЗапросы должны выполняться по протоколу `HTTPS`, чтобы гарантировать шифрование транзакций. Поддерживаются следующие методы запроса:\n|Метод|Применение|\n|--- |--- |\n|GET|Извлекает данные о коллекциях и отдельных ресурсах.|\n|POST|Для коллекций создает новый ресурс этого типа. Также используется для выполнения действий с конкретным ресурсом.|\n|PUT|Обновляет существующий ресурс.|\n|PATCH|Некоторые ресурсы поддерживают частичное обновление, то есть обновление только части атрибутов ресурса, в этом случае вместо метода PUT будет использован PATCH.|\n|DELETE|Удаляет ресурс.|\n\nМетоды `POST`, `PUT` и `PATCH` могут включать объект в тело запроса с типом содержимого `application/json`.\n\n### Параметры в запросах\nНекоторые коллекции поддерживают пагинацию, поиск или сортировку в запросах. В параметрах запроса требуется передать:\n- `limit` — обозначает количество записей, которое необходимо вернуть\n - `offset` — указывает на смещение, относительно начала списка\n - `search` — позволяет указать набор символов для поиска\n - `sort` — можно задать правило сортировки коллекции\n\n## Ответы\nЗапросы вернут один из следующих кодов состояния ответа HTTP:\n\n|Статус|Описание|\n|--- |--- |\n|200 OK|Действие с ресурсом было выполнено успешно.|\n|201 Created|Ресурс был успешно создан. При этом ресурс может быть как уже готовым к использованию, так и находится в процессе запуска.|\n|204 No Content|Действие с ресурсом было выполнено успешно и ответ не содержит дополнительной информации в теле.|\n|400 Bad Request|Был отправлен неверный запрос, например, в нем отсутствуют обязательные параметры и т. д. Тело ответа будет содержать дополнительную информацию об ошибке.|\n|401 Unauthorized|Ошибка аутентификации.|\n|403 Forbidden|Аутентификация прошла успешно, но не достаточно прав для выполнения действия.|\n|404 Not Found|Запрашиваемый ресурс не найден.|\n|409 Conflict|Запрос конфликтует с текущим состоянием.|\n|423 Locked|Ресурс из запроса заблокирован от применения к нему указанного метода.|\n|429 Too Many Requests|Был достигнут лимит по количеству запросов в единицу времени.|\n|500 Internal Server Error|При выполнении запроса произошла какая-то внутренняя ошибка. Чтобы решить эту проблему лучше всего создать тикет в панели управления.|\n\n### Структура успешного ответа\nВсе конечные точки будут возвращать данные в формате `JSON`. Ответы на `GET`-запросы будут иметь на верхнем уровне следующую структуру атрибутов: \n|Название поля|Тип|Описание|\n|--- |--- |--- |\n|[entity_name]|object, object[], string[], number[], boolean|Динамическое поле, которое будет меняться в зависимости от запрашиваемого ресурса и будет содержать все атрибуты, необходимые для описания этого ресурса. Например, при запросе списка баз данных будет возвращаться поле `dbs`, а при запросе конкретного облачного сервера `server`. Для некоторых конечных точек в ответе может возвращаться сразу несколько ресурсов.|\n|meta|object|Опционально. Объект, который содержит вспомогательную информацию о ресурсе. Чаще всего будет встречаться при запросе коллекций и содержать поле `total`, которое будет указывать на количество элементов в коллекции.|\n|response_id|string|Опционально. В большинстве случае в ответе будет содержаться уникальный идентификатор ответа в формате UUIDv4, который однозначно указывает на ваш запрос внутри нашей системы. Если вам потребуется задать вопрос нашей поддержке, то приложив к вопросу этот идентификатор, мы сможем найти ответ на него намного быстрее. Также вы можете использовать этот идентификатор, чтобы убедиться, что это новый ответ на запрос и результат не был получен из кэша.|\n\nПример запроса на получение списка ssh-ключей:\n```\n HTTP/2.0 200 OK\n {\n \"ssh_keys\":[\n {\n \"body\":\"ssh-rsa AAAAB3NzaC1sdfghjkOAsBwWhs= example@device.local\",\n \"created_at\":\"2021-09-15T19:52:27Z\",\n \"expired_at\":null,\n \"id\":5297,\n \"is_default\":false,\n \"name\":\"example@device.local\",\n \"used_at\":null,\n \"used_by\":[]\n }\n ],\n \"meta\":{\n \"total\":1\n },\n \"response_id\":\"94608d15-8672-4eed-8ab6-28bd6fa3cdf7\"\n }\n```\n\n### Структура ответа с ошибкой\n|Название поля|Тип|Описание|\n|--- |--- |--- |\n|status_code|number|Короткий числовой идентификатор ошибки.|\n|error_code|string|Короткий текстовый идентификатор ошибки, который уточняет числовой идентификатор и удобен для программной обработки. Самый простой пример, это код `not_found` для ошибки 404.|\n|message|string, string[]|Опционально. В большинстве случаев в ответе будет содержаться человекочитаемое подробное описание ошибки или ошибок, которые помогут понять, что нужно исправить.|\n|response_id|string|Опционально. В большинстве случае в ответе будет содержаться уникальный идентификатор ответа в формате UUIDv4, который однозначно указывает на ваш запрос внутри нашей системы. Если вам потребуется задать вопрос нашей поддержке, то приложив к вопросу этот идентификатор, мы сможем найти ответ на него намного быстрее.|\n\nПример:\n```\n HTTP/2.0 403 Forbidden\n {\n \"status_code\": 403,\n \"error_code\": \"forbidden\",\n \"message\": \"You do not have access for the attempted action\",\n \"response_id\": \"94608d15-8672-4eed-8ab6-28bd6fa3cdf7\"\n }\n```\n\n## Статусы ресурсов\nВажно учесть, что при создании большинства ресурсов внутри платформы, вам будет сразу возвращен ответ от сервера со статусом `200 OK` или `201 Created` и идентификатором созданного ресурса в теле ответа, но при этом этот ресурс может быть ещё в *состоянии запуска*.\n\nДля того, чтобы понять в каком состоянии сейчас находится ваш ресурс, мы добавили поле `status` в ответ на получении информации о ресурсе.\n\nСписок статусов будет отличаться в зависимости от типа ресурса. Увидеть поддерживаемый список статусов вы сможете в описании каждого конкретного ресурса.\n\n \n\n## Ограничение скорости запросов (Rate Limiting)\nЧтобы обеспечить стабильность для всех пользователей, Timeweb Cloud защищает API от всплесков входящего трафика анализируя количество запросов c каждого аккаунта к каждой конечной точке.\n\nЕсли ваше приложение отправляет более 20 запросов в секунду на одну конечную точку, то для этого запроса API может вернуть код состояния HTTP `429 Too Many Requests`.\n\n\n## Аутентификация\nДоступ к API осуществляется с помощью JWT-токена. Токенами можно управлять внутри панели управления Timeweb Cloud в разделе *Настройки аккаунта -> Токены API*.\n\nТокен необходимо передавать в заголовке каждого запроса в формате:\n```\n Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\n```\n\n## Формат примеров API\nПримеры в этой документации описаны с помощью `curl`, HTTP-клиента командной строки. На компьютерах `Linux` и `macOS` обычно по-умолчанию установлен `curl`, и он доступен для загрузки на всех популярных платформах, включая `Windows`.\n\nКаждый пример разделен на несколько строк символом `\\`, который совместим с `bash`. Типичный пример выглядит так:\n```\n curl -X PATCH \n -H \"Content-Type: application/json\" \n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \n -d '{\"name\":\"Cute Corvus\",\"comment\":\"Development Server\"}' \n \"https://api.timeweb.cloud/api/v1/dedicated/1051\"\n```\n- Параметр `-X` задает метод запроса. Для согласованности метод будет указан во всех примерах, даже если он явно не требуется для методов `GET`.\n- Строки `-H` задают требуемые HTTP-заголовки.\n- Примеры, для которых требуется объект JSON в теле запроса, передают требуемые данные через параметр `-d`.\n\nЧтобы использовать приведенные примеры, не подставляя каждый раз в них свой токен, вы можете добавить токен один раз в переменные окружения в вашей консоли. Например, на `Linux` это можно сделать с помощью команды:\n\n```\nTIMEWEB_CLOUD_TOKEN=\"token\"\n```\n\nПосле этого токен будет автоматически подставляться в ваши запросы.\n\nОбратите внимание, что все значения в этой документации являются примерами. Не полагайтесь на идентификаторы операционных систем, тарифов и т.д., используемые в примерах. Используйте соответствующую конечную точку для получения значений перед созданием ресурсов."
},
"servers": [
{
"url": "https://api.timeweb.cloud"
}
],
"tags": [
{
"name": "Аккаунт",
"description": "Группа методов, которая позволяет получить информацию о вашем текущем аккаунте. Обратите внимание, что API предоставляет только базовый функционал для получения общей информации об аккаунте.</br></br> Подробнее о работе с вашим аккаунтом в панели управления в нашей <a href='https://timeweb.cloud/docs/account-management' target='_blank'>базе знаний</a>."
},
{
"name": "Базы данных",
"description": "Облачная база данных, или База данных как сервис (DBaaS) — облачное решение для хранения структурированных данных и управления ими. DBaaS обеспечивает полностью автоматизированную, гибкую и масштабируемую платформу для работы с базами данных.</br></br> Подробнее об облачных базах данных в нашей <a href='https://timeweb.cloud/docs/dbaas' target='_blank'>базе знаний</a>."
},
{
"name": "Балансировщики",
"description": "Балансировщик позволяет распределять входящий трафик между несколькими серверами для повышения доступности и отказоустойчивости вашего сервиса.</br></br> Подробнее о балансировщике нагрузки в нашей <a href='https://timeweb.cloud/docs/load-balancer' target='_blank'>базе знаний</a>."
},
{
"name": "Выделенные серверы",
"description": "Выделенные серверы используют, когда необходимо разместить сложную нагруженную систему, для которой недостаточно мощностей виртуального хостинга или облачного сервера. Это может быть крупный сайт, интернет-магазин, любой ресурсоемкий проект.</br></br> Подробнее о выделенных серверах в нашей <a href='https://timeweb.cloud/docs/dedicated' target='_blank'>базе знаний</a>."
},
{
"name": "Домены",
"description": "В Timeweb Cloud доступна регистрация и продление доменов более чем в 350 зонах.</br></br> В зависимости от выбранной зоны, домен может быть зарегистрирован через регистратора Таймвэб.Домены или через одного из наших партнеров.</br></br> Подробнее о доменах в нашей <a href='https://timeweb.cloud/docs/domains' target='_blank'>базе знаний</a>."
},
{
"name": "Облачные серверы",
"description": "Облачные серверы — это способ размещения данных, при котором вы получаете полный доступ (root-доступ) к виртуальному серверу и его настройкам. Вы можете гибко масштабировать параметры (процессор, память, диск) сервера, постепенно добавляя необходимые мощности, когда растет нагрузка, и снижать их, когда нагрузка уменьшается. Соответствующим образом будет увеличиваться или уменьшаться стоимость сервера.</br></br> Подробнее об облачных серверах в нашей <a href='https://timeweb.cloud/docs/cloud-servers' target='_blank'>базе знаний</a>."
},
{
"name": "Образы",
"description": "Образы — это полная копия вашего облачного сервера в формате `Qcow2`, со всеми настройками операционной системы, программного обеспечения и всем содержимым сервера. </br></br> Подробнее об образах в нашей <a href='https://timeweb.cloud/docs/cloud-servers/manage-servers/server-images' target='_blank'>базе знаний</a>."
},
{
"name": "Проекты",
"description": "Проекты позволяют организовать ваши ресурсы в группы, соответствующие вашему стилю работы. Вы можете группировать ресурсы (например, облачные и выделенные серверы, балансировщики нагрузки, базы данных и т.д.) таким образом, чтобы они соответствовали приложениям, которые вы размещаете в облаке."
},
{
"name": "Токены API",
"description": "Токены API — это это JWT-токены с помощью которых вы можете получить доступ к управлению через API вашей облачной инфраструктурой."
},
{
"name": "Kubernetes",
"description": "Kubernetes — программное обеспечение с открытым исходным кодом, предназначенное для автоматизированного управления контейнерными приложениями. Kubernetes обеспечит автоматическое развертывание, масштабирование, распределение нагрузки, мониторинг сервисов, обработку ошибок и многое другое. </br></br> Подробнее о Kubernetes в нашей <a href='https://timeweb.cloud/docs/k8s' target='_blank'>базе знаний</a>."
},
{
"name": "S3-хранилище",
"description": "S3-хранилище — это универсальное объектное хранилище, совместимое с Amazon S3 API, в котором можно размещать любые типы статических данных.</br></br> Подробнее о хранилище S3 в нашей <a href='https://timeweb.cloud/docs/s3-storage' target='_blank'>базе знаний</a>.</br></br>Обратите внимание, что данное API предоставляется независимо и совместно с Amazon S3 API. Описание принципов работы и список поддерживаемых методов Amazon S3 API вы можете найти в <a href='https://timeweb.cloud/docs/s3-storage/s3-guide' target='_blank'>базе знаний</a>."
},
{
"name": "SSH-ключи",
"description": "Для безопасного подключения к облачным серверам вы можете использовать SSH-ключи. Их удобно сохранять в панели управления в разделе <a href='https://timeweb.cloud/my/sshkeys' target='_blank'>SSH-ключи</a>, чтобы использовать при создании новых серверов."
}
],
"security": [
{
"Bearer": []
}
],
"paths": {
"/api/v1/account/finances": {
"get": {
"summary": "Получение платежной информации",
"description": "Чтобы получить платежную информацию, отправьте GET запрос на `/api/v1/account/finances`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/account/finances\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `finances`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"finances": {
"$ref": "#/components/schemas/finances"
}
},
"required": [
"finances"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
}
},
"/api/v1/account/status": {
"get": {
"summary": "Получение статуса аккаунта",
"description": "Чтобы получить статус аккаунта, отправьте GET запрос на `/api/v1/account/status`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/account/status\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `status`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"status": {
"$ref": "#/components/schemas/status"
}
},
"required": [
"status"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
}
},
"/api/v1/images": {
"get": {
"tags": [
"Образы"
],
"summary": "Получение списка образов",
"operationId": "Получение_списка_образов_api_v1__account__images_get",
"description": "Чтобы получить список образов, отправьте GET запрос на `/api/v1/images`",
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом images",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImagesOutResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "51227247-ab99-44a5-b715-fedd2c785f01",
"meta": {
"total": 5
},
"images": [
{
"id": "bb19e26f-9e86-4e25-b088-d31fb5bba2c0",
"status": "new",
"created_at": "2023-01-23T16:02:42.403980",
"size": 4194304,
"description": "image of vds disk",
"disk_id": 360780,
"location": "ru-1"
},
{
"id": "8f824456-648b-4c90-99b2-8aeaf846650f",
"status": "new",
"created_at": "2023-01-23T16:02:42.404004",
"size": 4194304,
"description": "image of vds disk",
"disk_id": 528461,
"location": "ru-1"
},
{
"id": "f50c38bd-173b-4781-af47-7569b0281551",
"status": "new",
"created_at": "2023-01-23T16:02:42.404023",
"size": 8388608,
"description": "image of vds disk",
"disk_id": 910049,
"location": "ru-1"
},
{
"id": "6ac97819-1b61-45b5-b2d3-b91f5f040ae4",
"status": "new",
"created_at": "2023-01-23T16:02:42.404041",
"size": 33554432,
"description": "image of vds disk",
"disk_id": 719304,
"location": "ru-1"
},
{
"id": "a1eed085-b10d-406f-a716-c956261bd018",
"status": "new",
"created_at": "2023-01-23T16:02:42.404059",
"size": 1048576,
"description": "image of vds disk",
"disk_id": 335859,
"location": "ru-1"
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images\""
}
]
},
"post": {
"tags": [
"Образы"
],
"summary": "Создание образа",
"description": "Чтобы создать образ, отправьте POST запрос в `/api/v1/images`, задав необходимые атрибуты. Образ будет создан с использованием предоставленной информации. \n\n Тело ответа будет содержать объект JSON с информацией о созданном образе.\n\n",
"operationId": "Создание_образа_api_v1__account__images_post",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImageInAPI"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Образ создан",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageOutResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "ecbf298d-1b65-46a4-bfbd-f256163f7ddc",
"image": {
"id": "05c0b0eb-0571-4ef8-98d1-39861aaf47ae",
"status": "new",
"created_at": "2023-01-23T16:02:42.403862",
"size": 4194304,
"description": "image of vds disk",
"disk_id": 691780,
"location": "ru-1"
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -d '{\"description\": \"\\u041c\\u043e\\u0439 \\u043e\\u0431\\u0440\\u0430\\u0437 \\u0434\\u043b\\u044f \\u0434\\u0438\\u0441\\u043a\\u0430 123\", \"disk_id\": 123}' \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images\""
}
]
}
},
"/api/v1/images/{image_id}": {
"get": {
"tags": [
"Образы"
],
"summary": "Получение информации о образе",
"description": "Чтобы получить образ, отправьте запрос GET в `/api/v1/images/{image_id}`.",
"operationId": "Получение_информации_о_образе_api_v1__account__images__image_id__get",
"parameters": [
{
"description": "Идентификатор образа",
"required": true,
"schema": {
"title": "Image Id",
"type": "string",
"description": "Идентификатор образа"
},
"name": "image_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Информация о образе",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageOutResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "5029d42e-6e4e-4268-8cdc-0906bee034d8",
"image": {
"id": "6b63f111-f787-4c08-8603-821346e3980c",
"status": "new",
"created_at": "2023-01-23T16:02:42.404138",
"size": 33554432,
"description": "image of vds disk",
"disk_id": 625724,
"location": "ru-1"
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images/e2d0e7f5-6ecb-411c-89c7-8ad0337e9564\""
}
]
},
"delete": {
"tags": [
"Образы"
],
"summary": "Удаление образа",
"description": "Чтобы удалить образ, отправьте запрос DELETE в `/api/v1/images/{image_id}`.\n",
"operationId": "Удаление_образа_api_v1__account__images__image_id__delete",
"parameters": [
{
"description": "Идентификатор образа",
"required": true,
"schema": {
"title": "Image Id",
"type": "string",
"description": "Идентификатор образа"
},
"name": "image_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Образ удален"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images/afac63ab-10bf-4b96-94ff-c7c01780808c\""
}
]
},
"patch": {
"tags": [
"Образы"
],
"summary": "Обновление информации о образе",
"operationId": "Обновление_информации_о_образе_api_v1__account__images__image_id__patch",
"description": "Чтобы обновить только определенные атрибуты образа, отправьте запрос PATCH в `/api/v1/images/{image_id}`.",
"parameters": [
{
"description": "Идентификатор образа",
"required": true,
"schema": {
"title": "Image Id",
"type": "string",
"description": "Идентификатор образа"
},
"name": "image_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImageUpdateAPI"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Образ обновлен",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageOutResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "cdd3a425-802d-4e12-9603-ee5b4a3c06cb",
"image": {
"id": "5d32183e-0750-4a75-9230-6917dedc6be4",
"status": "new",
"created_at": "2023-01-23T16:02:42.404209",
"size": 1048576,
"description": "image of vds disk",
"disk_id": 549332,
"location": "ru-1"
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -d '{\"description\": \"\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435 \\u043e\\u0431\\u0440\\u0430\\u0437\\u0430\"}' \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images/3e2f0b6b-64d4-428d-9a37-707c17d091d2\""
}
]
}
},
"/api/v1/images/{image_id}/download-url": {
"get": {
"tags": [
"Образы"
],
"summary": "Получение информации о ссылках на скачивание образов",
"description": "Чтобы получить информацию о ссылках на скачивание образов, отправьте запрос GET в `/api/v1/images/{image_id}/download-url`.",
"operationId": "Получение_информации_о_ссылках_на_скачивание_образов_api_v1__account__images__image_id__download-url_get",
"parameters": [
{
"description": "Идентификатор образа",
"required": true,
"schema": {
"title": "Image Id",
"type": "string",
"description": "Идентификатор образа"
},
"name": "image_id",
"in": "path"
},
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"responses": {
"200": {
"description": "Информация о ссылке на загрузку",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageDownloadsResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "20532d9b-689d-45ab-bd39-1d0aeca63d83",
"meta": {
"total": 1
},
"downloads": [
{
"id": "5624d71f-53f5-4532-ad07-58008642d9f8",
"created_at": "2023-01-23T16:02:42.404536",
"image": "6b600372-0b54-4913-8b90-278721c841bf",
"type": "timeweb",
"url": "https://example.com/5624d71f-53f5-4532-ad07-58008642d9f8",
"status": "finished"
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images/24d93470-ba69-4cca-acfe-56eefae3e755/download-url\""
}
]
},
"post": {
"tags": [
"Образы"
],
"summary": "Создание ссылки на скачивание образа",
"description": "Чтобы создать ссылку на скачивание образа, отправьте запрос POST в `/api/v1/images/{image_id}/download-url`.",
"operationId": "Создание_ссылки_на_скачивание_образа_api_v1__account__images__image_id__download-url_post",
"parameters": [
{
"description": "Идентификатор образа",
"required": true,
"schema": {
"title": "Image Id",
"type": "string",
"description": "Идентификатор образа"
},
"name": "image_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImageUrlIn"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Ссылка успешно создана",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageDownloadResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "fc4d0272-c64b-4713-961f-950e95a95a25",
"download": {
"id": "e3c1e42c-46c9-45f4-ab85-2656038de934",
"created_at": "2023-01-23T16:02:42.404285",
"image": "3cc8026d-164d-4f5f-a740-dda3b237f051",
"type": "timeweb",
"url": "https://example.com/e3c1e42c-46c9-45f4-ab85-2656038de934",
"status": "finished"
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"description": "Образ уже загружен в облачное хранилище",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BaseError"
},
"example": {
"status_code": 409,
"error_code": "file_already_exists_on_remote",
"message": "File with name my_image_from_timeweb.qcow2 already exists on remote",
"response_id": "b695c39c-f640-4f61-8c8e-89f1e7bf607c"
}
}
}
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images/70ca39d3-4712-4127-bd80-0897749b71aa/download-url\""
}
]
}
},
"/api/v1/images/{image_id}/download-url/{image_url_id}": {
"get": {
"tags": [
"Образы"
],
"summary": "Получение информации о ссылке на скачивание образа",
"description": "Чтобы получить информацию о ссылке на скачивание образа, отправьте запрос GET в `/api/v1/images/{image_id}/download-url/{image_url_id}`.",
"operationId": "Получение_информации_о_ссылке_на_скачивание_образа_api_v1__account__images__image_id__download-url__image_url_id__get",
"parameters": [
{
"description": "Идентификатор образа",
"required": true,
"schema": {
"title": "Image Id",
"type": "string",
"description": "Идентификатор образа"
},
"name": "image_id",
"in": "path"
},
{
"description": "Идентификатор ссылки",
"required": true,
"schema": {
"title": "Image Url Id",
"type": "string",
"description": "Идентификатор ссылки"
},
"name": "image_url_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Информация о ссылке на загрузку",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ImageDownloadResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "b43a6a66-7651-4a6c-b42e-b5f7de3c2548",
"download": {
"id": "7947a048-1852-4d7c-a120-ca7a7635b9fd",
"created_at": "2023-01-23T16:02:42.404446",
"image": "f8bde7d3-410a-42c2-8d2e-fed3df3ee9db",
"type": "timeweb",
"url": "https://example.com/7947a048-1852-4d7c-a120-ca7a7635b9fd",
"status": "finished"
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images/5fe53fef-54a8-4a01-9ba7-bccb1cfe3a78/download-url/ea50348f-f312-4b17-b035-3b3e6b92122a\""
}
]
},
"delete": {
"tags": [
"Образы"
],
"summary": "Удаление ссылки на образ",
"description": "Чтобы удалить ссылку на образ, отправьте DELETE запрос в `/api/v1/images/{image_id}/download-url/{image_url_id}`.",
"operationId": "Удаление_ссылки_на_образ_api_v1__account__images__image_id__download-url__image_url_id__delete",
"parameters": [
{
"description": "Идентификатор образа",
"required": true,
"schema": {
"title": "Image Id",
"type": "string",
"description": "Идентификатор образа"
},
"name": "image_id",
"in": "path"
},
{
"description": "Идентификатор ссылки",
"required": true,
"schema": {
"title": "Image Url Id",
"type": "string",
"description": "Идентификатор ссылки"
},
"name": "image_url_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Ссылка удалена"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/images/a2416ca3-422b-46af-b070-52997737b6f3/download-url/67b74779-769d-401f-90ad-ca39e52f6510\""
}
]
}
},
"/api/v1/balancers": {
"get": {
"summary": "Получение списка всех бaлансировщиков",
"description": "Чтобы получить список всех бaлансировщиков на вашем аккаунте, отправьте GET запрос на `/api/v1/balancers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `balancers`.",
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `balancers`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"balancers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/balancer"
}
}
},
"required": [
"meta",
"balancers"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
},
"post": {
"summary": "Создание бaлансировщика",
"description": "Чтобы создать бaлансировщик на вашем аккаунте, отправьте POST запрос на `/api/v1/balancers` задав необходимые атрибуты.\n\nБалансировщик будет создан с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о созданном балансировщике.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancer\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-balancer"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `balancer`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"balancer": {
"$ref": "#/components/schemas/balancer"
}
},
"required": [
"balancer"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
}
},
"/api/v1/balancers/{balancer_id}": {
"get": {
"summary": "Получение бaлансировщика",
"description": "Чтобы отобразить информацию об отдельном балансировщике, отправьте запрос GET на `api/v1/balancers/{balancer_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `balancer`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"balancer": {
"$ref": "#/components/schemas/balancer"
}
},
"required": [
"balancer"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
},
"patch": {
"summary": "Обновление балансировщика",
"description": "Чтобы обновить только определенные атрибуты балансировщика, отправьте запрос PATCH в `api/v1/balancers/{balancer_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-balancer"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '${DATA}' \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `balancer`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"balancer": {
"$ref": "#/components/schemas/balancer"
}
},
"required": [
"balancer"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
},
"delete": {
"summary": "Удаление балансировщика",
"description": "Чтобы удалить балансировщик, отправьте запрос DELETE в `api/v1/balancers/{balancer_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051\""
}
],
"responses": {
"204": {
"description": "Балансировщик успешно удален."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
}
},
"/api/v1/balancers/{balancer_id}/ips": {
"get": {
"summary": "Получение списка ip адресов балансировщика",
"description": "Чтобы добавить `ip` адреса к балансировщику, отправьте запрос GET в `api/v1/balancers/{balancer_id}/ips`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051/ips\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `ips`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"ips": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"meta",
"ips"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
},
"post": {
"summary": "Добавление ip адресов к балансировщику",
"description": "Чтобы добавить `ip` адреса к балансировщику, отправьте запрос POST в `api/v1/balancers/{balancer_id}/ips`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051/ips\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ips": {
"type": "array",
"items": {
"type": "string",
"example": "192.168.0.0"
}
}
},
"required": [
"ips"
]
}
}
},
"required": true
},
"responses": {
"204": {
"description": "`Ip` адреса добавлены к балансировщику"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
},
"delete": {
"summary": "Удаление ip адресов из балансировщика",
"description": "Чтобы удалить `ip` адреса из балансировщика, отправьте запрос DELETE в `api/v1/balancers/{balancer_id}/ips`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051/ips\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ips": {
"type": "array",
"items": {
"type": "string",
"example": "192.168.0.0"
}
}
},
"required": [
"ips"
]
}
}
},
"required": true
},
"responses": {
"204": {
"description": "`Ip` адрес удален из балансировщика"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
}
},
"/api/v1/balancers/{balancer_id}/rules": {
"get": {
"summary": "Получение правил балансировщика",
"description": "Получить правила балансировщика балансировщика, отправьте запрос GET в `api/v1/balancers/{balancer_id}/rules`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051/rules\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `rules`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/rule"
}
}
},
"required": [
"meta",
"rules"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
},
"post": {
"summary": "Создание правила для балансировщика",
"description": "Чтобы создать правило для балансировщика, отправьте запрос POST в `api/v1/balancers/{balancer_id}/rules`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051/rules\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-rule"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `rule`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"rule": {
"$ref": "#/components/schemas/rule"
}
},
"required": [
"rule"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
}
},
"/api/v1/balancers/{balancer_id}/rules/{rule_id}": {
"patch": {
"summary": "Обновление правила для балансировщика",
"description": "Чтобы обновить правило для балансировщика, отправьте запрос PATCH в `api/v1/balancers/{balancer_id}/rules/{rule_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
},
{
"$ref": "#/components/parameters/rule-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051/rules/123\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-rule"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `rule`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"rule": {
"$ref": "#/components/schemas/rule"
}
},
"required": [
"rule"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
},
"delete": {
"summary": "Удаление правила для балансировщика",
"description": "Чтобы удалить правило для балансировщика, отправьте запрос DELETE в `api/v1/balancers/{balancer_id}/rules/{rule_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/balancer-id"
},
{
"$ref": "#/components/parameters/rule-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/balancers/1051/rules/123\""
}
],
"responses": {
"204": {
"description": "Правило удалено из балансировщика"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
}
},
"/api/v1/presets/balancers": {
"get": {
"summary": "Получение списка тарифов для балансировщика",
"description": "Чтобы получить список тарифов для балансировщика, отправьте GET запрос на `/api/v1/presets/balancers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `balancers_presets`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/presets/balancers\""
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"balancers_presets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/presets-balancer"
}
}
},
"required": [
"meta",
"balancers_presets"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
},
"description": "Тарифы успешно получены"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Балансировщики"
]
}
},
"/api/v1/dbs": {
"get": {
"summary": "Получение списка всех баз данных",
"description": "Чтобы получить список всех баз данных на вашем аккаунте, отправьте GET запрос на `/api/v1/dbs`.\n\n Тело ответа будет представлять собой объект JSON с ключом `dbs`.",
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `dbs`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"dbs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/db"
}
}
},
"required": [
"meta",
"dbs"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
},
"post": {
"summary": "Создание базы данных",
"description": "Чтобы создать базу данных на вашем аккаунте, отправьте POST запрос на `/api/v1/dbs` задав необходимые атрибуты.\n\nБаза данных будет создана с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о созданной базе данных.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/db\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-db"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Ответ будет представлять собой объект JSON c ключом `db`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"db": {
"$ref": "#/components/schemas/db"
}
},
"required": [
"db"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
}
},
"/api/v1/dbs/{db_id}": {
"get": {
"summary": "Получение базы данных",
"description": "Чтобы отобразить информацию об отдельной базе данных, отправьте запрос GET на `api/v1/dbs/{db_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `db`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"db": {
"$ref": "#/components/schemas/db"
}
},
"required": [
"db"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
},
"patch": {
"summary": "Обновление базы данных",
"description": "Чтобы обновить только определенные атрибуты базы данных, отправьте запрос PATCH в `api/v1/dbs/{db_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-db"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '${DATA}' \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `db`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"db": {
"$ref": "#/components/schemas/db"
}
},
"required": [
"db"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
},
"delete": {
"summary": "Удаление базы данных",
"description": "Чтобы удалить базу данных, отправьте запрос DELETE в `api/v1/dbs/{db_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051\""
}
],
"responses": {
"204": {
"description": "База данных успешно удалена."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
}
},
"/api/v1/dbs/{db_id}/backups": {
"get": {
"summary": "Список бэкапов базы данных",
"description": "Чтобы получить список бэкапов базы данных, отправьте запрос GET в `api/v1/dbs/{db_id}/backups`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
},
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051/backups\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `backups`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"backups": {
"type": "array",
"items": {
"$ref": "#/components/schemas/backup"
}
}
},
"required": [
"meta",
"backups"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
},
"post": {
"summary": "Создание бэкапа базы данных",
"description": "Чтобы создать бэкап базы данных, отправьте запрос POST в `api/v1/dbs/{db_id}/backups`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051/backups\""
}
],
"responses": {
"201": {
"description": "Ответ будет представлять собой объект JSON с ключом `backup`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"backup": {
"$ref": "#/components/schemas/backup"
}
},
"required": [
"backup"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
}
},
"/api/v1/dbs/{db_id}/backups/{backup_id}": {
"delete": {
"summary": "Удаление бэкапа базы данных",
"description": "Чтобы удалить бэкап базы данных, отправьте запрос DELETE в `api/v1/dbs/{db_id}/backups/{backup_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
},
{
"$ref": "#/components/parameters/backup-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051/backups/123\""
}
],
"responses": {
"204": {
"description": "Бэкап успешно удален."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
},
"get": {
"summary": "Получение бэкапа базы данных",
"description": "Чтобы получить бэкап базы данных, отправьте запрос GET в `api/v1/dbs/{db_id}/backups/{backup_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
},
{
"$ref": "#/components/parameters/backup-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051/backups/123\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `backup`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"backup": {
"$ref": "#/components/schemas/backup"
}
},
"required": [
"backup"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
},
"put": {
"summary": "Восстановление базы данных из бэкапа",
"description": "Чтобы восстановить базу данных из бэкапа, отправьте запрос PUT в `api/v1/dbs/{db_id}/backups/{backup_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dbs-id"
},
{
"$ref": "#/components/parameters/backup-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PUT \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dbs/1051/backups/123\""
}
],
"responses": {
"204": {
"description": "База данных из бэкапа успешно восстановлена."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
}
},
"/api/v1/presets/dbs": {
"get": {
"summary": "Получение списка тарифов для баз данных",
"description": "Чтобы получить список тарифов для баз данных, отправьте GET запрос на `/api/v1/presets/dbs`.\n\n Тело ответа будет представлять собой объект JSON с ключом `databases_presets`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/presets/dbs\""
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"databases_presets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/presets-dbs"
}
}
},
"required": [
"meta",
"databases_presets"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
},
"description": "Тарифы успешно получены."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Базы данных"
]
}
},
"/api/v1/dedicated-servers": {
"get": {
"summary": "Получение списка выделенных серверов",
"description": "Чтобы получить список всех выделенных серверов на вашем аккаунте, отправьте GET запрос на `/api/v1/dedicated-servers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `dedicated_servers`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dedicated-servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `dedicated_servers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"dedicated_servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dedicated-server"
}
}
},
"required": [
"meta",
"dedicated_servers"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Выделенные серверы"
]
},
"post": {
"summary": "Создание выделенного сервера",
"description": "Чтобы создать выделенный сервер, отправьте POST запрос в `api/v1/dedicated-servers`, задав необходимые атрибуты.\n\nВыделенный сервер будет создан с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о созданном выделенном сервере.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-dedicated-server"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"plan_id\":2377,\"preset_id\":81,\"payment_period\":\"P1M\",\"name\":\"Mysterious Dunnock\",\"comment\":\"Production Server\",\"location\":\"russia\",\"os_id\":188,\"cp_id\":199,\"bandwidth_id\":483,\"network_drive_id\":446,\"additional_ip_addr_id\":477}' \\\n \"https://api.timeweb.cloud/api/v1/dedicated-servers\""
}
],
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"dedicated_server": {
"$ref": "#/components/schemas/dedicated-server"
}
},
"required": [
"dedicated_server"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Выделенные серверы"
]
}
},
"/api/v1/dedicated-servers/{dedicated_id}": {
"get": {
"summary": "Получение выделенного сервера",
"description": "Чтобы отобразить информацию об отдельном выделенном сервере, отправьте запрос GET на `api/v1/dedicated-servers/{dedicated_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dedicated-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dedicated-servers/1051\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `dedicated_server`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"dedicated_server": {
"$ref": "#/components/schemas/dedicated-server"
}
},
"required": [
"dedicated_server"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Выделенные серверы"
]
},
"patch": {
"summary": "Обновление выделенного сервера",
"description": "Чтобы обновить только определенные атрибуты выделенного сервера, отправьте запрос PATCH в `api/v1/dedicated-servers/{dedicated_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dedicated-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"description": "Удобочитаемое имя выделенного сервера. Максимальная длина — 255 символов, имя должно быть уникальным.",
"example": "name"
},
"comment": {
"type": "string",
"maxLength": 255,
"description": "Комментарий к выделенному серверу. Максимальная длина — 255 символов.",
"example": "comment"
}
}
}
}
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\":\"Cute Corvus \",\"comment\":\"Development Server\"}' \\\n \"https://api.timeweb.cloud/api/v1/dedicated/1051\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON с ключом `dedicated_server`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"dedicated_server": {
"$ref": "#/components/schemas/dedicated-server"
}
},
"required": [
"dedicated_server"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Выделенные серверы"
]
},
"delete": {
"summary": "Удаление выделенного сервера",
"description": "Чтобы удалить выделенный сервер, отправьте запрос DELETE в `api/v1/dedicated-servers/{dedicated_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/dedicated-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/dedicated/1051\""
}
],
"responses": {
"204": {
"description": "Выделенный сервер успешно удален"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Выделенные серверы"
]
}
},
"/api/v1/presets/dedicated-servers": {
"get": {
"summary": "Получение списка тарифов для выделенного сервера",
"description": "Чтобы получить список всех тарифов выделенных серверов, отправьте GET запрос на `/api/v1/presets/dedicated-servers`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/presets/dedicated-servers\""
}
],
"parameters": [
{
"description": "Получение тарифов определенной локации.",
"in": "query",
"name": "location",
"required": false,
"schema": {
"type": "string",
"enum": [
"ru-1",
"ru-2",
"kz-1",
"pl-1"
]
}
}
],
"responses": {
"200": {
"description": "Объект JSON c ключем `dedicated_servers_presets`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"dedicated_servers_presets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dedicated-server-preset"
}
}
},
"required": [
"meta",
"dedicated_servers_presets"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Выделенные серверы"
]
}
},
"/api/v1/presets/dedicated-servers/{preset_id}/additional-services": {
"get": {
"summary": "Получение дополнительных услуг для выделенного сервера",
"description": "Чтобы получить список всех дополнительных услуг для выделенных серверов, отправьте GET запрос на `/api/v1/presets/dedicated-servers/{preset_id}/additional-services`.",
"parameters": [
{
"$ref": "#/components/parameters/preset-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/presets/dedicated-servers/3017/additional-services\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключем `dedicated_server_additional_services`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"dedicated_server_additional_services": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dedicated-server-additional-service"
}
}
},
"required": [
"meta",
"dedicated_server_additional_services"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Выделенные серверы"
]
}
},
"/api/v1/k8s/clusters": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение списка кластеров",
"description": "Чтобы получить список кластеров, отправьте GET запрос на `/api/v1/k8s/clusters`.",
"operationId": "Получение_списка_кластеров_api_v1__customer__clusters_get",
"parameters": [
{
"description": "Обозначает количество записей, которое необходимо вернуть.",
"required": false,
"schema": {
"title": "Limit",
"type": "integer",
"description": "Обозначает количество записей, которое необходимо вернуть.",
"default": 100
},
"name": "limit",
"in": "query"
},
{
"description": "Указывает на смещение, относительно начала списка.",
"required": false,
"schema": {
"title": "Offset",
"type": "integer",
"description": "Указывает на смещение, относительно начала списка.",
"default": 0
},
"name": "offset",
"in": "query"
}
],
"responses": {
"200": {
"description": "Список кластеров",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ClustersResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "68c76353-f100-455b-a4e9-52734f877861",
"meta": {
"total": 1
},
"clusters": [
{
"id": 73835,
"name": "Кластер 73835",
"created_at": "2023-01-13T10:10:29.729822",
"status": "active",
"description": "Описание кластера",
"ha": false,
"k8s_version": "v1.22.16",
"network_driver": "canal",
"ingress": false,
"preset_id": 403,
"cpu": 1,
"ram": 10240,
"disk": 100
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters\""
}
]
},
"post": {
"tags": [
"Kubernetes"
],
"summary": "Создание кластера",
"description": "Чтобы создать кластер, отправьте POST запрос на `/api/v1/k8s/clusters`.",
"operationId": "Создание_кластера_api_v1__customer__clusters_post",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClusterIn"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Информация о кластере",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ClusterResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "2b71e17b-2118-4f81-90d8-c8c4b9e8e4e3",
"cluster": {
"id": 18685,
"name": "Кластер 18685",
"created_at": "2023-01-13T10:10:29.742918",
"status": "active",
"description": "Описание кластера",
"ha": false,
"k8s_version": "v1.22.16",
"network_driver": "canal",
"ingress": true,
"preset_id": 403,
"cpu": 1,
"ram": 10240,
"disk": 100
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\": \"Fervent Pascal\", \"ha\": false, \"k8s_version\": \"v1.22.16\", \"network_driver\": \"canal\", \"ingress\": false, \"preset_id\": 403, \"worker_groups\": {\"name\": \"new group\", \"preset_id\": 399, \"node_count\": 1}}' \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение информации о кластере",
"description": "Чтобы получить информацию о кластере, отправьте GET запрос в `/api/v1/k8s/clusters/{cluster_id}`",
"operationId": "Получение_информации_о_кластере_api_v1__customer__clusters__cluster_id__get",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Информация о кластере",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ClusterResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "511cf606-ab89-4105-891a-e6914608cd3e",
"cluster": {
"id": 45059,
"name": "Кластер 45059",
"created_at": "2023-01-13T10:10:29.737755",
"status": "active",
"description": "Описание кластера",
"ha": false,
"k8s_version": "v1.22.16",
"network_driver": "canal",
"ingress": true,
"preset_id": 403,
"cpu": 1,
"ram": 10240,
"disk": 100
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/46\""
}
]
},
"delete": {
"tags": [
"Kubernetes"
],
"summary": "Удаление кластера",
"description": "Чтобы удалить кластер, отправьте DELETE запрос в `/api/v1/k8s/clusters/{cluster_id}`",
"operationId": "Удаление_кластера_api_v1__customer__clusters__cluster_id__delete",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Кластер удален"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/10\""
}
]
},
"patch": {
"tags": [
"Kubernetes"
],
"summary": "Обновление информации о кластере",
"description": "Чтобы обновить информацию о кластере, отправьте PATCH запрос в `/api/v1/k8s/clusters/{cluster_id}`",
"operationId": "Обновление_информации_о_кластере_api_v1__customer__clusters__cluster_id__patch",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClusterEdit"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Информация о кластере",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ClusterResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "383c587c-f421-45bd-9ac1-a890f13ac6dc",
"cluster": {
"id": 13649,
"name": "Кластер 13649",
"created_at": "2023-01-13T10:10:29.748020",
"status": "active",
"description": "Описание кластера",
"ha": false,
"k8s_version": "v1.22.16",
"network_driver": "canal",
"ingress": false,
"preset_id": 403,
"cpu": 1,
"ram": 10240,
"disk": 100
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"description\": \"new description\"}' \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/45\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}/resources": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение ресурсов кластера",
"description": "Чтобы получить ресурсы кластера, отправьте GET запрос в `/api/v1/k8s/clusters/{cluster_id}/resources`.",
"operationId": "Получение_ресурсов_кластера_api_v1__customer__clusters__cluster_id__resources_get",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Список ресурсов",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ResourcesResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "a3044ff0-182f-42d5-aa05-d5c8367e72ae",
"resources": {
"nodes": 10,
"cores": {
"requested": 10,
"allocatable": 10,
"capacity": 10,
"used": 5.5
},
"memory": {
"requested": 10240,
"allocatable": 9216,
"capacity": 9216,
"used": 5632
},
"pods": {
"requested": 10,
"allocatable": 10,
"capacity": 10,
"used": 5
}
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/41/resources\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}/kubeconfig": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение файла kubeconfig",
"description": "Чтобы получить файл kubeconfig, отправьте GET запрос в `/api/v1/k8s/clusters/{cluster_id}/kubeconfig`.",
"operationId": "Получение_файла_kubeconfig_api_v1__customer__clusters__cluster_id__kubeconfig_get",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Загрузка конфигурации подключения к кластеру",
"content": {
"application/yaml": {
"schema": {
"title": "Response 200 Получение Файла Kubeconfig Api V1 Customer Clusters Cluster Id Kubeconfig Get",
"type": "string"
},
"example": {
"apiVersion": "v1",
"kind": "Config",
"clusters": [
{
"name": "examply-example",
"cluster": {
"server": "https://k8saas.timeweb.com/k8s/clusters/c-12345"
}
}
],
"users": [
{
"name": "examply-example",
"user": {
"token": "kubeconfig-user-example:exampleexampleexample"
}
}
],
"contexts": [
{
"name": "example-example",
"context": {
"user": "example-example",
"cluster": "example-example"
}
}
],
"current-context": "example-example"
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/7/kubeconfig\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}/groups": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение групп нод кластера",
"description": "Чтобы получить группы нод кластера, отправьте GET запрос в `/api/v1/k8s/clusters/{cluster_id}/groups`.",
"operationId": "Получение_групп_нод_кластера_api_v1__customer__clusters__cluster_id__groups_get",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Список групп нод",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NodeGroupsResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "aed71c10-95d8-4e35-85fc-acc5d916e1c3",
"meta": {
"total": 3
},
"node_groups": [
{
"id": 2026,
"name": "Группа нод 2026",
"created_at": "2023-01-13T10:10:29.753143",
"preset_id": 399,
"node_count": 7
},
{
"id": 7844,
"name": "Группа нод 7844",
"created_at": "2023-01-13T10:10:29.753229",
"preset_id": 399,
"node_count": 3
},
{
"id": 2802,
"name": "Группа нод 2802",
"created_at": "2023-01-13T10:10:29.753297",
"preset_id": 399,
"node_count": 7
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/64/groups\""
}
]
},
"post": {
"tags": [
"Kubernetes"
],
"summary": "Создание группы нод",
"description": "Чтобы создать группу нод кластера, отправьте POST запрос в `/api/v1/k8s/clusters/{cluster_id}/groups`.",
"operationId": "Создание_группы_нод_api_v1__customer__clusters__cluster_id__groups_post",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NodeGroupIn"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Информация о группе нод",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NodeGroupResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "89e6b1c9-14b2-443e-b5c5-84914346ea79",
"node_group": {
"id": 1509,
"name": "Группа нод 1509",
"created_at": "2023-01-13T10:10:29.753638",
"preset_id": 399,
"node_count": 8
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\": \"group name\", \"preset_id\": 399, \"node_count\": 1}' \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/64/groups\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}/groups/{group_id}": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение информации о группе нод",
"description": "Чтобы получить информацию о группе нод, отправьте GET запрос в `/api/v1/k8s/clusters/{cluster_id}/groups/{group_id}`.",
"operationId": "Получение_информации_о_группе_нод_api_v1__customer__clusters__cluster_id__groups__group_id__get",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
},
{
"description": "Уникальный идентификатор группы",
"required": true,
"schema": {
"title": "Group Id",
"type": "integer",
"description": "Уникальный идентификатор группы"
},
"name": "group_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Информация о группе нод",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NodeGroupResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "96118bab-77d1-4681-9b4c-6c3b89cbbf90",
"node_group": {
"id": 341,
"name": "Группа нод 341",
"created_at": "2023-01-13T10:10:29.753519",
"preset_id": 399,
"node_count": 8
}
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/14/groups/12\""
}
]
},
"delete": {
"tags": [
"Kubernetes"
],
"summary": "Удаление группы нод",
"description": "Чтобы удалить группу нод, отправьте DELETE запрос в `/api/v1/k8s/clusters/{cluster_id}/groups/{group_id}`.",
"operationId": "Удаление_группы_нод_api_v1__customer__clusters__cluster_id__groups__group_id__delete",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
},
{
"description": "Уникальный идентификатор группы",
"required": true,
"schema": {
"title": "Group Id",
"type": "integer",
"description": "Уникальный идентификатор группы"
},
"name": "group_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Группа нод удалена"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/85/groups/46\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}/groups/{group_id}/nodes": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение списка нод принадлежащих группе",
"description": "Чтобы получить список нод принадлежащих группе, отправьте GET запрос в `/api/v1/k8s/clusters/{cluster_id}/groups/{group_id}/nodes`.",
"operationId": "Получение_списка_нод_принадлежащих_группе_api_v1__customer__clusters__cluster_id__groups__group_id__nodes_get",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
},
{
"description": "Уникальный идентификатор группы",
"required": true,
"schema": {
"title": "Group Id",
"type": "integer",
"description": "Уникальный идентификатор группы"
},
"name": "group_id",
"in": "path"
},
{
"description": "Обозначает количество записей, которое необходимо вернуть.",
"required": false,
"schema": {
"title": "Limit",
"type": "integer",
"description": "Обозначает количество записей, которое необходимо вернуть.",
"default": 100
},
"name": "limit",
"in": "query"
},
{
"description": "Указывает на смещение, относительно начала списка.",
"required": false,
"schema": {
"title": "Offset",
"type": "integer",
"description": "Указывает на смещение, относительно начала списка.",
"default": 0
},
"name": "offset",
"in": "query"
}
],
"responses": {
"200": {
"description": "Список нод",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NodesResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "9a5f84ec-47e7-485e-86f0-357d70c92c27",
"meta": {
"total": 3
},
"nodes": [
{
"id": 5373,
"created_at": "2023-01-13T10:10:29.753764",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
},
{
"id": 2240,
"created_at": "2023-01-13T10:10:29.753879",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
},
{
"id": 6584,
"created_at": "2023-01-13T10:10:29.753984",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/84/groups/63/nodes\""
}
]
},
"post": {
"tags": [
"Kubernetes"
],
"summary": "Увеличение количество нод в группе на указанное количество",
"description": "Чтобы увеличить количество нод в группе на указанное значение, отправьте POST запрос на `/api/v1/k8s/clusters/{cluster_id}/groups/{group_id}/nodes",
"operationId": "Увеличение_количество_нод_в_группе_на_указанное_количество_api_v1__customer__clusters__cluster_id__groups__group_id__nodes_post",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
},
{
"description": "Уникальный идентификатор группы",
"required": true,
"schema": {
"title": "Group Id",
"type": "integer",
"description": "Уникальный идентификатор группы"
},
"name": "group_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NodeCount"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Список нод",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NodesResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "25f53867-85e1-4425-9125-3860b39e1402",
"meta": {
"total": 3
},
"nodes": [
{
"id": 804,
"created_at": "2023-01-13T10:10:29.754400",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
},
{
"id": 899,
"created_at": "2023-01-13T10:10:29.754504",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
},
{
"id": 5066,
"created_at": "2023-01-13T10:10:29.754614",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"count\": 2}' \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/17/groups/56/nodes\""
}
]
},
"delete": {
"tags": [
"Kubernetes"
],
"summary": "Уменьшение количества нод в группе на указанное количество",
"description": "Чтобы уменьшить количество нод в группе на указанное значение, отправьте DELETE запрос в `/api/v1/k8s/clusters/{cluster_id}/groups/{group_id}/nodes`.",
"operationId": "Уменьшение_количества_нод_в_группе_на_указанное_количество_api_v1__customer__clusters__cluster_id__groups__group_id__nodes_delete",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
},
{
"description": "Уникальный идентификатор группы",
"required": true,
"schema": {
"title": "Group Id",
"type": "integer",
"description": "Уникальный идентификатор группы"
},
"name": "group_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NodeCount"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Количество нод уменьшено"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"count\": 2}' \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/31/groups/90/nodes\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}/nodes": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение списка нод",
"description": "Чтобы получить список нод, отправьте GET запрос в `/api/v1/k8s/clusters/{cluster_id}/nodes`.",
"operationId": "Получение_списка_нод_api_v1__customer__clusters__cluster_id__nodes_get",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Список нод",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NodesResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
},
"example": {
"response_id": "9a5f84ec-47e7-485e-86f0-357d70c92c27",
"meta": {
"total": 3
},
"nodes": [
{
"id": 5373,
"created_at": "2023-01-13T10:10:29.753764",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
},
{
"id": 2240,
"created_at": "2023-01-13T10:10:29.753879",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
},
{
"id": 6584,
"created_at": "2023-01-13T10:10:29.753984",
"type": "worker",
"group_id": 1,
"status": "active",
"preset_id": 399,
"cpu": 1,
"ram": 1024,
"disk": 10,
"network": 200
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/93/nodes\""
}
]
}
},
"/api/v1/k8s/clusters/{cluster_id}/nodes/{node_id}": {
"delete": {
"tags": [
"Kubernetes"
],
"summary": "Удаление ноды",
"description": "Чтобы удалить ноду, отправьте DELETE запрос в `/api/v1/k8s/clusters/{cluster_id}/nodes/{node_id}`.",
"operationId": "Удаление_ноды_api_v1__customer__clusters__cluster_id__nodes__node_id__delete",
"parameters": [
{
"description": "Уникальный идентификатор кластера",
"required": true,
"schema": {
"title": "Cluster Id",
"type": "integer",
"description": "Уникальный идентификатор кластера"
},
"name": "cluster_id",
"in": "path"
},
{
"description": "Уникальный идентификатор группы нод",
"required": true,
"schema": {
"title": "Node Id",
"type": "integer",
"description": "Уникальный идентификатор группы нод"
},
"name": "node_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Нода удалена"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/clusters/46/nodes/76\""
}
]
}
},
"/api/v1/k8s/k8s_versions": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение списка версий k8s",
"description": "Чтобы получить список версий k8s, отправьте GET запрос в `/api/v1/k8s/k8s_versions`.",
"operationId": "Получение_списка_версий_k8s_api_v1_k8s_versions_get",
"responses": {
"200": {
"description": "Список версий k8s",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/K8SVersionsResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/k8s-versions\""
}
]
}
},
"/api/v1/k8s/network_drivers": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение списка сетевых драйверов k8s",
"description": "Чтобы получить список сетевых драйверов k8s, отправьте GET запрос в `/api/v1/k8s/network_drivers`.",
"operationId": "Получение_списка_сетевых_драйверов_k8s_api_v1_network_drivers_get",
"responses": {
"200": {
"description": "Список сетевых драйверов k8s",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/NetworkDriversResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/network-drivers\""
}
]
}
},
"/api/v1/presets/k8s": {
"get": {
"tags": [
"Kubernetes"
],
"summary": "Получение списка тарифов",
"description": "Чтобы получить список тарифов, отправьте GET запрос в `/api/v1/presets/k8s`.",
"operationId": "Получение_списка_тарифов_api_v1_presets_get",
"responses": {
"200": {
"description": "Список тарифов",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/PresetsResponse"
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/k8s/presets\""
}
]
}
},
"/api/v1/servers": {
"get": {
"summary": "Получение списка серверов",
"description": "Чтобы получить серверов, отправьте GET запрос на `/api/v1/servers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `servers`.",
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `servers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/vds"
}
}
},
"required": [
"servers",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"post": {
"summary": "Создание сервера",
"description": "Чтобы создать сервер, отправьте POST запрос в `api/v1/servers`, задав необходимые атрибуты. Обязательно должен присутствовать один из параметров `configuration` или `preset_id`.\n\nCервер будет создан с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о созданном сервере.\n\n",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"is_ddos_guard\": false,\n \"os_id\": 65,\n \"bandwidth\": 200,\n \"comment\": \"comment\",\n \"name\": \"name\",\n \"preset_id\": 122,\n \"is_local_network\": false\n}' \"https://api.timeweb.cloud/api/v1/servers\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-server"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Объект JSON c ключом `server`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server": {
"$ref": "#/components/schemas/vds"
}
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}": {
"get": {
"summary": "Получение сервера",
"description": "Чтобы получить сервер, отправьте запрос GET в `/api/v1/servers/{server_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `server`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server": {
"$ref": "#/components/schemas/vds"
}
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"delete": {
"summary": "Удаление сервера",
"description": "Чтобы удалить сервер, отправьте запрос DELETE в `/api/v1/servers/{server_id}`.\\\n Обратите внимание, если на аккаунте включено удаление серверов по смс, то вернется ошибка 423.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}\""
}
],
"responses": {
"204": {
"description": "Успешное удаление сервера"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"patch": {
"summary": "Изменение сервера",
"description": "Чтобы обновить только определенные атрибуты сервера, отправьте запрос PATCH в `/api/v1/servers/{server_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"os_id\": 65,\n \"bandwidth\": 200,\n \"comment\": \"comment\",\n \"name\": \"name\",\n \"preset_id\": 122,\n}' \"https://api.timeweb.cloud/api/v1/servers/{server_id}\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-server"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Объект JSON c ключом `server`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server": {
"$ref": "#/components/schemas/vds"
}
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/action": {
"post": {
"summary": "Выполнение действия над сервером",
"description": "Чтобы выполнить действие над сервером, отправьте POST запрос на `/api/v1/servers/{server_id}/action`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"action\": \"shutdown\",\n}' \"https://api.timeweb.cloud/api/v1/servers/{server_id}/action\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Действие над сервером",
"properties": {
"action": {
"type": "string",
"enum": [
"hard_reboot",
"hard_shutdown",
"install",
"reboot",
"remove",
"reset_password",
"shutdown",
"start",
"clone"
]
}
},
"required": [
"action"
]
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Успешное выполнение действия"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/os/servers": {
"get": {
"summary": "Получение списка операционных систем",
"description": "Чтобы получить список всех операционных систем, отправьте GET запрос на `/api/v1/os/servers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `servers_os`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/os/servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `servers_os`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"servers_os": {
"type": "array",
"items": {
"$ref": "#/components/schemas/servers-os"
}
}
},
"required": [
"servers_os",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/presets/servers": {
"get": {
"summary": "Получение списка тарифов серверов",
"description": "Чтобы получить список всех тарифов серверов, отправьте GET запрос на `/api/v1/presets/servers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `server_presets`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/presets/servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `server_presets",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"server_presets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/servers-preset"
}
}
},
"required": [
"meta",
"server_presets"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/configurator/servers": {
"get": {
"summary": "Получение списка конфигураторов серверов",
"description": "Чтобы получить список всех конфигураторов серверов, отправьте GET запрос на `/api/v1/configurator/servers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `server_configurators`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/configurator/servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `server_configurators",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"server_configurators": {
"type": "array",
"items": {
"$ref": "#/components/schemas/servers-configurator"
}
}
},
"required": [
"meta",
"server_configurators"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/software/servers": {
"get": {
"summary": "Получение списка ПО из маркетплейса",
"description": "Чтобы получить список ПО из маркетплейса, отправьте GET запрос на `/api/v1/software/servers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `servers_software`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/software/servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `servers_software`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"servers_software": {
"type": "array",
"items": {
"$ref": "#/components/schemas/servers-software"
}
}
},
"required": [
"servers_software",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/boot-mode": {
"post": {
"summary": "Выбор типа загрузки операционной системы сервера",
"description": "Чтобы изменить тип загрузки операционной системы сервера, отправьте POST запрос на `/api/v1/servers/{server_id}/boot-mode`. \\\n После смены типа загрузки сервер будет перезапущен.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" -d '{ \"boot_mode\": \"default\" }' \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/boot-mode\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"boot_mode": {
"type": "string",
"description": "Тип загрузки операционной системы. \\\n Параметры: `default` - стандартный режим, `single` - однопользовательский режим, `recovery_disk` - загрузка с диска восстановления",
"enum": [
"default",
"single",
"recovery_disk"
],
"example": "default"
}
},
"required": [
"boot_mode"
]
}
}
}
},
"responses": {
"204": {
"description": "Успешная смена загрузки операционной системы сервера"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/local-networks/nat-mode": {
"patch": {
"summary": "Изменение правил маршрутизации трафика сервера (NAT)",
"description": "Чтобы измененить правила маршрутизации трафика сервера (NAT), отправьте PATCH запрос на `/api/v1/servers/{server_id}/local-networks/nat-mode`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" -d '{ \"nat_mode\": \"no_nat\" }' \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/local-networks/nat-mode\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"nat_mode": {
"type": "string",
"description": "Правило для маршрутизации трафика. \\\n Досутпные правила: `dnat_and_snat` - разрешен входящий и исходящий трафик, `snat` - разрешен только исходящий трафик, `no_nat` - разрешен трафик только в локальной сети",
"enum": [
"dnat_and_snat",
"snat",
"no_nat"
],
"example": "no_nat"
}
},
"required": [
"nat_mode"
]
}
}
}
},
"responses": {
"204": {
"description": "Успешна смена правила маршрутизации трафика"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/ips": {
"get": {
"summary": "Получение списка IP-адресов сервера",
"description": "Чтобы получить список IP-адресов сервера, отправьте GET запрос на `/api/v1/servers/{server_id}/ips`. \\\n На данный момент IPv6 доступны только для локации `ru-1`",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/ips\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `server_ips`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"server_ips": {
"type": "array",
"items": {
"$ref": "#/components/schemas/server-ip"
}
}
},
"required": [
"meta",
"server_ips"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"post": {
"summary": "Добавление IP-адреса сервера",
"description": "Чтобы добавить IP-адрес сервера, отправьте POST запрос на `/api/v1/servers/{server_id}/ips`. \\\n На данный момент IPv6 доступны только для серверов с локецией `ru-1`",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"type\": \"ipv4\"\n}' \"https://api.timeweb.cloud/api/v1/servers/{server_id}/ips\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Тип IP-адреса",
"enum": [
"ipv4",
"ipv6"
],
"example": "ipv6"
},
"ptr": {
"type": "string",
"description": "Ptr запись IP-адреса",
"example": "1197521-cl1233.tw1.ru"
}
},
"required": [
"type"
]
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Объект JSON c ключом `server_ip`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server_ip": {
"$ref": "#/components/schemas/server-ip"
}
},
"required": [
"server_ip"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"delete": {
"summary": "Удаление IP-адреса сервера",
"description": "Чтобы удалить IP-адрес сервера, отправьте DELETE запрос на `/api/v1/servers/{server_id}/ips`. Нельзя удалить основной IP-адрес",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"ip\": \"1.1.1.1\"\n}' \"https://api.timeweb.cloud/api/v1/servers/{server_id}/ips\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "IPv4 или IPv6 IP-адрес",
"example": "1.1.1.1"
}
},
"required": [
"ip"
]
}
}
},
"required": true
},
"responses": {
"204": {
"description": "IP-адрес успешно удален"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"patch": {
"summary": "Изменение IP-адреса сервера",
"description": "Чтобы изменить IP-адрес сервера, отправьте POST запрос на `/api/v1/servers/{server_id}/ips`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"ptr\": \"1197521-cl1233.tw1.ru\", \n \"ip\": \"1.1.1.1\"\n}' \"https://api.timeweb.cloud/api/v1/servers/{server_id}/ips\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "IPv4 или IPv6 IP-адрес",
"example": "1.1.1.1"
},
"ptr": {
"type": "string",
"description": "Ptr запись IP-адреса",
"example": "1197521-cl1233.tw1.ru"
}
},
"required": [
"ip",
"ptr"
]
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Объект JSON c ключом `server_ip`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server_ip": {
"$ref": "#/components/schemas/server-ip"
}
},
"required": [
"server_ip"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/logs": {
"get": {
"summary": "Получение списка логов сервера",
"description": "Чтобы получить список дисков сервера, отправьте GET запрос на `/api/v1/servers/{server_id}/logs`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
},
{
"description": "Сортировка элементов по дате",
"in": "query",
"name": "order",
"enum": [
"asc",
"desc"
],
"required": false,
"schema": {
"type": "string",
"default": "asc"
}
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/logs\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `server_logs`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"server_logs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/server-log"
}
}
},
"required": [
"meta",
"server_logs"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/disks": {
"get": {
"summary": "Получение списка дисков сервера",
"description": "Чтобы получить список дисков сервера, отправьте GET запрос на `/api/v1/servers/{server_id}/disks`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `server_disks`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"server_disks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/server-disk"
}
}
},
"required": [
"meta",
"server_disks"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"post": {
"summary": "Создание диска сервера",
"description": "Чтобы создать диск сервера, отправьте POST запрос на `/api/v1/servers/{server_id}/disks`. Системный диск создать нельзя.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" -d '{ \"size\": 10240 }' \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"size": {
"type": "number",
"description": "Минимальный размер 5120. Максимальный размер 512000. Шаг 5120",
"example": 10240
}
},
"required": [
"size"
]
}
}
}
},
"responses": {
"201": {
"description": "Успешное создание диска сервера",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server_disk": {
"$ref": "#/components/schemas/server-disk"
}
},
"required": [
"server_disk"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/disks/{disk_id}": {
"get": {
"summary": "Получение диска сервера",
"description": "Чтобы получить диск сервера, отправьте GET запрос на `/api/v1/servers/{server_id}/disks/{disk_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}\""
}
],
"responses": {
"200": {
"description": "Успешное получение диска сервера",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server_disk": {
"$ref": "#/components/schemas/server-disk"
}
},
"required": [
"server_disk"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"patch": {
"summary": "Изменение параметров диска сервера",
"description": "Чтобы изменить параметры диска сервера, отправьте PATCH запрос на `/api/v1/servers/{server_id}/disks/{disk_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" -d '{ \"size\": 10240 }' \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"size": {
"type": "number",
"description": "Минимальный размер 5120. Максимальный размер 512000. Шаг 5120. Нельзя передавать значение меньше текущего размера диска.",
"example": 10240
}
},
"required": [
"size"
]
}
}
}
},
"responses": {
"200": {
"description": "Успешное изменение параметров диска сервера",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"server_disk": {
"$ref": "#/components/schemas/server-disk"
}
},
"required": [
"server_disk"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"delete": {
"summary": "Удаление диска сервера",
"description": "Чтобы удалить диск сервера, отправьте DELETE запрос на `/api/v1/servers/{server_id}/disks/{disk_id}`. Нельзя удалять системный диск.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}\""
}
],
"responses": {
"204": {
"description": "Успешное удаление диска сервера"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/disks/{disk_id}/auto-backups": {
"get": {
"summary": "Получение настроек автобэкапов диска сервера",
"description": "Чтобы полученить настройки автобэкапов диска сервера, отправьте GET запрос на `/api/v1/servers/{server_id}/disks/{disk_id}/auto-backups`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}/auto-backups\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `auto_backups_settings`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"auto_backups_settings": {
"$ref": "#/components/schemas/auto-backup"
}
},
"required": [
"auto_backups_settings"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"patch": {
"summary": "Изменение настроек автобэкапов диска сервера",
"description": "Чтобы изменить настройки автобэкапов диска сервера, отправьте PATCH запрос на `/api/v1/servers/{server_id}/disks/{disk_id}/auto-backups`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" -d '{ \"copy_count\": 1, \n \"creation_start_at\": \"2024-02-02T00:00:00.000Z\", \n \"is_enabled\": true, \n \"interval\": \"week\"}' \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}/auto-backups\""
}
],
"requestBody": {
"description": "При значении `is_enabled`: `true`, поля `copy_count`, `creation_start_at`, `interval` являются обязательными",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/auto-backup"
}
}
}
},
"responses": {
"200": {
"description": "Объект JSON c ключом `auto_backups_settings`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"auto_backups_settings": {
"$ref": "#/components/schemas/auto-backup"
}
},
"required": [
"auto_backups_settings"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}": {
"patch": {
"summary": "Изменение бэкапа диска сервера",
"description": "Чтобы изменить бэкап диска сервера, отправьте PATCH запрос на `/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
},
{
"$ref": "#/components/parameters/server-backup-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" -d '{ \"comment\": \"comment\"}' \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"comment": {
"type": "string",
"description": "Комментарий к бэкапу.",
"example": "comment"
}
},
"required": [
"comment"
]
}
}
}
},
"responses": {
"200": {
"description": "Объект JSON c ключом `backup`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"backup": {
"$ref": "#/components/schemas/server-backup"
}
},
"required": [
"backup"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"delete": {
"summary": "Удаление бэкапа диска сервера",
"description": "Чтобы удалить бэкап диска сервера, отправьте DELETE запрос на `/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
},
{
"$ref": "#/components/parameters/server-backup-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}\""
}
],
"responses": {
"204": {
"description": "Успешное удаление бэкапа."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
},
"get": {
"summary": "Получение бэкапа диска сервера",
"description": "Чтобы получить бэкап диска сервера, отправьте GET запрос на `/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}`.\n\n Тело ответа будет представлять собой объект JSON с ключом `backup`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
},
{
"$ref": "#/components/parameters/server-backup-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `backup`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"backup": {
"$ref": "#/components/schemas/server-backup"
}
},
"required": [
"backup"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}/action": {
"post": {
"summary": "Выполнение действия над бэкапом диска сервера",
"description": "Чтобы выполнить действие над бэкапом диска сервера, отправьте POST запрос на `/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}/action`.",
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/disk-id"
},
{
"$ref": "#/components/parameters/server-backup-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" -d '{ \"action\": \"mount\"}' \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/disks/{disk_id}/backups/{backup_id}/action\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"action": {
"type": "string",
"description": "Действие над бэкапом.",
"enum": [
"restore",
"mount",
"unmount"
],
"example": "mount"
}
},
"required": [
"action"
]
}
}
}
},
"responses": {
"204": {
"description": "Успешное выполнение действия"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Облачные серверы"
]
}
},
"/api/v1/projects": {
"get": {
"summary": "Получение списка проектов",
"description": "Чтобы получить список всех проектов на вашем аккаунте, отправьте GET запрос на `/api/v1/dedicated-servers`.\n\n Тело ответа будет представлять собой объект JSON с ключом `projects`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `projects`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"projects": {
"type": "array",
"items": {
"$ref": "#/components/schemas/project"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"projects",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"post": {
"summary": "Создание проекта",
"description": "Чтобы создать проект, отправьте POST запрос в `api/v1/projects`, задав необходимые атрибуты.\n\nПроект будет создан с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о созданном проекте.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-project"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\":\"Project\"}' \\\n \"https://api.timeweb.cloud/api/v1/projects\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `project`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"project": {
"$ref": "#/components/schemas/project"
}
},
"required": [
"project"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}": {
"get": {
"summary": "Получение проекта по идентификатору",
"description": "Чтобы получить проект по идентификатору, отправьте GET запрос на `/api/v1/projects/{project_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `project`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"project": {
"$ref": "#/components/schemas/project"
}
},
"required": [
"project"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"delete": {
"summary": "Удаление проекта",
"description": "Чтобы удалить проект, отправьте запрос DELETE в `api/v1/projects/{project_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99\""
}
],
"responses": {
"204": {
"description": "Проект успешно удален"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"put": {
"summary": "Изменение проекта",
"description": "Чтобы изменить проект, отправьте запрос PUT в `api/v1/projects/{project_id}`.\n",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-project"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PUT \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\":\"Project\"}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `project`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"project": {
"$ref": "#/components/schemas/project"
}
},
"required": [
"project"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources/balancers": {
"get": {
"summary": "Получение списка балансировщиков проекта",
"description": "Чтобы получить список балансировщиков проекта, отправьте GET запрос на `/api/v1/projects/{project_id}/resources/balancers`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/balancers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `balancers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"balancers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/balancer"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"balancers",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"post": {
"summary": "Добавление балансировщика в проект",
"description": "Чтобы добавить балансировщик в проект, отправьте POST запрос на `/api/v1/projects/{project_id}/resources/balancers`, задав необходимые атрибуты.\n\nБалансировщик будет добавлен в указанный проект. Тело ответа будет содержать объект JSON с информацией о добавленном балансировщике.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"resource_id": {
"type": "number",
"description": "Идентификатор добавляемого балансировщика.",
"example": 1
}
},
"required": [
"resource_id"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"resource_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/balancers\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `resource`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"resource": {
"$ref": "#/components/schemas/project-resource"
}
},
"required": [
"resource"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources/buckets": {
"get": {
"summary": "Получение списка хранилищ проекта",
"description": "Чтобы получить список хранилищ проекта, отправьте GET запрос на `/api/v1/projects/{project_id}/resources/buckets`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/buckets\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `buckets`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"buckets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/bucket"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"buckets",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"post": {
"summary": "Добавление хранилища в проект",
"description": "Чтобы добавить хранилище в проект, отправьте POST запрос на `/api/v1/projects/{project_id}/resources/buckets`, задав необходимые атрибуты.\n\nХранилище будет добавлено в указанный проект. Тело ответа будет содержать объект JSON с информацией о добавленном хранилище.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"resource_id": {
"type": "number",
"description": "Идентификатор добавляемого хранилища.",
"example": 1
}
},
"required": [
"resource_id"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"resource_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/buckets\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `resource`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"resource": {
"$ref": "#/components/schemas/project-resource"
}
},
"required": [
"resource"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources/clusters": {
"get": {
"summary": "Получение списка кластеров проекта",
"description": "Чтобы получить список кластеров проекта, отправьте GET запрос на `/api/v1/projects/{project_id}/resources/clusters`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/clusters\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `clusters`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"clusters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/clusterk8s"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"clusters",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"post": {
"summary": "Добавление кластера в проект",
"description": "Чтобы добавить кластер в проект, отправьте POST запрос на `/api/v1/projects/{project_id}/resources/clusters`, задав необходимые атрибуты.\n\nКластер будет добавлен в указанный проект. Тело ответа будет содержать объект JSON с информацией о добавленном кластере.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"resource_id": {
"type": "number",
"description": "Идентификатор добавляемого кластера.",
"example": 1
}
},
"required": [
"resource_id"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"resource_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/clusters\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `resource`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"resource": {
"$ref": "#/components/schemas/project-resource"
}
},
"required": [
"resource"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources/servers": {
"get": {
"summary": "Получение списка серверов проекта",
"description": "Чтобы получить список серверов проекта, отправьте GET запрос на `/api/v1/projects/{project_id}/resources/servers`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `servers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/vds"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"meta",
"servers"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"post": {
"summary": "Добавление сервера в проект",
"description": "Чтобы добавить сервер в проект, отправьте POST запрос на `/api/v1/projects/{project_id}/resources/servers`, задав необходимые атрибуты.\n\nСервер будет добавлен в указанный проект. Тело ответа будет содержать объект JSON с информацией о добавленном сервере.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"resource_id": {
"type": "number",
"description": "Идентификатор добавляемого сервера.",
"example": 1
}
},
"required": [
"resource_id"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"resource_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/servers\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `resource`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"resource": {
"$ref": "#/components/schemas/project-resource"
}
},
"required": [
"resource"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources/databases": {
"get": {
"summary": "Получение списка баз данных проекта",
"description": "Чтобы получить список баз данных проекта, отправьте GET запрос на `/api/v1/projects/{project_id}/resources/databases`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/databases\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `databases`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"databases": {
"type": "array",
"items": {
"$ref": "#/components/schemas/db"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"databases",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"post": {
"summary": "Добавление базы данных в проект",
"description": "Чтобы добавить базу данных в проект, отправьте POST запрос на `/api/v1/projects/{project_id}/resources/databases`, задав необходимые атрибуты.\n\nБаза данных будет добавлена в указанный проект. Тело ответа будет содержать объект JSON с информацией о добавленной базе данных.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"resource_id": {
"type": "number",
"description": "Идентификатор добавляемой базы данных.",
"example": 1
}
},
"required": [
"resource_id"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"resource_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/databases\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `resource`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"resource": {
"$ref": "#/components/schemas/project-resource"
}
},
"required": [
"resource"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources/dedicated": {
"get": {
"summary": "Получение списка выделенных серверов проекта",
"description": "Чтобы получить список выделенных серверов проекта, отправьте GET запрос на `/api/v1/projects/{project_id}/resources/dedicated`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/dedicated\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `dedicated_servers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"dedicated_servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dedicated-server"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"dedicated_servers",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
},
"post": {
"summary": "Добавление выделенного сервера в проект",
"description": "Чтобы добавить выделенный сервер в проект, отправьте POST запрос на `/api/v1/projects/{project_id}/resources/dedicated`, задав необходимые атрибуты.\n\nВыделенный сервер будет добавлен в указанный проект. Тело ответа будет содержать объект JSON с информацией о добавленном выделенном сервере.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"resource_id": {
"type": "number",
"description": "Идентификатор добавляемого выделенного сервера.",
"example": 1
}
},
"required": [
"resource_id"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"resource_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/databases\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `resource`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"resource": {
"$ref": "#/components/schemas/project-resource"
}
},
"required": [
"resource"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources": {
"get": {
"summary": "Получение всех ресурсов проекта",
"description": "Чтобы получить все ресурсы проекта, отправьте GET запрос на `/api/v1/projects/{project_id}/resources`.",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключами: `servers`, `balancers`, `buckets`, `clusters`, `databases`, `dedicated_servers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/vds"
}
},
"balancers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/balancer"
}
},
"buckets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/bucket"
}
},
"clusters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/clusterk8s"
}
},
"databases": {
"type": "array",
"items": {
"$ref": "#/components/schemas/db"
}
},
"dedicated_servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dedicated-server"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"servers",
"balancers",
"buckets",
"clusters",
"databases",
"dedicated_servers",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/resources/balancers": {
"get": {
"summary": "Получение списка всех балансировщиков на аккаунте",
"description": "Чтобы получить список всех балансировщиков на аккаунте, отправьте GET запрос на `/api/v1/projects/resources/balancers`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/resources/balancers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `balancers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"balancers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/balancer"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"balancers",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/resources/servers": {
"get": {
"summary": "Получение списка всех серверов на аккаунте",
"description": "Чтобы получить список всех серверов на аккаунте, отправьте GET запрос на `/api/v1/projects/resources/servers`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/resources/servers\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `servers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/vds"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"meta",
"servers"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/resources/buckets": {
"get": {
"summary": "Получение списка всех хранилищ на аккаунте",
"description": "Чтобы получить список всех хранилищ на аккаунте, отправьте GET запрос на `/api/v1/projects/resources/buckets`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/resources/buckets\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `buckets`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"buckets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/bucket"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"buckets",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/resources/clusters": {
"get": {
"summary": "Получение списка всех кластеров на аккаунте",
"description": "Чтобы получить список всех кластеров на аккаунте, отправьте GET запрос на `/api/v1/projects/resources/clusters`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/resources/clusters\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `clusters`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"clusters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/clusterk8s"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"clusters",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/resources/databases": {
"get": {
"summary": "Получение списка всех баз данных на аккаунте",
"description": "Чтобы получить список всех баз данных на аккаунте, отправьте GET запрос на `/api/v1/projects/resources/databases`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/resources/databases\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `databases`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"databases": {
"type": "array",
"items": {
"$ref": "#/components/schemas/db"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"databases",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/resources/dedicated": {
"get": {
"summary": "Получение списка всех выделенных серверов на аккаунте",
"description": "Чтобы получить список всех выделенных серверов на аккаунте, отправьте GET запрос на `/api/v1/projects/resources/dedicated`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/projects/resources/dedicated\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `dedicated_servers`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"dedicated_servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dedicated-server"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"dedicated_servers",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"security": [
{
"Bearer": []
}
],
"tags": [
"Проекты"
]
}
},
"/api/v1/projects/{project_id}/resources/transfer": {
"put": {
"summary": "Перенести ресурс в другой проект",
"description": "Чтобы перенести ресурс в другой проект, отправьте запрос PUT в `api/v1/projects/{project_id}/resources/transfer`.\n",
"parameters": [
{
"$ref": "#/components/parameters/project-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/resource-transfer"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PUT \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"to_project\":1,\"resource_id\":1,\"resource_type\":\"server\"}' \\\n \"https://api.timeweb.cloud/api/v1/projects/99/resources/transfer\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `resource`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"resource": {
"$ref": "#/components/schemas/project-resource"
}
},
"required": [
"resource"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Проекты"
]
}
},
"/api/v1/storages/buckets": {
"get": {
"summary": "Получение списка хранилищ аккаунта",
"description": "Чтобы получить список хранилищ аккаунта, отправьте GET запрос на `/api/v1/storages/buckets`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `buckets`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"buckets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/bucket"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"buckets",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
},
"post": {
"summary": "Создание хранилища",
"description": "Чтобы создать хранилище, отправьте POST запрос на `/api/v1/storages/buckets`.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Название хранилища.",
"minLength": 1,
"maxLength": 255,
"example": "test"
},
"type": {
"type": "string",
"description": "Тип хранилища.",
"enum": [
"private",
"public"
],
"example": "private"
},
"preset_id": {
"type": "number",
"description": "Идентификатор тарифа.",
"example": 1
}
},
"required": [
"name",
"type",
"preset_id"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\":\"test\",\"type\":\"private\",\"preset_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets\""
}
],
"responses": {
"201": {
"description": "Объект JSON c ключом `bucket`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"bucket": {
"$ref": "#/components/schemas/bucket"
}
},
"required": [
"bucket"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}": {
"delete": {
"summary": "Удаление хранилища на аккаунте",
"description": "Чтобы удалить хранилище, отправьте DELETE запрос на `/api/v1/storages/buckets/{bucket_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1\""
}
],
"responses": {
"204": {
"description": "Хранилище успешно удалено"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
},
"patch": {
"summary": "Изменение хранилища на аккаунте",
"description": "Чтобы изменить хранилище, отправьте PATCH запрос на `/api/v1/storages/buckets/{bucket_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"preset_id": {
"type": "number",
"description": "Идентификатор тарифа.",
"example": 1
},
"bucket_type": {
"type": "string",
"description": "Тип хранилища.",
"enum": [
"private",
"public"
],
"example": "public"
}
}
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"preset_id\":1}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `bucket`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"bucket": {
"$ref": "#/components/schemas/bucket"
}
},
"required": [
"bucket"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/presets/storages": {
"get": {
"summary": "Получение списка тарифов для хранилищ",
"description": "Чтобы получить список тарифов для хранилищ, отправьте GET запрос на `/api/v1/presets/storages`.\n\n Тело ответа будет представлять собой объект JSON с ключом `storages_presets`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/presets/storages\""
}
],
"responses": {
"200": {
"description": "Объект JSON с ключом `storages_presets`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"storages_presets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/presets-storage"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"storages_presets",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/users": {
"get": {
"summary": "Получение списка пользователей хранилищ аккаунта",
"description": "Чтобы получить список пользователей хранилищ аккаунта, отправьте GET запрос на `/api/v1/storages/users`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/storages/users\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `users`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/bucket-user"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"users",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/users/{user_id}": {
"patch": {
"summary": "Изменение пароля пользователя-администратора хранилища",
"description": "Чтобы изменить пароль пользователя-администратора хранилища, отправьте POST запрос на `/api/v1/storages/users/{user_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/user-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"secret_key": {
"type": "string",
"description": "Новый пароль пользователя-администратора хранилища.",
"minLength": 1,
"maxLength": 255,
"example": "password"
}
},
"required": [
"secret_key"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"secret_key\":\"password\"}' \\\n \"https://api.timeweb.cloud/api/v1/storages/users/1\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `user`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"user": {
"$ref": "#/components/schemas/bucket-user"
}
},
"required": [
"user"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/transfer-status": {
"get": {
"summary": "Получение статуса переноса хранилища от стороннего S3 в Timeweb Cloud",
"description": "Чтобы получить статус переноса хранилища от стороннего S3 в Timeweb Cloud, отправьте GET запрос на `/api/v1/storages/buckets/{bucket_id}/transfer-status`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/transfer-status\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `transfer_status`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"transfer_status": {
"$ref": "#/components/schemas/transfer-status"
}
},
"required": [
"transfer_status"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/transfer": {
"post": {
"summary": "Перенос хранилища от стороннего провайдера S3 в Timeweb Cloud",
"description": "Чтобы перенести хранилище от стороннего провайдера S3 в Timeweb Cloud, отправьте POST запрос на `/api/v1/storages/transfer`.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"access_key": {
"type": "string",
"description": "Идентификатор доступа стороннего s3 хранилища.",
"example": "access_key"
},
"secret_key": {
"type": "string",
"description": "Пароль доступа стороннего s3 хранилища.",
"example": "secret_key"
},
"location": {
"type": "string",
"description": "Регион хранилища источника.",
"example": "ru-1"
},
"is_force_path_style": {
"type": "boolean",
"description": "Это логическое значение, которое показывает, следует ли принудительно указывать URL-адреса для объектов S3.",
"example": true
},
"endpoint": {
"type": "string",
"description": "URL s3 хранилища источника.",
"example": "https://s3.test.ru"
},
"bucket_name": {
"type": "string",
"description": "Имя хранилища источника.",
"example": "bucket_name"
},
"new_bucket_name": {
"type": "string",
"description": "Имя хранилища получателя.",
"example": "new_bucket_name"
}
},
"required": [
"access_key",
"secret_key",
"location",
"is_force_path_style",
"endpoint",
"bucket_name",
"new_bucket_name"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"access_key\":\"access_key\",\"secret_key\":\"secret_key\",\"location\":\"ru-1\",\"path_style\":true,\"endpoint\":\"https://s3.test.ru\",\"bucket_name\":\"bucket_name\",\"new_bucket_name\":\"new_bucket_name\"}' \\\n \"https://api.timeweb.cloud/api/v1/storages/transfer\""
}
],
"responses": {
"204": {
"description": "Задание на перенос отправлено"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/subdomains": {
"get": {
"summary": "Получение списка поддоменов хранилища",
"description": "Чтобы получить список поддоменов хранилища, отправьте GET запрос на `/api/v1/storages/buckets/{bucket_id}/subdomains`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/subdomains\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `subdomains`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"subdomains": {
"type": "array",
"items": {
"$ref": "#/components/schemas/s3-subdomain"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"subdomains",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
},
"post": {
"summary": "Добавление поддоменов для хранилища",
"description": "Добавить поддомены для хранилища, отправьте POST запрос на `/api/v1/storages/buckets/{bucket_id}/subdomains`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"subdomains": {
"type": "array",
"items": {
"type": "string",
"example": "test.example.com"
}
}
},
"required": [
"subdomains"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"subdomains\":[\"test.example.com\"]}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/subdomains\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `subdomains`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"subdomains": {
"type": "array",
"items": {
"$ref": "#/components/schemas/added-subdomain"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"subdomains",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
},
"delete": {
"summary": "Удаление поддоменов хранилища",
"description": "Чтобы удалить поддомены хранилища, отправьте DELETE запрос на `/api/v1/storages/buckets/{bucket_id}/subdomains`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"subdomains\":[\"test.example.com\"]}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/subdomains\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"subdomains": {
"type": "array",
"items": {
"type": "string",
"example": "test.example.com"
}
}
},
"required": [
"subdomains"
]
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Объект JSON c ключом `subdomains`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"subdomains": {
"type": "array",
"items": {
"$ref": "#/components/schemas/added-subdomain"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"subdomains",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/object-manager/list": {
"get": {
"summary": "Получение списка файлов в хранилище по префиксу",
"description": "Чтобы получить список файлов в хранилище по префиксу, отправьте GET запрос на `/api/v1/storages/buckets/{bucket_id}/object-manager/list`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
},
{
"$ref": "#/components/parameters/prefix"
},
{
"$ref": "#/components/parameters/multipart"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/object-manager/list\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `files`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/s3-object"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
},
"required": [
"files",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/object-manager/rename": {
"post": {
"summary": "Переименование файла/директории в хранилище",
"description": "Чтобы переименовать файл/директорию в хранилище, отправьте POST запрос на `/api/v1/storages/buckets/{bucket_id}/object-manager/rename`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"new_filename": {
"type": "string",
"description": "Новое название файла или папки. Названия папок должны быть указаны с \"/\" в конце, например: \"dirname/\".",
"example": "new_filename"
},
"old_filename": {
"type": "string",
"description": "Старое название файла или папки. Названия папок должны быть указаны с \"/\" в конце, например: \"dirname/\".",
"example": "old_filename"
}
},
"required": [
"new_filename",
"old_filename"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"new_filename\":\"new_name\",\"old_filename\":\"old_name\"}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/object-manager/rename\""
}
],
"responses": {
"204": {
"description": "Файл успешно переименован"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/object-manager/remove": {
"delete": {
"summary": "Удаление файла/директории в хранилище",
"description": "Чтобы удалить файл или директорию с вложениями, отправьте DELETE запрос на `/api/v1/storages/buckets/{bucket_id}/object-manager/remove`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
},
{
"$ref": "#/components/parameters/multipart"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"source": {
"type": "array",
"items": {
"type": "string",
"example": "test1/test2"
}
}
},
"required": [
"source"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"source\":[\"test1/test2\"]}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/object-manager/remove\""
}
],
"responses": {
"204": {
"description": "Задание на удаление отправлено"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/object-manager/copy": {
"post": {
"summary": "Копирование файла/директории в хранилище",
"description": "Чтобы скопировать файла или директорию с вложениями, отправьте POST запрос на `/api/v1/storages/buckets/{bucket_id}/object-manager/copy`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Новый путь до файлов.",
"example": "new_path"
},
"source": {
"type": "array",
"items": {
"type": "string",
"description": "Путь до файла или папки, содержимое которой нужно скопировать. Название папки должно быть указано с \"/\" в конце, например: \"dirname/\".",
"example": "test1/test2"
}
}
},
"required": [
"destination",
"source"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"destination\":\"new_path\",\"source\":[\"test1/test2\"]}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/object-manager/copy\""
}
],
"responses": {
"204": {
"description": "Задание на копирование отправлено"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/object-manager/upload": {
"post": {
"summary": "Загрузка файлов в хранилище",
"description": "Чтобы загрузить файлы в хранилище, отправьте POST запрос на `/api/v1/storages/buckets/{bucket_id}/object-manager/upload`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
},
{
"$ref": "#/components/parameters/path"
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"files": {
"type": "array",
"items": {
"type": "string",
"format": "binary"
}
}
},
"required": [
"files"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: multipart/form-data\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -F \"files=@path/to/local/file.jpg\" \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/object-manager/upload\""
}
],
"responses": {
"204": {
"description": "Файл успешно загружен"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/buckets/{bucket_id}/object-manager/mkdir": {
"post": {
"summary": "Создание директории в хранилище",
"description": "Чтобы создать директорию в хранилище, отправьте POST запрос на `/api/v1/storages/buckets/{bucket_id}/object-manager/mkdir`.",
"parameters": [
{
"$ref": "#/components/parameters/bucket-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"dir_name": {
"type": "string",
"description": "Название директории.",
"example": "dir"
}
},
"required": [
"dir_name"
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"dir_name\":\"dir\"}' \\\n \"https://api.timeweb.cloud/api/v1/storages/buckets/1051/object-manager/mkdir\""
}
],
"responses": {
"201": {
"description": "Директория успешно создана"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/storages/certificates/generate": {
"post": {
"summary": "Добавление сертификата для поддомена хранилища",
"description": "Чтобы добавить сертификат для поддомена хранилища, отправьте POST запрос на `/api/v1/storages/certificates/generate`.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"subdomain": {
"type": "string",
"example": "test.example.com"
}
}
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"subdomain\":\"test.example.com\"}' \\\n \"https://api.timeweb.cloud/api/v1/storages/certificates/generate\""
}
],
"responses": {
"200": {
"description": "Сертификат добавлен"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"S3-хранилище"
]
}
},
"/api/v1/auth/api-keys": {
"get": {
"summary": "Получение списка выпущенных токенов",
"description": "Чтобы получить список выпущенных токенов, отправьте GET запрос на `/api/v1/auth/api-keys`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/auth/api-keys\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `api_keys`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"api_keys": {
"type": "array",
"items": {
"$ref": "#/components/schemas/api-key"
}
}
},
"required": [
"meta",
"api_keys"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Токены API"
]
},
"post": {
"summary": "Создание токена",
"description": "Чтобы создать токен, отправьте POST запрос на `/api/v1/auth/api-keys` задав необходимые атрибуты.\n\nТокен будет создан с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о созданном токене.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\":\"example\",\"expire\":\"2023-12-20T12:03:53.755Z\"}' \\\n \"https://api.timeweb.cloud/api/v1/auth/api-keys\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-api-key"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Ответ будет представлять собой объект JSON c ключом `api_key`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"api_key": {
"$ref": "#/components/schemas/created-api-key"
}
},
"required": [
"api_key"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Токены API"
]
}
},
"/api/v1/auth/api-keys/{token_id}": {
"patch": {
"summary": "Переименовать токен",
"description": "Чтобы переименовать токен, отправьте PATCH запрос на `/api/v1/auth/api-keys/{token_id}` задав необходимые атрибуты.",
"parameters": [
{
"$ref": "#/components/parameters/api-key-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name\":\"example\"}' \\\n \"https://api.timeweb.cloud/api/v1/auth/api-keys/913a3a06-1eb9-4e9c-bc63-6ca6944e883b\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rename-api-key"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `api_key`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"api_key": {
"$ref": "#/components/schemas/api-key"
}
},
"required": [
"api_key"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Токены API"
]
},
"put": {
"summary": "Перевыпустить токен",
"description": "Чтобы перевыпустить токен, отправьте PUT запрос на `/api/v1/auth/api-keys/{token_id}` задав необходимые атрибуты.",
"parameters": [
{
"$ref": "#/components/parameters/api-key-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PUT \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/auth/api-keys/913a3a06-1eb9-4e9c-bc63-6ca6944e883b\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/refresh-api-key"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `api_key`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"api_key": {
"$ref": "#/components/schemas/created-api-key"
}
},
"required": [
"api_key"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Токены API"
]
},
"delete": {
"summary": "Удалить токен",
"description": "Чтобы удалить токен, отправьте DELETE запрос на `/api/v1/auth/api-keys/{token_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/api-key-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/auth/api-keys/913a3a06-1eb9-4e9c-bc63-6ca6944e883b\""
}
],
"responses": {
"204": {
"description": "Токен успешно удален."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Токены API"
]
}
},
"/api/v1/auth/access": {
"get": {
"summary": "Получение информацию о ограничениях авторизации пользователя",
"description": "Чтобы получить информацию о ограничениях авторизации пользователя, отправьте GET запрос на `/api/v1/auth/access`.\n\n Тело ответа будет представлять собой объект JSON с ключами `is_ip_restrictions_enabled`, `is_country_restrictions_enabled` и `white_list`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/auth/access\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключами `is_ip_restrictions_enabled`, `is_country_restrictions_enabled` и `white_list`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"is_ip_restrictions_enabled": {
"type": "boolean",
"description": "Это логическое значение, которое показывает, включено ли ограничение доступа по IP-адресу.",
"example": true
},
"is_country_restrictions_enabled": {
"type": "boolean",
"description": "Это логическое значение, которое показывает, включено ли ограничение доступа по стране.",
"example": true
},
"white_list": {
"type": "object",
"properties": {
"ips": {
"type": "array",
"description": "Список разрешенных IP-адресов.",
"items": {
"type": "string",
"format": "ipv4",
"example": "123.231.125.128"
}
},
"countries": {
"type": "array",
"description": "Список разрешенных стран.",
"items": {
"type": "string",
"example": "RU"
}
}
},
"required": [
"ips",
"countries"
]
}
},
"required": [
"is_ip_restrictions_enabled",
"is_country_restrictions_enabled",
"white_list"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
}
},
"/api/v1/auth/access/countries/enabled": {
"post": {
"summary": "Включение/отключение ограничений по стране",
"description": "Чтобы включить/отключить ограничения по стране, отправьте POST запрос в `api/v1/access/countries/enabled`, передав в теле запроса параметр `is_enabled`",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"is_enabled\": true\n}' \"https://api.timeweb.cloud/api/v1/access/countries/enabled\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"is_enabled": {
"type": "boolean",
"description": "Это логическое значение, которое показывает, включены ли ограничения по IP-адресу.",
"example": true
}
},
"required": [
"is_enabled"
]
}
}
},
"required": true
},
"responses": {
"204": {},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
}
},
"/api/v1/auth/access/countries": {
"get": {
"summary": "Получение списка стран",
"description": "Чтобы получить список стран, отправьте GET запрос на `/api/v1/auth/access/countries`.\n\n Тело ответа будет представлять собой объект JSON с ключом `countries`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/auth/access/countries\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `countries`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"countries": {
"type": "object",
"description": "Список стран, приходит в виде объекта, где ключ - код страны в формате Alpha-2 ISO 3166-1, а значение - название страны в удобочитаемом формате.",
"example": {
"RU": "Россия",
"KZ": "Казахстан",
"BY": "Беларусь"
}
}
},
"required": [
"countries"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
},
"post": {
"summary": "Добавление стран в список разрешенных",
"description": "Чтобы добавить страны в список разрешенных, отправьте POST запрос в `api/v1/access/countries`, передав в теле запроса параметр `countries` со списком стран.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"countries\": [\"RU\"]\n}' \"https://api.timeweb.cloud/api/v1/access/countries\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"countries": {
"type": "array",
"description": "Список разрешенных стран",
"items": {
"type": "string",
"example": "RU"
}
}
},
"required": [
"countries"
]
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Объект JSON c ключом `countries`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"countries": {
"$ref": "#/components/schemas/add-countries"
}
},
"required": [
"countries"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
},
"delete": {
"summary": "Удаление стран из списка разрешенных",
"description": "Чтобы удалить страны из списка разрешенных, отправьте DELETE запрос в `api/v1/access/countries`, передав в теле запроса параметр `countries` со списком стран.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"countries\": [\"RU\"]\n}' \"https://api.timeweb.cloud/api/v1/access/countries\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"countries": {
"type": "array",
"description": "Список удаляемых из списка разрешенных стран.",
"items": {
"type": "string",
"example": "RU"
}
}
},
"required": [
"countries"
]
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Объект JSON c ключом `countries`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"countries": {
"$ref": "#/components/schemas/remove-countries"
}
},
"required": [
"countries"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
}
},
"/api/v1/auth/access/ips/enabled": {
"post": {
"summary": "Включение/отключение ограничений по IP-адресу",
"description": "Чтобы включить/отключить ограничения по IP-адресу, отправьте POST запрос в `api/v1/access/ips/enabled`, передав в теле запроса параметр `is_enabled`",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"is_enabled\": true\n}' \"https://api.timeweb.cloud/api/v1/access/ips/enabled\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"is_enabled": {
"type": "boolean",
"description": "Это логическое значение, которое показывает, включены ли ограничения по IP-адресу.",
"example": true
}
},
"required": [
"is_enabled"
]
}
}
},
"required": true
},
"responses": {
"204": {},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
}
},
"/api/v1/auth/access/ips": {
"post": {
"summary": "Добавление IP-адресов в список разрешенных",
"description": "Чтобы добавить IP-адреса в список разрешенных, отправьте POST запрос в `api/v1/access/ips`, передав в теле запроса параметр `ips` со списком IP-адресов.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"ips\": [\"123.231.125.128\"]\n}' \"https://api.timeweb.cloud/api/v1/access/ips\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ips": {
"type": "array",
"description": "Список разрешенных IP-адресов.",
"items": {
"type": "string",
"format": "ipv4",
"example": "123.231.125.128"
}
}
},
"required": [
"ips"
]
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Объект JSON c ключом `ips`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"ips": {
"$ref": "#/components/schemas/add-ips"
}
},
"required": [
"ips"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
},
"delete": {
"summary": "Удаление IP-адресов из списка разрешенных",
"description": "Чтобы удалить IP-адреса из списка разрешенных, отправьте DELETE запрос в `api/v1/access/ips`, передав в теле запроса параметр `ips` со списком IP-адресов.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"ips\": [\"123.231.125.128\"]\n}' \"https://api.timeweb.cloud/api/v1/access/ips\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ips": {
"type": "array",
"description": "Список удаляемых из списка разрешенных IP-адресов.",
"items": {
"type": "string",
"format": "ipv4",
"example": "123.231.125.128"
}
}
},
"required": [
"ips"
]
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Объект JSON c ключом `ips`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"ips": {
"$ref": "#/components/schemas/remove-ips"
}
},
"required": [
"ips"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Аккаунт"
]
}
},
"/api/v1/domains": {
"get": {
"summary": "Получение списка всех доменов",
"description": "Чтобы получить список всех доменов на вашем аккаунте, отправьте GET запрос на `/api/v1/domains`.\n\n Тело ответа будет представлять собой объект JSON с ключом `domains`.",
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
},
{
"$ref": "#/components/parameters/idn-name"
},
{
"$ref": "#/components/parameters/linked-ip"
},
{
"$ref": "#/components/parameters/order"
},
{
"$ref": "#/components/parameters/sort"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `domains`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"domains": {
"type": "array",
"items": {
"$ref": "#/components/schemas/domain"
}
}
},
"required": [
"meta",
"domains"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains/{fqdn}": {
"get": {
"summary": "Получение информации о домене",
"description": "Чтобы отобразить информацию об отдельном домене, отправьте запрос GET на `/api/v1/domains/{fqdn}`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `domain`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"domain": {
"$ref": "#/components/schemas/domain"
}
},
"required": [
"meta",
"domain"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"patch": {
"summary": "Включение/выключение автопродления домена",
"description": "Чтобы включить/выключить автопродление домена, отправьте запрос PATCH на `/api/v1/domains/{fqdn}`, передав в теле запроса параметр `is_autoprolong_enabled`",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-domain"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"is_autoprolong_enabled\":true}' \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `domain`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"domain": {
"$ref": "#/components/schemas/domain"
}
},
"required": [
"domain"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"delete": {
"summary": "Удаление домена",
"description": "Чтобы удалить домен, отправьте запрос DELETE на `/api/v1/domains/{fqdn}`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru\""
}
],
"responses": {
"204": {
"description": "Домен успешно удален."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains/{fqdn}/dns-records": {
"get": {
"summary": "Получить информацию обо всех пользовательских DNS-записях домена или поддомена",
"description": "Чтобы получить информацию обо всех пользовательских DNS-записях домена или поддомена, отправьте запрос GET на `/api/v1/domains/{fqdn}/dns-records`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-subdomain-fqdn"
},
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/dns-records\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `dns_records`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"dns_records": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dns-record"
}
}
},
"required": [
"meta",
"dns_records"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"post": {
"summary": "Добавить информацию о DNS-записи для домена или поддомена",
"description": "Чтобы добавить информацию о DNS-записи для домена или поддомена, отправьте запрос POST на `/api/v1/domains/{fqdn}/dns-records`, задав необходимые атрибуты.\n\nDNS-запись будет добавлена с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о добавленной DNS-записи.",
"parameters": [
{
"$ref": "#/components/parameters/domain-subdomain-fqdn"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-dns"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"type\":\"A\",\"value\":\"172.168.1.1\"}' \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/dns-records\""
}
],
"responses": {
"201": {
"description": "Ответ будет представлять собой объект JSON c ключом `dns_record`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"dns_record": {
"$ref": "#/components/schemas/dns-record"
}
},
"required": [
"dns_record"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains/{fqdn}/dns-records/{record_id}": {
"patch": {
"summary": "Обновить информацию о DNS-записи домена или поддомена",
"description": "Чтобы обновить информацию о DNS-записи для домена или поддомена, отправьте запрос PATCH на `/api/v1/domains/{fqdn}/dns-records/{record_id}`, задав необходимые атрибуты.\n\nDNS-запись будет обновлена с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией об добавленной DNS-записи.",
"parameters": [
{
"$ref": "#/components/parameters/domain-subdomain-fqdn"
},
{
"$ref": "#/components/parameters/record-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/create-dns"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"type\":\"A\",\"value\":\"172.168.1.1\"}' \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/dns-records/123\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `dns_record`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"dns_record": {
"$ref": "#/components/schemas/dns-record"
}
},
"required": [
"dns_record"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"delete": {
"summary": "Удалить информацию о DNS-записи для домена или поддомена",
"description": "Чтобы удалить информацию о DNS-записи для домена или поддомена, отправьте запрос DELETE на `/api/v1/domains/{fqdn}/dns-records/{record_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-subdomain-fqdn"
},
{
"$ref": "#/components/parameters/record-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/dns-records/123\""
}
],
"responses": {
"204": {
"description": "Информация о DNS-записи успешно удалена."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains/{fqdn}/default-dns-records": {
"get": {
"summary": "Получение информацию обо всех DNS-записях по умолчанию домена или поддомена",
"description": "Чтобы получить информацию обо всех DNS-записях по умолчанию домена или поддомена, отправьте запрос GET на `/api/v1/domains/{fqdn}/default-dns-records`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-subdomain-fqdn"
},
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/offset"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/default-dns-records\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `dns_records`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"dns_records": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dns-record"
}
}
},
"required": [
"meta",
"dns_records"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains/{fqdn}/subdomains/{subdomain_fqdn}": {
"post": {
"summary": "Добавление поддомена",
"description": "Чтобы добавить поддомен, отправьте запрос POST на `/api/v1/domains/{fqdn}/subdomains/{subdomain_fqdn}`, задав необходимые атрибуты.\n\nПоддомен будет добавлен с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о добавленном поддомене.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
},
{
"$ref": "#/components/parameters/subdomain-fqdn"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/subdomains/sub.somedomain.ru\""
}
],
"responses": {
"201": {
"description": "Ответ будет представлять собой объект JSON c ключом `subdomain`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"subdomain": {
"$ref": "#/components/schemas/subdomain"
}
},
"required": [
"subdomain"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"delete": {
"summary": "Удаление поддомена",
"description": "Чтобы удалить поддомен, отправьте запрос DELETE на `/api/v1/domains/{fqdn}/subdomains/{subdomain_fqdn}`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
},
{
"$ref": "#/components/parameters/subdomain-fqdn"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/subdomains/sub.somedomain.ru\""
}
],
"responses": {
"204": {
"description": "Поддомен успешно удален"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains/{fqdn}/name-servers": {
"get": {
"summary": "Получение списка name-серверов домена",
"description": "Чтобы получить список name-серверов домена, отправьте запрос GET на `/api/v1/domains/{fqdn}/name-servers`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/name-servers\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `name_servers`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"name_servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/domain-name-server"
}
}
},
"required": [
"meta",
"name_servers"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"put": {
"summary": "Изменение name-серверов домена",
"description": "Чтобы изменить name-серверы домена, отправьте запрос PUT на `/api/v1/domains/{fqdn}/name-servers`, задав необходимые атрибуты.\n\nName-серверы будут изменены с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о name-серверах домена.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/update-domain-name-servers"
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PUT \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"name_servers\":[{\"host\":\"ns1.timeweb.ru\"},{\"host\":\"ns2.timeweb.ru\"}]}' \\\n \"https://api.timeweb.cloud/api/v1/domains/somedomain.ru/name-servers\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `name_servers`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"name_servers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/domain-name-server"
}
}
},
"required": [
"meta",
"name_servers"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains-requests": {
"get": {
"summary": "Получение списка заявок на регистрацию/продление/трансфер домена",
"description": "Чтобы получить список заявок на регистрацию/продление/трансфер домена, отправьте запрос GET на `/api/v1/domains-requests`.",
"parameters": [
{
"$ref": "#/components/parameters/person-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains-requests\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `requests`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/domain-request"
}
}
},
"required": [
"meta",
"requests"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"post": {
"summary": "Создание заявки на регистрацию/продление/трансфер домена",
"description": "Чтобы заявку на регистрацию/продление/трансфер домена, отправьте POST запрос в `api/v1/domains-requests`, задав необходимые атрибуты.\n\nЗаявка будет создана с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о созданной заявке.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/register"
},
{
"$ref": "#/components/schemas/prolong"
},
{
"$ref": "#/components/schemas/transfer"
}
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"action\":\"register\",\"fqdn\":\"somedomain.ru\",\"person_id\":123,\"is_autoprolong_enabled\":true,\"period\":\"P1Y\"}' \\\n \"https://api.timeweb.cloud/api/v1/domains-requests\""
}
],
"responses": {
"201": {
"description": "Ответ будет представлять собой объект JSON c ключом `request`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"request": {
"$ref": "#/components/schemas/domain-request"
}
},
"required": [
"request"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/domains-requests/{request_id}": {
"get": {
"summary": "Получение заявки на регистрацию/продление/трансфер домена",
"description": "Чтобы получить заявку на регистрацию/продление/трансфер домена, отправьте запрос GET на `/api/v1/domains-requests/{request_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/request-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/domains-requests/123\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `request`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"request": {
"$ref": "#/components/schemas/domain-request"
}
},
"required": [
"request"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
},
"patch": {
"summary": "Оплата/обновление заявки на регистрацию/продление/трансфер домена",
"description": "Чтобы оплатить/обновить заявку на регистрацию/продление/трансфер домена, отправьте запрос PATCH на `/api/v1/domains-requests/{request_id}`, задав необходимые атрибуты.\n\nЗаявка будет обновлена с использованием предоставленной информации. Тело ответа будет содержать объект JSON с информацией о обновленной заявке.",
"parameters": [
{
"$ref": "#/components/parameters/request-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/use"
},
{
"$ref": "#/components/schemas/invoice"
},
{
"$ref": "#/components/schemas/free"
},
{
"$ref": "#/components/schemas/bonus"
}
]
}
}
},
"required": true
},
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\"money_source\":\"use\"}' \\\n \"https://api.timeweb.cloud/api/v1/domains-requests/123\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `request`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"request": {
"$ref": "#/components/schemas/domain-request"
}
},
"required": [
"request"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/tlds": {
"get": {
"summary": "Получить информацию о доменных зонах",
"description": "Чтобы получить информацию о доменных зонах, отправьте запрос GET на `/api/v1/tlds`.",
"parameters": [
{
"$ref": "#/components/parameters/is-published"
},
{
"$ref": "#/components/parameters/is-registered"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/tlds\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `top_level_domains`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"top_level_domains": {
"type": "array",
"items": {
"$ref": "#/components/schemas/top-level-domain"
}
}
},
"required": [
"meta",
"top_level_domains"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/tlds/{tld_id}": {
"get": {
"summary": "Получить информацию о доменной зоне по идентификатору",
"description": "Чтобы получить информацию о доменной зоне по идентификатору, отправьте запрос GET на `/api/v1/tlds/{tld_id}`.",
"parameters": [
{
"$ref": "#/components/parameters/tld-id"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/tlds/123\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `top_level_domain`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"top_level_domain": {
"$ref": "#/components/schemas/top-level-domain"
}
},
"required": [
"top_level_domain"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/check-domain/{fqdn}": {
"get": {
"summary": "Проверить доступен ли домен для регистрации",
"description": "Чтобы проверить доступен ли домен для регистрации, отправьте запрос GET на `/api/v1/check-domain/{fqdn}`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/check-domain/somedomain.ru\""
}
],
"responses": {
"200": {
"description": "Ответ будет представлять собой объект JSON c ключом `is_domain_available`.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"is_domain_available": {
"description": "Это логическое значение, которое показывает, доступен ли домен для регистрации.",
"type": "boolean",
"example": true
}
},
"required": [
"is_domain_available"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/add-domain/{fqdn}": {
"post": {
"summary": "Добавление домена на аккаунт",
"description": "Чтобы добавление домена на свой аккаунт, отправьте запрос POST на `/api/v1/add-domain/{fqdn}`.",
"parameters": [
{
"$ref": "#/components/parameters/domain-fqdn"
}
],
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/add-domain/somedomain.ru\""
}
],
"responses": {
"204": {
"description": "Домен успешно добавлен на ваш аккаунт."
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"Домены"
]
}
},
"/api/v1/ssh-keys": {
"get": {
"summary": "Получение списка SSH-ключей",
"description": "Чтобы получить список SSH-ключей, отправьте GET запрос на `/api/v1/ssh-keys`.",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/ssh-keys\""
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `ssh_keys`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"ssh-keys": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ssh-key"
}
}
},
"required": [
"ssh-keys",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"SSH-ключи"
]
},
"post": {
"summary": "Создание SSH-ключа",
"description": "Чтобы создать создать SSH-ключ, отправьте POST запрос в `/api/v1/ssh-keys`, задав необходимые атрибуты.\n\n",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"body\": \"\"ssh-dss AAAAB3NzaC1kc3MAAACBALixbc+uF2kuv83LiB3gg200vHJ7hH0QCC77fqlu+5raX6Y1PJZZORwzWbvU6k8gfrmjMRwQFDNncu3aXUiM9TleOBxFsQ2Hg5hDblSr2bnnyVP0jjPzsYye+0Ebaa+IjEqZz8y0qu8zejCpHqhLP/PlRDS9vtTsadrVvNwFFCyhAAAAFQD7m0AZOd/lHraIgBjXJvfN+qGiAQAAAIAdXSV0n47akGC/g0ejkNzHDSdRFf2fR0FsOos/7f5j+QfstijVBMwzA4Ti+dNJv3BQqQv3Bk5X3o5yUTUL+cM6fa4KSyIhGi14RL0kqjJrNjqVAhwjPH8K9aHDouqQEz56UL72+iGhMxwBHBMWq7cZ2k31mmFgEoYgwNcYuNmtlAAAAIBxIebJMItpq3ez5Hg5GyhpnSU7h0kshh+D5UAAlPmJo8OUQH6avQGf6gpxs3CnQ/im/aCKcb/bYm4V5Y9a7Zq+LrZGQZ79GLWsu/oK0HfQiP+oWwzCGmsdIGblsTRzrKU0FFo7zGmyTsBU48OeD76nKsc5EJ9F9wQC3S2KK38Ynw== test@MBP-test.office.timeweb.ru\"\n\",\n \"is_default\": false,\n \"name\": \"test\"\n}' \"https://api.timeweb.cloud/api/v1/ssh-keys\""
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"body": {
"type": "string",
"description": "Тело SSH-ключа",
"example": "ssh-dss AAAAB3NzaC1kc3MAAACBALixbc+uF2kuv83LiB3gg200vHJ7hH0QCC77fqlu+5raX6Y1PJZZORwzWbvU6k8gfrmjMRwQFDNncu3aXUiM9TleOBxFsQ2Hg5hDblSr2bnnyVP0jjPzsYye+0Ebaa+IjEqZz8y0qu8zejCpHqhLP/PlRDS9vtTsadrVvNwFFCyhAAAAFQD7m0AZOd/lHraIgBjXJvfN+qGiAQAAAIAdXSV0n47akGC/g0ejkNzHDSdRFf2fR0FsOos/7f5j+QfstijVBMwzA4Ti+dNJv3BQqQv3Bk5X3o5yUTUL+cM6fa4KSyIhGi14RL0kqjJrNjqVAhwjPH8K9aHDouqQEz56UL72+iGhMxwBHBMWq7cZ2k31mmFgEoYgwNcYuNmtlAAAAIBxIebJMItpq3ez5Hg5GyhpnSU7h0kshh+D5UAAlPmJo8OUQH6avQGf6gpxs3CnQ/im/aCKcb/bYm4V5Y9a7Zq+LrZGQZ79GLWsu/oK0HfQiP+oWwzCGmsdIGblsTRzrKU0FFo7zGmyTsBU48OeD76nKsc5EJ9F9wQC3S2KK38Ynw== test@MBP-test.office.timeweb.ru"
},
"is_default": {
"type": "boolean",
"description": "Будет ли выбираться SSH-ключ по умолчанию при создании сервера\n\n",
"example": false
},
"name": {
"type": "string",
"description": "Название SSH-ключа",
"example": "test"
}
},
"required": [
"body",
"is_default",
"name"
]
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Объект JSON c ключом `ssh-key`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"ssh-key": {
"$ref": "#/components/schemas/ssh-key"
}
},
"required": [
"ssh-key"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"SSH-ключи"
]
}
},
"/api/v1/ssh-keys/{ssh_key_id}": {
"get": {
"summary": "Получение SSH-ключа по уникальному идентификатору",
"description": "Чтобы получить SSH-ключ, отправьте GET запрос на `/api/v1/ssh-keys/{ssh_key_id}`",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/ssh-keys/{ssh_key_id}\""
}
],
"parameters": [
{
"$ref": "#/components/parameters/ssh-key-id"
}
],
"responses": {
"200": {
"description": "Объект JSON c ключом `ssh_key`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"ssh-key": {
"$ref": "#/components/schemas/ssh-key"
}
},
"required": [
"ssh-key",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"SSH-ключи"
]
},
"patch": {
"summary": "Изменение SSH-ключа по уникальному идентификатору",
"description": "Чтобы изменить SSH-ключ, отправьте PATCH запрос на `/api/v1/ssh-keys/{ssh_key_id}`",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X PATCH \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"is_default\": true \n}' \"https://api.timeweb.cloud/api/v1/ssh-keys/{ssh_key_id}\""
}
],
"parameters": [
{
"$ref": "#/components/parameters/ssh-key-id"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"body": {
"type": "string",
"description": "Тело SSH-ключа",
"example": "ssh-dss AAAAB3NzaC1kc3MAAACBALixbc+uF2kuv83LiB3gg200vHJ7hH0QCC77fqlu+5raX6Y1PJZZORwzWbvU6k8gfrmjMRwQFDNncu3aXUiM9TleOBxFsQ2Hg5hDblSr2bnnyVP0jjPzsYye+0Ebaa+IjEqZz8y0qu8zejCpHqhLP/PlRDS9vtTsadrVvNwFFCyhAAAAFQD7m0AZOd/lHraIgBjXJvfN+qGiAQAAAIAdXSV0n47akGC/g0ejkNzHDSdRFf2fR0FsOos/7f5j+QfstijVBMwzA4Ti+dNJv3BQqQv3Bk5X3o5yUTUL+cM6fa4KSyIhGi14RL0kqjJrNjqVAhwjPH8K9aHDouqQEz56UL72+iGhMxwBHBMWq7cZ2k31mmFgEoYgwNcYuNmtlAAAAIBxIebJMItpq3ez5Hg5GyhpnSU7h0kshh+D5UAAlPmJo8OUQH6avQGf6gpxs3CnQ/im/aCKcb/bYm4V5Y9a7Zq+LrZGQZ79GLWsu/oK0HfQiP+oWwzCGmsdIGblsTRzrKU0FFo7zGmyTsBU48OeD76nKsc5EJ9F9wQC3S2KK38Ynw== test@MBP-test.office.timeweb.ru"
},
"is_default": {
"type": "boolean",
"description": "Будет ли выбираться SSh-ключ по умолчанию при создании сервера",
"example": false
},
"name": {
"type": "string",
"description": "Название SSH-ключа",
"example": "test"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Объект JSON c ключом `ssh_key`",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/meta"
},
"ssh-key": {
"$ref": "#/components/schemas/ssh-key"
}
},
"required": [
"ssh-key",
"meta"
]
},
{
"type": "object",
"properties": {
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"response_id"
]
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"SSH-ключи"
]
},
"delete": {
"summary": "Удаление SSH-ключа по уникальному идентификатору",
"description": "Чтобы удалить SSH-ключ, отправьте DELETE запрос на `/api/v1/ssh-keys/{ssh_key_id}`",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/ssh-keys/{ssh_key_id}\""
}
],
"parameters": [
{
"$ref": "#/components/parameters/ssh-key-id"
}
],
"responses": {
"204": {
"description": "Успешное удаление SSH-ключа"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"SSH-ключи"
]
}
},
"/api/v1/servers/{server_id}/ssh-keys": {
"post": {
"summary": "Добавление SSH-ключей на сервер",
"description": "Чтобы добавить SSH-ключи на сервер, отправьте POST запрос на `/api/v1/servers/{server_id}/ssh-keys`",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n -d '{\n \"ssh_keys\": [1, 2] \n}' \"https://api.timeweb.cloud/api/v1/servers/{server_id}/ssh-keys\""
}
],
"parameters": [
{
"$ref": "#/components/parameters/server-id"
}
],
"responses": {
"204": {
"description": "Успешное добавление SSH-ключей на сервер"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"SSH-ключи"
]
}
},
"/api/v1/servers/{server_id}/ssh-keys/{ssh_key_id}": {
"delete": {
"summary": "Удаление SSH-ключей с сервера",
"description": "Чтобы удалить SSH-ключ с сервера, отправьте DELETE запрос на `/api/v1/servers/{server_id}/ssh-keys/{ssh_key_id}`",
"x-codeSamples": [
{
"lang": "cURL",
"label": "cURL",
"source": "curl -X DELETE \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TIMEWEB_CLOUD_TOKEN}\" \\\n \"https://api.timeweb.cloud/api/v1/servers/{server_id}/ssh-keys/{ssh_key_id}\""
}
],
"parameters": [
{
"$ref": "#/components/parameters/server-id"
},
{
"$ref": "#/components/parameters/ssh-key-id"
}
],
"responses": {
"204": {
"description": "Успешное удаление SSH-ключа с сервера"
},
"400": {
"$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
"403": {
"$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"429": {
"$ref": "#/components/responses/429"
},
"500": {
"$ref": "#/components/responses/500"
}
},
"tags": [
"SSH-ключи"
]
}
}
},
"components": {
"responses": {
"400": {
"$ref": "#/components/responses/bad-request"
},
"401": {
"$ref": "#/components/responses/unauthorized"
},
"403": {
"$ref": "#/components/responses/forbidden"
},
"404": {
"$ref": "#/components/responses/not-found"
},
"409": {
"$ref": "#/components/responses/conflict"
},
"429": {
"$ref": "#/components/responses/too-many-requests"
},
"500": {
"$ref": "#/components/responses/internal-server-error"
},
"conflict": {
"description": "Конфликт",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"example": 409,
"description": "Короткий идентификатор, соответствующий возвращаемому коду состояния HTTP."
},
"message": {
"description": "Сообщение, предоставляющее дополнительную информацию об ошибке, в том числе сведения, помогающие устранить ее, когда это возможно.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": "Conflict"
},
"error_code": {
"type": "string",
"example": "conflict",
"description": "Краткое описание ошибки HTTP на основе статуса."
},
"response_id": {
"$ref": "#/components/schemas/response-id_response_id"
}
},
"required": [
"status_code",
"error_code",
"response_id"
]
}
}
}
},
"bad-request": {
"description": "Некорректный запрос",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"description": "Короткий идентификатор, соответствующий возвращаемому коду состояния HTTP.",
"example": 400
},
"message": {
"example": "Value must be a number conforming to the specified constraints",
"description": "Сообщение, предоставляющее дополнительную информацию об ошибке, в том числе сведения, помогающие устранить ее, когда это возможно.",
"oneOf": [
{
"type": "string",
"description": " "
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"error_code": {
"type": "string",
"example": "bad_request",
"description": "Краткое описание ошибки HTTP на основе статуса."
},
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"status_code",
"error_code",
"response_id"
]
}
}
}
},
"unauthorized": {
"description": "Не авторизован",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"description": "Короткий идентификатор, соответствующий возвращаемому коду состояния HTTP.",
"example": 401
},
"message": {
"description": "Сообщение, предоставляющее дополнительную информацию об ошибке, в том числе сведения, помогающие устранить ее, когда это возможно.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": "Unauthorized"
},
"error_code": {
"type": "string",
"example": "unauthorized",
"description": "Краткое описание ошибки HTTP на основе статуса."
},
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"status_code",
"error_code",
"response_id"
]
}
}
}
},
"forbidden": {
"description": "Запрещено",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"example": 403,
"description": "Короткий идентификатор, соответствующий возвращаемому коду состояния HTTP."
},
"message": {
"description": "Сообщение, предоставляющее дополнительную информацию об ошибке, в том числе сведения, помогающие устранить ее, когда это возможно.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": "Forbidden"
},
"error_code": {
"type": "string",
"example": "forbidden",
"description": "Краткое описание ошибки HTTP на основе статуса."
},
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"status_code",
"error_code",
"response_id"
]
}
}
}
},
"not-found": {
"description": "Не найдено",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"example": 404,
"description": "Короткий идентификатор, соответствующий возвращаемому коду состояния HTTP."
},
"message": {
"description": "Сообщение, предоставляющее дополнительную информацию об ошибке, в том числе сведения, помогающие устранить ее, когда это возможно.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": "Resource not found"
},
"error_code": {
"type": "string",
"example": "not_found",
"description": "Краткое описание ошибки HTTP на основе статуса."
},
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"status_code",
"error_code",
"response_id"
]
}
}
}
},
"too-many-requests": {
"description": "Слишком много запросов",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"example": 429,
"description": "Короткий идентификатор, соответствующий возвращаемому коду состояния HTTP."
},
"message": {
"description": "Сообщение, предоставляющее дополнительную информацию об ошибке, в том числе сведения, помогающие устранить ее, когда это возможно.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": "Too many requests"
},
"error_code": {
"type": "string",
"example": "too_many_requests",
"description": "Краткое описание ошибки HTTP на основе статуса."
},
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"status_code",
"error_code",
"response_id"
]
}
}
}
},
"internal-server-error": {
"description": "Внутренняя ошибка сервера",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status_code": {
"type": "number",
"example": 500,
"description": "Короткий идентификатор, соответствующий возвращаемому коду состояния HTTP."
},
"message": {
"description": "Сообщение, предоставляющее дополнительную информацию об ошибке, в том числе сведения, помогающие устранить ее, когда это возможно.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": "Internal server error"
},
"error_code": {
"type": "string",
"example": "internal_server_error",
"description": "Краткое описание ошибки HTTP на основе статуса."
},
"response_id": {
"$ref": "#/components/schemas/response_id"
}
},
"required": [
"status_code",
"error_code",
"response_id"
]
}
}
}
}
},
"securitySchemes": {
"Bearer": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
},
"Basic": {
"type": "http",
"scheme": "basic"
},
"ApiKey": {
"type": "apiKey",
"in": "header",
"name": "X-API-Key"
}
},
"schemas": {
"response_id": {
"description": "Идентификатор запроса, который можно указывать при обращении в службу технической поддержки, чтобы помочь определить проблему.",
"type": "string",
"format": "uuid",
"example": "15095f25-aac3-4d60-a788-96cb5136f186"
},
"finances": {
"description": "Платежная информация",
"type": "object",
"properties": {
"balance": {
"type": "number",
"description": "Баланс аккаунта.",
"example": 7378.3
},
"currency": {
"type": "string",
"description": "Валюта, которая используется на аккаунте.",
"example": "RUB"
},
"discount_end_date_at": {
"type": "string",
"nullable": true,
"description": "Значение времени, указанное в комбинированном формате даты и времени ISO8601, которое представляет, когда заканчивается скидка для аккаунта.",
"example": "2021-02-25T11:04:15Z"
},
"discount_percent": {
"type": "number",
"description": "Процент скидки для аккаунта.",
"example": 5
},
"hourly_cost": {
"type": "number",
"description": "Стоимость услуг на аккаунте в час.",
"example": 33.192622950819676
},
"hourly_fee": {
"type": "number",
"description": "Абонентская плата в час (с учетом скидок).",
"example": 33.192622950819676
},
"monthly_cost": {
"type": "number",
"description": "Стоимость услуг на аккаунте в месяц.",
"example": 24297
},
"monthly_fee": {
"type": "number",
"description": "Абонентская плата в месяц (с учетом скидок).",
"example": 24297
},
"total_paid": {
"type": "number",
"description": "Общая сумма платежей на аккаунте.",
"example": 29191.51
},
"hours_left": {
"type": "number",
"nullable": true,
"description": "Сколько часов работы услуг оплачено на аккаунте.",
"example": 10
},
"autopay_card_info": {
"type": "string",
"nullable": true,
"description": "Информация о карте, используемой для автоплатежей.",
"example": "553611XXXXXX1111"
}
},
"required": [
"balance",
"currency",
"discount_end_date_at",
"discount_percent",
"hourly_cost",
"hourly_fee",
"monthly_cost",
"monthly_fee",
"total_paid",
"hours_left",
"autopay_card_info"
]
},
"status": {
"description": "Статус аккаунта",
"type": "object",
"properties": {
"is_blocked": {
"type": "boolean",
"description": "Это логическое значение, которое показывает, заблокирован ли аккаунт.",
"example": false
},
"is_