/** @return DeletedEnvironmentResource */
public function delete(
string $project,
string $environment,
?string $product = null,
int|float|null $timeout = null,
): arraySoft-deletes an environment along with every variable in it, in one transaction, and takes its published versions out of reach with it. There is no guard on a non-empty environment and no undo over the API, so put your own confirmation in front of it.
The response is a tombstone, not the environment shape: id, name, slug, projectId and a deletedVariables count, with no createdAt, exposed or updatedAt. The slot it frees counts back against the per-project environment allowance right away, so a create that was failing with 402 can succeed immediately after.
Example
use Envless\Envless;
$envless = new Envless();
$deleted = $envless->environments->delete('api', 'staging');
echo "{$deleted['id']} {$deleted['projectId']}", PHP_EOL;
echo $deleted['deletedVariables'], PHP_EOL;Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
$project | string | Yes | Project slug or uniqueId that owns the environment. |
$environment | string | Yes | Environment slug; ids are not accepted. |
$product | string | No | Product slug that disambiguates an ambiguous project slug. |
$timeout | int|float | No | Seconds each attempt of this call may take, the response body included, before it throws Envless\Exception\NetworkException with isTimeout() true. Overrides the client's timeout for this call, and 0 turns the limit off. |
Returns
DeletedEnvironmentResource carrying id, name, slug, projectId and deletedVariables.
Worth knowing
deletedVariablescounts live variables only. Version snapshots are not deleted and are not counted, they simply stop resolving once the environment is gone.- Deleting the last environment in a project is allowed; the project itself stays.
- Capture the
slugyou passed before the call if you need it for an audit trail, since the tombstone is all you get back.
Required scopes
environments:write
Underlying endpoint
DELETE /projects/{slug}/environments/{environmentSlug}
Request and response schema, every error code, and a live playground.
In TypeScript
envless.environments.delete()
The same method in @goenvless/sdk, with the same request, retries and errors.