> 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:** Используйте официальный [clore-ai Python SDK](/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="/files/56487af1fd300848f4d3338abb891a478521d8fc" alt=""><figcaption></figcaption></figure></div>

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

[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` | `строка` | Да           | API-токен |

**Вывод**

| Поле      | Тип           | Описание         |
| --------- | ------------- | ---------------- |
| `code`    | `целое число` | Код статуса      |
| `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>

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

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

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

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

**Вывод**

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

> Поля состояния аренды (`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` объектах pricing отражают режим ценообразования в USD, включённый хостом.

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

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

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

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

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

**Тело**

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

**Вывод**

| Поле                    | Тип                   | Описание                                                                                                                    |
| ----------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `code`                  | `целое число`         | Код статуса                                                                                                                 |
| `creation_completed`    | `логическое значение` | Завершено ли создание сервера                                                                                               |
| `config`                | `[]string`            | Конфигурация сервера                                                                                                        |
| `config.name`           | `строка`              | Имя сервера, выбранное пользователем                                                                                        |
| `config.connected`      | `логическое значение` | Подключался ли сервер когда-либо к [clore.ai](http://clore.ai/)                                                             |
| `config.visibility`     | `строка`              | Видимость на маркетплейсе                                                                                                   |
| `config.pricing`        | `[]string`            | Цена/день по запросу                                                                                                        |
| `config.spot_pricing`   | `[]string`            | Минимальная цена/день для аренды на спотовом рынке                                                                          |
| `config.mrl`            | `целое число`         | Максимальная длительность аренды в часах                                                                                    |
| `config.online`         | `логическое значение` | Сервер в сети                                                                                                               |
| `config.initialized`    | `логическое значение` | Подключался ли сервер когда-либо к [clore.ai](http://clore.ai/)                                                             |
| `config.id`             | `целое число`         | Уникальный ID сервера                                                                                                       |
| `config.rental_status`  | `целое число`         | 0 - не арендован \| 1 - арендован на спотовом рынке \| 2 - арендован по запросу \| 3 - аренда с фиксированной ценой в USD   |
| `config.specs`          | `[]string`            | Характеристики сервера                                                                                                      |
| `config.background_job` | `object`              | Фоновая задача, когда сервер не арендован: `image`, `command`, `env`, `times_updated`                                       |
| `config.autoprice`      | `object` \| `строка`  | Конфигурация автоматического ценообразования по валютам (устаревшие строковые значения `"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` объектах pricing отражают режим ценообразования в USD, включённый хостом.

#### 4. `маркетплейс` <a href="#id-4-marketplace" id="id-4-marketplace"></a>

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

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

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

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

**Вывод**

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

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

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

**Вывод**

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

**Вход:**

```
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` | `строка` | Да           | API-токен |

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

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

**Вывод**

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

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

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

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

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

**Тело**

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

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

**Вывод**

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

**Пример**

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

**Вход:**

```
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`            | `строка` | Да           | API-токен                      |
| `Тип содержимого` | `строка` | Да           | Должен быть `application/json` |

**Тело**

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

> **Цена ниже текущего спотового минимума сервера** отклоняется с указанием текущего минимума:
>
> ```
> { "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`     | `целое число`              | Код статуса                                                              |
| `error`    | `строка`                   | Поле описания ошибки                                                     |
| `max_step` | `число с плавающей точкой` | Минимально возможное значение, до которого вы сейчас можете снизить цену |

```
{
    "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`             | `целое число`              | Код статуса                                                   |
| `error`            | `строка`                   | Поле описания ошибки                                          |
| `time_to_lowering` | `число с плавающей точкой` | Оставшееся время (сек.) до следующей возможности снизить цену |

```
{
    "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`            | `строка` | Да           | API-токен                      |
| `Тип содержимого` | `строка` | Да           | Должен быть `application/json` |

**Тело**

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

**Вывод**

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

**Пример**

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

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

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "id":39,
    "issue":"GPU #1 Was overheating and throttling"
}' 'https://api.clore.ai/v1/cancel_order'
```

**Вывод:**

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

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

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

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

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

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

**Тело**

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

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

**Вывод**

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

> **Ставки спот ниже минимума сервера** отклоняются с указанием текущего минимума, так что вы можете сразу повторить попытку:
>
> ```
> { "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` | `строка` | Да           | API-токен |

**Вывод**

| Поле                               | Тип                        | Описание                                                     |
| ---------------------------------- | -------------------------- | ------------------------------------------------------------ |
| `code`                             | `целое число`              | Код статуса                                                  |
| `renter_fees.on_demand`            | `object`                   | Базовая комиссия (%) по каждой валюте для заказов по запросу |
| `renter_fees.spot`                 | `object`                   | Базовая комиссия (%) по каждой валюте для спотовых заказов   |
| `poh_config.max_reduction_percent` | `целое число`              | Максимальное снижение базовой комиссии через PoH (%)         |
| `poh_config.max_poh_amount`        | `целое число`              | Баланс PoH, при котором достигается максимальное снижение    |
| `creation_fees.on_demand`          | `object`                   | Комиссия за создание заказа по каждой валюте                 |
| `creation_fees.spot`               | `object`                   | Комиссия за создание спотового заказа по каждой валюте       |
| `poh_balance`                      | `число с плавающей точкой` | Ваш баланс 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`            | `строка` | Да           | API-токен                      |
| `Тип содержимого` | `строка` | Да           | Должен быть `application/json` |

**Тело**

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

**Вывод**

| Поле               | Тип           | Описание                                |
| ------------------ | ------------- | --------------------------------------- |
| `code`             | `целое число` | Код статуса                             |
| `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` | `строка` | Да           | API-токен |

**Вывод**

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

**Вход:**

```
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`   | `целое число` | Код статуса                 |
| `страна` | `строка`      | Код обнаруженной страны     |
| `узлы`   | `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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
