---
title: "Commit Environment Revision"
method: POST
path: "/environments/revisions/commit"
tags: ["Environments"]
---

# Commit Environment Revision

`POST /environments/revisions/commit`

## Request body

- EnvironmentRevisionCommitRequest
  - `environment_revision` EnvironmentRevisionCommit, required
    - `environment_revision_id` string, uuid, nullable
    - `revision_id` string, uuid, nullable
    - `environment_variant_id` string, uuid, nullable
    - `variant_id` string, uuid, nullable
    - `environment_id` string, uuid, nullable
    - `artifact_id` string, uuid, nullable
    - `flags` object, nullable
    - `tags` object, nullable
    - `meta` object, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `slug` string, nullable
    - `data` EnvironmentRevisionData — Per-app references for environment revision data. Keys are app-scoped identifiers (e.g., ``"pre.revision"``). Values are dicts of entity-type → Reference, providing full traceability:: { "pre.revision": { "application": Reference(id=..., slug=..., version=...), "application_variant": Reference(id=..., slug=..., version=...), "application_revision": Reference(id=..., slug=..., version=...), }, ... }
      - `references` object, nullable
    - `message` string, nullable
    - `delta` EnvironmentRevisionDelta — Delta operations on environment revision references. - ``set``: references to add or update (key → dict of entity → Reference). - ``remove``: reference keys to remove.
      - `set` object, nullable
      - `remove` string[], nullable

## Response `200`

Successful Response

- EnvironmentRevisionResponse
  - `count` integer
  - `environment_revision` EnvironmentRevisionOutput
    - `environment_variant_slug` string, nullable
    - `variant_slug` string, nullable
    - `environment_slug` string, nullable
    - `artifact_slug` string, nullable
    - `environment_variant_id` string, uuid, nullable
    - `variant_id` string, uuid, nullable
    - `environment_id` string, uuid, nullable
    - `artifact_id` string, uuid, nullable
    - `author` string, uuid, nullable
    - `date` string, date-time, nullable
    - `message` string, nullable
    - `flags` object, nullable
    - `tags` object, nullable
    - `meta` object, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `deleted_at` string, date-time, nullable
    - `created_by_id` string, uuid, nullable
    - `updated_by_id` string, uuid, nullable
    - `deleted_by_id` string, uuid, nullable
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
    - `data` EnvironmentRevisionData — Per-app references for environment revision data. Keys are app-scoped identifiers (e.g., ``"pre.revision"``). Values are dicts of entity-type → Reference, providing full traceability:: { "pre.revision": { "application": Reference(id=..., slug=..., version=...), "application_variant": Reference(id=..., slug=..., version=...), "application_revision": Reference(id=..., slug=..., version=...), }, ... }
      - `references` object, nullable
  - `resolution_info` ResolutionInfo
    - `references_used` object[], required
    - `depth_reached` integer, required
    - `embeds_resolved` integer, required
    - `errors` string[]
  - `retrieval_info` RetrievalInfo — References actually used to retrieve a revision. For direct retrievals, `references` carries the artifact / variant / revision that was fetched. For environment-backed retrievals, it additionally carries the environment + environment_variant + environment_revision used to look the target up, and `selector` is {the key: path} map inside the environment's references map that selected the target.
    - `references` object
    - `selector` object, nullable

## Other responses

- `422` — Validation Error

## Changes

> 359 revisions in range; 4 could not be searched.

- **2026-07-25** `5a14788d939f` — 1 breaking, 1 warning, 2 info
  - added the new required request property `environment_revision`
  - removed the request property `environment_revision_commit`
  - added `#/components/schemas/EnvironmentRevision-Output` to the `environment_revision` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/EnvironmentRevision` from the `environment_revision` response property `anyOf` list for the response status `200`
- **2026-06-01** `b2f21936417e` — 1 info
  - added the optional property `retrieval_info` to the response with the `200` status
- **2026-05-31** `c26abd89e092` — 1 warning
  - removed the optional property `retrieval_info` from the response with the `200` status
- **2026-05-31** `06e03dbce2be` — 1 info
  - added the optional property `retrieval_info` to the response with the `200` status
- …earlier changes not shown

[Full history](https://skmtc.dev/agenta-ai/apis/agenta-api/changes/environments/revisions/commit/post.md)

---

[API](https://skmtc.dev/agenta-ai/apis/agenta-api.md) · [All operations](https://skmtc.dev/agenta-ai/apis/agenta-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/agenta-ai/agenta-api/revisions/713e4f3b7519/schema)
