API
Last updated
Last updated
CLORE.AI api can be used to automate deployments of your workloads onto CLORE.AI
API CLORE.AI можно использовать для автоматизации развёртывания ваших рабочих процессов на платформе CLORE.AI.
В первую очередь, вам нужно получить API-ключ.
Ответы возвращаются в формате JSON и могут содержать разные поля.
Поле code
, указывающее статус, всегда присутствует.
Поле code
wallets
Описание: Возвращает кошельки и балансы.
Заголовки
Ответ
Пример
Запрос:
Ответ:
my_servers
Описание: Возвращает список ваших серверов, предоставляемых на маркетплейсе clore.ai.
Заголовки
Ответ
Пример
Запрос:
Ответ:
*USD пока не поддерживается
server_config
Описание: Получить конфигурацию конкретного сервера.
Заголовки
Тело запроса
Ответ
Пример
Запрос:
Ответ:
*USD пока не поддерживается
marketplace
Описание: Получить список серверов на маркетплейсе.
Заголовки
Ответ
Пример
Запрос:
Ответ:
my_orders
Описание: Получить список ваших заказов.
Заголовки
Строка запроса
Ответ
Пример
Запрос:
Ответ:
spot_marketplace
Описание: Получить список предложений на spot рынке для конкретного сервера.
Заголовки
Строка запроса
Ответ
Пример
Запрос:
Ответ:
set_server_settings
Описание: Настройка параметров сервера, который вы предоставляете на маркетплейсе clore.ai.
Заголовки
Тело запроса
Ответ
Пример
Создаём транзакцию для отправки средств из текущего кошелька.
Запрос:
Ответ:
set_spot_price
Описание: Установить цену за день аренды на SPOT-рынке.
Заголовки
Тело запроса
Пример
Попробуем обновить цену на SPOT-рынке.
Запрос 1 (Шаг снижения был слишком большим):
Возможный ответ 1 (Шаг снижения был слишком большим):
Поля ответа
Запрос 2 (Корректный шаг снижения):
Возможный ответ 2 (Корректный шаг снижения):
Запрос 3 (Снижение цены ещё раз после отправки Запроса 2):
Возможный ответ 3 (Снижение цены ещё раз после отправки Запроса 2):
Поля ответа
cancel_order
Описание: Установить цену за день на SPOT-предложении
Заголовки
Тело запроса
Выходные данные
Пример
Отменить заказ/предложение.
Ввод: В этом примере мы сообщаем о проблемах с GPU #1. Если у вас нет проблем, не включайте поле issue. Вы можете написать любое сообщение, и мы его проверим.
Выход:
create_order
Описание: Вы можете создать предложение на SPOT-рынке или по требованию с помощью этого конечного запроса. Ограничение — не более 1 запроса в 5 секунд.
Заголовки
Тело запроса
В поля, помеченные звездочкой, можно вводить только символы из регулярного выражения /^[a-zA-Z0-9\s-=.@+/]+$/
Выходные данные
Пример
Ввод 1 (Создание предложения на SPOT-рынке):
Выход 1 (Создание предложения на SPOT-рынке):
Ввод 2 (Создание заказа по требованию):
Выход 2 (Создание заказа по требованию):
Firstly you need to get an API key
code | Описание |
---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Обязательное | Описание |
---|---|---|---|
Поле | Тип | Описание |
---|---|---|
0
NORMAL
1
DATABASE ERROR
2
INVALID INPUT DATA
3
INVALID API TOKEN
4
INVALID ENDPOINT
5
EXCEEDED 1 request/second limit
6
Ошибка, указанная в поле error
auth
string
Да
API токен
code
int
Код статуса
wallets
[]string
Массив кошельков
auth
string
Да
API токен
code
int
Код статуса
limit
int
Максимальное количество серверов, которые вы можете иметь
servers
[]string
Массив серверов
servers[x].name
string
Имя сервера, выбранное пользователем
servers[x].connected
string
Был ли сервер когда-либо подключен к clore.ai
servers[x].visibility
string
Видимость на маркетплейсе
servers[x].pricing
[]string
Цена в день на on-demand
servers[x].online
bool
В сети ли сервер
servers[x].min_spot_pricing
[]string
Минимальная цена в день для аренды на spot рынке
servers[x].init_token
string
Токен инициализации
servers[x].specs
[]string
Характеристики сервера
auth
string
Да
API токен
Content-type
string
Да
Должно быть application/json
server_name
string
Да
Имя сервера
code
int
Код статуса
creation_completed
bool
Завершено ли создание сервера
config
[]string
Конфигурация сервера
config.name
string
Имя сервера, выбранное пользователем
config.connected
bool
Был ли сервер когда-либо подключен к clore.ai
config.visibility
string
Видимость на маркетплейсе
config.pricing
[]string
Цена в день на on-demand
config.spot_pricing
[]string
Минимальная цена в день для аренды на spot рынке
config.mrl
int
Максимальная длина аренды в часах
config.online
bool
В сети ли сервер
config.initialized
bool
Был ли сервер когда-либо подключен к clore.ai
config.id
int
Уникальный идентификатор сервера
config.rental_status
int
0 - не арендован
config.specs
[]string
Характеристики сервера
config.background_job
[]string
Задание на фоновые операции, если не в аренде
auth
string
Да
API токен
code
int
Код статуса
my_servers
[]string
Массив ID серверов, которые вы предоставляете на clore.ai (не доступны для аренды)
servers
[]string
Массив публичных серверов на маркетплейсе
servers[x].id
int
Уникальный идентификатор сервера
servers[x].owner
int
Уникальный идентификатор владельца
servers[x].mrl
int
Максимальная длина аренды в часах
servers[x].price.on_demand
[]string
Цена в день на on-demand аренду
servers[x].spot
[]string
Минимальная цена в день на spot рынке
servers[x].rented
bool
Арендован ли сервер в данный момент
servers[x].specs
[]string
Характеристики сервера
auth
string
Да
API токен
return_completed
bool
Нет
Возвращает завершённые (истекшие) заказы
code
int
Код статуса
limit
int
Максимальное количество активных заказов
orders
[]string
Массив заказов
orders[x].id
int
Уникальный ID заказа
orders[x].fee
float
Комиссия (%) для clore.ai
orders[x].creation_fee
float
Комиссия при создании заказа
orders[x].price
float
Цена заказа (стоимость) за день
orders[x].mrl
int
Максимальная длина аренды в секундах
orders[x].image
string
Используемый docker образ
orders[x].currency
string
Валюта, используемая для оплаты
orders[x].spend
float
Сумма, потраченная на заказ
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
Является ли заказ на spot рынке
orders[x].expired
bool
Указание, что заказ истек
auth
string
Да
API токен
market
int
Да
Уникальный ID сервера
code
int
Код статуса
exists
bool
Проверка, что рынок существует
market
object
Рынок
market.offers
array
Предложения аренды для сервера
market.offers[x].offer_id
int
Уникальный ID предложения
market.offers[x].bid
float
Предложенная цена за день
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
Сервер онлайн
auth
string
Да
API токен
Content-type
string
Да
Должно быть application/json
name
string
Да
Выбранное пользователем имя сервера
availability
bool
Да
Может ли сервер быть арендован
mrl
int
Да
Максимальная длина аренды сервера
on_demand
float
Да
Цена за день аренды сервера по требованию
spot
float
Да
Минимальная цена за день аренды на SPOT-рынке
code
int
Код статуса
auth
string
Да
API токен
Content-type
string
Да
Должно быть application/json
order_id
int
Да
Уникальный ID предложения
desired_price
float
Да
Желаемая цена за день аренды
code
int
Код статуса
error
string
Описание ошибки
max_step
float
Наименьшее значение, до которого можно снизить цену
code
int
Код статуса
error
string
Описание ошибки
time_to_lowering
float
Оставшееся время (в секундах) до возможности повторного снижения цены
auth
string
Да
API токен
Content-type
string
Да
Должно быть application/json
id
int
Да
Уникальный ID заказа/предложения
issue
string
Нет
Если возникли проблемы с сервером, можно сообщить их команде clore.ai (максимум 2048 символов)
code
int
Код статуса
auth
string
Да
API токен
Content-type
string
Да
Должно быть application/json
currency
string
Да
Название валюты
image
string
Да
Действительный образ с DockerHub
renting_server
int
Да
ID сервера, который вы хотите арендовать
type
string
Да
on-demand или spot
spotprice
float
Зависит от типа
Цена за день на SPOT-рынке, обязательна при создании SPOT-заказа
ports
object
Нет
Конфигурация перенаправления портов, максимум 5 записей
env
object
Нет
Переменные окружения, ограничение — 12000 символов, после приведения к строке
jupyter_token
string
Нет
Токен Jupyter для образов с Jupyter Notebook, максимум 32 символа *
ssh_key
string
Нет
SSH-ключ для образов с SSH, максимум 3072 символа *
ssh_password
string
Нет
SSH-пароль для образов с SSH, максимум 32 символа *
command
string
Нет
Команда, которая будет выполнена на сервере после создания заказа
required_price
float
Нет
Укажите цену для начала заказа; если владелец изменит цену, заказ не запустится (только on-demand)
autossh_entrypoint
bool
Нет
Использовать точку входа clore.ai, которая автоматически развертывает SSH-сервер и скрипт /root/onstart.sh
code
int
Код статуса