> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Umgebungsvariablen

> Umgebungsvariablen einer Anwendung auflisten, hinzufügen, ersetzen und löschen.

```go theme={null}
client := rest.NewClient(os.Getenv("SQUARECLOUD_API_KEY"))
defer client.Close()

api := rest.New(client)
```

Umgebungsvariablen sind als `squarecloud.EnvVars` modelliert, eine einfache `map[string]string`. Jede Methode löst nach Abschluss der Operation zum vollständigen Env-Set auf — du erhältst also stets eine aktuelle Map zurück.

<Note>
  Limits: bis zu 256 Variablen pro Anwendung, Schlüssel bis zu 1024 Zeichen und Werte bis zu 4096 Zeichen.
</Note>

## Umgebungsvariablen auflisten

```go theme={null}
envs, err := api.GetApplicationEnvs("abc123def456abc123def456")
if err != nil {
	panic(err)
}

for key, value := range envs {
	fmt.Printf("%s=%s\n", key, value)
}
```

## Variablen hinzufügen oder aktualisieren

`api.SetApplicationEnvs(appID, envs)` **führt** neue Variablen in das bestehende Set **zusammen**. Vorhandene Schlüssel, die nicht im Aufruf enthalten sind, bleiben erhalten.

```go theme={null}
envs, err := api.SetApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
	"DATABASE_URL": "postgres://...",
	"FEATURE_FLAG": "true",
})
if err != nil {
	panic(err)
}
```

## Das gesamte Env-Set ersetzen

`api.ReplaceApplicationEnvs(appID, envs)` überschreibt jede Variable.

<Warning>
  Alles, was nicht im Aufruf aufgeführt ist, wird **entfernt**. Verwende `SetApplicationEnvs`, wenn du nur hinzufügen oder aktualisieren willst — `ReplaceApplicationEnvs` löscht jede Variable, die du weglässt.
</Warning>

```go theme={null}
envs, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{
	"DATABASE_URL": "postgres://new-host...",
})
if err != nil {
	panic(err)
}
// FEATURE_FLAG is now gone
```

Übergib eine leere Map, um alle Variablen zu löschen:

```go theme={null}
_, err := api.ReplaceApplicationEnvs("abc123def456abc123def456", squarecloud.EnvVars{})
```

## Variablen löschen

`api.DeleteApplicationEnvs(appID, keys)` entfernt die aufgeführten Schlüssel. Unbekannte Schlüssel werden stillschweigend ignoriert.

```go theme={null}
envs, err := api.DeleteApplicationEnvs("abc123def456abc123def456", []string{"FEATURE_FLAG"})
if err != nil {
	panic(err)
}
```
