Skip to content
Hoody.com

Manage the environment variables stored on a container: list the current set, merge a batch of updates, set a single variable, or remove one. Use these endpoints to inject configuration — database URLs, feature flags, runtime flags, secrets — that processes inside the container can read via their environment or from /etc/environment.

Changes are written to /etc/environment inside the container (visible to PAM and SSH on next login) and applied to the container runtime environment (visible to new exec or console sessions). Already-running processes keep their previous copy until they re-exec.

Get all environment variables configured on the container.

NameInTypeRequiredDescription
idpathstringYesContainer ID
{
"statusCode": 200,
"message": "Environment variables retrieved",
"data": {
"environment_vars": {
"NODE_ENV": "production",
"LOG_LEVEL": "info",
"DATABASE_URL": "postgres://app:secret@db.internal:5432/app"
}
}
}
Error CodeTitleDescriptionResolution
MISSING_TOKENAuthentication token missingNo authentication token was provided in the requestInclude a valid JWT token in the Authorization header as Bearer <token>
RESOURCE_ACCESS_DENIEDResource access deniedYou do not have permission to access this specific resourceEnsure you own this resource or have been granted access by the owner
CONTAINER_NOT_FOUNDContainer not foundThe 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.
Terminal window
curl -X GET 'https://api.hoody.com/api/v1/containers/cnt_8f3a2b1c9d4e5f6a7b8c9d0e/env' \
-H 'Authorization: Bearer <token>'

Merge environment variables into the container using merge semantics: existing keys are overwritten, new keys are added, and keys not present in the body are left unchanged.

NameInTypeRequiredDescription
idpathstringYesContainer ID

The body is a JSON object whose keys are the environment variable names and whose values are the corresponding string values. Each value is a string with a maximum length of 32,768 characters. Keys must match the pattern ^[a-zA-Z_][a-zA-Z0-9_]*$ and be at most 256 characters long. Between 1 and 200 keys must be provided.

{
"NODE_ENV": "production",
"LOG_LEVEL": "info",
"DATABASE_URL": "postgres://app:secret@db.internal:5432/app",
"FEATURE_FLAGS": "checkout_v2,referrals"
}
{
"statusCode": 200,
"message": "Environment variables updated",
"data": {
"environment_vars": {
"NODE_ENV": "production",
"LOG_LEVEL": "info",
"DATABASE_URL": "postgres://app:secret@db.internal:5432/app",
"FEATURE_FLAGS": "checkout_v2,referrals",
"EXISTING_KEY": "previous_value"
},
"synced": true
}
}
Error CodeTitleDescriptionResolution
VALIDATION_ERRORInvalid input parametersOne or more request parameters failed validationCheck the error message for specific field requirements and correct your input
INVALID_ENV_KEYInvalid Environment Variable KeyThe 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_PREFIXReserved Environment Variable PrefixEnvironment 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_TOKENAuthentication token missingNo authentication token was provided in the requestInclude a valid JWT token in the Authorization header as Bearer &lt;token&gt;
RESOURCE_ACCESS_DENIEDResource access deniedYou do not have permission to access this specific resourceEnsure you own this resource or have been granted access by the owner
CONTAINER_NOT_FOUNDContainer not foundThe 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.
Terminal window
curl -X PUT 'https://api.hoody.com/api/v1/containers/cnt_8f3a2b1c9d4e5f6a7b8c9d0e/env' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"NODE_ENV": "production",
"LOG_LEVEL": "info",
"DATABASE_URL": "postgres://app:secret@db.internal:5432/app"
}'

Set or update a single environment variable on the container.

NameInTypeRequiredDescription
idpathstringYesContainer ID
keypathstringYesEnvironment variable key
FieldTypeRequiredDescription
valuestringYesValue for the environment variable (max 32,768 characters)
{
"value": "production"
}
{
"statusCode": 200,
"message": "Environment variable updated",
"data": {
"environment_vars": {
"NODE_ENV": "production",
"LOG_LEVEL": "info",
"DATABASE_URL": "postgres://app:secret@db.internal:5432/app"
},
"synced": true
}
}
Error CodeTitleDescriptionResolution
VALIDATION_ERRORInvalid input parametersOne or more request parameters failed validationCheck the error message for specific field requirements and correct your input
INVALID_ENV_KEYInvalid Environment Variable KeyThe 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_PREFIXReserved Environment Variable PrefixEnvironment 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_TOKENAuthentication token missingNo authentication token was provided in the requestInclude a valid JWT token in the Authorization header as Bearer &lt;token&gt;
RESOURCE_ACCESS_DENIEDResource access deniedYou do not have permission to access this specific resourceEnsure you own this resource or have been granted access by the owner
CONTAINER_NOT_FOUNDContainer not foundThe 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.
Terminal window
curl -X PUT 'https://api.hoody.com/api/v1/containers/cnt_8f3a2b1c9d4e5f6a7b8c9d0e/env/NODE_ENV' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"value":"production"}'

Remove a single environment variable from the container. The operation is idempotent — it returns 200 whether the key existed or not — and the variable is removed from both /etc/environment and the container runtime environment.

NameInTypeRequiredDescription
idpathstringYesContainer ID
keypathstringYesEnvironment variable key
{
"statusCode": 200,
"message": "Environment variable removed",
"data": {
"environment_vars": {
"LOG_LEVEL": "info",
"DATABASE_URL": "postgres://app:secret@db.internal:5432/app"
},
"synced": true
}
}
Error CodeTitleDescriptionResolution
RESERVED_ENV_PREFIXReserved Environment Variable PrefixEnvironment 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_TOKENAuthentication token missingNo authentication token was provided in the requestInclude a valid JWT token in the Authorization header as Bearer &lt;token&gt;
RESOURCE_ACCESS_DENIEDResource access deniedYou do not have permission to access this specific resourceEnsure you own this resource or have been granted access by the owner
CONTAINER_NOT_FOUNDContainer not foundThe 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.
Terminal window
curl -X DELETE 'https://api.hoody.com/api/v1/containers/cnt_8f3a2b1c9d4e5f6a7b8c9d0e/env/NODE_ENV' \
-H 'Authorization: Bearer <token>'