Variables

envless.variables.get()

Read one variable by name

ts
get(project: string, environment: string, name: string, options?: ProductScope): Promise<VariableResource>

Reads one live variable by name inside an environment. Matching ignores case, so API_KEY, api_key and Api_Key all resolve to the same variable, and the response carries the name with its stored casing. This route has no id fallback, use getById when you hold an id.

The SDK URL encodes the name for you. In practice nothing needs it, since every write path enforces ^[A-Za-z_][A-Za-z0-9_]*$ and only legacy rows written before that rule can hold a character that would need escaping. value and defaultValue are returned untouched, which means ciphertext.

A missing project answers 404 project.not_found, while a missing environment and a missing variable both answer 404 with the generic request.not_found, so treat any 404 as one case through isNotFound instead of branching on a code.

Example

ts
const variable = await envless.variables.get('api', 'production', 'STRIPE_SECRET_KEY')

console.log(variable.id, variable.updatedAt)

Parameters

ParameterTypeRequiredDescription
projectstringYesProject slug the environment belongs to.
environmentstringYesEnvironment slug the variable lives in.
namestringYesVariable name, matched without regard to case.
options.productstringNoProduct slug, needed when the project slug is not unique in the workspace.
options.signalAbortSignalNoCancels the request.

Returns

VariableResource with the ciphertext value and defaultValue, plus type, visibility, required and environmentId.

Worth knowing

  • isSecret is stored server side but never appears in the response, so you cannot read it back on any route.
  • Keep the id and updatedAt you get here if you plan to call apply later, both feed the baseline.

Required scopes

variables:read

Underlying endpoint

GET /projects/{slug}/environments/{environmentSlug}/variables/{name}

Request and response schema, every error code, and a live playground.

In Python

envless.variables.get()

The same method in envless-sdk, the Python SDK, with the same request, retries and errors.

In Ruby

Envless.variables.get

The same method in envless-sdk, the Ruby gem, with the same request, retries and errors.

In PHP

$envless->variables->get()

The same method in envless/sdk, the PHP SDK, with the same request, retries and errors.