---
seo_title: TOML zu JSON API | TOML-Dateien in JSON konvertieren | EnConvert
meta_desc: TOML in JSON konvertieren via POST /v1/convert/toml-to-json. Eine .toml-Datei hochladen und formatiertes JSON direkt oder per Presigned Download-URL erhalten.
keywords: toml in json umwandeln api, toml zu json konvertieren, toml to json api, toml parsen json api, toml config in json umwandeln, toml zu json rest api, toml zu json curl, toml zu json python
---

# TOML-zu-JSON-API

Die TOML-zu-JSON-API konvertiert eine TOML-Datei mit einem einzigen Request an `POST /v1/convert/toml-to-json` in das JSON-Format. Laden Sie eine `.toml`-Datei per Multipart-Formulardaten hoch und erhalten Sie formatiertes, mit 2 Leerzeichen eingerücktes JSON direkt, oder setzen Sie `direct_download=false`, um Metadaten mit einer Presigned Download-URL zu erhalten. TOML-Datetime-Werte bleiben als ISO-8601-Strings erhalten.

---

## Endpunkt

```
POST /v1/convert/toml-to-json
```

**Content-Type:** `multipart/form-data`

**Akzeptierte Eingabe:** `.toml`-Dateien (UTF-8-kodiert)

**Ausgabeformat:** `.json` (`application/json`)

---

## Authentifizierung

Erfordert entweder einen privaten API-Key oder ein per Public Key ausgestelltes JWT-Token.

```
X-API-Key: sk_your_private_key
```

Oder:

```
Authorization: Bearer <jwt_token>
```

---

## Request-Parameter

| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|-----------|------|----------|---------|-------------|
| `file` | file | Ja | -- | Die zu konvertierende `.toml`-Datei. Muss UTF-8-kodiert sein. |
| `output_filename` | `string` | Nein | Name der Eingabedatei | Eigener Ausgabedateiname. Die Endung `.json` wird automatisch angehängt. |
| `direct_download` | `boolean` | Nein | `true` | Bei `true` werden die JSON-Rohbytes zurückgegeben. Bei `false` werden Metadaten mit einer Presigned Download-URL zurückgegeben. |

---

## Konvertierungsregeln

Direkte Abbildung von TOML auf JSON:

```toml
[database]
host = "localhost"
port = 5432

[database.credentials]
user = "admin"
password = "secret"

features = ["auth", "logging"]
```

Wird zu:

```json
{
  "database": {
    "host": "localhost",
    "port": 5432,
    "credentials": {
      "user": "admin",
      "password": "secret"
    }
  },
  "features": ["auth", "logging"]
}
```

- TOML-Tabellen werden zu JSON-Objekten
- TOML-Arrays werden zu JSON-Arrays
- TOML-Datetime-Werte werden als ISO-8601-Strings serialisiert
- Die Ausgabe ist mit 2 Leerzeichen eingerückt, Unicode bleibt erhalten

---

## Response

### Direkter Download (`direct_download=true`, Standard)

```
HTTP 200 OK
Content-Type: application/json
Content-Disposition: inline; filename="config_20260405_123456789.json"
```

### Metadaten-Response (`direct_download=false`)

```json
{
    "presigned_url": "https://spaces.example.com/...",
    "object_key": "env/files/{project_id}/toml-to-json/config_20260405_123456789.json",
    "filename": "config_20260405_123456789.json",
    "file_size": 1234,
    "conversion_time_seconds": 0.03
}
```

---

## Codebeispiele

### Python

```python
import requests

with open("config.toml", "rb") as f:
    response = requests.post(
        "https://api.enconvert.com/v1/convert/toml-to-json",
        headers={"X-API-Key": "sk_your_private_key"},
        files={"file": ("config.toml", f, "application/toml")}
    )

with open("config.json", "wb") as out:
    out.write(response.content)
```

### Node.js

```javascript
const form = new FormData();
form.append("file", fs.createReadStream("config.toml"));

const response = await fetch("https://api.enconvert.com/v1/convert/toml-to-json", {
    method: "POST",
    headers: { "X-API-Key": "sk_your_private_key" },
    body: form
});

const json = await response.json();
```

### PHP

```php
$ch = curl_init("https://api.enconvert.com/v1/convert/toml-to-json");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["X-API-Key: sk_your_private_key"],
    CURLOPT_POSTFIELDS => ["file" => new CURLFile("config.toml")]
]);
$json = curl_exec($ch);
curl_close($ch);
```

### Go

```go
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("file", "config.toml")
file, _ := os.Open("config.toml")
io.Copy(part, file)
writer.Close()

req, _ := http.NewRequest("POST", "https://api.enconvert.com/v1/convert/toml-to-json", body)
req.Header.Set("Content-Type", writer.FormDataContentType())
req.Header.Set("X-API-Key", "sk_your_private_key")
resp, _ := http.DefaultClient.Do(req)
```

---

## Fehlerantworten

| Status | Bedingung |
|--------|-----------|
| `400 Bad Request` | Datei ist keine `.toml`-Datei |
| `400 Bad Request` | Ungültiger TOML-Inhalt |
| `400 Bad Request` | TOML-zu-JSON-Konvertierung fehlgeschlagen |
| `401 Unauthorized` | Fehlender oder ungültiger API-Key / JWT-Token |
| `402 Payment Required` | Monatliches Ops-Kontingent aufgebraucht |
| `413 Payload Too Large` | Datei überschreitet die maximale Dateigröße des Plans |

---

## Limits

| Limit | Wert |
|-------|-------|
| Maximale Dateigröße | Planabhängig (Founding: 5 MB) |
| Eingabekodierung | Nur UTF-8 |
| Monatliche Konvertierungen | Planabhängig |

---

## Häufig gestellte Fragen

### Wie konvertiere ich TOML per REST API in JSON?

Senden Sie einen `multipart/form-data`-POST-Request an `POST /v1/convert/toml-to-json` mit Ihrer `.toml`-Datei im Feld `file`, authentifiziert über einen `X-API-Key`-Header oder ein JWT-Token via `Authorization: Bearer`. Standardmäßig enthält der Response-Body die JSON-Rohbytes.

### Wie werden TOML-Datetime-Werte in der JSON-Ausgabe dargestellt?

TOML-Datetime-Werte werden als ISO-8601-Strings serialisiert. TOML-Tabellen werden zu JSON-Objekten und TOML-Arrays zu JSON-Arrays. Die Ausgabe nutzt 2-Leerzeichen-Einrückung und behält Unicode bei.

### Kann ich eine Presigned Download-URL statt des JSON-Rohinhalts erhalten?

Ja. Setzen Sie `direct_download=false`, und die API gibt JSON-Metadaten zurück, darunter `presigned_url`, `object_key`, `filename`, `file_size` und `conversion_time_seconds`.

### Warum liefert meine TOML-zu-JSON-Konvertierung einen 400-Fehler?

Ein `400 Bad Request` wird zurückgegeben, wenn der Upload keine `.toml`-Datei ist, der TOML-Inhalt ungültig ist oder die Konvertierung selbst fehlschlägt. Die Datei muss außerdem UTF-8-kodiert sein.
