> 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-eng-es/para-hosts/api.md).

# API

> 💡 **Desarrolladores de Python:** Utilice el SDK oficial [SDK de Python de clore-ai](/clore.ai/clore.ai-eng-es/desarrolladores/python-sdk.md) en lugar de llamadas API directas. Gestiona automáticamente la autenticación, la limitación de tasa, los reintentos y el manejo de errores.
>
> **Inicio rápido:** `pip install clore-ai` — Consulte la [documentación del SDK de Python](/clore.ai/clore.ai-eng-es/desarrolladores/python-sdk.md) y [Referencia de la CLI](/clore.ai/clore.ai-eng-es/desarrolladores/cli-guide.md).

> 🧭 ¿Prefiere una referencia navegable? Abra la documentación interactiva de la API en [clore.ai/api-docs](https://clore.ai/api-docs). URL base para todos los endpoints de esta página: `https://api.clore.ai/v1/`.

<div data-full-width="true"><figure><img src="/files/2151da49bcd628b82151b01acb79279059a6758b" alt=""><figcaption></figcaption></figure></div>

### Introducción <a href="#introduction" id="introduction"></a>

[CLORE.AI](http://clore.ai/) la API se puede usar para automatizar despliegues de sus cargas de trabajo en [CLORE.AI](http://clore.ai/)

Primero necesita obtener una clave API\
![alt text](https://clore.ai/assets/html/api-export1.png)\
![alt text](https://clore.ai/assets/html/api-export2.png)

***

### Respuestas de la API <a href="#api-responses" id="api-responses"></a>

Las respuestas se devuelven en formato JSON y pueden tener distintos campos

El campo que siempre se devuelve es code, que indica el estado

**campo code**

| code | Descripción                                    |
| ---- | ---------------------------------------------- |
| `0`  | NORMAL                                         |
| `1`  | ERROR DE BASE DE DATOS                         |
| `2`  | DATOS DE ENTRADA NO VÁLIDOS                    |
| `3`  | TOKEN DE API NO VÁLIDO                         |
| `4`  | ENDPOINT NO VÁLIDO                             |
| `5`  | Se superó el límite de 1 solicitud por segundo |
| `6`  | Error especificado en `error` campo            |

***

### Endpoints <a href="#endpoints" id="endpoints"></a>

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

**Acerca de**

Devuelve las carteras y los saldos

**Encabezados**

| Campo  | Tipo     | Obligatorio | Descripción  |
| ------ | -------- | ----------- | ------------ |
| `auth` | `cadena` | Sí          | token de API |

**Salida**

| Campo      | Tipo       | Descripción       |
| ---------- | ---------- | ----------------- |
| `code`     | `entero`   | Código de estado  |
| `carteras` | `[]cadena` | Array de carteras |

**Ejemplo**

**Entrada:**

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

**Salida:**

```
{
  "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>

**Acerca de**

Devuelve sus servidores que está ofreciendo en [clore.ai](http://clore.ai/) mercado

**Encabezados**

| Campo  | Tipo     | Obligatorio | Descripción  |
| ------ | -------- | ----------- | ------------ |
| `auth` | `cadena` | Sí          | token de API |

**Salida**

| Campo                                 | Tipo       | Descripción                                                                                                                                         |
| ------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                                | `entero`   | Código de estado                                                                                                                                    |
| `limit`                               | `entero`   | Número máximo de servidores que puede tener                                                                                                         |
| `servers`                             | `[]cadena` | Array de servidores                                                                                                                                 |
| `servers[x].name`                     | `cadena`   | Nombre del servidor seleccionado por el usuario                                                                                                     |
| `servers[x].connected`                | `cadena`   | ¿El servidor estuvo conectado alguna vez? [clore.ai](http://clore.ai/)                                                                              |
| `servers[x].visibility`               | `cadena`   | Visibilidad en el mercado                                                                                                                           |
| `servers[x].pricing`                  | `[]cadena` | Precio/día bajo demanda                                                                                                                             |
| `servers[x].online`                   | `bool`     | ¿El servidor está en línea?                                                                                                                         |
| `servers[x].min_spot_pricing`         | `[]cadena` | Precio mínimo/día para alquilar en el mercado spot                                                                                                  |
| `servers[x].init_token`               | `cadena`   | Token de registro de la máquina, devuelto solo hasta que la máquina se inicializa — **trátelo como una credencial**, registra máquinas en su cuenta |
| `servers[x].specs`                    | `[]cadena` | Especificaciones del servidor                                                                                                                       |
| `servers[x].remaining_time`           | `entero`   | Hora de finalización del alquiler del último pedido activo (epoch en ms)                                                                            |
| `servers[x].rental_state`             | `cadena`   | Estado agregado del alquiler de GPU: `ninguno`, `parcial`, o `completo`                                                                             |
| `servers[x].rented_gpus`              | `entero`   | GPU actualmente alquiladas en pedidos activos                                                                                                       |
| `servers[x].total_gpus`               | `entero`   | Total de GPU en el servidor                                                                                                                         |
| `servers[x].rented_price_by_currency` | `objeto`   | Suma de los precios de los pedidos activos agrupados por moneda                                                                                     |
| `servers[x].update_channel`           | `cadena`   | Canal de actualización del agente de alojamiento: `estable` o `beta`                                                                                |
| `servers[x].requested_channel`        | `cadena`   | Cambio de canal solicitado desde la interfaz web (solo presente cuando se solicita)                                                                 |
| `servers[x].target_backend_version`   | `entero`   | Versión de backend a la que apunta el canal actual                                                                                                  |

> Los campos de estado de alquiler (`remaining_time`, `rental_state`, `rented_gpus`, `total_gpus`, `rented_price_by_currency`) solo están presentes mientras el servidor tenga un pedido activo.

**Ejemplo**

**Entrada:**

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

**Salida:**

```
{
  "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
}
```

Los valores en USD en `pricing` objetos reflejan el modo de precios basado en USD cuando el anfitrión lo habilitó.

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

**Acerca de**

Obtiene la configuración de un servidor específico

**Encabezados**

| Campo               | Tipo     | Obligatorio | Descripción                 |
| ------------------- | -------- | ----------- | --------------------------- |
| `auth`              | `cadena` | Sí          | token de API                |
| `Tipo de contenido` | `cadena` | Sí          | Debe ser `application/json` |

**Cuerpo**

| Campo         | Tipo     | Obligatorio | Descripción         |
| ------------- | -------- | ----------- | ------------------- |
| `server_name` | `cadena` | Sí          | Nombre del servidor |

**Salida**

| Campo                   | Tipo                 | Descripción                                                                                                     |
| ----------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------- |
| `code`                  | `entero`             | Código de estado                                                                                                |
| `creation_completed`    | `bool`               | ¿La creación del servidor ha finalizado?                                                                        |
| `config`                | `[]cadena`           | Configuración del servidor                                                                                      |
| `config.name`           | `cadena`             | Nombre del servidor seleccionado por el usuario                                                                 |
| `config.connected`      | `bool`               | ¿El servidor estuvo conectado alguna vez? [clore.ai](http://clore.ai/)                                          |
| `config.visibility`     | `cadena`             | Visibilidad en el mercado                                                                                       |
| `config.pricing`        | `[]cadena`           | Precio/día bajo demanda                                                                                         |
| `config.spot_pricing`   | `[]cadena`           | Precio mínimo/día para alquilar en el mercado spot                                                              |
| `config.mrl`            | `entero`             | Duración máxima del alquiler en horas                                                                           |
| `config.online`         | `bool`               | ¿El servidor está en línea?                                                                                     |
| `config.initialized`    | `bool`               | ¿El servidor estuvo conectado alguna vez? [clore.ai](http://clore.ai/)                                          |
| `config.id`             | `entero`             | ID único del servidor                                                                                           |
| `config.rental_status`  | `entero`             | 0 - no alquilado \| 1 - alquilado en el mercado spot \| 2 - alquilado bajo demanda \| 3 - alquiler con USD fijo |
| `config.specs`          | `[]cadena`           | Especificaciones del servidor                                                                                   |
| `config.background_job` | `objeto`             | Tarea en segundo plano cuando no está alquilado: `image`, `command`, `env`, `times_updated`                     |
| `config.autoprice`      | `objeto` \| `cadena` | Configuración de auto-precios por moneda (los valores de cadena heredados `"pow"` / `"usd"` también aparecen)   |
| `config.usd_pricing`    | `objeto`             | Objetivos de precio en USD — presentes solo cuando el auto-precio en USD está habilitado                        |
| `config.tenants`        | `[]objeto`           | Pedidos activos en el servidor: `rental_type`, `currency`, `price`, `remaining_time`, `gpu_count`               |

> `server_config` también devuelve los mismos campos de estado de alquiler y canal de actualización que `my_servers`: `remaining_time`, `rental_state`, `rented_gpus`, `total_gpus`, `rented_price_by_currency`, `update_channel`, `requested_channel`, `target_backend_version`. En ambos endpoints, los campos de estado de alquiler solo están presentes mientras el servidor tenga un pedido activo.

**Ejemplo**

**Entrada:**

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

**Salida:**

```
{
  "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
}
```

Los valores en USD en `pricing` objetos reflejan el modo de precios basado en USD cuando el anfitrión lo habilitó.

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

**Acerca de**

Obtiene el mercado

**Encabezados**

| Campo  | Tipo     | Obligatorio | Descripción  |
| ------ | -------- | ----------- | ------------ |
| `auth` | `cadena` | Sí          | token de API |

**Salida**

| Campo                           | Tipo               | Descripción                                                                                                             |
| ------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| `code`                          | `entero`           | Código de estado                                                                                                        |
| `my_servers`                    | `[]cadena`         | Array de IDs de servidores que está ofreciendo en [clore.ai](http://clore.ai/) (no se pueden alquilar)                  |
| `servers`                       | `[]cadena`         | Array de servidores públicos en el mercado                                                                              |
| `servers[x].id`                 | `entero`           | ID único del servidor                                                                                                   |
| `servers[x].owner`              | `entero`           | ID único del propietario                                                                                                |
| `servers[x].mrl`                | `entero`           | Duración máxima del alquiler en horas                                                                                   |
| `servers[x].price.on_demand`    | `[]cadena`         | Precio por día bajo demanda                                                                                             |
| `servers[x].price.spot`         | `[]cadena`         | Precio mínimo por día en el mercado spot                                                                                |
| `servers[x].rented`             | `bool`             | ¿El servidor está alquilado bajo demanda?                                                                               |
| `servers[x].specs`              | `[]cadena`         | Especificaciones del servidor                                                                                           |
| `servers[x].partial_gpu_rental` | `objeto` \| `bool` | `false` cuando el alquiler parcial no está disponible; en caso contrario `{ total_gpus, available_gpus, free_indices }` |

> `price.on_demand` y `price.spot` incluya solo las monedas que cada servidor realmente acepta — un servidor sin un precio en alguna moneda no puede alquilarse en ella.

**Ejemplo**

Obtiene el mercado

**Entrada:**

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

**Salida:**

```
{
  "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>

**Acerca de**

Obtenga sus pedidos

**Encabezados**

| Campo  | Tipo     | Obligatorio | Descripción  |
| ------ | -------- | ----------- | ------------ |
| `auth` | `cadena` | Sí          | token de API |

**Cadena de consulta**

| Campo              | Tipo   | Obligatorio | Descripción                                  |
| ------------------ | ------ | ----------- | -------------------------------------------- |
| `return_completed` | `bool` | No          | Devuelve los pedidos completados (caducados) |

**Salida**

| Campo                                                      | Tipo       | Descripción                                                                                                                                                                                     |
| ---------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                                                     | `entero`   | Código de estado                                                                                                                                                                                |
| `limit`                                                    | `entero`   | Número máximo de pedidos activos                                                                                                                                                                |
| `orders`                                                   | `[]cadena` | Array de pedidos                                                                                                                                                                                |
| `orders[x].id`                                             | `entero`   | ID único del pedido                                                                                                                                                                             |
| `orders[x].fee`                                            | `flotante` | Tarifa (%) pagada a [clore.ai](http://clore.ai/)                                                                                                                                                |
| `orders[x].creation_fee`                                   | `flotante` | Tarifa de creación pagada a [clore.ai](http://clore.ai/)                                                                                                                                        |
| `orders[x].price`                                          | `flotante` | Precio del pedido (coste) por día                                                                                                                                                               |
| `orders[x].mrl`                                            | `entero`   | Duración máxima del alquiler del pedido en segundos                                                                                                                                             |
| `orders[x].image`                                          | `cadena`   | Imagen de Docker utilizada                                                                                                                                                                      |
| `orders[x].currency`                                       | `cadena`   | Moneda utilizada para la facturación                                                                                                                                                            |
| `orders[x].spend`                                          | `flotante` | Importe real debitado hasta ahora: valor acumulado del alquiler más la tarifa base del arrendatario (después de la reducción PoH) y cualquier tarifa extra; excluye la tarifa única de creación |
| `orders[x].gpu_count`                                      | `entero`   | Número de GPU que ocupa el pedido (pedidos bajo demanda; equivale al total de GPU del rig salvo que sea un alquiler parcial)                                                                    |
| `orders[x].ct`                                             | `entero`   | Hora de creación (tiempo UNIX)                                                                                                                                                                  |
| `orders[x].p`                                              | `entero`   | Clúster de proxy actualmente utilizado                                                                                                                                                          |
| `orders[x].specs`                                          | `[]cadena` | Especificaciones del servidor                                                                                                                                                                   |
| `orders[x].si`                                             | `entero`   | ID único del servidor                                                                                                                                                                           |
| `Endpoints públicos con puertos reenviados`                | `[]cadena` | orders\[x].tcp\_ports                                                                                                                                                                           |
| `Reenvío de puertos TCP`                                   | `[]cadena` | orders\[x].http\_port                                                                                                                                                                           |
| `Puerto del contenedor reenviado a través del proxy HTTPS` | `cadena`   | orders\[x].spot                                                                                                                                                                                 |
| `Indicación de que es un pedido spot`                      | `bool`     | orders\[x].expired                                                                                                                                                                              |
| `Indicación de que el pedido ha expirado`                  | `bool`     | curl -XGET -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' '<https://api.clore.ai/v1/my\\_orders?return\\_completed=true>'                                                                          |

**Entrada:**

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

**Salida:**

```
{
  "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>

**Acerca de**

Obtener el marketplace spot para un servidor específico

**Encabezados**

| Campo  | Tipo     | Obligatorio | Descripción  |
| ------ | -------- | ----------- | ------------ |
| `auth` | `cadena` | Sí          | token de API |

**Cadena de consulta**

| Campo     | Tipo     | Obligatorio | Descripción           |
| --------- | -------- | ----------- | --------------------- |
| `mercado` | `entero` | Sí          | ID único del servidor |

**Salida**

| Campo                          | Tipo       | Descripción                                                            |
| ------------------------------ | ---------- | ---------------------------------------------------------------------- |
| `code`                         | `entero`   | Código de estado                                                       |
| `existe`                       | `bool`     | Verificación de que el mercado existe                                  |
| `mercado`                      | `objeto`   | Mercado                                                                |
| `market.offers`                | `arreglo`  | Ofertas de alquiler para el servidor                                   |
| `market.offers[x].offer_id`    | `entero`   | ID de oferta único                                                     |
| `market.offers[x].bid`         | `flotante` | Precio ofrecido por día (en la moneda de la oferta)                    |
| `market.offers[x].currency`    | `cadena`   | Moneda de la oferta                                                    |
| `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, por moneda aceptada                   |
| `market.server.mrl`            | `entero`   | Longitud máxima de alquiler en **horas**                               |
| `market.server.visibility`     | `cadena`   | Solo puedes crear ofertas cuando la visibilidad es pública             |
| `market.server.online`         | `bool`     | El servidor está en línea                                              |
| `market.currency_rates_in_usd` | `objeto`   | Tipos de cambio USD en vivo usados para comparar ofertas entre monedas |

> Las ofertas pueden hacerse en cualquier moneda que acepte el servidor; las ofertas competidoras se comparan por su **valor en USD** (usando `currency_rates_in_usd`), no por su valor nominal.
>
> ⚠️ **Cambiado en agosto de 2026:** `market.server.mrl` ahora se devuelve en **horas** (antes en segundos). Un valor que mostraba `262800` ahora dice `73`.

**Entrada:**

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

**Salida:**

```
{
  "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>

**Acerca de**

Configura los ajustes del servidor que estás ofreciendo en [clore.ai](http://clore.ai/) mercado

**Encabezados**

| Campo               | Tipo     | Obligatorio | Descripción                 |
| ------------------- | -------- | ----------- | --------------------------- |
| `auth`              | `cadena` | Sí          | token de API                |
| `Tipo de contenido` | `cadena` | Sí          | Debe ser `application/json` |

**Cuerpo**

| Campo                        | Tipo       | Obligatorio | Descripción                                                                                                                                                       |
| ---------------------------- | ---------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `nombre`                     | `cadena`   | Sí          | Nombre del servidor seleccionado por el usuario                                                                                                                   |
| `disponibilidad`             | `bool`     | Sí          | ¿Puede alquilarse el servidor?                                                                                                                                    |
| `mrl`                        | `entero`   | Sí          | Longitud máxima de alquiler del servidor en **horas** (6 a 3000)                                                                                                  |
| `bitcoin_on_demand`          | `flotante` | Sí          | Precio bajo demanda en BTC por día                                                                                                                                |
| `bitcoin_spot`               | `flotante` | Sí          | Precio mínimo spot en BTC por día                                                                                                                                 |
| `CLORE-Blockchain_on_demand` | `flotante` | No          | Precio bajo demanda en CLORE por día                                                                                                                              |
| `CLORE-Blockchain_spot`      | `flotante` | No          | Precio mínimo spot en CLORE por día                                                                                                                               |
| `USD-Blockchain_on_demand`   | `flotante` | No          | Precio bajo demanda en USD por día                                                                                                                                |
| `USD-Blockchain_spot`        | `flotante` | No          | Precio mínimo spot en USD por día                                                                                                                                 |
| `enabled-bitcoin`            | `bool`     | No\*        | Aceptar Bitcoin para este servidor                                                                                                                                |
| `enabled-CLORE-Blockchain`   | `bool`     | No\*        | Aceptar CLORE para este servidor                                                                                                                                  |
| `enabled-USD-Blockchain`     | `bool`     | No\*        | Aceptar stablecoins USD para este servidor                                                                                                                        |
| `autoprice`                  | `objeto`   | No          | Autopreciación por moneda: establece una clave de moneda (`bitcoin`, `CLORE-Blockchain`) a `"usd"` para autopreciación basada en USD o `false` para precios fijos |
| `usd_pricing`                | `objeto`   | No          | Objetivos de precio en USD por moneda, p. ej. `{ "bitcoin": { "on_demand": 10, "spot": 5 } }` — se usa solo para monedas con `autoprice` establecido en `"usd"`   |

> \* **La lista de monedas aceptadas se reconstruye a partir de los `enabled-*` indicadores en cada llamada.** Una moneda sin su `enabled-<currency>: true` indicador (o sin un precio válido) se elimina de las monedas aceptadas del servidor — omitir todos los indicadores deja el servidor sin posibilidad de alquiler en cualquier moneda. Envía siempre `enabled-<currency>: true` para cada moneda que quieras seguir aceptando.
>
> Los precios por día tienen límites por moneda: 0.000001–0.015 BTC, 0.1–600,000 CLORE, 0.1–1,000 USD.
>
> Cuando una moneda tiene autoprecio en USD, su precio cripto listado se deriva de `usd_pricing` al tipo de cambio en vivo (se recalcula aproximadamente cada 10 minutos) y cualquier `<currency>_on_demand` / `<currency>_spot` valor enviado para ella se ignora. Los `usd_pricing` objetivos son cifras de $/día para todo el servidor validadas frente al rango en USD (0.1–1,000); los valores fuera de rango se ajustan al límite más cercano.

**Salida**

| Campo  | Tipo     | Descripción      |
| ------ | -------- | ---------------- |
| `code` | `entero` | Código de estado |

**Ejemplo**

Vamos a crear una prueba de envío para una transacción enviada desde la cartera actual.

**Entrada:**

```
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'
```

**Salida:**

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

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

**Acerca de**

Establece el precio por día de tu oferta del mercado SPOT

**Encabezados**

| Campo               | Tipo     | Obligatorio | Descripción                 |
| ------------------- | -------- | ----------- | --------------------------- |
| `auth`              | `cadena` | Sí          | token de API                |
| `Tipo de contenido` | `cadena` | Sí          | Debe ser `application/json` |

**Cuerpo**

| Campo           | Tipo       | Obligatorio | Descripción                |
| --------------- | ---------- | ----------- | -------------------------- |
| `order_id`      | `entero`   | Sí          | ID de oferta único         |
| `desired_price` | `flotante` | Sí          | Tu precio ofrecido por día |

> **Un precio por debajo del suelo spot actual del servidor** se rechaza con el mínimo actual incluido:
>
> ```
> { "error": "amount_too_low", "min_price": 0.0000012, "code": 6 }
> ```

**Ejemplo**

Intentemos actualizar el precio del mercado spot

**Entrada 1 (La reducción fue demasiado grande):**

```
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'
```

**Posible salida 1 (La reducción fue demasiado grande):**\
Puedes bajar el precio de la oferta del mercado spot en un máximo de 0.00000100 ₿

| Campo      | Tipo       | Descripción                                                    |
| ---------- | ---------- | -------------------------------------------------------------- |
| `code`     | `entero`   | Código de estado                                               |
| `error`    | `cadena`   | Campo de descripción del error                                 |
| `max_step` | `flotante` | Valor mínimo hasta el que puedes rebajar el precio actualmente |

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

**Entrada 2 (Reducción de precio válida):**

```
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'
```

**Posible salida 2 (Reducción de precio válida):**

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

**Entrada 3 (Bajar el precio aún más después de enviar la Entrada 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
```

**Posible salida 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

| Campo              | Tipo       | Descripción                                                           |
| ------------------ | ---------- | --------------------------------------------------------------------- |
| `code`             | `entero`   | Código de estado                                                      |
| `error`            | `cadena`   | Campo de descripción del error                                        |
| `time_to_lowering` | `flotante` | Tiempo restante (seg) hasta la próxima posibilidad de bajar el precio |

```
{
    "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>

**Acerca de**

Cancela una orden activa o una oferta spot

**Encabezados**

| Campo               | Tipo     | Obligatorio | Descripción                 |
| ------------------- | -------- | ----------- | --------------------------- |
| `auth`              | `cadena` | Sí          | token de API                |
| `Tipo de contenido` | `cadena` | Sí          | Debe ser `application/json` |

**Cuerpo**

| Campo   | Tipo     | Obligatorio | Descripción                                                                                                                        |
| ------- | -------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `id`    | `entero` | Sí          | ID único de la orden/oferta                                                                                                        |
| `issue` | `cadena` | No          | Si has encontrado algún problema con el servidor, puedes reportarlo al [clore.ai](http://clore.ai/) equipo, máximo 2048 caracteres |

**Salida**

| Campo  | Tipo     | Descripción      |
| ------ | -------- | ---------------- |
| `code` | `entero` | Código de estado |

**Ejemplo**

Cancelar orden/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

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "id":39,
    "issue":"La GPU #1 se estaba sobrecalentando y reduciendo su rendimiento"
}' 'https://api.clore.ai/v1/cancel_order'
```

**Salida:**

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

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

**Acerca de**

Puedes crear una oferta spot o una orden bajo demanda con este endpoint

**Encabezados**

| Campo               | Tipo     | Obligatorio | Descripción                 |
| ------------------- | -------- | ----------- | --------------------------- |
| `auth`              | `cadena` | Sí          | token de API                |
| `Tipo de contenido` | `cadena` | Sí          | Debe ser `application/json` |

**Cuerpo**

| Campo                | Tipo       | Obligatorio | Descripción                                                                                                                                                                                                                                                                                                     |
| -------------------- | ---------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `currency`           | `cadena`   | Sí          | Nombre de la moneda                                                                                                                                                                                                                                                                                             |
| `image`              | `cadena`   | Sí          | Imagen válida de dockerhub                                                                                                                                                                                                                                                                                      |
| `renting_server`     | `entero`   | Sí          | ID del servidor que deseas alquilar                                                                                                                                                                                                                                                                             |
| `tipo`               | `cadena`   | Sí          | `bajo demanda` O `spot`                                                                                                                                                                                                                                                                                         |
| `spotprice`          | `flotante` | Depende     | Precio ofrecido por día en el mercado spot, requerido al hacer una orden spot                                                                                                                                                                                                                                   |
| `ports`              | `objeto`   | No          | Configuración de reenvío de puertos, máximo 5 registros                                                                                                                                                                                                                                                         |
| `env`                | `objeto`   | No          | <p>Variables de entorno, limitadas a 12288 caracteres en total al serializarse.<br>Nombre de variable: máximo 128 símbolos, no debe contener <code>-</code><br>Valor de variable: máximo 1536 símbolos<br>Solo se conservan las primeras 30 variables válidas; las adicionales se descartan silenciosamente</p> |
| `jupyter_token`      | `cadena`   | No          | Token de Jupyter para imágenes que tienen notebooks de 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 \*                                                                                                                                                                                                                                                   |
| `command`            | `cadena`   | No          | El comando se ejecutará en el servidor después de crear la orden                                                                                                                                                                                                                                                |
| `required_price`     | `flotante` | No          | Especifica el precio con el que quieres iniciar la orden; si el propietario de la máquina cambia el precio, la orden no se iniciará (solo bajo demanda)                                                                                                                                                         |
| `gpu_count`          | `entero`   | No          | Número de GPU que se alquilarán en servidores que admiten [alquiler parcial](/clore.ai/clore.ai-eng-es/para-arrendatarios/partial-gpu-rental.md). Omitir para alquilar el equipo completo. Solo bajo demanda, solo equipos homogéneos                                                                           |
| `gpu_indices`        | `[]int`    | No          | Índices de ranuras GPU basados en 0 para alquilar; la longitud debe ser igual a `gpu_count`. Toma las ranuras libres de `partial_gpu_rental.free_indices`. Omitir para que el backend elija las GPU libres automáticamente                                                                                      |
| `autossh_entrypoint` | `bool`     | No          | Usa el punto de entrada de clore.ai, que despliega automáticamente el servidor SSH y el script personalizado `/root/onstart.sh` script                                                                                                                                                                          |

\* En los campos marcados con asterisco solo puedes introducir caracteres de este grupo regexp `/^[a-zA-Z0-9\s-=.@+/]+$/`

**Salida**

| Campo  | Tipo     | Descripción      |
| ------ | -------- | ---------------- |
| `code` | `entero` | Código de estado |

> **Las ofertas spot por debajo del suelo del servidor** se rechazan con el mínimo actual incluido, así que puedes reintentar inmediatamente:
>
> ```
> { "error": "too_low_price", "min_price": 0.0000012, "code": 6 }
> ```
>
> El suelo se recalcula a partir de las cotizaciones en vivo aproximadamente cada 10 minutos, por lo que un precio leído en el listado del marketplace puede estar algo desactualizado — usa siempre el `min_price` devuelto para el reintento.

**Ejemplo**

**Entrada 1 (Crear oferta spot):**

```
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'
```

**Salida 1 (Crear oferta spot):**

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

**Entrada 2 (Crear orden bajo demanda):**

```
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'
```

**Salida 2 (Crear orden bajo demanda):**

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

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

**Acerca de**

Obtén la configuración actual de comisiones: comisiones base del arrendatario, ajustes de reducción de comisión por PoH, comisiones por creación de órdenes y tu saldo PoH

**Encabezados**

| Campo  | Tipo     | Obligatorio | Descripción  |
| ------ | -------- | ----------- | ------------ |
| `auth` | `cadena` | Sí          | token de API |

**Salida**

| Campo                              | Tipo       | Descripción                                            |
| ---------------------------------- | ---------- | ------------------------------------------------------ |
| `code`                             | `entero`   | Código de estado                                       |
| `renter_fees.on_demand`            | `objeto`   | Comisión base (%) por moneda para órdenes bajo demanda |
| `renter_fees.spot`                 | `objeto`   | Comisión base (%) por moneda para órdenes spot         |
| `poh_config.max_reduction_percent` | `entero`   | Reducción máxima de la comisión base mediante PoH (%)  |
| `poh_config.max_poh_amount`        | `entero`   | Saldo PoH en el que se alcanza la reducción máxima     |
| `creation_fees.on_demand`          | `objeto`   | Comisión de creación de orden por moneda               |
| `creation_fees.spot`               | `objeto`   | Comisión de creación de orden spot por moneda          |
| `poh_balance`                      | `flotante` | Tu saldo PoH en CLORE                                  |

**Entrada:**

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

**Salida:**

```
{
  "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>

**Acerca de**

Cancela varias órdenes a la vez (hasta 256 por solicitud)

**Encabezados**

| Campo               | Tipo     | Obligatorio | Descripción                 |
| ------------------- | -------- | ----------- | --------------------------- |
| `auth`              | `cadena` | Sí          | token de API                |
| `Tipo de contenido` | `cadena` | Sí          | Debe ser `application/json` |

**Cuerpo**

| Campo       | Tipo    | Obligatorio | Descripción                           |
| ----------- | ------- | ----------- | ------------------------------------- |
| `order_ids` | `[]int` | Sí          | IDs de órdenes a cancelar, máximo 256 |

**Salida**

| Campo              | Tipo     | Descripción                                |
| ------------------ | -------- | ------------------------------------------ |
| `code`             | `entero` | Código de estado                           |
| `failed_to_cancel` | `[]int`  | IDs de órdenes que no se pudieron cancelar |

**Entrada:**

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

**Salida:**

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

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

**Acerca de**

Obtén tu saldo de Prueba de Tenencia: elementos, totales y montos de ofertas del Marketplace PoH

**Encabezados**

| Campo  | Tipo     | Obligatorio | Descripción  |
| ------ | -------- | ----------- | ------------ |
| `auth` | `cadena` | Sí          | token de API |

**Salida**

| Campo                                         | Tipo       | Descripción                               |
| --------------------------------------------- | ---------- | ----------------------------------------- |
| `code`                                        | `entero`   | Código de estado                          |
| `items`                                       | `[]objeto` | Tus elementos PoH con saldos individuales |
| `balance.total`                               | `flotante` | Saldo total de PoH en todos los elementos |
| `balance.free_amount`                         | `flotante` | Saldo PoH no comprometido en ofertas      |
| `balance.reward_amount`                       | `flotante` | Saldo elegible para recompensas           |
| `balance.offers.rented_amount`                | `flotante` | Cantidad alquilada a otros usuarios       |
| `balance.offers.rented_on_marketplace_amount` | `flotante` | Cantidad listada en el Marketplace PoH    |
| `balance.offers.leased_amount`                | `flotante` | Cantidad arrendada de otros usuarios      |

**Entrada:**

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

**Salida:**

```
{
  "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>

**Acerca de**

Obtén datos estáticos de configuración de la API. No se requiere autenticación

**Entrada:**

```
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>

**Acerca de**

Obtén nodos de relé de reenvío TCP para tu país detectado. No se requiere autenticación

**Salida**

| Campo     | Tipo     | Descripción               |
| --------- | -------- | ------------------------- |
| `code`    | `entero` | Código de estado          |
| `country` | `cadena` | Código de país detectado  |
| `nodes`   | `objeto` | Nodos de relé disponibles |

**Entrada:**

```
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-eng-es/para-hosts/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.
