> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/clore.ai/clore.ai-ru/dlya-khostov/api.md).

# API

> 💡 **Разработчики на Python:** Используйте официальный [Python SDK clore-ai](/clore.ai/clore.ai-ru/razrabotchikam/python-sdk.md) вместо прямых вызовов API. Он автоматически обрабатывает аутентификацию, ограничение скорости, повторные попытки и обработку ошибок.
>
> **Быстрый старт:** `pip install clore-ai` — См. [документацию по Python SDK](/clore.ai/clore.ai-ru/razrabotchikam/python-sdk.md) и [справочник CLI](/clore.ai/clore.ai-ru/razrabotchikam/cli-guide.md).

> 🧭 Предпочитаете справочник с навигацией? Откройте интерактивную документацию API по адресу [clore.ai/api-docs](https://clore.ai/api-docs). Базовый URL для всех конечных точек на этой странице: `https://api.clore.ai/v1/`.

<div data-full-width="true"><figure><img src="https://1059281095-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyNlC5NV8aIpXnc76G7w%2Fuploads%2FoEhopGeayaKnbuDjgTEs%2FCLORE%20Docs%20API%20Page.png?alt=media&amp;token=a0adf6bb-1fde-4f1b-8236-dff2563ffbfd" alt=""><figcaption></figcaption></figure></div>

### Введение <a href="#introduction" id="introduction"></a>

[API CLORE.AI](http://clore.ai/) можно использовать для автоматизации развертывания ваших рабочих нагрузок на [API CLORE.AI](http://clore.ai/)

Сначала вам нужно получить API-ключ\
![alt text](https://clore.ai/assets/html/api-export1.png)\
![alt text](https://clore.ai/assets/html/api-export2.png)

***

### Ответы API <a href="#api-responses" id="api-responses"></a>

Ответы возвращаются в формате JSON и могут иметь разные поля

Всегда возвращаемое поле — code, указывающее статус

**поле code**

| code | Описание                              |
| ---- | ------------------------------------- |
| `0`  | НОРМАЛЬНО                             |
| `1`  | ОШИБКА БАЗЫ ДАННЫХ                    |
| `2`  | НЕДОПУСТИМЫЕ ВХОДНЫЕ ДАННЫЕ           |
| `3`  | НЕДОПУСТИМЫЙ API-ТОКЕН                |
| `4`  | НЕДОПУСТИМАЯ КОНЕЧНАЯ ТОЧКА           |
| `5`  | Превышен лимит 1 запрос/секунду       |
| `6`  | Ошибка, указанная в `поле error` поле |

***

### Конечные точки <a href="#endpoints" id="endpoints"></a>

#### 1. `wallets` <a href="#id-1-wallets" id="id-1-wallets"></a>

**О разделе**

Возвращает кошельки и балансы

**Заголовки**

| Поле   | Тип      | Обязательно | Описание  |
| ------ | -------- | ----------- | --------- |
| `auth` | `string` | Да          | API-токен |

**Вывод**

| Поле      | Тип        | Описание         |
| --------- | ---------- | ---------------- |
| `code`    | `int`      | Код статуса      |
| `wallets` | `[]string` | Массив кошельков |

**Пример**

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' 'https://api.clore.ai/v1/wallets'
```

**Вывод:**

```
{
  "wallets": [
    {
      "name": "bitcoin",
      "deposit": "tb1q6erw7v02t7hakgmlcl4wfnlykzqj05alndruwr",
      "balance": 0.00153176,
      "withdrawal_fee": 0.0001
    }
  ],
  "code": 0
}
```

#### 2. `my_servers` <a href="#id-2-my_servers" id="id-2-my_servers"></a>

**О разделе**

Возвращает ваши серверы, которые вы предоставляете на [маркетплейс](http://clore.ai/) clore.ai

**Заголовки**

| Поле   | Тип      | Обязательно | Описание  |
| ------ | -------- | ----------- | --------- |
| `auth` | `string` | Да          | API-токен |

**Вывод**

| Поле                                  | Тип        | Описание                                                                                                                                                 |
| ------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                                | `int`      | Код статуса                                                                                                                                              |
| `limit`                               | `int`      | Максимальное количество серверов, которыми вы можете владеть                                                                                             |
| `серверы`                             | `[]string` | Массив серверов                                                                                                                                          |
| `servers[x].name`                     | `string`   | Имя сервера, выбранное пользователем                                                                                                                     |
| `servers[x].connected`                | `string`   | Был ли сервер когда-либо подключен к [маркетплейс](http://clore.ai/)                                                                                     |
| `servers[x].visibility`               | `string`   | Видимость на маркетплейсе                                                                                                                                |
| `servers[x].pricing`                  | `[]string` | Цена/день по запросу                                                                                                                                     |
| `servers[x].online`                   | `bool`     | Сервер онлайн                                                                                                                                            |
| `servers[x].min_spot_pricing`         | `[]string` | Минимальная цена/день для аренды на спотовом рынке                                                                                                       |
| `servers[x].init_token`               | `string`   | Токен регистрации машины, возвращается только до инициализации машины — **считайте его учетными данными**, он регистрирует машины в вашей учетной записи |
| `servers[x].specs`                    | `[]string` | Характеристики сервера                                                                                                                                   |
| `servers[x].remaining_time`           | `int`      | Время окончания аренды последнего активного заказа (epoch в мс)                                                                                          |
| `servers[x].rental_state`             | `string`   | Сводное состояние аренды GPU: `нет`, `частично`, или `полное`                                                                                            |
| `servers[x].rented_gpus`              | `int`      | GPU, которые сейчас арендованы по активным заказам                                                                                                       |
| `servers[x].total_gpus`               | `int`      | Общее количество GPU на сервере                                                                                                                          |
| `servers[x].rented_price_by_currency` | `object`   | Сумма цен активных заказов по валютам                                                                                                                    |
| `servers[x].update_channel`           | `string`   | Канал обновления хостинг-агента: `stable` или `beta`                                                                                                     |
| `servers[x].requested_channel`        | `string`   | Запрошено переключение канала из веб-интерфейса (присутствует только при наличии запроса)                                                                |
| `servers[x].target_backend_version`   | `int`      | Версия бэкенда, на которую нацелен текущий канал                                                                                                         |

> Поля состояния аренды (`remaining_time`, `rental_state`, `rented_gpus`, `total_gpus`, `rented_price_by_currency`) присутствуют только пока у сервера есть активный заказ.

**Пример**

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' 'https://api.clore.ai/v1/my_servers'
```

**Вывод:**

```
{
  "servers": [
    {
      "name": "Michael",
      "connected": false,
      "visibility": "hidden",
      "pricing": { "bitcoin": 0, "usd": 0 },
      "online": false,
      "min_spot_pricing": { "bitcoin": 0, "usd": 0 },
      "init_token": "qnwVIMsZPjUWS7jw6gAbTOeoGQNgTH9XVxJaiCEbG0OlmfjF"
    },
    {
      "name": "Jan Vykydal",
      "connected": true,
      "visibility": "public",
      "pricing": { "bitcoin": 0.00010337, "usd": 0 },
      "online": false,
      "min_spot_pricing": { "bitcoin": 0.00005168, "usd": 0 },
      "specs": {
        "mb": "Z590 GAMING X",
        "cpu": "Intel Core i9-11900",
        "cpus": "8/16",
        "ram": 64,
        "disk": "NVMe 512GB",
        "disk_speed": 2000,
        "gpu": "1x GeForce GTX 1080 Ti",
        "gpuram": 11,
        "net": {
          "down":119.61,
          "up":25.24
        }
      }
    }
  ],
  "limit": 16,
  "code": 0
}
```

Значения USD в `объектах pricing` отражают режим ценообразования на основе USD, если хост его включил.

#### 3. `server_config` <a href="#id-3-server_config" id="id-3-server_config"></a>

**О разделе**

Получить конфигурацию определенного сервера

**Заголовки**

| Поле           | Тип      | Обязательно | Описание                       |
| -------------- | -------- | ----------- | ------------------------------ |
| `auth`         | `string` | Да          | API-токен                      |
| `Content-type` | `string` | Да          | Должен быть `application/json` |

**Тело запроса**

| Поле          | Тип      | Обязательно | Описание    |
| ------------- | -------- | ----------- | ----------- |
| `server_name` | `string` | Да          | Имя сервера |

**Вывод**

| Поле                    | Тип                  | Описание                                                                                                                  |
| ----------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `code`                  | `int`                | Код статуса                                                                                                               |
| `creation_completed`    | `bool`               | Создание сервера завершено                                                                                                |
| `config`                | `[]string`           | Конфигурация сервера                                                                                                      |
| `config.name`           | `string`             | Имя сервера, выбранное пользователем                                                                                      |
| `config.connected`      | `bool`               | Был ли сервер когда-либо подключен к [маркетплейс](http://clore.ai/)                                                      |
| `config.visibility`     | `string`             | Видимость на маркетплейсе                                                                                                 |
| `config.pricing`        | `[]string`           | Цена/день по запросу                                                                                                      |
| `config.spot_pricing`   | `[]string`           | Минимальная цена/день для аренды на спотовом рынке                                                                        |
| `config.mrl`            | `int`                | Максимальная длительность аренды в часах                                                                                  |
| `config.online`         | `bool`               | Сервер онлайн                                                                                                             |
| `config.initialized`    | `bool`               | Был ли сервер когда-либо подключен к [маркетплейс](http://clore.ai/)                                                      |
| `config.id`             | `int`                | Уникальный ID сервера                                                                                                     |
| `config.rental_status`  | `int`                | 0 - не арендован \| 1 - арендован на спотовом рынке \| 2 - арендован по запросу \| 3 - аренда с фиксированной ценой в USD |
| `config.specs`          | `[]string`           | Характеристики сервера                                                                                                    |
| `config.background_job` | `object`             | Фоновая задача, когда не арендован: `image`, `command`, `env`, `times_updated`                                            |
| `config.autoprice`      | `object` \| `string` | Конфигурация автопрайсинга для каждой валюты (также встречаются устаревшие строковые значения `"pow"` / `"usd"` )         |
| `config.usd_pricing`    | `object`             | Целевые цены в USD — присутствуют только при включенном автопрайсинге в USD                                               |
| `config.tenants`        | `[]object`           | Активные заказы на сервере: `rental_type`, `currency`, `price`, `remaining_time`, `gpu_count`                             |

> `server_config` также возвращает те же поля состояния аренды и канала обновления, что и `my_servers`: `remaining_time`, `rental_state`, `rented_gpus`, `total_gpus`, `rented_price_by_currency`, `update_channel`, `requested_channel`, `target_backend_version`. В обоих конечных точках поля состояния аренды присутствуют только пока у сервера есть активный заказ.

**Пример**

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "server_name":"Jan Vykydal"
}' 'https://api.clore.ai/v1/server_config'
```

**Вывод:**

```
{
  "config": {
    "name": "Jan Vykydal",
    "connected": true,
    "visibility": "public",
    "pricing": { "bitcoin": 0.00010337, "usd": 0 },
    "spot_pricing": { "bitcoin": 0.00005168, "usd": 0 },
    "mrl": 72,
    "online": false,
    "initialized": true,
    "id": 4,
    "rental_status": 0,
    "specs": {
      "mb": "Z590 GAMING X",
      "cpu": "Intel Core i9-11900",
      "cpus": "8/16",
      "ram": 64,
      "disk": "NVMe 512GB",
      "disk_speed": 2000,
      "gpu": "1x GeForce GTX 1080 Ti",
      "gpuram": 11,
      "net": {
        "down":119.61,
        "up":25.24
      }
    },
    "background_job": {
      "times_updated": 1,
      "image": "cloreai/ubuntu20.04-jupyter",
      "command": "",
      "env": []
    }
  },
  "creation_completed": true,
  "code": 0
}
```

Значения USD в `объектах pricing` отражают режим ценообразования на основе USD, если хост его включил.

#### 4. `clore.ai` <a href="#id-4-marketplace" id="id-4-marketplace"></a>

**О разделе**

Получить маркетплейс

**Заголовки**

| Поле   | Тип      | Обязательно | Описание  |
| ------ | -------- | ----------- | --------- |
| `auth` | `string` | Да          | API-токен |

**Вывод**

| Поле                            | Тип                | Описание                                                                                                   |
| ------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------- |
| `code`                          | `int`              | Код статуса                                                                                                |
| `my_servers`                    | `[]string`         | Массив ID серверов, которые вы предоставляете на [маркетплейс](http://clore.ai/) (не может быть арендован) |
| `серверы`                       | `[]string`         | Массив публичных серверов на маркетплейсе                                                                  |
| `servers[x].id`                 | `int`              | Уникальный ID сервера                                                                                      |
| `servers[x].owner`              | `int`              | Уникальный ID владельца                                                                                    |
| `servers[x].mrl`                | `int`              | Максимальная длительность аренды в часах                                                                   |
| `servers[x].price.on_demand`    | `[]string`         | Цена по запросу за день                                                                                    |
| `servers[x].price.spot`         | `[]string`         | Минимальная цена спотового рынка за день                                                                   |
| `servers[x].rented`             | `bool`             | Сервер арендован по запросу                                                                                |
| `servers[x].specs`              | `[]string`         | Характеристики сервера                                                                                     |
| `servers[x].partial_gpu_rental` | `object` \| `bool` | `false` когда частичная аренда недоступна, иначе `{ total_gpus, available_gpus, free_indices }`            |

> `price.on_demand` и `price.spot` включайте только те валюты, которые сервер действительно принимает — сервер без цены в какой-либо валюте не может быть арендован в ней.

**Пример**

Получить маркетплейс

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' 'https://api.clore.ai/v1/marketplace'
```

**Вывод:**

```
{
  "servers": [
    {
      "id": 6,
      "owner": 4,
      "mrl": 73,
      "price": { "on_demand": { "bitcoin": 0.00001 },
      "spot": { "bitcoin": 0.000001 }},
      "rented": false,
      "specs": {
        "mb": "Z590 GAMING X",
        "cpu": "11th Gen Intel(R) Core(TM) i9-11900 @ 2.50GHz",
        "cpus": "8/16",
        "ram": 62.67348861694336,
        "disk": "NVMe disk 247.3623046875GB",
        "disk_speed": 0,
        "gpu": "1x NVIDIA GeForce GTX 1080 Ti",
        "gpuram": 11,
        "net": {
          "up": 26.38,
          "down": 118.42,
          "cc": "CZ"
        }
      }
    }
  ],
  "my_servers": [1, 2, 4],
  "code": 0
}
```

#### 5. `my_orders` <a href="#id-5-my_orders" id="id-5-my_orders"></a>

**О разделе**

Получить ваши заказы

**Заголовки**

| Поле   | Тип      | Обязательно | Описание  |
| ------ | -------- | ----------- | --------- |
| `auth` | `string` | Да          | API-токен |

**Строка запроса**

| Поле               | Тип    | Обязательно | Описание                                 |
| ------------------ | ------ | ----------- | ---------------------------------------- |
| `return_completed` | `bool` | No          | Возвращать завершенные (истекшие) заказы |

**Вывод**

| Поле                     | Тип        | Описание                                                                                                                                                                                                   |
| ------------------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                   | `int`      | Код статуса                                                                                                                                                                                                |
| `limit`                  | `int`      | Максимальное количество активных заказов                                                                                                                                                                   |
| `orders`                 | `[]string` | Массив заказов                                                                                                                                                                                             |
| `orders[x].id`           | `int`      | Уникальный ID заказа                                                                                                                                                                                       |
| `orders[x].fee`          | `float`    | Комиссия (%) выплачена [маркетплейс](http://clore.ai/)                                                                                                                                                     |
| `orders[x].creation_fee` | `float`    | Комиссия за создание выплачена [маркетплейс](http://clore.ai/)                                                                                                                                             |
| `orders[x].price`        | `float`    | Цена заказа (стоимость) за день                                                                                                                                                                            |
| `orders[x].mrl`          | `int`      | Максимальная длительность аренды заказа в секундах                                                                                                                                                         |
| `orders[x].image`        | `string`   | Используемый образ Docker                                                                                                                                                                                  |
| `orders[x].currency`     | `string`   | Валюта, используемая для выставления счетов                                                                                                                                                                |
| `orders[x].spend`        | `float`    | Фактически списанная сумма на данный момент: накопленная стоимость аренды плюс базовая плата арендатора (после снижения PoH) и любая дополнительная комиссия; не включает единовременную плату за создание |
| `orders[x].gpu_count`    | `int`      | Количество GPU, которые занимает заказ (заказы по запросу; равно общему числу GPU в риге, если это не частичная аренда)                                                                                    |
| `orders[x].ct`           | `int`      | Время создания (UNIX-время)                                                                                                                                                                                |
| `orders[x].p`            | `int`      | Текущий используемый кластер прокси                                                                                                                                                                        |
| `orders[x].specs`        | `[]string` | Характеристики сервера                                                                                                                                                                                     |
| `orders[x].si`           | `int`      | Уникальный ID сервера                                                                                                                                                                                      |
| `orders[x].pub_cluster`  | `[]string` | Публичные конечные точки с проброшенными портами                                                                                                                                                           |
| `orders[x].tcp_ports`    | `[]string` | Проброс TCP-портов                                                                                                                                                                                         |
| `orders[x].http_port`    | `string`   | Порт контейнера, проброшенный через HTTPS-прокси                                                                                                                                                           |
| `orders[x].spot`         | `bool`     | Указывает, что это спотовый заказ                                                                                                                                                                          |
| `orders[x].expired`      | `bool`     | Указывает, что срок действия заказа истек                                                                                                                                                                  |

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' 'https://api.clore.ai/v1/my_orders?return_completed=true'
```

**Вывод:**

```
{
  "orders": [
    {
      "id": 38,
      "fee": 5,
      "creation_fee": 3e-7,
      "price": 0.00001,
      "mrl": 262800,
      "image": "cloreai/ubuntu20.04-jupyter",
      "currency": "bitcoin",
      "spend": 6.944444444444445e-9,
      "ct": 1667401396,
      "p": 1,
      "specs": {
        "mb": "Z590 GAMING X",
        "cpu": "11th Gen Intel(R) Core(TM) i9-11900 @ 2.50GHz",
        "cpus": "8/16",
        "ram": 62.67348861694336,
        "disk": "NVMe disk 247.3623046875GB",
        "disk_speed": 2000,
        "gpu": "1x NVIDIA GeForce GTX 1080 Ti",
        "gpuram": 11,
        "net": {
          "up": 26.38,
          "down": 118.42,
        }
      },
      "si": 6,
      "pub_cluster": [ "n1.c1.clorecloud.net", "n2.c1.clorecloud.net" ],
      "tcp_ports": [ "22:10000" ],
      "http_port": "8888"
    },{
      "id": 36,
      "fee": 2.5,
      "creation_fee": 1e-7,
      "price": 0.00001,
      "mrl": 262800,
      "image": "cloreai/ubuntu20.04-jupyter",
      "currency": "bitcoin",
      "spend": 1.3888888888888888e-7,
      "ct": 1667248597,
      "specs": {
        "mb": "Z590 GAMING X",
        "cpu": "11th Gen Intel(R) Core(TM) i9-11900 @ 2.50GHz",
        "cpus": "8/16",
        "ram": 62.67348861694336,
        "disk": "NVMe disk 247.3623046875GB",
        "disk_speed": 2000,
        "gpu": "1x NVIDIA GeForce GTX 1080 Ti",
        "gpuram": 11,
        "net": {
          "up": 26.38,
          "down": 118.42,
        }
      },
      "si": 6,
      "spot": true,
      "expired": true,
      "tcp_ports": []
    }
  ],
  "limit": 13,
  "code": 0
}
```

#### 6. `spot_marketplace` <a href="#id-6-spot_marketplace" id="id-6-spot_marketplace"></a>

**О разделе**

Получить спотовый маркетплейс для конкретного сервера

**Заголовки**

| Поле   | Тип      | Обязательно | Описание  |
| ------ | -------- | ----------- | --------- |
| `auth` | `string` | Да          | API-токен |

**Строка запроса**

| Поле    | Тип   | Обязательно | Описание              |
| ------- | ----- | ----------- | --------------------- |
| `рынок` | `int` | Да          | Уникальный ID сервера |

**Вывод**

| Поле                           | Тип      | Описание                                                            |
| ------------------------------ | -------- | ------------------------------------------------------------------- |
| `code`                         | `int`    | Код статуса                                                         |
| `существует`                   | `bool`   | Проверка того, что рынок существует                                 |
| `рынок`                        | `object` | Маркетплейс                                                         |
| `market.offers`                | `массив` | Предложения аренды для сервера                                      |
| `market.offers[x].offer_id`    | `int`    | Уникальный ID предложения                                           |
| `market.offers[x].bid`         | `float`  | Предложенная цена за день (в валюте предложения)                    |
| `market.offers[x].currency`    | `string` | Валюта ставки                                                       |
| `market.offers[x].active`      | `bool`   | Это предложение сейчас используется                                 |
| `market.offers[x].my`          | `bool`   | Это предложение принадлежит мне                                     |
| `market.server`                | `object` | Информация о сервере                                                |
| `market.server.min_pricing`    | `object` | Минимальная цена предложения за день для каждой принимаемой валюты  |
| `market.server.mrl`            | `int`    | Максимальная длительность аренды в **часах**                        |
| `market.server.visibility`     | `string` | Создавать предложения можно только когда видимость общедоступная    |
| `market.server.online`         | `bool`   | Сервер онлайн                                                       |
| `market.currency_rates_in_usd` | `object` | Текущие курсы USD, используемые для сравнения ставок между валютами |

> Предложения можно размещать в любой валюте, которую принимает сервер; конкурирующие ставки сравниваются по их **значению в USD** (с использованием `currency_rates_in_usd`), а не номинального значения.
>
> ⚠️ **Изменено в августе 2026:** `market.server.mrl` теперь возвращается в **часах** (ранее в секундах). Значение, которое отображалось как `262800` теперь отображается как `73`.

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' 'https://api.clore.ai/v1/spot_marketplace?market=6'
```

**Вывод:**

```
{
  "market": {
    "offers": [
      {
        "offer_id": 39,
        "bid": 0.0000042,
        "active": true,
        "my": true,
        "currency": "bitcoin"
      }
    ],
    "server": {
      "min_pricing": {
        "bitcoin": 0.000001
      },
      "mrl": 73,
      "visibility": "public",
      "online": true
    },
    "currency_rates_in_usd": {
      "bitcoin": 110000,
      "CLORE-Blockchain": 0.0045,
      "USD-Blockchain": 1
    }
  },
  "exists": true,
  "code": 0
}
```

#### 7. `set_server_settings` <a href="#id-7-set_server_settings" id="id-7-set_server_settings"></a>

**О разделе**

Настройте параметры сервера, который вы предоставляете на [маркетплейс](http://clore.ai/) clore.ai

**Заголовки**

| Поле           | Тип      | Обязательно | Описание                       |
| -------------- | -------- | ----------- | ------------------------------ |
| `auth`         | `string` | Да          | API-токен                      |
| `Content-type` | `string` | Да          | Должен быть `application/json` |

**Тело запроса**

| Поле                         | Тип      | Обязательно | Описание                                                                                                                                                                                    |
| ---------------------------- | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `имя`                        | `string` | Да          | Имя сервера, выбранное пользователем                                                                                                                                                        |
| `доступность`                | `bool`   | Да          | Можно ли арендовать сервер                                                                                                                                                                  |
| `mrl`                        | `int`    | Да          | Максимальная длительность аренды сервера в **часах** (6 to 3000)                                                                                                                            |
| `bitcoin_on_demand`          | `float`  | Да          | Цена по требованию в BTC за день                                                                                                                                                            |
| `bitcoin_spot`               | `float`  | Да          | Минимальная спотовая цена в BTC за день                                                                                                                                                     |
| `CLORE-Blockchain_on_demand` | `float`  | No          | Цена по требованию в CLORE за день                                                                                                                                                          |
| `CLORE-Blockchain_spot`      | `float`  | No          | Минимальная спотовая цена в CLORE за день                                                                                                                                                   |
| `USD-Blockchain_on_demand`   | `float`  | No          | Цена по требованию в USD за день                                                                                                                                                            |
| `USD-Blockchain_spot`        | `float`  | No          | Минимальная спотовая цена в USD за день                                                                                                                                                     |
| `enabled-bitcoin`            | `bool`   | Нет\*       | Принимать Bitcoin для этого сервера                                                                                                                                                         |
| `enabled-CLORE-Blockchain`   | `bool`   | Нет\*       | Принимать CLORE для этого сервера                                                                                                                                                           |
| `enabled-USD-Blockchain`     | `bool`   | Нет\*       | Принимать USD-стейблкоины для этого сервера                                                                                                                                                 |
| `автоценообразование`        | `object` | No          | Автоценообразование для каждой валюты: задайте ключ валюты (`bitcoin`, `CLORE-Blockchain`) как `"usd"` для автоценообразования на основе USD или `false` для фиксированного ценообразования |
| `usd_pricing`                | `object` | No          | Целевые цены в USD для каждой валюты, например `{ "bitcoin": { "on_demand": 10, "spot": 5 } }` — используется только для валют с `автоценообразование` установленным в `"usd"`              |

> \* **Список принимаемых валют пересобирается из `enabled-*` флагов при каждом вызове.** Валюта без своего `enabled-<currency>: true` флага (или без валидной цены) удаляется из принимаемых сервером валют — если не передавать ни одного флага, сервер нельзя будет арендовать ни в одной валюте. Всегда отправляйте `enabled-<currency>: true` для каждой валюты, которую вы хотите продолжать принимать.
>
> Цены за день ограничены по каждой валюте: 0.000001–0.1 BTC, 0.1–5 000 000 CLORE, 0.1–10 000 USD.
>
> Когда для валюты используется автоцена в USD, указанная криптовалютная цена рассчитывается из `usd_pricing` по текущему курсу (пересчитывается примерно каждые 10 минут), и любое `<currency>_on_demand` / `<currency>_spot` переданное значение игнорируется.  `usd_pricing` Целевые значения — это показатели $/день для всего сервера, проверяемые по диапазону USD (0.1–1 000); значения вне диапазона ограничиваются ближайшей границей.

**Вывод**

| Поле   | Тип   | Описание    |
| ------ | ----- | ----------- |
| `code` | `int` | Код статуса |

**Пример**

Давайте создадим подтверждение отправки для транзакции, отправленной из текущего кошелька.

**Вход:**

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "name": "Jan Vykydal",
    "availability":true,
    "mrl":96,
    "enabled-bitcoin":true,
    "bitcoin_on_demand":0.0001,
    "bitcoin_spot":0.00000113
}' 'https://api.clore.ai/v1/set_server_settings'
```

**Вывод:**

```
{
  "code": 0
}
```

#### 8. `set_spot_price` <a href="#id-8-set_spot_price" id="id-8-set_spot_price"></a>

**О разделе**

Установите цену за день для вашего спотового предложения на рынке

**Заголовки**

| Поле           | Тип      | Обязательно | Описание                       |
| -------------- | -------- | ----------- | ------------------------------ |
| `auth`         | `string` | Да          | API-токен                      |
| `Content-type` | `string` | Да          | Должен быть `application/json` |

**Тело запроса**

| Поле            | Тип     | Обязательно | Описание                       |
| --------------- | ------- | ----------- | ------------------------------ |
| `order_id`      | `int`   | Да          | Уникальный ID предложения      |
| `desired_price` | `float` | Да          | Предложенная вами цена за день |

> **Цена ниже текущего минимального спотового порога сервера** отклоняется с указанием текущего минимума:
>
> ```
> { "error": "amount_too_low", "min_price": 0.0000012, "code": 6 }
> ```

**Пример**

Попробуем обновить спотовую рыночную цену

**Ввод 1 (слишком большой шаг снижения):**

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "order_id":39,
    "desired_price":0.00000200
}' 'https://api.clore.ai/v1/set_spot_price'
```

**Возможный вывод 1 (слишком большой шаг снижения):**\
Вы можете снизить цену спотового предложения максимум на 0.00000100 ₿

| Поле               | Тип      | Описание                                                                 |
| ------------------ | -------- | ------------------------------------------------------------------------ |
| `code`             | `int`    | Код статуса                                                              |
| `поле error`       | `string` | Поле описания ошибки                                                     |
| `максимальный шаг` | `float`  | Минимально возможное значение, до которого вы можете сейчас снизить цену |

```
{
    "error":"exceeded_max_step",
    "max_step":0.0000032,
    "code":6
}
```

**Ввод 2 (допустимое снижение цены):**

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "order_id":39,
    "desired_price":0.00000320
}' 'https://api.clore.ai/v1/set_spot_price'
```

**Возможный вывод 2 (допустимое снижение цены):**

```
{
    "code": 0
}
```

**Ввод 3 (еще большее снижение цены после отправки Ввода 2):**

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "order_id":39,
    "desired_price":0.00000220
}' 'https://api.clore.ai/v1/set_spot_price
```

**Возможный вывод 3 (еще большее снижение цены после отправки Ввода 2):**\
Снижать спотовую цену можно раз в 600 секунд

| Поле               | Тип      | Описание                                                     |
| ------------------ | -------- | ------------------------------------------------------------ |
| `code`             | `int`    | Код статуса                                                  |
| `поле error`       | `string` | Поле описания ошибки                                         |
| `time_to_lowering` | `float`  | Оставшееся время (сек) до следующей возможности снизить цену |

```
{
    "error":"can_lower_every_600_seconds",
    "time_to_lowering":513,
    "code":6
}
```

#### 9. `cancel_order` <a href="#id-9-cancel_order" id="id-9-cancel_order"></a>

**О разделе**

Отменить активный заказ или спотовое предложение

**Заголовки**

| Поле           | Тип      | Обязательно | Описание                       |
| -------------- | -------- | ----------- | ------------------------------ |
| `auth`         | `string` | Да          | API-токен                      |
| `Content-type` | `string` | Да          | Должен быть `application/json` |

**Тело запроса**

| Поле    | Тип      | Обязательно | Описание                                                                                                                                          |
| ------- | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`    | `int`    | Да          | Уникальный ID заказа/предложения                                                                                                                  |
| `issue` | `string` | No          | Если вы столкнулись с какими-либо проблемами на сервере, вы можете сообщить о них [маркетплейс](http://clore.ai/) команде, максимум 2048 символов |

**Вывод**

| Поле   | Тип   | Описание    |
| ------ | ----- | ----------- |
| `code` | `int` | Код статуса |

**Пример**

Отменить заказ/предложение

**Вход:**\
В этом примере мы сообщаем о проблемах с GPU #1; если у вас нет проблем, не включайте поле issue.\
Вы можете написать любое сообщение в текстовое поле, и мы его проверим

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "id":39,
    "issue":"GPU #1 перегревался и снижал частоту"
}' 'https://api.clore.ai/v1/cancel_order'
```

**Вывод:**

```
{
  "code": 0
}
```

#### 10. `create_order` <a href="#id-10-create_order" id="id-10-create_order"></a>

**О разделе**

С помощью этого эндпоинта можно создать спотовое предложение или заказ по требованию

**Заголовки**

| Поле           | Тип      | Обязательно | Описание                       |
| -------------- | -------- | ----------- | ------------------------------ |
| `auth`         | `string` | Да          | API-токен                      |
| `Content-type` | `string` | Да          | Должен быть `application/json` |

**Тело запроса**

| Поле                 | Тип      | Обязательно | Описание                                                                                                                                                                                                                                                                                  |
| -------------------- | -------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `currency`           | `string` | Да          | Название валюты                                                                                                                                                                                                                                                                           |
| `image`              | `string` | Да          | Допустимый образ из Docker Hub                                                                                                                                                                                                                                                            |
| `renting_server`     | `int`    | Да          | ID сервера, который вы хотите арендовать                                                                                                                                                                                                                                                  |
| `тип`                | `string` | Да          | `по требованию` ИЛИ `спот`                                                                                                                                                                                                                                                                |
| `spotprice`          | `float`  | Зависит     | Предлагаемая цена за день на спотовом рынке, обязательна при создании спотового заказа                                                                                                                                                                                                    |
| `порты`              | `object` | No          | Конфигурация проброса портов, максимум 5 записей                                                                                                                                                                                                                                          |
| `env`                | `object` | No          | <p>Переменные окружения, всего до 12288 символов при сериализации.<br>Имя переменной — максимум 128 символов, не должно содержать <code>-</code><br>Значение переменной — максимум 1536 символов<br>Сохраняются только первые 30 допустимых переменных; остальные молча отбрасываются</p> |
| `jupyter_token`      | `string` | No          | Токен Jupyter для образов, в которых есть блокноты Jupyter, максимум 32 символа \*                                                                                                                                                                                                        |
| `ssh_key`            | `string` | No          | SSH-ключ для образов с SSH, максимум 3072 символа \*                                                                                                                                                                                                                                      |
| `ssh_password`       | `string` | No          | Пароль SSH для образов с SSH, максимум 32 символа \*                                                                                                                                                                                                                                      |
| `command`            | `string` | No          | Команда будет выполнена на сервере после создания заказа                                                                                                                                                                                                                                  |
| `required_price`     | `float`  | No          | Укажите цену, по которой вы хотите запустить заказ; если владелец машины изменит цену, заказ не запустится (только для заказов по требованию)                                                                                                                                             |
| `gpu_count`          | `int`    | No          | Количество GPU для аренды на серверах, которые поддерживают [частичную аренду](/clore.ai/clore.ai-ru/dlya-arendatorov/partial-gpu-rental.md). Не указывайте, чтобы арендовать всю ферму. Только по требованию, только однородные фермы                                                    |
| `gpu_indices`        | `[]int`  | No          | Индексы слотов GPU, начиная с 0, для аренды; длина должна быть равна `gpu_count`. Возьмите свободные слоты из `partial_gpu_rental.free_indices`. Не указывайте, чтобы бэкенд автоматически выбрал свободные GPU                                                                           |
| `autossh_entrypoint` | `bool`   | No          | Использовать точку входа clore.ai, которая автоматически разворачивает SSH-сервер и пользовательский `/root/onstart.sh` скрипт                                                                                                                                                            |

\* В поля, отмеченные звездочкой, можно вводить только символы из этой группы регулярного выражения `/^[a-zA-Z0-9\s-=.@+/]+$/`

**Вывод**

| Поле   | Тип   | Описание    |
| ------ | ----- | ----------- |
| `code` | `int` | Код статуса |

> **Спотовые ставки ниже минимального порога сервера** отклоняются с указанием текущего минимума, так что вы можете повторить попытку немедленно:
>
> ```
> { "error": "too_low_price", "min_price": 0.0000012, "code": 6 }
> ```
>
> Порог пересчитывается по текущим курсам монет примерно каждые 10 минут, поэтому цена, считанная из списка маркетплейса, может быть немного устаревшей — всегда используйте возвращённый `min_price` для повторной попытки.

**Пример**

**Ввод 1 (создание спотового предложения):**

```
curl -XPOST -H 'auth: 6FcuR7ibcwKR1Z32lEFoSotzUUtzKO2H' -H "Content-type: application/json" -d '
{
    "currency":"bitcoin",
    "image":"cloreai/ubuntu20.04-jupyter",
    "renting_server":6,
    "type":"spot",
    "spotprice":0.000001,
    "ports":{
        "22":"tcp",
        "8888":"http"
    },
    "env":{
        "VARIABLE_NAME":"VARIABLE_VALUE",
    },
    "jupyter_token":"hoZluOjbCOQ5D5yH7R",
    "ssh_password":"Hpcj08ZaOpCbTmn1Eu",
    "command":"#!/bin/sh\napt update -y && apt install htop"
}' 'https://api.clore.ai/v1/create_order'
```

**Вывод 1 (создание спотового предложения):**

```
{
  "code":0
}
```

**Ввод 2 (создание заказа по требованию):**

```
curl -XPOST -H 'auth: 6FcuR7ibcwKR1Z32lEFoSotzUUtzKO2H' -H "Content-type: application/json" -d '
{
    "currency":"bitcoin",
    "image":"cloreai/ubuntu20.04-jupyter",
    "renting_server":6,
    "type":"on-demand",
    "ports":{
        "22":"tcp",
        "8888":"http"
    },
    "env":{
        "VARIABLE_NAME":"VARIABLE_VALUE",
    },
    "jupyter_token":"hoZluOjbCOQ5D5yH7R",
    "ssh_password":"Hpcj08ZaOpCbTmn1Eu",
    "command":"#!/bin/sh\napt update -y && apt install htop"
}' 'https://api.clore.ai/v1/create_order'
```

**Вывод 2 (создание заказа по требованию):**

```
{
  "code":0
}
```

#### 11. `renter_fees` <a href="#id-11-renter_fees" id="id-11-renter_fees"></a>

**О разделе**

Получите текущую конфигурацию комиссий: базовые комиссии арендатора, настройки уменьшения комиссии PoH, комиссии за создание заказов и ваш баланс PoH

**Заголовки**

| Поле   | Тип      | Обязательно | Описание  |
| ------ | -------- | ----------- | --------- |
| `auth` | `string` | Да          | API-токен |

**Вывод**

| Поле                               | Тип      | Описание                                                       |
| ---------------------------------- | -------- | -------------------------------------------------------------- |
| `code`                             | `int`    | Код статуса                                                    |
| `renter_fees.on_demand`            | `object` | Базовая комиссия (%) для заказов по требованию в каждой валюте |
| `renter_fees.spot`                 | `object` | Базовая комиссия (%) для спотовых заказов в каждой валюте      |
| `poh_config.max_reduction_percent` | `int`    | Максимальное снижение базовой комиссии через PoH (%)           |
| `poh_config.max_poh_amount`        | `int`    | Баланс PoH, при котором достигается максимальное снижение      |
| `creation_fees.on_demand`          | `object` | Комиссия за создание заказа для каждой валюты                  |
| `creation_fees.spot`               | `object` | Комиссия за создание спотового заказа для каждой валюты        |
| `poh_balance`                      | `float`  | Ваш баланс PoH в CLORE                                         |

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' 'https://api.clore.ai/v1/renter_fees'
```

**Вывод:**

```
{
  "renter_fees": {
    "on_demand": {
      "base": { "bitcoin": 5, "CLORE-Blockchain": 5, "USD-Blockchain": 5 }
    },
    "spot": {
      "base": { "bitcoin": 1.25, "CLORE-Blockchain": 1.25, "USD-Blockchain": 1.25 }
    }
  },
  "poh_config": { "max_reduction_percent": 50, "max_poh_amount": 2000000 },
  "creation_fees": {
    "on_demand": { "bitcoin": 3e-7, "CLORE-Blockchain": 0.5, "USD-Blockchain": 0.1 },
    "spot": { "bitcoin": 1e-7, "CLORE-Blockchain": 0.05, "USD-Blockchain": 0.005 }
  },
  "poh_balance": 5000,
  "code": 0
}
```

#### 12. `cancel_orders` <a href="#id-12-cancel_orders" id="id-12-cancel_orders"></a>

**О разделе**

Отменить несколько заказов сразу (до 256 за запрос)

**Заголовки**

| Поле           | Тип      | Обязательно | Описание                       |
| -------------- | -------- | ----------- | ------------------------------ |
| `auth`         | `string` | Да          | API-токен                      |
| `Content-type` | `string` | Да          | Должен быть `application/json` |

**Тело запроса**

| Поле        | Тип     | Обязательно | Описание                            |
| ----------- | ------- | ----------- | ----------------------------------- |
| `order_ids` | `[]int` | Да          | ID заказов для отмены, максимум 256 |

**Вывод**

| Поле               | Тип     | Описание                                |
| ------------------ | ------- | --------------------------------------- |
| `code`             | `int`   | Код статуса                             |
| `failed_to_cancel` | `[]int` | ID заказов, которые не удалось отменить |

**Вход:**

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "order_ids": [38, 39]
}' 'https://api.clore.ai/v1/cancel_orders'
```

**Вывод:**

```
{
  "failed_to_cancel": [],
  "code": 0
}
```

#### 13. `poh_balance` <a href="#id-13-poh_balance" id="id-13-poh_balance"></a>

**О разделе**

Получите ваш баланс Proof of Holding: элементы, итоги и суммы предложений PoH Marketplace

**Заголовки**

| Поле   | Тип      | Обязательно | Описание  |
| ------ | -------- | ----------- | --------- |
| `auth` | `string` | Да          | API-токен |

**Вывод**

| Поле                                          | Тип        | Описание                                      |
| --------------------------------------------- | ---------- | --------------------------------------------- |
| `code`                                        | `int`      | Код статуса                                   |
| `элементы`                                    | `[]object` | Ваши элементы PoH с индивидуальными балансами |
| `balance.total`                               | `float`    | Общий баланс PoH по всем элементам            |
| `balance.free_amount`                         | `float`    | Баланс PoH, не задействованный в предложениях |
| `balance.reward_amount`                       | `float`    | Баланс, подходящий для получения наград       |
| `balance.offers.rented_amount`                | `float`    | Сумма, сданная в аренду другим пользователям  |
| `balance.offers.rented_on_marketplace_amount` | `float`    | Сумма, указанная на маркетплейсе PoH          |
| `balance.offers.leased_amount`                | `float`    | Сумма, арендованная у других пользователей    |

**Вход:**

```
curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' 'https://api.clore.ai/v1/poh_balance'
```

**Вывод:**

```
{
  "items": [ { "balance": 5000 } ],
  "balance": {
    "total": 5000,
    "free_amount": 4000,
    "reward_amount": 5000,
    "offers": {
      "rented_amount": 0,
      "rented_on_marketplace_amount": 1000,
      "rented_finished_amount": 0,
      "leased_amount": 0
    }
  },
  "code": 0
}
```

#### 14. `server-config.json` <a href="#id-14-server-config-json" id="id-14-server-config-json"></a>

**О разделе**

Получить статические данные конфигурации API. Аутентификация не требуется

**Вход:**

```
curl -XGET 'https://api.clore.ai/v1/server-config.json'
```

#### 15. `get_relay` <a href="#id-15-get_relay" id="id-15-get_relay"></a>

**О разделе**

Получить узлы ретрансляции TCP для обнаруженной вами страны. Аутентификация не требуется

**Вывод**

| Поле      | Тип      | Описание                    |
| --------- | -------- | --------------------------- |
| `code`    | `int`    | Код статуса                 |
| `country` | `string` | Код обнаруженной страны     |
| `nodes`   | `object` | Доступные узлы ретрансляции |

**Вход:**

```
curl -XGET 'https://api.clore.ai/v1/get_relay'
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.clore.ai/clore.ai/clore.ai-ru/dlya-khostov/api.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
