The Container Environment Variables API lets you list, set, bulk-update, and delete environment variables on a container. Changes are written to /etc/environment (visible to PAM/SSH on next login) and to the Incus container configuration (visible to incus exec). Already-running processes do not pick up changes until they re-exec.
Key names must match the pattern ^[a-zA-Z_][a-zA-Z0-9_]*$ — start with a letter or underscore, then contain only alphanumeric characters and underscores.
Merge environment variables into the container using merge semantics. Existing keys are updated, new keys are added, and keys not present in the body are left unchanged.
The request body is a JSON object whose keys are environment variable names and whose values are strings. Each value is limited to 32,768 characters. Each key must match ^[a-zA-Z_][a-zA-Z0-9_]*$, be at most 256 characters long, and must not start with HOODY_. The body must contain between 1 and 200 properties.
The data.synced field reports whether changes were propagated to the container. It is false if no changes were detected or if the sync failed.
Error Code
Title
Description
Resolution
VALIDATION_ERROR
Invalid input parameters
One or more request parameters failed validation
Check the error message for specific field requirements and correct your input
INVALID_ENV_KEY
Invalid Environment Variable Key
The environment variable key is invalid. Keys must start with a letter or underscore, contain only alphanumeric characters and underscores, and must not start with the reserved HOODY_ prefix.
Use a key that matches [a-zA-Z_][a-zA-Z0-9_]* and does not start with HOODY_.
RESERVED_ENV_PREFIX
Reserved Environment Variable Prefix
Environment variable keys starting with HOODY_ are reserved for system use and cannot be set or deleted by users.
Use a different key name that does not start with HOODY_.
MISSING_TOKEN
Authentication token missing
No authentication token was provided in the request
Include a valid JWT token in the Authorization header as Bearer <token>
RESOURCE_ACCESS_DENIED
Resource access denied
You do not have permission to access this specific resource
Ensure you own this resource or have been granted access by the owner
CONTAINER_NOT_FOUND
Container not found
The requested container does not exist or you do not have permission to access it.
Verify the container ID is correct and that you have access to the project it belongs to.
Check the error message for specific field requirements and correct your input
INVALID_ENV_KEY
Invalid Environment Variable Key
The environment variable key is invalid. Keys must start with a letter or underscore, contain only alphanumeric characters and underscores, and must not start with the reserved HOODY_ prefix.
Use a key that matches [a-zA-Z_][a-zA-Z0-9_]* and does not start with HOODY_.
RESERVED_ENV_PREFIX
Reserved Environment Variable Prefix
Environment variable keys starting with HOODY_ are reserved for system use and cannot be set or deleted by users.
Use a different key name that does not start with HOODY_.
MISSING_TOKEN
Authentication token missing
No authentication token was provided in the request
Include a valid JWT token in the Authorization header as Bearer <token>
RESOURCE_ACCESS_DENIED
Resource access denied
You do not have permission to access this specific resource
Ensure you own this resource or have been granted access by the owner
CONTAINER_NOT_FOUND
Container not found
The requested container does not exist or you do not have permission to access it.
Verify the container ID is correct and that you have access to the project it belongs to.
Remove a single environment variable from the container. The operation is idempotent and returns 200 whether the key existed or not. Keys starting with HOODY_ are reserved and cannot be deleted.