---
title: "POST /v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments"
method: POST
path: "/v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments"
tags: ["projects"]
---

# POST /v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments

`POST /v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments`

## Request

- Base URL: `https://aiplatform.googleapis.com`
- URL: `https://aiplatform.googleapis.com/v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/sandboxEnvironments`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/cloud-platform`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/cloud-platform`

Creates a SandboxEnvironment in a given reasoning engine.

## Path parameters

- `projectsId` string, required
- `locationsId` string, required
- `reasoningEnginesId` string, required

## Request body

- GoogleCloudAiplatformV1SandboxEnvironment: SandboxEnvironment is a containerized environment that provides a customizable secure execution runtime for AI agents.
  - `connectionInfo` GoogleCloudAiplatformV1SandboxEnvironmentConnectionInfo: The connection information of the SandboxEnvironment.
    - `loadBalancerHostname` string: Output only. The hostname of the load balancer.
    - `loadBalancerIp` string: Output only. The IP address of the load balancer.
    - `routingToken` string: Output only. The routing token for the SandboxEnvironment.
    - `sandboxInternalIp` string: Output only. The internal IP address of the SandboxEnvironment.
    - `serviceAttachment` string: Output only. The name of the PSC-E service attachment created for private ingress to this SandboxEnvironment. Only populated when the template enables private ingress (see SandboxEnvironmentTemplate.ingress_control_config). VPC-SC customers use this to create a PSC endpoint in their VPC.
  - `createTime` string, google-datetime: Output only. The timestamp when this SandboxEnvironment was created.
  - `displayName` string: Required. The display name of the SandboxEnvironment.
  - `expireTime` string, google-datetime: Optional. Timestamp in UTC of when this SandboxEnvironment is considered expired. This is *always* provided on output, regardless of what `expiration` was sent on input.
  - `latestSandboxEnvironmentSnapshot` string: Output only. The resource name of the latest snapshot taken for this SandboxEnvironment.
  - `name` string: Identifier. The name of the SandboxEnvironment.
  - `owner` string: Optional. Owner information for this sandbox environment. A Sandbox can only be restored from a snapshot that belongs to the same owner. If not set, sandbox will be created as the default owner.
  - `sandboxEnvironmentSnapshot` string: Optional. The resource name of the SandboxEnvironmentSnapshot to use for creating this SandboxEnvironment. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}/sandboxEnvironmentSnapshots/{sandbox_environment_snapshot}`
  - `sandboxEnvironmentTemplate` string: Optional. The name of the SandboxEnvironmentTemplate specified in the parent Agent Engine resource that this SandboxEnvironment is created from.
  - `spec` GoogleCloudAiplatformV1SandboxEnvironmentSpec: The specification of a SandboxEnvironment.
    - `codeExecutionEnvironment` GoogleCloudAiplatformV1SandboxEnvironmentSpecCodeExecutionEnvironment: The code execution environment with customized settings.
      - `codeLanguage` 'LANGUAGE_UNSPECIFIED' | 'LANGUAGE_PYTHON' | 'LANGUAGE_JAVASCRIPT': The coding language supported in this environment.
      - `machineConfig` 'MACHINE_CONFIG_UNSPECIFIED' | 'MACHINE_CONFIG_VCPU4_RAM4GIB': The machine config of the code execution environment.
    - `shellEnvironment` GoogleCloudAiplatformV1SandboxEnvironmentSpecShellEnvironment: The shell environment.
  - `state` 'STATE_UNSPECIFIED' | 'STATE_PROVISIONING' | 'STATE_RUNNING' | 'STATE_DEPROVISIONING' | 'STATE_TERMINATED' | 'STATE_DELETED' | 'STATE_PAUSED' | 'STATE_PAUSING' | 'STATE_RESUMING' | 'STATE_STOPPING': Output only. The runtime state of the SandboxEnvironment.
  - `ttl` string, google-duration: Optional. Input only. The TTL for the sandbox environment. The expiration time is computed: now + TTL.
  - `updateTime` string, google-datetime: Output only. The timestamp when this SandboxEnvironment was most recently updated.

## Response `200`

Successful response

- GoogleLongrunningOperation: This resource represents a long-running operation that is the result of a network API call.
  - `done` boolean: If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  - `error` GoogleRpcStatus: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `code` integer: The status code, which should be an enum value of google.rpc.Code.
    - `details` object[]: A list of messages that carry the error details. There is a common set of message types for APIs to use.
    - `message` string: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  - `metadata` object: Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
  - `name` string: The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  - `response` object: The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.

---

[API](https://skmtc.dev/google/apis/aiplatform.md) - [All operations](https://skmtc.dev/google/apis/aiplatform/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/aiplatform/revisions/3aca3b348f0c?raw)
