> 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 nouvelles tentatives et le traitement des erreurs.
>
> **Démarrage rapide :** `pip install clore-ai` — Voir 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 interactive de l'API à [clore.ai/api-docs](https://clore.ai/api-docs). URL de base pour tous les points de terminaison sur cette page : `https://api.clore.ai/v1/`.

<div data-full-width="true"><figure><img src="https://259039044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyNlC5NV8aIpXnc76G7w%2Fuploads%2FoEhopGeayaKnbuDjgTEs%2FCLORE%20Docs%20API%20Page.png?alt=media&amp;token=a0adf6bb-1fde-4f1b-8236-dff2563ffbfd" 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 les déploiements 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 avoir 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 D'API INVALIDE                              |
| `4`  | POINT DE TERMINAISON INVALIDE                     |
| `5`  | DÉPASSEMENT DE LA LIMITE DE 1 REQUÊTE PAR SECONDE |
| `6`  | Erreur spécifiée dans `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 serveurs que vous fournissez à

**En-têtes**

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

**Sortie**

| Champ     | Type        | Description              |
| --------- | ----------- | ------------------------ |
| `code`    | `entier`    | Code d'état              |
| `wallets` | `[]chaînes` | 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 les serveurs que vous fournissez à [clore.ai](http://clore.ai/) place de marché

**En-têtes**

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

**Sortie**

| Champ                                 | Type        | Description                                                                                                                                                                       |
| ------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                                | `entier`    | Code d'état                                                                                                                                                                       |
| `limite`                              | `entier`    | Nombre maximum de serveurs que vous pouvez posséder                                                                                                                               |
| `serveurs`                            | `[]chaînes` | Tableau de serveurs                                                                                                                                                               |
| `servers[x].name`                     | `chaîne`    | Nom du serveur sélectionné par l'utilisateur                                                                                                                                      |
| `servers[x].connected`                | `chaîne`    | Le serveur s'est-il déjà connecté à [clore.ai](http://clore.ai/)                                                                                                                  |
| `servers[x].visibility`               | `chaîne`    | Visibilité sur la place de marché                                                                                                                                                 |
| `servers[x].pricing`                  | `[]chaînes` | Prix par jour à la demande                                                                                                                                                        |
| `servers[x].online`                   | `booléen`   | Le serveur est-il en ligne                                                                                                                                                        |
| `servers[x].min_spot_pricing`         | `[]chaînes` | Prix minimum par jour pour louer 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**, il enregistre les machines sur votre compte |
| `servers[x].specs`                    | `[]chaînes` | Spécifications du serveur                                                                                                                                                         |
| `servers[x].remaining_time`           | `entier`    | Heure de fin de location de la dernière commande active (ms epoch)                                                                                                                |
| `servers[x].rental_state`             | `chaîne`    | État agrégé 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 lorsqu'il est demandé)                                                                                     |
| `servers[x].target_backend_version`   | `entier`    | Version du backend visée par le canal actuel                                                                                                                                      |

> Les champs de l'é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 en USD dans `pricing` les objets reflètent le mode de tarification basé sur l'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    |
| ------------- | -------- | ----------- | -------------- |
| `server_name` | `chaîne` | Oui         | Nom du serveur |

**Sortie**

| Champ                   | Type                | Description                                                                                                                |
| ----------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `code`                  | `entier`            | Code d'état                                                                                                                |
| `creation_completed`    | `booléen`           | La création du serveur est-elle terminée                                                                                   |
| `config`                | `[]chaînes`         | Configuration du serveur                                                                                                   |
| `config.name`           | `chaîne`            | Nom du serveur sélectionné par l'utilisateur                                                                               |
| `config.connected`      | `booléen`           | Le serveur s'est-il déjà connecté à [clore.ai](http://clore.ai/)                                                           |
| `config.visibility`     | `chaîne`            | Visibilité sur la place de marché                                                                                          |
| `config.pricing`        | `[]chaînes`         | Prix par jour à la demande                                                                                                 |
| `config.spot_pricing`   | `[]chaînes`         | Prix minimum par jour pour louer sur le marché spot                                                                        |
| `config.mrl`            | `entier`            | Longueur maximale de location en heures                                                                                    |
| `config.online`         | `booléen`           | Le serveur est-il en ligne                                                                                                 |
| `config.initialized`    | `booléen`           | Le serveur s'est-il déjà 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 à prix fixe en USD                    |
| `config.specs`          | `[]chaînes`         | Spécifications du serveur                                                                                                  |
| `config.background_job` | `objet`             | Tâche de fond lorsque le serveur n'est pas loué : `image`, `command`, `env`, `times_updated`                               |
| `config.autoprice`      | `objet` \| `chaîne` | Configuration de tarification automatique par devise (des valeurs de chaîne héritées `"pow"` / `"usd"` apparaissent aussi) |
| `config.usd_pricing`    | `objet`             | Cibles de prix en USD — présentes uniquement lorsque la tarification automatique en USD est activée                        |
| `config.tenants`        | `[]objets`          | Commandes actives sur le serveur : `rental_type`, `currency`, `price`, `remaining_time`, `gpu_count`                       |

> `server_config` renvoie également 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 de l'é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 en USD dans `pricing` les objets reflètent le mode de tarification basé sur l'USD lorsque l'hôte l'a activé.

#### 4. `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 d'état                                                                                                      |
| `my_servers`                    | `[]chaînes`          | Tableau des identifiants de serveurs que vous fournissez à [clore.ai](http://clore.ai/) (ne peut pas être loué)  |
| `serveurs`                      | `[]chaînes`          | Tableau des serveurs publics sur la place de marché                                                              |
| `servers[x].id`                 | `entier`             | ID unique du serveur                                                                                             |
| `servers[x].owner`              | `entier`             | ID unique du propriétaire                                                                                        |
| `servers[x].mrl`                | `entier`             | Longueur maximale de location en heures                                                                          |
| `servers[x].price.on_demand`    | `[]chaînes`          | Prix par jour à la demande                                                                                       |
| `servers[x].price.spot`         | `[]chaînes`          | Prix minimum par jour sur le marché spot                                                                         |
| `servers[x].rented`             | `booléen`            | Le serveur est-il loué à la demande                                                                              |
| `servers[x].specs`              | `[]chaînes`          | Spécifications du serveur                                                                                        |
| `servers[x].partial_gpu_rental` | `objet` \| `booléen` | `false` lorsqu'une location partielle n'est pas disponible, sinon `{ total_gpus, available_gpus, free_indices }` |

> `price.on_demand` et `price.spot` n'incluez que les devises que chaque serveur accepte réellement — un serveur sans prix dans une certaine devise ne peut pas être loué dans celle-ci.

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

Obtenez 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         | Renvoie les commandes terminées (expirées) |

**Sortie**

| Champ                    | Type        | Description                                                                                                                                                                                        |
| ------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `code`                   | `entier`    | Code d'état                                                                                                                                                                                        |
| `limite`                 | `entier`    | Nombre maximal de commandes actives                                                                                                                                                                |
| `commandes`              | `[]chaînes` | Tableau de commandes                                                                                                                                                                               |
| `orders[x].id`           | `entier`    | ID unique de la commande                                                                                                                                                                           |
| `orders[x].fee`          | `flottant`  | Frais (%) versés à [clore.ai](http://clore.ai/)                                                                                                                                                    |
| `orders[x].creation_fee` | `flottant`  | Frais de création versés à [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                                                                                                                                                                |
| `orders[x].spend`        | `flottant`  | Montant réel débité jusqu'à présent : 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 du rig sauf s'il s'agit d'une location partielle)                                                      |
| `orders[x].ct`           | `entier`    | Heure de création (temps UNIX)                                                                                                                                                                     |
| `orders[x].p`            | `entier`    | Cluster proxy actuellement utilisé                                                                                                                                                                 |
| `orders[x].specs`        | `[]chaînes` | Spécifications du serveur                                                                                                                                                                          |
| `orders[x].si`           | `entier`    | ID unique du serveur                                                                                                                                                                               |
| `orders[x].pub_cluster`  | `[]chaînes` | Points de terminaison publics avec ports redirigés                                                                                                                                                 |
| `orders[x].tcp_ports`    | `[]chaînes` | Redirection de port TCP                                                                                                                                                                            |
| `orders[x].http_port`    | `chaîne`    | Port du conteneur redirigé via un proxy HTTPS                                                                                                                                                      |
| `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          |
| -------- | -------- | ----------- | -------------------- |
| `market` | `entier` | Oui         | ID unique du serveur |

**Sortie**

| Champ                          | Type       | Description                                                            |
| ------------------------------ | ---------- | ---------------------------------------------------------------------- |
| `code`                         | `entier`   | Code d'état                                                            |
| `exists`                       | `booléen`  | Vérification que le marché existe                                      |
| `market`                       | `objet`    | Place de marché                                                        |
| `market.offers`                | `array`    | 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 du 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 ne pouvez créer des offres que lorsque la visibilité est publique |
| `market.server.online`         | `booléen`  | Le serveur est en ligne                                                |
| `market.currency_rates_in_usd` | `objet`    | Taux USD en temps réel 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 désormais renvoyé en **heures** (auparavant en secondes). Une valeur qui se lisait `262800` se lit maintenant `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**

Configurez les paramètres du serveur que vous fournissez sur [clore.ai](http://clore.ai/) 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                                                                                                                                                                          |
| ---------------------------- | ---------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                       | `chaîne`   | Oui         | Nom du serveur sélectionné par l'utilisateur                                                                                                                                         |
| `availability`               | `booléen`  | Oui         | Can server be rented                                                                                                                                                                 |
| `mrl`                        | `entier`   | Oui         | Maximum server rental length in **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         | Autotarification par devise : définissez une clé de devise (`bitcoin`, `CLORE-Blockchain`) à `"usd"` pour une autotarification basée sur l’USD ou `false` pour une tarification fixe |
| `usd_pricing`                | `objet`    | Non         | Cibles de prix en USD par devise, par exemple `{ "bitcoin": { "on_demand": 10, "spot": 5 } }` — utilisé uniquement pour les devises dont `autoprice` est défini sur `"usd"`          |

> \* **La liste des devises acceptées est reconstruite à partir des `enabled-*` indicateurs à chaque appel.** Une devise sans son `enabled-<currency>: true` indicateur (ou sans prix valide) est retirée des devises acceptées du serveur — omettre tous les indicateurs laisse le serveur non louable 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.1 BTC, 0.1–5,000,000 CLORE, 0.1–10,000 USD.
>
> Lorsqu’une devise est tarifié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 valeur `<currency>_on_demand` / `<currency>_spot` 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 d'état |

**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 sur votre offre SPOT du 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                   |
| --------------- | ---------- | ----------- | ----------------------------- |
| `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 d’au maximum 0.00000100 ₿

| Champ      | Type       | Description                                                                        |
| ---------- | ---------- | ---------------------------------------------------------------------------------- |
| `code`     | `entier`   | Code d'état                                                                        |
| `erreur`   | `chaîne`   | Champ de description de l’erreur                                                   |
| `max_step` | `flottant` | Valeur minimale possible 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 (baissez 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 (baissez 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 d'état                                                            |
| `erreur`           | `chaîne`   | Champ de description de l’erreur                                       |
| `time_to_lowering` | `flottant` | Temps restant (en s) 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 d'état |

**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.\nVous pouvez écrire n’importe quel message dans le champ text et nous l’examinerons

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "id":39,
    "issue":"Le GPU #1 surchauffait et bridait ses performances"
}' '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         | `à la demande` 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 ports, 5 enregistrements maximum                                                                                                                                                                                                                                                                       |
| `env`                | `objet`    | Non         | <p>Variables d’environnement, limitées à 12288 caractères au total une fois sérialisées.\nNom de la variable - 128 symboles maximum, ne doit pas contenir <code>-</code><br>Valeur de la variable - 1536 symboles maximum\nSeules les 30 premières variables valides sont conservées ; les suivantes 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         | Indiquez le prix auquel vous souhaitez lancer la commande ; si le propriétaire de la machine modifie le prix, la commande ne démarrera pas (à la demande uniquement)                                                                                                                                                                   |
| `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’intégralité 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`. Prenez 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 le serveur SSH et un script personnalisé `/root/onstart.sh` script                                                                                                                                                                                                    |

\* Pour les champs marqués d’une étoile, vous ne pouvez saisir que des caractères issus de ce groupe regexp `/^[a-zA-Z0-9\s-=.@+/]+$/`

**Sortie**

| Champ  | Type     | Description |
| ------ | -------- | ----------- |
| `code` | `entier` | Code d'état |

> **Les offres spot inférieures au plancher du serveur** sont rejetées avec le minimum actuel inclus, vous pouvez donc réessayer immédiatement :
>
> ```
> { "error": "too_low_price", "min_price": 0.0000012, "code": 6 }
> ```
>
> Le plancher est recalculé à partir des taux des monnaies en temps réel environ toutes les 10 minutes, donc un prix lu dans l’annonce de la place de marché peut être légèrement obsolète — utilisez toujours le `min_price` renvoyé 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 d'état                                                  |
| `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 en 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 d'état                                   |
| `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 du marché PoH

**En-têtes**

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

**Sortie**

| Champ                                         | Type       | Description                                  |
| --------------------------------------------- | ---------- | -------------------------------------------- |
| `code`                                        | `entier`   | Code d'état                                  |
| `items`                                       | `[]objets` | Vos éléments PoH avec des 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 répertorié sur le marché PoH         |
| `balance.offers.leased_amount`                | `flottant` | Montant loué à 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**

Obtenez 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 votre pays détecté. Aucune authentification requise

**Sortie**

| Champ   | Type     | Description              |
| ------- | -------- | ------------------------ |
| `code`  | `entier` | Code d'état              |
| `pays`  | `chaîne` | Code du pays détecté     |
| `nœuds` | `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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.clore.ai/clore.ai/clore.ai-eng-fr/pour-les-hotes/api.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
