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

# Create a customer execution environment awaiting deployment

> Creates the execution environment configuration for your Organization and Azure subscription. Returns the installer template link, Deploy to Azure link, equivalent CLI command, and resource names. Wait for setup preparation to complete, deploy the template in your subscription, and then request provisioning to verify and finish setup.

Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader).

API · Execution Environment

POST `/api/v1/execution-environment`

Creates the execution environment configuration for your Organization and Azure subscription. Returns the installer template link, Deploy to Azure link, equivalent CLI command, and resource names. Wait for setup preparation to complete, deploy the template in your subscription, and then request provisioning to verify and finish setup. Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader).

Operation ID · create\_execution\_environment

## Request example

```bash theme={null}
curl --request POST \
  --url 'https://api.generalvalidation.com/api/v1/execution-environment' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <access-token>' \
  --header 'Idempotency-Key: <unique-idempotency-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Example resource",
  "subscriptionId": "11111111-1111-4111-8111-111111111111",
  "location": "example"
}'
```

## Authentication and access

* **Required role:** GV.APIOwner
* **Data classification:** metadata
* **Side effects:** configurationWrite, azureIamWrite

Use an authentication scheme declared below. Ordinary workloads use application tokens; signed-in users use delegated tokens and Organization membership. Activation and invitation acceptance require a person, and execution callbacks require their registered identity.

* Microsoft Entra delegated user token
* Microsoft Entra application token

## Parameters

### Idempotency-Key

header Required

Required caller-chosen retry identity. Use 1-128 visible ASCII characters and reuse it only for an exact retry of this request.

`string`

minimum length: 1 · maximum length: 128

## Request body

Required

### application/json

**Schema V1ExecutionEnvironmentCreate**

`object`

Properties

`browserReaderGroupId`

`string (uuid) | null`

Any of

**Option 1: string (uuid)**

`string (uuid)`

**Option 2: null**

`null`

`location`— Required

`string`

minimum length: 2 · maximum length: 64 · pattern: ^\[a-z0-9]+\$

`name`— Required

`string`

minimum length: 1 · maximum length: 255

`subscriptionId`— Required

`string (uuid)`

Additional properties are not allowed.

## Responses

This guide summarizes response status codes and headers. Retrieve the deployed, authenticated OpenAPI document for the exact response body schemas and examples. The API also provides an authenticated Swagger UI; opening it in a browser does not automatically attach a bearer token.

Error responses use `application/problem+json`. The response's stable `code` and `type` map to the [error-code reference](/errors).

### 201

Environment recorded; deploy the installer, then provision.

#### Headers

* **Idempotency-Replayed:** `boolean`
* **Location:** `string`

### 401

A valid Microsoft Entra bearer token is required.

### 403

The authenticated principal does not have the required role.

### 409

The operation conflicts with current resource or Azure state.

### 422

The request is syntactically valid but semantically invalid.

### 429

The bounded application request rate was exceeded.

#### Headers

* **Retry-After:** Seconds to wait before retrying. `integer`minimum: 1

### 503

A required dependency is temporarily unavailable.

#### Headers

* **Retry-After:** Seconds to wait before retrying. `integer`minimum: 1
