> 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-de/fur-hosts/api.md).

# API

> 💡 **Python-Entwickler:** Verwenden Sie das offizielle [clore-ai Python SDK](/clore.ai/clore.ai-eng-de/entwickler/python-sdk.md) anstatt roher API-Aufrufe. Es übernimmt Authentifizierung, Ratenbegrenzung, Wiederholungsversuche und Fehlerbehandlung automatisch.
>
> **Schnellstart:** `pip install clore-ai` — Siehe die [Python SDK-Dokumentation](/clore.ai/clore.ai-eng-de/entwickler/python-sdk.md) und [CLI-Referenz](/clore.ai/clore.ai-eng-de/entwickler/cli-guide.md).

> 🧭 Bevorzugen Sie eine durchsuchbare Referenz? Öffnen Sie die interaktiven API-Dokumente unter [clore.ai/api-docs](https://clore.ai/api-docs). Basis-URL für alle Endpunkte auf dieser Seite: `https://api.clore.ai/v1/`.

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

### Einführung <a href="#introduction" id="introduction"></a>

[CLORE.AI](http://clore.ai/) Die API kann zur Automatisierung von Bereitstellungen Ihrer Workloads auf [CLORE.AI](http://clore.ai/)

Zunächst müssen Sie einen API-Schlüssel erhalten\
![alt text](https://clore.ai/assets/html/api-export1.png)\
![alt text](https://clore.ai/assets/html/api-export2.png)

***

### API-Antworten <a href="#api-responses" id="api-responses"></a>

Antworten werden im JSON-Format zurückgegeben und können unterschiedliche Felder haben

Das immer zurückgegebene Feld ist code und zeigt den Status an

**code-Feld**

| code | Beschreibung                              |
| ---- | ----------------------------------------- |
| `0`  | NORMAL                                    |
| `1`  | DATENBANKFEHLER                           |
| `2`  | UNGÜLTIGE EINGABEDATEN                    |
| `3`  | UNGÜLTIGES API-TOKEN                      |
| `4`  | UNGÜLTIGER ENDPOINT                       |
| `5`  | Limit von 1 Anfrage/Sekunde überschritten |
| `6`  | Fehler angegeben in `Fehler` Feld         |

***

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

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

**Über**

Gibt Wallets und Guthaben zurück

**Header**

| Feld   | Typ            | Pflichtfeld | Beschreibung |
| ------ | -------------- | ----------- | ------------ |
| `auth` | `Zeichenkette` | Ja          | API-Token    |

**Ausgabe**

| Feld      | Typ        | Beschreibung      |
| --------- | ---------- | ----------------- |
| `code`    | `int`      | Statuscode        |
| `wallets` | `[]string` | Array von Wallets |

**Beispiel**

**Eingabe:**

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

**Ausgabe:**

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

**Über**

Gibt Ihre Server zurück, die Sie bereitstellen an [clore.ai](http://clore.ai/) Marktplatz

**Header**

| Feld   | Typ            | Pflichtfeld | Beschreibung |
| ------ | -------------- | ----------- | ------------ |
| `auth` | `Zeichenkette` | Ja          | API-Token    |

**Ausgabe**

| Feld                                  | Typ            | Beschreibung                                                                            |
| ------------------------------------- | -------------- | --------------------------------------------------------------------------------------- |
| `code`                                | `int`          | Statuscode                                                                              |
| `Limit`                               | `int`          | Maximale Anzahl von Servern, die Sie besitzen können                                    |
| `Server`                              | `[]string`     | Array von Servern                                                                       |
| `servers[x].name`                     | `Zeichenkette` | Vom Benutzer gewählter Servername                                                       |
| `servers[x].connected`                | `Zeichenkette` | War der Server jemals verbunden mit [clore.ai](http://clore.ai/)                        |
| `servers[x].visibility`               | `Zeichenkette` | Sichtbarkeit im Marktplatz                                                              |
| `servers[x].pricing`                  | `[]string`     | Preis/Tag bei On-Demand                                                                 |
| `servers[x].online`                   | `bool`         | Ist der Server online                                                                   |
| `servers[x].min_spot_pricing`         | `[]string`     | Minimaler Preis/Tag zum Mieten im Spot-Markt                                            |
| `servers[x].init_token`               | `Zeichenkette` | Initialisierungstoken                                                                   |
| `servers[x].specs`                    | `[]string`     | Serverspezifikationen                                                                   |
| `servers[x].remaining_time`           | `int`          | Endzeit der Miete der letzten aktiven Bestellung (ms seit Epoch, 0 wenn nicht gemietet) |
| `servers[x].rental_state`             | `Zeichenkette` | Aggregierter GPU-Mietstatus: `keine`, `teilweise`oder `vollständig`                     |
| `servers[x].rented_gpus`              | `int`          | Aktuell über aktive Bestellungen gemietete GPUs                                         |
| `servers[x].total_gpus`               | `int`          | Gesamtzahl der GPUs auf dem Server                                                      |
| `servers[x].rented_price_by_currency` | `Objekt`       | Summe der aktiven Bestellpreise, nach Währungsschlüssel                                 |
| `servers[x].update_channel`           | `Zeichenkette` | Aktualisierungskanal des Hosting-Agenten: `stabil` oder `Beta`                          |
| `servers[x].requested_channel`        | `Zeichenkette` | Vom Web-UI angeforderter Kanalwechsel (nur vorhanden, wenn angefordert)                 |
| `servers[x].target_backend_version`   | `int`          | Backend-Version, auf die der aktuelle Kanal zielt                                       |

**Beispiel**

**Eingabe:**

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

**Ausgabe:**

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

USD-Werte in `pricing` Objekten spiegeln den USD-basierten Preis-Modus wider, wenn der Host ihn aktiviert hat.

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

**Über**

Konfiguration eines bestimmten Servers abrufen

**Header**

| Feld           | Typ            | Pflichtfeld | Beschreibung            |
| -------------- | -------------- | ----------- | ----------------------- |
| `auth`         | `Zeichenkette` | Ja          | API-Token               |
| `Content-type` | `Zeichenkette` | Ja          | Muss `application/json` |

**Body**

| Feld          | Typ            | Pflichtfeld | Beschreibung |
| ------------- | -------------- | ----------- | ------------ |
| `server_name` | `Zeichenkette` | Ja          | Servername   |

**Ausgabe**

| Feld                    | Typ            | Beschreibung                                                                                          |
| ----------------------- | -------------- | ----------------------------------------------------------------------------------------------------- |
| `code`                  | `int`          | Statuscode                                                                                            |
| `creation_completed`    | `bool`         | Ist die Servererstellung abgeschlossen                                                                |
| `config`                | `[]string`     | Konfiguration des Servers                                                                             |
| `config.name`           | `Zeichenkette` | Vom Benutzer gewählter Servername                                                                     |
| `config.connected`      | `bool`         | War der Server jemals verbunden mit [clore.ai](http://clore.ai/)                                      |
| `config.visibility`     | `Zeichenkette` | Sichtbarkeit im Marktplatz                                                                            |
| `config.pricing`        | `[]string`     | Preis/Tag bei On-Demand                                                                               |
| `config.spot_pricing`   | `[]string`     | Minimaler Preis/Tag zum Mieten im Spot-Markt                                                          |
| `config.mrl`            | `int`          | Maximale Mietdauer in Stunden                                                                         |
| `config.online`         | `bool`         | Ist der Server online                                                                                 |
| `config.initialized`    | `bool`         | War der Server jemals verbunden mit [clore.ai](http://clore.ai/)                                      |
| `config.id`             | `int`          | Eindeutige Server-ID                                                                                  |
| `config.rental_status`  | `int`          | 0 - nicht gemietet \| 1 - Auf dem Spot-Markt gemietet \| 2 - On-Demand gemietet                       |
| `config.specs`          | `[]string`     | Serverspezifikationen                                                                                 |
| `config.background_job` | `[]string`     | Hintergrundauftrag, wenn nicht gemietet                                                               |
| `config.tenants`        | `[]Objekt`     | Aktive Bestellungen auf dem Server: `rental_type`, `currency`, `price`, `remaining_time`, `gpu_count` |

> `server_config` liefert außerdem dieselben rental\_state- und update\_channel-Felder zurück wie `my_servers`: `remaining_time`, `rental_state`, `rented_gpus`, `total_gpus`, `rented_price_by_currency`, `update_channel`, `requested_channel`, `target_backend_version`.

**Beispiel**

**Eingabe:**

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

**Ausgabe:**

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

USD-Werte in `pricing` Objekten spiegeln den USD-basierten Preis-Modus wider, wenn der Host ihn aktiviert hat.

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

**Über**

Marktplatz abrufen

**Header**

| Feld   | Typ            | Pflichtfeld | Beschreibung |
| ------ | -------------- | ----------- | ------------ |
| `auth` | `Zeichenkette` | Ja          | API-Token    |

**Ausgabe**

| Feld                            | Typ                | Beschreibung                                                                                                |
| ------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------- |
| `code`                          | `int`              | Statuscode                                                                                                  |
| `my_servers`                    | `[]string`         | Array von Server-IDs, die Sie bereitstellen an [clore.ai](http://clore.ai/) (kann nicht gemietet werden)    |
| `Server`                        | `[]string`         | Array öffentlicher Server auf dem Marktplatz                                                                |
| `servers[x].id`                 | `int`              | Eindeutige Server-ID                                                                                        |
| `servers[x].owner`              | `int`              | Eindeutige Besitzer-ID                                                                                      |
| `servers[x].mrl`                | `int`              | Maximale Mietdauer in Stunden                                                                               |
| `servers[x].price.on_demand`    | `[]string`         | Preis pro Tag bei On-Demand                                                                                 |
| `servers[x].spot`               | `[]string`         | Minimaler Spot-Markt-Preis pro Tag                                                                          |
| `servers[x].rented`             | `bool`             | Ist der Server On-Demand gemietet                                                                           |
| `servers[x].specs`              | `[]string`         | Serverspezifikationen                                                                                       |
| `servers[x].partial_gpu_rental` | `Objekt` \| `bool` | `false` wenn eine Teilmiete nicht verfügbar ist, andernfalls `{ total_gpus, available_gpus, free_indices }` |

**Beispiel**

Marktplatz abrufen

**Eingabe:**

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

**Ausgabe:**

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

**Über**

Rufen Sie Ihre Bestellungen ab

**Header**

| Feld   | Typ            | Pflichtfeld | Beschreibung |
| ------ | -------------- | ----------- | ------------ |
| `auth` | `Zeichenkette` | Ja          | API-Token    |

**Abfragezeichenfolge**

| Feld               | Typ    | Pflichtfeld | Beschreibung                                          |
| ------------------ | ------ | ----------- | ----------------------------------------------------- |
| `return_completed` | `bool` | Nein        | Gibt abgeschlossene (abgelaufene) Bestellungen zurück |

**Ausgabe**

| Feld                     | Typ            | Beschreibung                                                |
| ------------------------ | -------------- | ----------------------------------------------------------- |
| `code`                   | `int`          | Statuscode                                                  |
| `Limit`                  | `int`          | Maximale Anzahl aktiver Bestellungen                        |
| `orders`                 | `[]string`     | Array von Bestellungen                                      |
| `orders[x].id`           | `int`          | Eindeutige Auftrags-ID                                      |
| `orders[x].fee`          | `float`        | Gebühr (%) gezahlt an [clore.ai](http://clore.ai/)          |
| `orders[x].creation_fee` | `float`        | Erstellungsgebühr gezahlt an [clore.ai](http://clore.ai/)   |
| `orders[x].price`        | `float`        | Bestellpreis (Kosten) pro Tag                               |
| `orders[x].mrl`          | `int`          | Maximale Mietdauer der Bestellung in Sekunden               |
| `orders[x].image`        | `Zeichenkette` | Verwendetes Docker-Image                                    |
| `orders[x].currency`     | `Zeichenkette` | Zur Abrechnung verwendete Währung                           |
| `orders[x].spend`        | `float`        | Für die Bestellung ausgegebenes Geld                        |
| `orders[x].ct`           | `int`          | Erstellungszeit (UNIX-Zeit)                                 |
| `orders[x].p`            | `int`          | Derzeit verwendeter Proxy-Cluster                           |
| `orders[x].specs`        | `[]string`     | Serverspezifikationen                                       |
| `orders[x].si`           | `int`          | Eindeutige Server-ID                                        |
| `orders[x].pub_cluster`  | `[]string`     | Öffentliche Endpunkte mit weitergeleiteten Ports            |
| `orders[x].tcp_ports`    | `[]string`     | TCP-Port-Weiterleitung                                      |
| `orders[x].http_port`    | `Zeichenkette` | Container-Port über HTTPS-Proxy weitergeleitet              |
| `orders[x].spot`         | `bool`         | Kennzeichnung, dass es sich um eine Spot-Bestellung handelt |
| `orders[x].expired`      | `bool`         | Kennzeichnung, dass die Bestellung abgelaufen ist           |

**Eingabe:**

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

**Ausgabe:**

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

**Über**

Spot-Marktplatz für einen bestimmten Server abrufen

**Header**

| Feld   | Typ            | Pflichtfeld | Beschreibung |
| ------ | -------------- | ----------- | ------------ |
| `auth` | `Zeichenkette` | Ja          | API-Token    |

**Abfragezeichenfolge**

| Feld     | Typ   | Pflichtfeld | Beschreibung         |
| -------- | ----- | ----------- | -------------------- |
| `market` | `int` | Ja          | Eindeutige Server-ID |

**Ausgabe**

| Feld                        | Typ            | Beschreibung                                                            |
| --------------------------- | -------------- | ----------------------------------------------------------------------- |
| `code`                      | `int`          | Statuscode                                                              |
| `existiert`                 | `bool`         | Überprüfung, dass der Marktplatz existiert                              |
| `market`                    | `Objekt`       | Marktplatz                                                              |
| `market.offers`             | `array`        | Mietangebote für den Server                                             |
| `market.offers[x].offer_id` | `int`          | Eindeutige Angebots-ID                                                  |
| `market.offers[x].bid`      | `float`        | Angebotener Preis pro Tag                                               |
| `market.offers[x].active`   | `bool`         | Dieses Angebot wird derzeit verwendet                                   |
| `market.offers[x].my`       | `bool`         | Dieses Angebot gehört mir                                               |
| `market.server`             | `Objekt`       | Serverinformationen                                                     |
| `market.server.min_pricing` | `Objekt`       | Minimaler Angebotspreis pro Tag                                         |
| `market.server.mrl`         | `int`          | Maximale Mietdauer in Sekunden                                          |
| `market.server.visibility`  | `Zeichenkette` | Sie können Angebote nur erstellen, wenn die Sichtbarkeit öffentlich ist |
| `market.server.online`      | `bool`         | Server ist online                                                       |

**Eingabe:**

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

**Ausgabe:**

```
{
  "market": {
    "offers": [
      {
        "offer_id": 39,
        "bid": 0.0000042,
        "active": true,
        "my": true
      }
    ],
    "server": {
      "min_pricing": {
        "bitcoin": 0.000001
      },
      "mrl": 262800,
      "visibility": "public",
      "online": true
    }
  },
  "exists": true,
  "code": 0
}
```

#### 7. `set_server_settings` <a href="#id-7-set_server_settings" id="id-7-set_server_settings"></a>

**Über**

Konfigurieren Sie die Einstellungen des Servers, den Sie anbieten [clore.ai](http://clore.ai/) Marktplatz

**Header**

| Feld           | Typ            | Pflichtfeld | Beschreibung            |
| -------------- | -------------- | ----------- | ----------------------- |
| `auth`         | `Zeichenkette` | Ja          | API-Token               |
| `Content-type` | `Zeichenkette` | Ja          | Muss `application/json` |

**Body**

| Feld            | Typ            | Pflichtfeld | Beschreibung                              |
| --------------- | -------------- | ----------- | ----------------------------------------- |
| `name`          | `Zeichenkette` | Ja          | Vom Benutzer gewählter Servername         |
| `Verfügbarkeit` | `bool`         | Ja          | Kann der Server gemietet werden           |
| `mrl`           | `int`          | Ja          | Maximale Mietdauer des Servers            |
| `On-Demand`     | `float`        | Ja          | Preis pro Tag für Ihren Server bei Bedarf |
| `Spot`          | `float`        | Ja          | Mindestpreis pro Tag für das SPOT-Angebot |

> Tagespreise sind auf 0,015 BTC / 600.000 CLORE / 1.000 USD begrenzt.

**Ausgabe**

| Feld   | Typ   | Beschreibung |
| ------ | ----- | ------------ |
| `code` | `int` | Statuscode   |

**Beispiel**

Erstellen wir einen Sendenachweis für eine Transaktion, die aus der aktuellen Wallet gesendet wurde.

**Eingabe:**

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "name": "Jan Vykydal",
    "availability":true,
    "mrl":96,
    "on_demand":0.0001,
    "spot":0.00000113
}' 'https://api.clore.ai/v1/set_server_settings'
```

**Ausgabe:**

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

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

**Über**

Setzen Sie den Tagespreis für Ihr SPOT-Marktplatzangebot

**Header**

| Feld           | Typ            | Pflichtfeld | Beschreibung            |
| -------------- | -------------- | ----------- | ----------------------- |
| `auth`         | `Zeichenkette` | Ja          | API-Token               |
| `Content-type` | `Zeichenkette` | Ja          | Muss `application/json` |

**Body**

| Feld            | Typ     | Pflichtfeld | Beschreibung                  |
| --------------- | ------- | ----------- | ----------------------------- |
| `order_id`      | `int`   | Ja          | Eindeutige Angebots-ID        |
| `desired_price` | `float` | Ja          | Ihr angebotener Preis pro Tag |

**Beispiel**

Versuchen wir, den SPOT-Marktpreis zu aktualisieren

**Eingabe 1 (Schritt nach unten war zu groß):**

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

**Mögliche Ausgabe 1 (Schritt nach unten war zu groß):**\
Sie können den SPOT-Marktplatzangebotspreis um maximal 0,00000100 ₿ senken

| Feld       | Typ            | Beschreibung                                                            |
| ---------- | -------------- | ----------------------------------------------------------------------- |
| `code`     | `int`          | Statuscode                                                              |
| `Fehler`   | `Zeichenkette` | Feld für Fehlerbeschreibung                                             |
| `max_step` | `float`        | Niedrigster möglicher Wert, auf den Sie den Preis derzeit senken können |

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

**Eingabe 2 (Gültige Preissenkung):**

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

**Mögliche Ausgabe 2 (Gültige Preissenkung):**

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

**Eingabe 3 (Preis nach Senden von Eingabe 2 noch weiter senken):**

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

**Mögliche Ausgabe 3 (Preis nach Senden von Eingabe 2 noch weiter senken):**\
Sie können den SPOT-Preis nur alle 600 Sekunden senken

| Feld               | Typ            | Beschreibung                                                               |
| ------------------ | -------------- | -------------------------------------------------------------------------- |
| `code`             | `int`          | Statuscode                                                                 |
| `Fehler`           | `Zeichenkette` | Feld für Fehlerbeschreibung                                                |
| `time_to_lowering` | `float`        | Verbleibende Zeit (Sek.) bis zur nächsten Möglichkeit, den Preis zu senken |

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

**Über**

Eine aktive Bestellung oder ein SPOT-Angebot stornieren

**Header**

| Feld           | Typ            | Pflichtfeld | Beschreibung            |
| -------------- | -------------- | ----------- | ----------------------- |
| `auth`         | `Zeichenkette` | Ja          | API-Token               |
| `Content-type` | `Zeichenkette` | Ja          | Muss `application/json` |

**Body**

| Feld      | Typ            | Pflichtfeld | Beschreibung                                                                                                                            |
| --------- | -------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `id`      | `int`          | Ja          | Eindeutige Bestell-/Angebots-ID                                                                                                         |
| `Problem` | `Zeichenkette` | Nein        | Wenn Sie Probleme mit dem Server festgestellt haben, können Sie diese melden an [clore.ai](http://clore.ai/) Team, maximal 2048 Zeichen |

**Ausgabe**

| Feld   | Typ   | Beschreibung |
| ------ | ----- | ------------ |
| `code` | `int` | Statuscode   |

**Beispiel**

Bestellung/Angebot stornieren

**Eingabe:**\
In diesem Beispiel melden wir Probleme mit GPU #1; wenn Sie keine Probleme haben, fügen Sie das Feld issue nicht hinzu.\
Sie können beliebige Nachricht in das Textfeld schreiben und wir werden sie untersuchen

```
curl -XPOST -H 'auth: b8qwqRAL5W7YDyDJeB4XANVvKndbrrPk' -H "Content-type: application/json" -d '{
    "id":39,
    "issue":"GPU #1 überhitzte und drosselte"
}' 'https://api.clore.ai/v1/cancel_order'
```

**Ausgabe:**

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

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

**Über**

Mit diesem Endpunkt können Sie ein SPOT-Angebot oder eine On-Demand-Bestellung erstellen\
Dieser Endpunkt erlaubt außerdem nur 1 Anfrage in 5 Sekunden

**Header**

| Feld           | Typ            | Pflichtfeld | Beschreibung            |
| -------------- | -------------- | ----------- | ----------------------- |
| `auth`         | `Zeichenkette` | Ja          | API-Token               |
| `Content-type` | `Zeichenkette` | Ja          | Muss `application/json` |

**Body**

| Feld                 | Typ            | Pflichtfeld    | Beschreibung                                                                                                                                                                                                    |
| -------------------- | -------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `currency`           | `Zeichenkette` | Ja             | Währungsname                                                                                                                                                                                                    |
| `image`              | `Zeichenkette` | Ja             | Gültiges Image von Docker Hub                                                                                                                                                                                   |
| `renting_server`     | `int`          | Ja             | ID des Servers, den Sie mieten möchten                                                                                                                                                                          |
| `type`               | `Zeichenkette` | Ja             | `on-demand` ODER `Spot`                                                                                                                                                                                         |
| `spotprice`          | `float`        | Hängt davon ab | Angebotener Preis pro Tag auf dem SPOT-Markt, erforderlich beim Erstellen einer SPOT-Bestellung                                                                                                                 |
| `ports`              | `Objekt`       | Nein           | Portweiterleitungs-Konfiguration, maximal 5 Einträge                                                                                                                                                            |
| `env`                | `Objekt`       | Nein           | <p>Umgebungsvariablen, insgesamt auf 12000 Zeichen begrenzt, wenn als String serialisiert.<br>Variablenname - maximal 128 Zeichen<br>Variablenwert - maximal 1536 Zeichen</p>                                   |
| `jupyter_token`      | `Zeichenkette` | Nein           | Jupyter-Token für Images mit Jupyter-Notebooks, maximal 32 Zeichen \*                                                                                                                                           |
| `ssh_key`            | `Zeichenkette` | Nein           | SSH-Schlüssel für Images mit SSH, maximal 3072 Zeichen \*                                                                                                                                                       |
| `ssh_password`       | `Zeichenkette` | Nein           | SSH-Passwort für Images mit SSH, maximal 32 Zeichen \*                                                                                                                                                          |
| `command`            | `Zeichenkette` | Nein           | Der Befehl wird nach dem Erstellen der Bestellung auf dem Server ausgeführt                                                                                                                                     |
| `required_price`     | `float`        | Nein           | Geben Sie den Preis an, zu dem Sie die Bestellung starten möchten; wenn der Maschinenbesitzer den Preis ändert, wird die Bestellung nicht gestartet (nur On-Demand)                                             |
| `gpu_count`          | `int`          | Nein           | Anzahl der GPUs, die auf Servern gemietet werden sollen, die [Teilmiete](/clore.ai/clore.ai-eng-de/fur-mieter/partial-gpu-rental.md). Weglassen, um das gesamte Rig zu mieten. Nur On-Demand, nur homogene Rigs |
| `gpu_indices`        | `[]int`        | Nein           | 0-basierte GPU-Slot-Indizes zum Mieten; die Länge muss entsprechen `gpu_count`. Freie Slots entnehmen aus `partial_gpu_rental.free_indices`. Weglassen, damit das Backend freie GPUs automatisch auswählt       |
| `autossh_entrypoint` | `bool`         | Nein           | Verwenden Sie den clore.ai-Entrypoint, der automatisch einen SSH-Server und ein benutzerdefiniertes `/root/onstart.sh` Skript                                                                                   |

\* In die mit einem Stern markierten Felder können Sie nur Zeichen aus dieser Regex-Gruppe eingeben `/^[a-zA-Z0-9\\s-=.@+/]+$/`

**Ausgabe**

| Feld   | Typ   | Beschreibung |
| ------ | ----- | ------------ |
| `code` | `int` | Statuscode   |

**Beispiel**

**Eingabe 1 (SPOT-Angebot erstellen):**

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

**Ausgabe 1 (SPOT-Angebot erstellen):**

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

**Eingabe 2 (On-Demand-Bestellung erstellen):**

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

**Ausgabe 2 (On-Demand-Bestellung erstellen):**

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

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

**Über**

Rufen Sie die aktuelle Gebührenkonfiguration ab: Basis-Mietgebühren, Einstellungen zur Reduzierung der PoH-Gebühr, Gebühren für das Erstellen von Bestellungen und Ihr PoH-Guthaben

**Header**

| Feld   | Typ            | Pflichtfeld | Beschreibung |
| ------ | -------------- | ----------- | ------------ |
| `auth` | `Zeichenkette` | Ja          | API-Token    |

**Ausgabe**

| Feld                               | Typ      | Beschreibung                                                 |
| ---------------------------------- | -------- | ------------------------------------------------------------ |
| `code`                             | `int`    | Statuscode                                                   |
| `renter_fees.on_demand`            | `Objekt` | Basisgebühr (%) pro Währung für On-Demand-Bestellungen       |
| `renter_fees.spot`                 | `Objekt` | Basisgebühr (%) pro Währung für SPOT-Bestellungen            |
| `poh_config.max_reduction_percent` | `int`    | Maximale Reduzierung der Basisgebühr durch PoH (%)           |
| `poh_config.max_poh_amount`        | `int`    | PoH-Guthaben, bei dem die maximale Reduzierung erreicht wird |
| `creation_fees.on_demand`          | `Objekt` | Gebühr für das Erstellen von Bestellungen pro Währung        |
| `creation_fees.spot`               | `Objekt` | Gebühr für das Erstellen von SPOT-Bestellungen pro Währung   |
| `poh_balance`                      | `float`  | Ihr PoH-CLORE-Guthaben                                       |

**Eingabe:**

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

**Ausgabe:**

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

**Über**

Mehrere Bestellungen gleichzeitig stornieren (bis zu 256 pro Anfrage)

**Header**

| Feld           | Typ            | Pflichtfeld | Beschreibung            |
| -------------- | -------------- | ----------- | ----------------------- |
| `auth`         | `Zeichenkette` | Ja          | API-Token               |
| `Content-type` | `Zeichenkette` | Ja          | Muss `application/json` |

**Body**

| Feld        | Typ     | Pflichtfeld | Beschreibung                             |
| ----------- | ------- | ----------- | ---------------------------------------- |
| `order_ids` | `[]int` | Ja          | Zu stornierende Bestell-IDs, maximal 256 |

**Ausgabe**

| Feld               | Typ     | Beschreibung                                    |
| ------------------ | ------- | ----------------------------------------------- |
| `code`             | `int`   | Statuscode                                      |
| `failed_to_cancel` | `[]int` | Bestell-IDs, die nicht storniert werden konnten |

**Eingabe:**

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

**Ausgabe:**

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

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

**Über**

Rufen Sie Ihr Proof-of-Holding-Guthaben ab: Positionen, Summen und Angebotsbeträge im PoH-Marktplatz

**Header**

| Feld   | Typ            | Pflichtfeld | Beschreibung |
| ------ | -------------- | ----------- | ------------ |
| `auth` | `Zeichenkette` | Ja          | API-Token    |

**Ausgabe**

| Feld                                          | Typ        | Beschreibung                                      |
| --------------------------------------------- | ---------- | ------------------------------------------------- |
| `code`                                        | `int`      | Statuscode                                        |
| `items`                                       | `[]Objekt` | Ihre PoH-Positionen mit einzelnen Guthaben        |
| `balance.total`                               | `float`    | Gesamtes PoH-Guthaben über alle Positionen hinweg |
| `balance.free_amount`                         | `float`    | PoH-Guthaben, das nicht an Angebote gebunden ist  |
| `balance.reward_amount`                       | `float`    | Für Belohnungen berechtigtes Guthaben             |
| `balance.offers.rented_amount`                | `float`    | An andere Nutzer vermieteter Betrag               |
| `balance.offers.rented_on_marketplace_amount` | `float`    | Im PoH-Marktplatz gelisteter Betrag               |
| `balance.offers.leased_amount`                | `float`    | Von anderen Nutzern geleaster Betrag              |

**Eingabe:**

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

**Ausgabe:**

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

**Über**

Statische API-Konfigurationsdaten abrufen. Keine Authentifizierung erforderlich

**Eingabe:**

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

**Über**

TCP-Weiterleitungs-Relay-Knoten für Ihr ermitteltes Land abrufen. Keine Authentifizierung erforderlich

**Ausgabe**

| Feld      | Typ            | Beschreibung            |
| --------- | -------------- | ----------------------- |
| `code`    | `int`          | Statuscode              |
| `country` | `Zeichenkette` | Ermittelter Ländercode  |
| `nodes`   | `Objekt`       | Verfügbare Relay-Knoten |

**Eingabe:**

```
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-de/fur-hosts/api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
