> 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-fr/pour-les-hotes/api.md).

# API

> 💡 **Développeurs Python :** Utilisez le [SDK Python officiel clore-ai](/clore.ai/clore.ai-eng-fr/developpeurs/python-sdk.md) au lieu d’appels API bruts. Il gère automatiquement l’authentification, la limitation de débit, les tentatives et la gestion des erreurs.
>
> **Démarrage rapide :** `pip install clore-ai` — Consultez la [documentation du SDK Python](/clore.ai/clore.ai-eng-fr/developpeurs/python-sdk.md) et [Référence CLI](/clore.ai/clore.ai-eng-fr/developpeurs/cli-guide.md).

> 🧭 Vous préférez une référence navigable ? Ouvrez la documentation API interactive à [clore.ai/api-docs](https://clore.ai/api-docs). URL de base pour tous les points de terminaison de cette page : `https://api.clore.ai/v1/`.

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

### Introduction <a href="#introduction" id="introduction"></a>

[CLORE.AI](http://clore.ai/) l’API peut être utilisée pour automatiser le déploiement de vos charges de travail sur [CLORE.AI](http://clore.ai/)

Tout d’abord, vous devez obtenir une clé API\
![alt text](https://clore.ai/assets/html/api-export1.png)\
![alt text](https://clore.ai/assets/html/api-export2.png)

***

### Réponses de l’API <a href="#api-responses" id="api-responses"></a>

Les réponses sont renvoyées au format JSON et peuvent comporter différents champs

Le champ toujours renvoyé est code, indiquant le statut

**champ code**

| code | Description                                   |
| ---- | --------------------------------------------- |
| `0`  | NORMAL                                        |
| `1`  | ERREUR DE BASE DE DONNÉES                     |
| `2`  | DONNÉES D’ENTRÉE INVALIDES                    |
| `3`  | JETON API INVALIDE                            |
| `4`  | POINT DE TERMINAISON INVALIDE                 |
| `5`  | Limite de 1 requête/seconde dépassée          |
| `6`  | Erreur spécifiée dans le `champ erreur` champ |

***

### Points de terminaison <a href="#endpoints" id="endpoints"></a>

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

**À propos**

Renvoie les portefeuilles et les soldes

**En-têtes**

| Champ  | Type     | Obligatoire | Description |
| ------ | -------- | ----------- | ----------- |
| `auth` | `chaîne` | Oui         | jeton API   |

**Sortie**

| Champ     | Type       | Description              |
| --------- | ---------- | ------------------------ |
| `code`    | `entier`   | Code de statut           |
| `wallets` | `[]chaîne` | Tableau de portefeuilles |

**Exemple**

**Entrée :**

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

**Sortie :**

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

**À propos**

Renvoie vos serveurs que vous fournissez à [clore.ai](http://clore.ai/) la place de marché

**En-têtes**

| Champ  | Type     | Obligatoire | Description |
| ------ | -------- | ----------- | ----------- |
| `auth` | `chaîne` | Oui         | jeton API   |

**Sortie**

| Champ                                 | Type       | Description                                                                                                                                                                                    |
| ------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                                | `entier`   | Code de statut                                                                                                                                                                                 |
| `limite`                              | `entier`   | Nombre maximal de serveurs que vous pouvez posséder                                                                                                                                            |
| `serveurs`                            | `[]chaîne` | Tableau de serveurs                                                                                                                                                                            |
| `servers[x].name`                     | `chaîne`   | Nom de serveur choisi par l’utilisateur                                                                                                                                                        |
| `servers[x].connected`                | `chaîne`   | Le serveur a-t-il déjà été connecté à [clore.ai](http://clore.ai/)                                                                                                                             |
| `servers[x].visibility`               | `chaîne`   | Visibilité sur la place de marché                                                                                                                                                              |
| `servers[x].pricing`                  | `[]chaîne` | Prix/jour à la demande                                                                                                                                                                         |
| `servers[x].online`                   | `booléen`  | Le serveur est-il en ligne                                                                                                                                                                     |
| `servers[x].min_spot_pricing`         | `[]chaîne` | Prix minimum/jour pour la location sur le marché spot                                                                                                                                          |
| `servers[x].init_token`               | `chaîne`   | Jeton d’enregistrement de la machine, renvoyé uniquement jusqu’à l’initialisation de la machine — **à traiter comme un identifiant de connexion**, il enregistre les machines sur votre compte |
| `servers[x].specs`                    | `[]chaîne` | Spécifications du serveur                                                                                                                                                                      |
| `servers[x].remaining_time`           | `entier`   | Heure de fin de location de la dernière commande active (epoch ms)                                                                                                                             |
| `servers[x].rental_state`             | `chaîne`   | État global de location des GPU : `aucun`, `partiel`, ou `complet`                                                                                                                             |
| `servers[x].rented_gpus`              | `entier`   | GPU actuellement loués dans les commandes actives                                                                                                                                              |
| `servers[x].total_gpus`               | `entier`   | Nombre total de GPU sur le serveur                                                                                                                                                             |
| `servers[x].rented_price_by_currency` | `objet`    | Somme des prix des commandes actives, indexée par devise                                                                                                                                       |
| `servers[x].update_channel`           | `chaîne`   | Canal de mise à jour de l’agent d’hébergement : `stable` ou `beta`                                                                                                                             |
| `servers[x].requested_channel`        | `chaîne`   | Changement de canal demandé depuis l’interface web (présent uniquement lorsque demandé)                                                                                                        |
| `servers[x].target_backend_version`   | `entier`   | Version du backend ciblée par le canal actuel                                                                                                                                                  |

> Les champs d’état de location (`remaining_time`, `rental_state`, `rented_gpus`, `total_gpus`, `rented_price_by_currency`) ne sont présents que lorsque le serveur a une commande active.

**Exemple**

**Entrée :**

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

**Sortie :**

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

Les valeurs USD dans `les objets pricing` reflètent le mode de tarification en USD lorsque l’hôte l’a activé.

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

**À propos**

Obtenir la configuration d’un serveur spécifique

**En-têtes**

| Champ             | Type     | Obligatoire | Description                  |
| ----------------- | -------- | ----------- | ---------------------------- |
| `auth`            | `chaîne` | Oui         | jeton API                    |
| `Type de contenu` | `chaîne` | Oui         | Doit être `application/json` |

**Corps**

| Champ            | Type     | Obligatoire | Description    |
| ---------------- | -------- | ----------- | -------------- |
| `Nom du serveur` | `chaîne` | Oui         | Nom du serveur |

**Sortie**

| Champ                   | Type                | Description                                                                                                    |
| ----------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------- |
| `code`                  | `entier`            | Code de statut                                                                                                 |
| `creation_completed`    | `booléen`           | La création du serveur est-elle terminée                                                                       |
| `config`                | `[]chaîne`          | Configuration du serveur                                                                                       |
| `config.name`           | `chaîne`            | Nom de serveur choisi par l’utilisateur                                                                        |
| `config.connected`      | `booléen`           | Le serveur a-t-il déjà été connecté à [clore.ai](http://clore.ai/)                                             |
| `config.visibility`     | `chaîne`            | Visibilité sur la place de marché                                                                              |
| `config.pricing`        | `[]chaîne`          | Prix/jour à la demande                                                                                         |
| `config.spot_pricing`   | `[]chaîne`          | Prix minimum/jour pour la location sur le marché spot                                                          |
| `config.mrl`            | `entier`            | Durée maximale de location en heures                                                                           |
| `config.online`         | `booléen`           | Le serveur est-il en ligne                                                                                     |
| `config.initialized`    | `booléen`           | Le serveur a-t-il déjà été connecté à [clore.ai](http://clore.ai/)                                             |
| `config.id`             | `entier`            | ID unique du serveur                                                                                           |
| `config.rental_status`  | `entier`            | 0 - non loué \| 1 - Loué sur le marché spot \| 2 - Loué à la demande \| 3 - Location en USD fixe               |
| `config.specs`          | `[]chaîne`          | Spécifications du serveur                                                                                      |
| `config.background_job` | `objet`             | Tâche en arrière-plan lorsqu’il n’est pas loué : `image`, `command`, `env`, `times_updated`                    |
| `config.autoprice`      | `objet` \| `chaîne` | Configuration d’autotarification par devise (les anciennes valeurs de chaîne `"pow"` / `"usd"` existent aussi) |
| `config.usd_pricing`    | `objet`             | Objectifs de prix en USD — présents uniquement lorsque l’autotarification USD est activée                      |
| `config.tenants`        | `[]objet`           | Commandes actives sur le serveur : `rental_type`, `currency`, `price`, `remaining_time`, `gpu_count`           |

> `server_config` renvoie aussi les mêmes champs d’état de location et de canal de mise à jour que `my_servers`: `remaining_time`, `rental_state`, `rented_gpus`, `total_gpus`, `rented_price_by_currency`, `update_channel`, `requested_channel`, `target_backend_version`. Dans les deux points de terminaison, les champs d’état de location ne sont présents que lorsque le serveur a une commande active.

**Exemple**

**Entrée :**

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

**Sortie :**

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

Les valeurs USD dans `les objets pricing` reflètent le mode de tarification en USD lorsque l’hôte l’a activé.

#### 4. `la place de marché` <a href="#id-4-marketplace" id="id-4-marketplace"></a>

**À propos**

Obtenir la place de marché

**En-têtes**

| Champ  | Type     | Obligatoire | Description |
| ------ | -------- | ----------- | ----------- |
| `auth` | `chaîne` | Oui         | jeton API   |

**Sortie**

| Champ                           | Type                 | Description                                                                                                      |
| ------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `code`                          | `entier`             | Code de statut                                                                                                   |
| `my_servers`                    | `[]chaîne`           | Tableau des identifiants de serveur que vous fournissez à [clore.ai](http://clore.ai/) (ne peut pas être loué)   |
| `serveurs`                      | `[]chaîne`           | Tableau des serveurs publics sur la place de marché                                                              |
| `servers[x].id`                 | `entier`             | ID unique du serveur                                                                                             |
| `Propriétaire`                  | `entier`             | ID unique du propriétaire                                                                                        |
| `servers[x].mrl`                | `entier`             | Durée maximale de location en heures                                                                             |
| `price.on_demand`               | `[]chaîne`           | Prix par jour à la demande                                                                                       |
| `servers[x].price.spot`         | `[]chaîne`           | Prix minimum par jour sur le marché spot                                                                         |
| `servers[x].rented`             | `booléen`            | Le serveur est-il loué à la demande                                                                              |
| `servers[x].specs`              | `[]chaîne`           | Spécifications du serveur                                                                                        |
| `servers[x].partial_gpu_rental` | `objet` \| `booléen` | `false` lorsque la location partielle n’est pas disponible, sinon `{ total_gpus, available_gpus, free_indices }` |

> `price.on_demand` et `price.spot` n’incluez que les devises réellement acceptées par chaque serveur — un serveur sans prix dans une devise donnée ne peut pas être loué dans cette devise.

**Exemple**

Obtenir la place de marché

**Entrée :**

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

**Sortie :**

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

**À propos**

Obtenir vos commandes

**En-têtes**

| Champ  | Type     | Obligatoire | Description |
| ------ | -------- | ----------- | ----------- |
| `auth` | `chaîne` | Oui         | jeton API   |

**Chaîne de requête**

| Champ              | Type      | Obligatoire | Description                                 |
| ------------------ | --------- | ----------- | ------------------------------------------- |
| `return_completed` | `booléen` | Non         | Renvoyer les commandes terminées (expirées) |

**Sortie**

| Champ                                            | Type       | Description                                                                                                                                                                             |
| ------------------------------------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                                           | `entier`   | Code de statut                                                                                                                                                                          |
| `limite`                                         | `entier`   | Nombre maximal de commandes actives                                                                                                                                                     |
| `commandes`                                      | `[]chaîne` | Tableau de commandes                                                                                                                                                                    |
| `orders[x].id`                                   | `entier`   | ID unique de commande                                                                                                                                                                   |
| `frais`                                          | `flottant` | Frais (%) payés à [clore.ai](http://clore.ai/)                                                                                                                                          |
| `Frais de création payés à`                      | `flottant` | Prix de la commande (coût) par jour [clore.ai](http://clore.ai/)                                                                                                                        |
| `orders[x].price`                                | `flottant` | Prix de la commande (coût) par jour                                                                                                                                                     |
| `orders[x].mrl`                                  | `entier`   | Durée maximale de location de la commande en secondes                                                                                                                                   |
| `orders[x].image`                                | `chaîne`   | Image Docker utilisée                                                                                                                                                                   |
| `orders[x].currency`                             | `chaîne`   | Devise utilisée pour la facturation                                                                                                                                                     |
| `Dépense`                                        | `flottant` | Montant réel déjà débité : valeur de location accumulée plus les frais de base du locataire (après réduction PoH) et tout frais supplémentaire ; exclut les frais de création ponctuels |
| `orders[x].gpu_count`                            | `entier`   | Nombre de GPU occupés par la commande (commandes à la demande ; égal au nombre total de GPU de la machine sauf s’il s’agit d’une location partielle)                                    |
| `orders[x].ct`                                   | `entier`   | Heure de création (temps UNIX)                                                                                                                                                          |
| `p`                                              | `entier`   | Cluster proxy actuellement utilisé                                                                                                                                                      |
| `orders[x].specs`                                | `[]chaîne` | Spécifications du serveur                                                                                                                                                               |
| `si`                                             | `entier`   | ID unique du serveur                                                                                                                                                                    |
| `pub_cluster`                                    | `[]chaîne` | Points de terminaison publics avec ports transférés                                                                                                                                     |
| `Redirection des ports TCP`                      | `[]chaîne` | Transfert de port TCP                                                                                                                                                                   |
| `Port du conteneur transféré via le proxy HTTPS` | `chaîne`   | orders\[x].http\_port                                                                                                                                                                   |
| `orders[x].spot`                                 | `booléen`  | Indication qu’il s’agit d’une commande spot                                                                                                                                             |
| `orders[x].expired`                              | `booléen`  | Indication que la commande a expiré                                                                                                                                                     |

**Entrée :**

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

**Sortie :**

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

**À propos**

Obtenir la place de marché spot pour un serveur spécifique

**En-têtes**

| Champ  | Type     | Obligatoire | Description |
| ------ | -------- | ----------- | ----------- |
| `auth` | `chaîne` | Oui         | jeton API   |

**Chaîne de requête**

| Champ    | Type     | Obligatoire | Description          |
| -------- | -------- | ----------- | -------------------- |
| `marché` | `entier` | Oui         | ID unique du serveur |

**Sortie**

| Champ                          | Type       | Description                                                                |
| ------------------------------ | ---------- | -------------------------------------------------------------------------- |
| `code`                         | `entier`   | Code de statut                                                             |
| `existe`                       | `booléen`  | Vérification que le marché existe                                          |
| `marché`                       | `objet`    | Place de marché                                                            |
| `market.offers`                | `tableau`  | Offres de location pour le serveur                                         |
| `market.offers[x].offer_id`    | `entier`   | Identifiant unique de l'offre                                              |
| `market.offers[x].bid`         | `flottant` | Prix proposé par jour (dans la devise de l'offre)                          |
| `market.offers[x].currency`    | `chaîne`   | Devise de l'offre                                                          |
| `market.offers[x].active`      | `booléen`  | Cette offre est actuellement utilisée                                      |
| `market.offers[x].my`          | `booléen`  | Cette offre m'appartient                                                   |
| `market.server`                | `objet`    | Informations sur le serveur                                                |
| `market.server.min_pricing`    | `objet`    | Prix minimal de l'offre par jour, pour chaque devise acceptée              |
| `market.server.mrl`            | `entier`   | Durée maximale de location en **heures**                                   |
| `market.server.visibility`     | `chaîne`   | Vous pouvez créer des offres uniquement lorsque la visibilité est publique |
| `market.server.online`         | `booléen`  | Le serveur est en ligne                                                    |
| `market.currency_rates_in_usd` | `objet`    | Taux USD en direct utilisés pour comparer les offres entre devises         |

> Les offres peuvent être placées dans n'importe quelle devise acceptée par le serveur ; les offres concurrentes sont comparées selon leur **valeur en USD** (en utilisant `currency_rates_in_usd`), et non la valeur nominale.
>
> ⚠️ **Modifié en août 2026 :** `market.server.mrl` est maintenant renvoyé en **heures** (auparavant en secondes). Une valeur qui affichait `262800` affiche désormais `73`.

**Entrée :**

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

**Sortie :**

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

**À propos**

Configurer les paramètres du serveur que vous fournissez [clore.ai](http://clore.ai/) la place de marché

**En-têtes**

| Champ             | Type     | Obligatoire | Description                  |
| ----------------- | -------- | ----------- | ---------------------------- |
| `auth`            | `chaîne` | Oui         | jeton API                    |
| `Type de contenu` | `chaîne` | Oui         | Doit être `application/json` |

**Corps**

| Champ                        | Type       | Obligatoire | Description                                                                                                                                                                                         |
| ---------------------------- | ---------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `nom`                        | `chaîne`   | Oui         | Nom de serveur choisi par l’utilisateur                                                                                                                                                             |
| `disponibilité`              | `booléen`  | Oui         | Le serveur peut-il être loué                                                                                                                                                                        |
| `mrl`                        | `entier`   | Oui         | Durée maximale de location du serveur en **heures** (6 to 3000)                                                                                                                                     |
| `bitcoin_on_demand`          | `flottant` | Oui         | Prix à la demande en BTC par jour                                                                                                                                                                   |
| `bitcoin_spot`               | `flottant` | Oui         | Prix spot minimum en BTC par jour                                                                                                                                                                   |
| `CLORE-Blockchain_on_demand` | `flottant` | Non         | Prix à la demande en CLORE par jour                                                                                                                                                                 |
| `CLORE-Blockchain_spot`      | `flottant` | Non         | Prix spot minimum en CLORE par jour                                                                                                                                                                 |
| `USD-Blockchain_on_demand`   | `flottant` | Non         | Prix à la demande en USD par jour                                                                                                                                                                   |
| `USD-Blockchain_spot`        | `flottant` | Non         | Prix spot minimum en USD par jour                                                                                                                                                                   |
| `enabled-bitcoin`            | `booléen`  | Non\*       | Accepter Bitcoin pour ce serveur                                                                                                                                                                    |
| `enabled-CLORE-Blockchain`   | `booléen`  | Non\*       | Accepter CLORE pour ce serveur                                                                                                                                                                      |
| `enabled-USD-Blockchain`     | `booléen`  | Non\*       | Accepter les stablecoins USD pour ce serveur                                                                                                                                                        |
| `autoprice`                  | `objet`    | Non         | Tarification automatique par devise : définissez une clé de devise (`bitcoin`, `CLORE-Blockchain`) à `"usd"` pour la tarification automatique basée sur l'USD ou `false` pour une tarification fixe |
| `usd_pricing`                | `objet`    | Non         | Objectifs de prix en USD par devise, par ex. `{ "bitcoin": { "on_demand": 10, "spot": 5 } }` — utilisé uniquement pour les devises avec `autoprice` défini à `"usd"`                                |

> \* **La liste des devises acceptées est reconstruite à partir des `enabled-*` drapeaux à chaque appel.** Une devise sans son `enabled-<currency>: true` drapeau (ou sans prix valide) est retirée des devises acceptées du serveur — omettre tous les drapeaux laisse le serveur impossible à louer dans toutes les devises. Envoyez toujours `enabled-<currency>: true` pour chaque devise que vous souhaitez continuer à accepter.
>
> Les prix par jour sont plafonnés par devise : 0.000001–0.015 BTC, 0.1–600,000 CLORE, 0.1–1,000 USD.
>
> Lorsqu'une devise est tarifée automatiquement en USD, son prix crypto affiché est dérivé de `usd_pricing` au taux de change en direct (recalculé environ toutes les 10 minutes) et toute `<currency>_on_demand` / `<currency>_spot` la valeur envoyée pour celle-ci est ignorée. Les `usd_pricing` cibles sont des montants $/jour pour l'ensemble du serveur, validés par rapport à la plage USD (0.1–1,000) ; les valeurs hors plage sont ramenées à la borne la plus proche.

**Sortie**

| Champ  | Type     | Description    |
| ------ | -------- | -------------- |
| `code` | `entier` | Code de statut |

**Exemple**

Créons une preuve d'envoi pour une transaction envoyée depuis le portefeuille actuel.

**Entrée :**

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

**Sortie :**

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

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

**À propos**

Définir le prix par jour de votre offre spot

**En-têtes**

| Champ             | Type     | Obligatoire | Description                  |
| ----------------- | -------- | ----------- | ---------------------------- |
| `auth`            | `chaîne` | Oui         | jeton API                    |
| `Type de contenu` | `chaîne` | Oui         | Doit être `application/json` |

**Corps**

| Champ           | Type       | Obligatoire | Description                   |
| --------------- | ---------- | ----------- | ----------------------------- |
| `order_id`      | `entier`   | Oui         | Identifiant unique de l'offre |
| `desired_price` | `flottant` | Oui         | Votre prix proposé par jour   |

> **Un prix inférieur au plancher spot actuel du serveur** est rejeté avec le minimum actuel inclus :
>
> ```
> { "error": "amount_too_low", "min_price": 0.0000012, "code": 6 }
> ```

**Exemple**

Essayons de mettre à jour le prix du marché spot

**Entrée 1 (La baisse était trop importante) :**

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

**Sortie possible 1 (La baisse était trop importante) :**\
Vous pouvez baisser le prix de l'offre spot de marché d'au maximum 0.00000100 ₿

| Champ          | Type       | Description                                                                    |
| -------------- | ---------- | ------------------------------------------------------------------------------ |
| `code`         | `entier`   | Code de statut                                                                 |
| `champ erreur` | `chaîne`   | Champ de description de l'erreur                                               |
| `max_step`     | `flottant` | Valeur la plus basse jusqu'à laquelle vous pouvez actuellement baisser le prix |

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

**Entrée 2 (Baisse de prix valide) :**

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

**Sortie possible 2 (Baisse de prix valide) :**

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

**Entrée 3 (Baisser encore plus le prix après l'envoi de l'entrée 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
```

**Sortie possible 3 (Baisser encore plus le prix après l'envoi de l'entrée 2) :**\
Vous pouvez baisser le prix spot une fois toutes les 600 secondes

| Champ              | Type       | Description                                                           |
| ------------------ | ---------- | --------------------------------------------------------------------- |
| `code`             | `entier`   | Code de statut                                                        |
| `champ erreur`     | `chaîne`   | Champ de description de l'erreur                                      |
| `time_to_lowering` | `flottant` | Temps restant (sec) avant la prochaine possibilité de baisser le prix |

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

**À propos**

Annuler une commande active ou une offre spot

**En-têtes**

| Champ             | Type     | Obligatoire | Description                  |
| ----------------- | -------- | ----------- | ---------------------------- |
| `auth`            | `chaîne` | Oui         | jeton API                    |
| `Type de contenu` | `chaîne` | Oui         | Doit être `application/json` |

**Corps**

| Champ   | Type     | Obligatoire | Description                                                                                                                                     |
| ------- | -------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`    | `entier` | Oui         | Identifiant unique de commande/offre                                                                                                            |
| `issue` | `chaîne` | Non         | Si vous avez rencontré des problèmes avec le serveur, vous pouvez les signaler à [clore.ai](http://clore.ai/) l'équipe, 2048 caractères maximum |

**Sortie**

| Champ  | Type     | Description    |
| ------ | -------- | -------------- |
| `code` | `entier` | Code de statut |

**Exemple**

Annuler la commande/l'offre

**Entrée :**\
Dans cet exemple, nous signalons des problèmes avec le GPU #1 ; si vous n'avez aucun problème, n'incluez pas le champ issue.\
Vous pouvez écrire n'importe quel message dans le champ texte et nous l'examinerons

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "id":39,
    "issue":"Le GPU #1 surchauffait et se mettait en limitation"
}' 'https://api.clore.ai/v1/cancel_order'
```

**Sortie :**

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

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

**À propos**

Vous pouvez créer une offre spot ou une commande à la demande avec ce point de terminaison

**En-têtes**

| Champ             | Type     | Obligatoire | Description                  |
| ----------------- | -------- | ----------- | ---------------------------- |
| `auth`            | `chaîne` | Oui         | jeton API                    |
| `Type de contenu` | `chaîne` | Oui         | Doit être `application/json` |

**Corps**

| Champ                | Type       | Obligatoire | Description                                                                                                                                                                                                                                                                                                                        |
| -------------------- | ---------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `currency`           | `chaîne`   | Oui         | Nom de la devise                                                                                                                                                                                                                                                                                                                   |
| `image`              | `chaîne`   | Oui         | Image valide depuis Docker Hub                                                                                                                                                                                                                                                                                                     |
| `renting_server`     | `entier`   | Oui         | ID du serveur que vous souhaitez louer                                                                                                                                                                                                                                                                                             |
| `type`               | `chaîne`   | Oui         | `on-demand` OU `spot`                                                                                                                                                                                                                                                                                                              |
| `spotprice`          | `flottant` | Dépend      | Prix proposé par jour sur le marché spot, requis lors de la création d'une commande spot                                                                                                                                                                                                                                           |
| `ports`              | `objet`    | Non         | Configuration de redirection de port, 5 enregistrements maximum                                                                                                                                                                                                                                                                    |
| `env`                | `objet`    | Non         | <p>Variables d'environnement, limitées à 12288 caractères au total une fois converties en chaîne.<br>Nom de variable - 128 symboles max, ne doit pas contenir <code>-</code><br>Valeur de variable - 1536 symboles max<br>Seules les 30 premières variables valides sont conservées ; les autres sont ignorées silencieusement</p> |
| `jupyter_token`      | `chaîne`   | Non         | Jeton Jupyter pour les images contenant des notebooks Jupyter, 32 caractères maximum \*                                                                                                                                                                                                                                            |
| `ssh_key`            | `chaîne`   | Non         | Clé SSH pour les images avec SSH, 3072 caractères maximum \*                                                                                                                                                                                                                                                                       |
| `ssh_password`       | `chaîne`   | Non         | Mot de passe SSH pour les images avec SSH, 32 caractères maximum \*                                                                                                                                                                                                                                                                |
| `command`            | `chaîne`   | Non         | La commande sera exécutée sur le serveur après la création de la commande                                                                                                                                                                                                                                                          |
| `required_price`     | `flottant` | Non         | Spécifiez le prix auquel vous souhaitez démarrer la commande ; si le propriétaire de la machine modifie le prix, la commande ne démarrera pas (uniquement à la demande)                                                                                                                                                            |
| `gpu_count`          | `entier`   | Non         | Nombre de GPU à louer sur les serveurs qui prennent en charge [la location partielle](/clore.ai/clore.ai-eng-fr/pour-les-locataires/partial-gpu-rental.md). Omettez ce champ pour louer l'ensemble du rig. Uniquement à la demande, uniquement pour les rigs homogènes                                                             |
| `gpu_indices`        | `[]int`    | Non         | Indices des emplacements GPU à louer, à partir de 0 ; la longueur doit être égale à `gpu_count`. Prendre les emplacements libres depuis `partial_gpu_rental.free_indices`. Omettez pour laisser le backend choisir automatiquement les GPU libres                                                                                  |
| `autossh_entrypoint` | `booléen`  | Non         | Utilisez le point d'entrée clore.ai, qui déploie automatiquement un serveur SSH et un `/root/onstart.sh` script                                                                                                                                                                                                                    |

\* Dans les champs marqués d'une étoile, vous ne pouvez saisir que des caractères de ce groupe d'expression régulière `/^[a-zA-Z0-9\s-=.@+/]+$/`

**Sortie**

| Champ  | Type     | Description    |
| ------ | -------- | -------------- |
| `code` | `entier` | Code de statut |

> **Les offres spot inférieures au plancher du serveur** sont rejetées avec le minimum actuel inclus, afin que vous puissiez réessayer immédiatement :
>
> ```
> { "error": "too_low_price", "min_price": 0.0000012, "code": 6 }
> ```
>
> Le plancher est recalculé à partir des cours en direct des cryptomonnaies environ toutes les 10 minutes, donc un prix lu sur l'annonce de la place de marché peut être légèrement obsolète — utilisez toujours le `min_price` pour la nouvelle tentative.

**Exemple**

**Entrée 1 (Créer une offre 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'
```

**Sortie 1 (Créer une offre spot) :**

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

**Entrée 2 (Créer une commande à la demande) :**

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

**Sortie 2 (Créer une commande à la demande) :**

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

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

**À propos**

Obtenez la configuration actuelle des frais : frais de base du locataire, paramètres de réduction des frais PoH, frais de création de commande et votre solde PoH

**En-têtes**

| Champ  | Type     | Obligatoire | Description |
| ------ | -------- | ----------- | ----------- |
| `auth` | `chaîne` | Oui         | jeton API   |

**Sortie**

| Champ                              | Type       | Description                                                  |
| ---------------------------------- | ---------- | ------------------------------------------------------------ |
| `code`                             | `entier`   | Code de statut                                               |
| `renter_fees.on_demand`            | `objet`    | Frais de base (%) par devise pour les commandes à la demande |
| `renter_fees.spot`                 | `objet`    | Frais de base (%) par devise pour les commandes spot         |
| `poh_config.max_reduction_percent` | `entier`   | Réduction maximale des frais de base via PoH (%)             |
| `poh_config.max_poh_amount`        | `entier`   | Solde PoH à partir duquel la réduction maximale est atteinte |
| `creation_fees.on_demand`          | `objet`    | Frais de création de commande par devise                     |
| `creation_fees.spot`               | `objet`    | Frais de création de commande spot par devise                |
| `poh_balance`                      | `flottant` | Votre solde PoH CLORE                                        |

**Entrée :**

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

**Sortie :**

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

**À propos**

Annuler plusieurs commandes à la fois (jusqu'à 256 par requête)

**En-têtes**

| Champ             | Type     | Obligatoire | Description                  |
| ----------------- | -------- | ----------- | ---------------------------- |
| `auth`            | `chaîne` | Oui         | jeton API                    |
| `Type de contenu` | `chaîne` | Oui         | Doit être `application/json` |

**Corps**

| Champ       | Type    | Obligatoire | Description                            |
| ----------- | ------- | ----------- | -------------------------------------- |
| `order_ids` | `[]int` | Oui         | IDs de commande à annuler, 256 maximum |

**Sortie**

| Champ              | Type     | Description                                   |
| ------------------ | -------- | --------------------------------------------- |
| `code`             | `entier` | Code de statut                                |
| `failed_to_cancel` | `[]int`  | IDs de commande qui n'ont pas pu être annulés |

**Entrée :**

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

**Sortie :**

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

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

**À propos**

Obtenez votre solde Proof of Holding : éléments, totaux et montants des offres de la place de marché PoH

**En-têtes**

| Champ  | Type     | Obligatoire | Description |
| ------ | -------- | ----------- | ----------- |
| `auth` | `chaîne` | Oui         | jeton API   |

**Sortie**

| Champ                                         | Type       | Description                                    |
| --------------------------------------------- | ---------- | ---------------------------------------------- |
| `code`                                        | `entier`   | Code de statut                                 |
| `éléments`                                    | `[]objet`  | Vos éléments PoH avec leurs soldes individuels |
| `balance.total`                               | `flottant` | Solde PoH total sur tous les éléments          |
| `balance.free_amount`                         | `flottant` | Solde PoH non engagé dans des offres           |
| `balance.reward_amount`                       | `flottant` | Solde éligible aux récompenses                 |
| `balance.offers.rented_amount`                | `flottant` | Montant loué à d'autres utilisateurs           |
| `balance.offers.rented_on_marketplace_amount` | `flottant` | Montant listé sur la place de marché PoH       |
| `balance.offers.leased_amount`                | `flottant` | Montant loué auprès d'autres utilisateurs      |

**Entrée :**

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

**Sortie :**

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

**À propos**

Obtenir les données de configuration statique de l’API. Aucune authentification requise

**Entrée :**

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

**À propos**

Obtenez les nœuds relais de transfert TCP pour le pays détecté. Aucune authentification requise

**Sortie**

| Champ     | Type     | Description              |
| --------- | -------- | ------------------------ |
| `code`    | `entier` | Code de statut           |
| `country` | `chaîne` | Code du pays détecté     |
| `nodes`   | `objet`  | Nœuds relais disponibles |

**Entrée :**

```
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-fr/pour-les-hotes/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.
