API

Introducción
CLORE.AI la API se puede usar para automatizar despliegues de tus cargas de trabajo en CLORE.AI
Primero necesitas obtener una clave de API

Respuestas de la API
Las respuestas se devuelven en formato JSON, pueden tener diferentes campos
El campo siempre devuelto es code, que indica el estado
campo code
0
NORMAL
1
ERROR DE BASE DE DATOS
2
DATOS DE ENTRADA NO VÁLIDOS
3
TOKEN DE API INVÁLIDO
4
ENDPOINT INVÁLIDO
5
SE EXCEDIÓ el límite de 1 solicitud/segundo
6
Error especificado en error campo
Endpoints
1. carteras
carterasAcerca de
Devuelve carteras y saldos
Encabezados
auth
cadena
Sí
Token de API
Salida
código
int
Código de estado
carteras
[]string
Array de carteras
Ejemplo
Entrada:
Salida:
2. mis_servidores
mis_servidoresAcerca de
Devuelve tus servidores que estás proporcionando a clore.ai mercado
Encabezados
auth
cadena
Sí
Token de API
Salida
código
int
Código de estado
límite
int
Número máximo de servidores que puedes poseer
servidores
[]string
Array de servidores
servers[x].name
cadena
Nombre de servidor seleccionado por el usuario
servers[x].visibility
cadena
Visibilidad en el marketplace
servers[x].pricing
[]string
Precio/día bajo demanda
servers[x].online
bool
Si el servidor está en línea
servers[x].min_spot_pricing
[]string
Precio mínimo/día para alquilar en el mercado spot
servers[x].init_token
cadena
Token de inicialización
servers[x].specs
[]string
Especificaciones del servidor
Ejemplo
Entrada:
Salida:
*USD aún no implementado
3. configuración_servidor
configuración_servidorAcerca de
Obtener configuración de un servidor específico
Encabezados
auth
cadena
Sí
Token de API
Content-type
cadena
Sí
Debe ser application/json
Cuerpo
server_name
cadena
Sí
Nombre del servidor
Salida
código
int
Código de estado
creation_completed
bool
Si la creación del servidor está completa
config
[]string
Configuración del servidor
config.name
cadena
Nombre de servidor seleccionado por el usuario
config.visibility
cadena
Visibilidad en el marketplace
config.pricing
[]string
Precio/día bajo demanda
config.spot_pricing
[]string
Precio mínimo/día para alquilar en el mercado spot
config.mrl
int
Duración máxima de alquiler en horas
config.online
bool
Si el servidor está en línea
config.id
int
ID único del servidor
config.rental_status
int
0 - no alquilado | 1 - Alquilado en mercado spot | 2 - Alquilado On Demand
config.specs
[]string
Especificaciones del servidor
config.background_job
[]string
Trabajo en segundo plano cuando no está alquilado
Ejemplo
Entrada:
Salida:
*USD aún no implementado
4. mercado
mercadoAcerca de
Obtener marketplace
Encabezados
auth
cadena
Sí
Token de API
Salida
código
int
Código de estado
mis_servidores
[]string
Array de IDs de servidores que estás proporcionando a clore.ai (no pueden ser alquilados)
servidores
[]string
Array de servidores públicos en el marketplace
servers[x].id
int
ID único del servidor
servers[x].owner
int
ID único del propietario
servers[x].mrl
int
Duración máxima de alquiler en horas
servers[x].price.on_demand
[]string
Precio on demand por día
servers[x].spot
[]string
Precio mínimo por día en el mercado spot
servers[x].rented
bool
Si el servidor está alquilado on demand
servers[x].specs
[]string
Especificaciones del servidor
Ejemplo
Obtener marketplace
Entrada:
Salida:
5. mis_pedidos
mis_pedidosAcerca de
Obtener tus pedidos
Encabezados
auth
cadena
Sí
Token de API
Cadena de consulta
return_completed
bool
No
Devolver pedidos completados (expirados)
Salida
código
int
Código de estado
límite
int
Cuenta máxima de pedidos activos
pedidos
[]string
Array de pedidos
orders[x].id
int
ID único del pedido
orders[x].price
float
Precio (coste) del pedido por día
orders[x].mrl
int
Duración máxima del alquiler del pedido en segundos
orders[x].image
cadena
Imagen docker usada
orders[x].currency
cadena
Moneda usada para facturación
orders[x].spend
float
Dinero gastado en el pedido
orders[x].ct
int
Hora de creación (tiempo UNIX)
orders[x].p
int
Cluster proxy actualmente usado
orders[x].specs
[]string
Especificaciones del servidor
orders[x].si
int
ID único del servidor
orders[x].pub_cluster
[]string
Endpoints públicos con puertos reenviados
orders[x].tcp_ports
[]string
Reenvío de puertos TCP
orders[x].http_port
cadena
Puerto del contenedor reenviado a través de proxy HTTPS
orders[x].spot
bool
Indicación de que es un pedido spot
orders[x].expired
bool
Indicación de que el pedido ha expirado
Entrada:
Salida:
6. mercado_spot
mercado_spotAcerca de
Obtener mercado spot para un servidor específico
Encabezados
auth
cadena
Sí
Token de API
Cadena de consulta
mercado
int
Sí
ID único del servidor
Salida
código
int
Código de estado
existe
bool
Verificación de que el mercado existe
mercado
objeto
Mercado
market.offers
array
Ofertas de alquiler para el servidor
market.offers[x].offer_id
int
ID único de la oferta
market.offers[x].bid
float
Precio ofrecido por día
market.offers[x].active
bool
Esta oferta se está usando actualmente
market.offers[x].my
bool
Esta oferta me pertenece
market.server
objeto
Información del servidor
market.server.min_pricing
objeto
Precio mínimo de oferta por día
market.server.mrl
int
Duración máxima de alquiler en segundos
market.server.visibility
cadena
Puedes crear ofertas solo cuando la visibilidad es pública
market.server.online
bool
El servidor está en línea
Entrada:
Salida:
7. establecer_configuración_servidor
establecer_configuración_servidorAcerca de
Configurar ajustes del servidor que estás proporcionando en clore.ai mercado
Encabezados
auth
cadena
Sí
Token de API
Content-type
cadena
Sí
Debe ser application/json
Cuerpo
nombre
cadena
Sí
Nombre de servidor seleccionado por el usuario
disponibilidad
bool
Sí
¿Puede el servidor ser alquilado?
mrl
int
Sí
Duración máxima de alquiler del servidor
on_demand
float
Sí
Precio por día para tu servidor on demand
spot
float
Sí
Precio mínimo por día para oferta SPOT
Salida
código
int
Código de estado
Ejemplo
Vamos a crear una prueba de envío para una transacción enviada desde la cartera actual.
Entrada:
Salida:
8. establecer_precio_spot
establecer_precio_spotAcerca de
Establecer precio por día en tu oferta del mercado SPOT
Encabezados
auth
cadena
Sí
Token de API
Content-type
cadena
Sí
Debe ser application/json
Cuerpo
order_id
int
Sí
ID único de la oferta
desired_price
float
Sí
El precio ofrecido por día
Ejemplo
Intentemos actualizar el precio del mercado spot
Entrada 1 (La reducción fue demasiado grande):
Salida posible 1 (La reducción fue demasiado grande): Puedes bajar el precio de la oferta spot como máximo en 0.00000100 ₿
código
int
Código de estado
error
cadena
Campo de descripción del error
max_step
float
Valor más bajo al que puedes bajar actualmente el precio
Entrada 2 (Paso de reducción válido):
Salida posible 2 (Paso de reducción válido):
Entrada 3 (Bajar el precio aún más después de enviar la Entrada 2):
Salida posible 3 (Bajar el precio aún más después de enviar la Entrada 2): Puedes bajar el precio spot una vez cada 600 segundos
código
int
Código de estado
error
cadena
Campo de descripción del error
time_to_lowering
float
Tiempo restante (seg) hasta la próxima posibilidad de bajar el precio
9. cancelar_pedido
cancelar_pedidoAcerca de
Establecer precio por día en tu oferta del mercado SPOT
Encabezados
auth
cadena
Sí
Token de API
Content-type
cadena
Sí
Debe ser application/json
Cuerpo
id
int
Sí
ID único de pedido/oferta
incidencia
cadena
No
Si has encontrado algún problema con el servidor puedes reportarlo al clore.ai equipo, máximo 2048 caracteres
Salida
código
int
Código de estado
Ejemplo
Cancelar pedido/oferta
Entrada: En este ejemplo estamos reportando problemas con la GPU #1, si no tienes problemas, no incluyas el campo issue. Puedes escribir cualquier mensaje en el campo de texto y lo investigaremos
Salida:
10. crear_pedido
crear_pedidoAcerca de
Puedes crear una oferta spot o un pedido on demand con este endpoint Este endpoint también permite solo 1 solicitud cada 5 segundos
Encabezados
auth
cadena
Sí
Token de API
Content-type
cadena
Sí
Debe ser application/json
Cuerpo
moneda
cadena
Sí
Nombre de la moneda
imagen
cadena
Sí
Imagen válida de dockerhub
servidor_a_alquilar
int
Sí
ID del servidor que quieres alquilar
tipo
cadena
Sí
on-demand O spot
precio_spot
float
Depende
Precio ofrecido por día en el mercado spot, requerido al crear una orden spot
puertos
objeto
No
Configuración de reenvío de puertos, máximo 5 registros
env
objeto
No
Variables de entorno, limitadas a 12000 caracteres en total cuando se convierten a cadena. Nombre de variable - máximo 128 símbolos Valor de variable - máximo 1536 símbolos
jupyter_token
cadena
No
Token de Jupyter para imágenes que tienen notebooks jupyter, máximo 32 caracteres *
ssh_key
cadena
No
Clave SSH para imágenes con SSH, máximo 3072 caracteres *
ssh_password
cadena
No
Contraseña SSH para imágenes con SSH, máximo 32 caracteres *
comando
cadena
No
El comando se ejecutará en el servidor después de la creación del pedido
required_price
float
No
Especifica el precio por el que quieres iniciar el pedido, si el propietario de la máquina cambia el precio, entonces el pedido no comenzará (solo on demand)
autossh_entrypoint
bool
No
Usar el entrypoint de clore.ai, que despliega automáticamente el servidor SSH y personalizado /root/onstart.sh script
* A los campos marcados con estrella solo puedes introducir caracteres de este grupo regexp /^[a-zA-Z0-9\s-=.@+/]+$/
Salida
código
int
Código de estado
Ejemplo
Entrada 1 (Crear oferta spot):
Salida 1 (Crear oferta spot):
Entrada 2 (Crear pedido on demand):
Salida 2 (Crear pedido on demand):
Última actualización
¿Te fue útil?