> ## Documentation Index
> Fetch the complete documentation index at: https://hub.hcompany.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Patch an environment

> Change individual fields of an environment without resending the full spec.

Partial update: only the fields you send change, everything else is preserved. Send a field as `null` to clear it, for example `vault_id: null` to unbind a [vault](/computer-use-agents/vaults/overview). The merged result is validated like a [full update](/computer-use-agents/environments/update), and `id` and `kind` are not patchable.

This makes binding a vault to an existing environment a one-liner, with no need to resend the full spec.

**Returns** the updated [Environment](/computer-use-agents/environments/overview) object.

***

## Path parameters

<ParamField path="id" type="string" required>
  The environment's `id` (e.g. `wide-browser` or `myorg/wide-browser`). Slash-containing identifiers are supported.
</ParamField>

***

## Request body

Any subset of the [Browser](/computer-use-agents/browser/configuration) spec's fields except `id` and `kind`: `start_url`, `headless`, `mode`, `vault_id`, `browser_profile_id`, `network`.

***

## Examples

Bind a vault, leaving the rest of the spec untouched:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PATCH https://agp.eu.hcompany.ai/api/v2/environments/wide-browser \
    -H "Authorization: Bearer $HAI_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"vault_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"}'
  ```

  ```python Python theme={null}
  from hai_agents import Client

  client = Client()

  environment = client.environments.patch_environment(
      "wide-browser",
      vault_id="f47ac10b-58cc-4372-a567-0e02b2c3d479",
  )
  print(environment.vault_id)
  ```

  ```typescript TypeScript theme={null}
  import { HaiAgentsClient } from "hai-agents";

  const client = new HaiAgentsClient();

  const environment = await client.environments.patchEnvironment({
    id: "wide-browser",
    vaultId: "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  });
  console.log(environment.vaultId);
  ```
</CodeGroup>

***

## Errors

| Status | Cause                                                            |
| ------ | ---------------------------------------------------------------- |
| `403`  | The environment is reserved (`h/`) and read-only.                |
| `404`  | Environment not found or you don't have access.                  |
| `422`  | The merged spec fails validation, for example an invalid `mode`. |
