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

# Get what a deployment applied

> Fetch what a deployment applied — Helm values for aws:eks, the task definition for aws:ecs. GET /deployments/{id}/definition in the Ravion API reference.



## OpenAPI

````yaml https://api.ravion.com/openapi.yaml get /deployments/{id}/definition
openapi: 3.0.0
info:
  title: Ravion
  version: 0.0.0
servers:
  - url: https://api.ravion.com
security:
  - BearerAuth: []
tags:
  - name: Projects
  - name: Environments
  - name: Pipelines
  - name: PipelineRuns
  - name: TerraformResources
  - name: TerraformExecutionSummaries
  - name: PipelineStepExecutions
  - name: AwsCloudWatch
  - name: PipelineVersions
  - name: Organizations
  - name: Stacks
  - name: StackWorkspaces
  - name: Auth
  - name: OAuth
  - name: User
  - name: Health
  - name: Memberships
  - name: ServiceAccounts
  - name: AwsDefaultNetworks
  - name: AwsAccounts
  - name: ApiKeys
  - name: AwsAmp
  - name: EksPrometheus
  - name: EksLoki
  - name: ExecutionEnvironments
  - name: ModuleDefinitions
  - name: ModuleCategories
  - name: ModuleVersions
  - name: ModuleInstances
  - name: DefaultValueDefinitions
  - name: DefaultValues
  - name: CodeSources
  - name: Github
  - name: Gitlab
  - name: Git
  - name: Values
  - name: Deployments
  - name: DeploymentResources
  - name: InfrastructureEvents
  - name: WebSocket
  - name: Domains
  - name: AcmCertificates
  - name: Describe
  - name: Reports
paths:
  /deployments/{id}/definition:
    get:
      tags:
        - Deployments
      summary: Get what a deployment applied
      description: |-
        Fetch what a deployment applied — Helm values for `aws:eks`, the task
        definition for `aws:ecs`.

        Separate from the deployment resource rather than folded into it,
        because a values document runs to tens of kilobytes and every
        deployment-history page would otherwise pay for one per row. A client
        diffing two deployments fetches both, which is two requests for the one
        screen that wants them.

        404 covers the cases that are the same answer to the caller: the
        deployment does not exist, its type records no definition (`aws:ec2`,
        `aws:static`, `aws:lambda`), or it recorded none — which is true of
        every `aws:eks` deployment created before values were recorded, of any
        whose document exceeded the recording ceiling, and of an `aws:ecs`
        deployment that never reached task-definition registration.
      operationId: GetDeploymentDefinition
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/DeploymentDefinition'
                required:
                  - data
                type: object
          description: The request has succeeded.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: You are not authenticated
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: You do not have permission to access this resource.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: The server cannot find the requested resource.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: Server error
components:
  schemas:
    DeploymentDefinition:
      description: |-
        The definition a deployment applied, discriminated by deployment
        type: Helm values for `aws:eks`, the task definition for `aws:ecs`.
      discriminator:
        mapping:
          aws:ecs:
            $ref: '#/components/schemas/DeploymentDefinitionAwsEcs'
          aws:eks:
            $ref: '#/components/schemas/DeploymentDefinitionAwsEks'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/DeploymentDefinitionAwsEks'
        - $ref: '#/components/schemas/DeploymentDefinitionAwsEcs'
      type: object
    Errors.UserFacingErrorData:
      additionalProperties: false
      description: |-
        User-facing error presentation data.
        This is what the API returns to the frontend after formatting ErrorData
        using CEL templates from the error registry.

        Used for both:
        - Error fields on domain models (e.g., PipelineRun.error)
        - API error response bodies (HTTP 4xx/5xx responses)
      properties:
        action:
          allOf:
            - $ref: '#/components/schemas/Errors.Action'
          description: Optional action to help resolve the error
        code:
          description: Full error code, e.g., "Ravion:Pipeline:NOT_FOUND"
          type: string
        description:
          description: Additional description with more details
          type: string
        details:
          description: Structured details rendered as user-facing sections.
          items:
            $ref: '#/components/schemas/Errors.UserFacingErrorDetailSection'
          type: array
        isInternal:
          description: >-
            Indicates whether this error is internal (only set when
            ShowInternal=true).

            This allows SUPERADMINs to identify internal errors while viewing
            full details.
          type: boolean
        message:
          description: Main error message (required)
          type: string
        metadata:
          additionalProperties: {}
          description: >-
            Error params/metadata. Stripped for internal errors unless
            superadmin.
          type: object
        requestId:
          description: Request ID for correlating errors with server logs.
          type: string
      required:
        - code
        - message
      type: object
    DeploymentDefinitionAwsEcs:
      additionalProperties: false
      description: |-
        What one `aws:ecs` deployment applied: the task definition revision it
        registered and rolled the service onto. The same class of content as
        the Helm values — `secrets` entries are ARNs, never values.
      properties:
        deploymentId:
          description: Deployment this definition was recorded for.
          type: string
        taskDefinition:
          allOf:
            - $ref: '#/components/schemas/Deployments.EcsTaskDefinitionSnapshot'
          description: The task definition the deploy registered and applied.
        type:
          enum:
            - aws:ecs
          type: string
      required:
        - type
        - deploymentId
        - taskDefinition
      type: object
    DeploymentDefinitionAwsEks:
      additionalProperties: false
      description: >-
        What one `aws:eks` deployment applied: the rendered Helm values,

        exactly as they reached Helm, plus the chart they were applied with.


        Application secrets are `ravion.secrets` entries holding Parameter Store

        / Secrets Manager ARNs, which the External Secrets Operator resolves

        in-cluster. Ravion never reads what they point at, so no secret value
        can

        appear here.
      properties:
        byteSize:
          description: Byte length of the canonical encoding.
          format: int32
          type: integer
        chart:
          allOf:
            - $ref: '#/components/schemas/Deployments.EksHelmChartRef'
          description: >-
            The chart the values were applied with, as recorded on the
            deployment.
        checksum:
          description: |-
            Lowercase hex SHA-256 of the document's canonical encoding. Lets a
            client tell two deployments apart, or recognize them as identical,
            without diffing.
          type: string
        deploymentId:
          description: Deployment this definition was recorded for.
          type: string
        type:
          enum:
            - aws:eks
          type: string
        values:
          additionalProperties: {}
          description: The values document itself, exactly as it reached Helm.
          type: object
      required:
        - type
        - deploymentId
        - values
        - checksum
        - byteSize
      type: object
    Errors.Action:
      additionalProperties: false
      description: Action to help user resolve the error
      properties:
        label:
          description: Button/link label text
          type: string
        url:
          description: URL to navigate to for resolution
          type: string
      required:
        - label
        - url
      type: object
    Errors.UserFacingErrorDetailSection:
      additionalProperties: false
      description: Structured user-facing error detail section.
      properties:
        items:
          description: List of detail values for this section.
          items:
            type: string
          type: array
        object:
          additionalProperties: {}
          description: Structured detail payload for object rendering.
          type: object
        render:
          description: Rendering hint for clients. Valid values are list or object.
          type: string
        title:
          description: Detail section title shown in the UI.
          type: string
      required:
        - title
        - render
      type: object
    Deployments.EcsTaskDefinitionSnapshot:
      additionalProperties: false
      description: |-
        Snapshot of an ECS task definition captured at deploy time. Carries
        AWS's assigned ARN + revision plus the raw task-definition payload
        AWS returned. Stored twice on EcsDeploymentData (before / after the
        deploy's RegisterTaskDefinition call) so the drawer can diff them.

        `definition` is an open-shape map of the `DescribeTaskDefinition`
        JSON AWS returned, keys normalized to the camelCase shape the AWS
        public API uses. We deliberately do NOT coerce into
        `Module.EcsTaskDefinition` (the user YAML schema) here — that
        schema is a subset of the AWS surface, so coercion would silently
        drop fields AWS includes but users don't get to set directly
        (registeredAt, status, requiresAttributes, revision, etc.).
      properties:
        arn:
          description: |-
            Full ARN returned by RegisterTaskDefinition, e.g.
            arn:aws:ecs:us-east-1:123:task-definition/my-svc:42
          type: string
        definition:
          additionalProperties: {}
          description: |-
            Raw AWS `DescribeTaskDefinition` response, keys normalized to
            camelCase. Every field AWS returns (containerDefinitions,
            networkMode, requiresCompatibilities, taskRoleArn, registeredAt,
            …) is present verbatim so the drawer's diff viewer can render
            the complete before / after.
          type: object
        revision:
          description: |-
            Revision number AWS assigned. Duplicated from the ARN tail so
            consumers that parse family:revision directly don't need to
            string-split the ARN.
          format: int32
          type: integer
      required:
        - arn
        - revision
        - definition
      type: object
    Deployments.EksHelmChartRef:
      additionalProperties: false
      description: |-
        Resolved chart reference captured at deploy time — the module-side
        `Module.HelmChartSource` after template substitution, flattened into
        one model with a `sourceKind` discriminator so the deploy drawer can
        render "which chart was installed" without narrowing a union.

        Which optional fields carry values depends on `sourceKind`:
        - `git`    → `path`, plus `repo` + `branch` (optionally `ref`) when
        the chart was checked out of a repository; `path` alone
        for a chart bundled with the module definition
        - `oci`    → `chart` (the `oci://…` url), optionally `version`
        - `http`   → `repo` + `chart` (the chart name), optionally `version`
      properties:
        branch:
          description: |-
            Branch the chart's source repository was cloned at — `git`
            sources that name a repository. Recorded because it is what names
            the checkout: `ref` is optional and `path` addresses a directory
            inside the clone. Without it a replay of this deploy would have
            nothing to clone.
          type: string
        chart:
          description: |-
            Chart identifier — the full `oci://…` url (`oci`) or the chart
            name within the repository (`http`). Absent for `git`, where the
            chart is addressed by `path`.
          type: string
        credentials:
          allOf:
            - $ref: '#/components/schemas/Deployments.EksChartCredentialRefs'
          description: |-
            References to the credentials this deploy fetched the chart with.
            Absent for a public chart, which is the common case.
        path:
          description: |-
            Path to the chart directory within the checkout — `git` sources
            only.
          type: string
        ref:
          description: |-
            Git ref (branch, tag, or commit SHA) checked out — `git` sources
            only. The workflow records the resolved commit SHA where it can,
            so the deploy is reproducible.
          type: string
        repo:
          description: |-
            Repository URL — the Git remote (`git`) or the Helm repository
            URL (`http`). Absent for `oci` and for a bundled `git` chart.
          type: string
        sourceKind:
          allOf:
            - $ref: '#/components/schemas/Deployments.EksHelmChartSourceKind'
          description: Which kind of chart source this deploy installed from.
        version:
          description: |-
            Chart version installed. Absent when the module config pinned no
            version and Helm resolved "latest" at install time.
          type: string
      required:
        - sourceKind
      type: object
    Deployments.EksChartCredentialRefs:
      additionalProperties: false
      description: |-
        ARNs of the credentials a deploy used to fetch a private chart.

        References only, and the same class of identifier as
        `EksSecretRef.valueFrom` already recorded on this payload: Ravion
        resolves these on the runner instance at fetch time and never
        persists what it read. They are recorded so a replay of this deploy
        can reach the same private registry — a redeploy that dropped them
        would fail authentication against a chart the original deploy pulled
        fine.
      properties:
        password:
          description: Registry / repository password reference. Paired with `username`.
          type: string
        username:
          description: Registry / repository username reference. Paired with `password`.
          type: string
      type: object
    Deployments.EksHelmChartSourceKind:
      description: |-
        Where the chart this deploy installed came from. Mirrors the
        module-side `Module.HelmChartSource` `type` discriminator so the
        snapshot and the config spell the source the same way.
      enum:
        - git
        - oci
        - http
      type: string
  securitySchemes:
    BearerAuth:
      scheme: Bearer
      type: http

````