---
title: "Create Environment Proposal"
method: POST
path: "/api/environments/{env_id}/proposal"
tags: ["environments"]
---

# Create Environment Proposal

`POST /api/environments/{env_id}/proposal`

## Request

- Base URL: `https://app.getdot.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.getdot.ai/api/environments/{env_id}/proposal`
- Auth: one of:
  - API key in header `X-API-KEY`
  - API key in cookie `Authorization`
  - OAuth 2 (password, token URL `/api/auth/token`)

## Path parameters

- `env_id` string, required

## Request body

- BodyCreateEnvironmentProposalApiEnvironmentsEnvIdProposalPost
  - `confirm_below_threshold` boolean
  - `title` string, nullable: The change in one line; it titles the GitHub pull request.
  - `summary` string, nullable: What changed and why, and how it was checked, for reviewers in Dot and on GitHub.

## Response `200`

Successful Response

- EnvironmentProposalResponse
  - `proposal_id` string, required
  - `proposal_source` 'environment' | 'training', required
  - `merge_policy` 'full_environment', required
  - `score_pct` integer, nullable, required
  - `threshold` integer, nullable, required
  - `below_threshold` boolean, required
  - `pull_request_url` string, nullable
  - `next_step` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getdot/apis/dot-api-2.md) · [All operations](https://skmtc.dev/getdot/apis/dot-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/getdot/apis/dot-api-2/revisions/d26fe7163a7f?raw)
