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

# Update a bundle

> Update a bundle on a Deployment. Only the fields in the request body change. `dagBundleIds` replaces the set of Dag bundles that a non-Dag bundle is served alongside.



## OpenAPI

````yaml /astro/api/v-1-labs/openapi.yaml post /organizations/{organizationId}/deployments/{deploymentId}/bundles/{bundleId}
openapi: 3.0.3
info:
  contact: {}
  description: >-
    Astro Labs API - Experimental endpoints for preview features, plus
    everything served under /v1.
  title: Astro Labs API
  version: v1.1
servers:
  - url: /labs/v1.1
security:
  - JWT: []
tags:
  - description: >-
      Canned-data placeholder used to exercise the labs epoch versioning
      surface. Real labs endpoints register their own tags.
    name: Example
  - description: >-
      The `organization` object contains the metadata and configurations of an
      Astro Organization. It does not include objects within the Organization,
      such as users and clusters. Make requests to `organization` endpoints to
      view and update high level settings for your Organization, including
      settings related to authentication and billing. To manage resources within
      an Organization, make requests to the endpoints related to those
      resources, such as `users`. See
      [Billing](https://astronomer.io/docs/astro/manage-billing), [Set up single
      sign-on](https://astronomer.io/docs/astro/configure-idp), and [Manage
      domains](https://astronomer.io/docs/astro/manage-domains).
    name: Organization
  - description: >-
      The `deployment` object represents an Astro Deployment, which is a hosted
      Airflow environment that is powered by all core Airflow components,
      including schedulers and workers. Make requests to the `deployment` object
      to create, update, or delete a Deployment or its computational resources.
      See [Deployment
      settings](https://astronomer.io/docs/astro/deployment-settings).
    name: Deployment
  - description: >-
      A `cluster` object represents an Astro cluster, which is a Kubernetes
      cluster that hosts the infrastructure required to run Deployments. Make
      requests to `cluster` endpoints to manage your standard and dedicated
      clusters. See [Create a dedicated
      cluster](https://astronomer.io/docs/astro/create-dedicated-cluster).
    name: Cluster
  - description: >-
      The `workspace` object represents an Astro Workspace, which is a
      collection of Deployments that can be accessed by a specific group of
      users. It contains metadata about a Workspace, but does not contain
      objects within the Workspace such as users and Deployments. Make requests
      to `workspace` endpoints to manage high level details about your
      Workspace. To manage resources within a Workspace, make requests to the
      endpoints related to those resources, such as `users`, and use the
      `workspaceIds` parameter to filter results by Workspace. See [Configure
      Workspaces](https://astronomer.io/docs/astro/manage-workspaces).
    name: Workspace
  - description: >-
      The `user` object represents a user account in your Astro Organization.
      Astro creates a new `user` object whenever you invite a user by email or
      add a user to Astro through an identity provider. The object contains all
      information about a user, including their personal information, roles, and
      login attempts. It doesn't include attributes for actions that the user
      completes after they log in, such as updating a Deployment. Make requests
      to `user` endpoints to manage permissions for existing users both at the
      Organization and Workspace level. To create new users, make requests to
      `invite` endpoints instead.
    name: User
  - description: >-
      The `team` object represents an Astro Team, which is a group of users that
      share the same permissions across your Organization and Workspaces. Make
      requests to `team` endpoints to create, update, and delete Teams across an
      Organization. See [Configure Teams on
      Astro](https://astronomer.io/docs/astro/manage-teams).
    name: Team
  - description: >-
      The `apitoken` object represents a single API token within your
      Organization. API tokens are used to authenticate automated tools and
      processes to your Organization. They have varying levels of access to your
      resources based on their Organization, Workspace, and Deployment roles.
      See [Workspace API tokens](workspace-api-tokens.md) and [Organization API
      tokens](organization-api-tokens.md).
    name: api-token
    x-group: API Token
  - name: allowed-ip-address-range
    x-group: Allowed IP Address Range
  - name: agent-token
    x-group: Agent Token
  - name: notification-channels
    x-group: Notification Channels
paths:
  /organizations/{organizationId}/deployments/{deploymentId}/bundles/{bundleId}:
    post:
      tags:
        - Bundle
      summary: Update a bundle
      description: >-
        Update a bundle on a Deployment. Only the fields in the request body
        change. `dagBundleIds` replaces the set of Dag bundles that a non-Dag
        bundle is served alongside.
      operationId: UpdateBundle
      parameters:
        - description: The ID of the Organization to which the Deployment belongs.
          in: path
          name: organizationId
          required: true
          schema:
            type: string
        - description: The Deployment's ID.
          in: path
          name: deploymentId
          required: true
          schema:
            type: string
        - description: The bundle's ID.
          in: path
          name: bundleId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBundleRequest'
        description: The request body for updating a bundle.
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bundle'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
        - JWT: []
components:
  schemas:
    UpdateBundleRequest:
      properties:
        dagBundleIds:
          description: >-
            The IDs of the Dag bundles that Astro serves the bundle alongside,
            replacing the current set. Only valid for non-Dag bundles.
          items:
            type: string
          maxItems: 1000
          minItems: 1
          type: array
        description:
          description: The bundle's description.
          example: Finance team Dags
          maxLength: 500
          type: string
      type: object
    Bundle:
      properties:
        createdAt:
          description: >-
            The time when the bundle was created in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        currentVersion:
          description: >-
            The bundle version most recently reported as running on the
            Deployment.
          type: string
        dagBundleIds:
          description: >-
            The IDs of the Dag bundles that Astro serves the bundle alongside.
            Appears only for non-Dag bundles.
          items:
            type: string
          type: array
        deletionIsPending:
          description: Whether the bundle has been deleted but is still on the Deployment.
          type: boolean
        description:
          description: The bundle's description.
          example: Finance team Dags
          type: string
        desiredVersion:
          description: The bundle version the Deployment is configured to run.
          type: string
        id:
          description: The bundle's ID.
          example: clvetru2w000201mowqwua63n
          type: string
        isDagBundle:
          description: >-
            Whether the bundle contains Dags. A non-Dag bundle contains other
            files, such as a dbt project.
          type: boolean
        isDefault:
          description: Whether the bundle is the Deployment's default Dag bundle.
          type: boolean
        lastDeployId:
          description: >-
            The ID of the deploy that last changed the bundle. Appears only
            after the bundle's first deploy.
          example: clvetru2w000201mowqwua63n
          type: string
        name:
          description: The bundle's name. Appears only for Dag bundles.
          example: finance
          type: string
        nonDagBundleType:
          description: >-
            The kind of files the bundle contains. Appears only for non-Dag
            bundles.
          example: dbt
          type: string
        nonDagMountPath:
          description: >-
            The path where Astro mounts the bundle on the Airflow component
            pods. Appears only for non-Dag bundles.
          example: /usr/local/airflow/dbt
          type: string
        type:
          description: The bundle's type. DEPLOY for a bundle written by a deploy.
          enum:
            - DEPLOY
          example: DEPLOY
          type: string
        updatedAt:
          description: >-
            The time when the bundle was last updated in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
      required:
        - createdAt
        - deletionIsPending
        - id
        - isDagBundle
        - isDefault
        - type
        - updatedAt
      type: object
    Error:
      properties:
        fieldErrors:
          description: >-
            FieldErrors carries one entry per failed request-validation
            constraint. Only present on 400 responses caused by request
            binding/validation.
          items:
            $ref: '#/components/schemas/FieldValidationError'
          type: array
        message:
          type: string
        requestId:
          type: string
        statusCode:
          maximum: 600
          minimum: 400
          type: integer
      required:
        - message
        - requestId
        - statusCode
      type: object
    FieldValidationError:
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
      required:
        - code
        - field
        - message
      type: object
  securitySchemes:
    JWT:
      scheme: bearer
      type: http

````