> ## 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.

# Variables de entorno

> Lista, agrega, reemplaza y elimina las variables de entorno de una aplicación.

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

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

Las variables de entorno se modelan como `squarecloud.EnvVars`, un simple `map[string]string`. Cada método se resuelve con el conjunto completo de variables tras completarse la operación — siempre recibes de vuelta un mapa actualizado.

<Note>
  Límites: hasta 256 variables por aplicación, claves de hasta 1024 caracteres y valores de hasta 4096 caracteres.
</Note>

## Listado de variables de entorno

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

## Agregar o actualizar variables

`api.SetApplicationEnvs(appID, envs)` **fusiona** nuevas variables con el conjunto existente. Las claves existentes que no aparezcan en la llamada se conservan.

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

## Reemplazo de todo el conjunto de variables

`api.ReplaceApplicationEnvs(appID, envs)` sobrescribe todas las variables.

<Warning>
  Cualquier variable no listada en la llamada se **elimina**. Usa `SetApplicationEnvs` cuando solo quieras agregar o actualizar — `ReplaceApplicationEnvs` elimina todas las variables que dejes fuera.
</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
```

Pasa un mapa vacío para borrar todas las variables:

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

## Eliminación de variables

`api.DeleteApplicationEnvs(appID, keys)` elimina las claves indicadas. Las claves desconocidas se ignoran silenciosamente.

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