---
title: "Retrieve Application Revision"
method: POST
path: "/applications/revisions/retrieve"
tags: ["Applications"]
---

# Retrieve Application Revision

`POST /applications/revisions/retrieve`

Retrieve one application revision by reference.

Accepts application / variant / revision references for direct lookup,
or an environment reference (with optional `key`) to resolve the
currently-deployed revision in that environment. Returns the revision
including its `data` payload (URL, parameters, schemas), which clients
use to invoke the application.
Set `resolve: true` to inline embedded references inside `data`.

## Request body

- ApplicationRevisionRetrieveRequest — Request body for `POST /applications/revisions/retrieve`. Resolves to a single revision by one or more reference types. Every reference supplied must agree with the resolved revision; contradictions return HTTP 400. See the [Applications guide](/reference/api-guide/applications#invocation).
  - `application_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `application_variant_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `application_revision_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `environment_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `environment_variant_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `environment_revision_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `key` string, nullable — Deployment key inside the environment revision. When omitted and `application_ref` is supplied, the server derives it as `{application_slug}.revision`.
  - `resolve` boolean, nullable — When `true`, resolve embedded references in the returned revision's `data` (for example, snippet references).

## Response `200`

Successful Response

- ApplicationRevisionResponse — Single-revision response envelope.
  - `count` integer — `1` when a revision was found, `0` otherwise.
  - `application_revision` ApplicationRevisionOutput
    - `application_variant_slug` string, nullable
    - `workflow_variant_slug` string, nullable
    - `application_slug` string, nullable
    - `workflow_slug` string, nullable
    - `application_variant_id` string, uuid, nullable
    - `workflow_variant_id` string, uuid, nullable
    - `application_id` string, uuid, nullable
    - `workflow_id` string, uuid, nullable
    - `variant_slug` string, nullable
    - `artifact_slug` string, nullable
    - `variant_id` string, uuid, nullable
    - `artifact_id` string, uuid, nullable
    - `author` string, uuid, nullable
    - `date` string, date-time, nullable
    - `message` string, nullable
    - `flags` ApplicationRevisionFlags
      - `is_application` boolean
      - `is_evaluator` boolean
      - `is_snippet` boolean
      - `is_managed` boolean
      - `is_custom` boolean
      - `is_llm` boolean
      - `is_hook` boolean
      - `is_code` boolean
      - `is_match` boolean
      - `is_feedback` boolean
      - `is_agent` boolean
      - `is_skill` boolean
      - `is_chat` boolean
      - `has_url` boolean
      - `has_script` boolean
      - `has_handler` boolean
      - `is_static` boolean
    - `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` ApplicationRevisionDataOutput
      - `uri` string, nullable
      - `url` string, nullable
      - `headers` object, nullable
      - `runtime` 'python' | 'typescript' | 'javascript', nullable
      - `script` string, nullable
      - `schemas` JsonSchemasOutput
        - `parameters` object, nullable
        - `inputs` object, nullable
        - `outputs` object, nullable
      - `parameters` 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

---

[API](https://skmtc.net/agenta-ai/apis/agenta-api.md) · [All operations](https://skmtc.net/agenta-ai/apis/agenta-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agenta-ai/agenta-api/versions/d43a05d98a9b/schema)
