---
title: "Update App"
method: PATCH
path: "/api/v2/app-builder/apps/{app_id}"
tags: ["App Builder"]
---

# Update App

`PATCH /api/v2/app-builder/apps/{app_id}`

Update an existing app. This creates a new version of the app. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access).

## Path parameters

- `app_id` string, uuid, required

## Request body

- UpdateAppRequest — A request object for updating an existing app.
  - `data` UpdateAppRequestData — The data object containing the new app definition. Any fields not included in the request remain unchanged.
    - `attributes` UpdateAppRequestDataAttributes — App definition attributes to be updated, such as name, description, and components.
      - `components` ComponentGrid[] — The new UI components that make up the app. If this field is set, all existing components are replaced with the new components under this field.
        - `events` AppBuilderEvent[] — Events to listen for on the grid component.
          - `name` 'pageChange' | 'tableRowClick' | '_tableRowButtonClick' | 'change' | 'submit' | 'click' | 'toggleOpen' | 'close' | 'open' | 'executionFinished' — The triggering action for the event.
          - `type` 'custom' | 'setComponentState' | 'triggerQuery' | 'openModal' | 'closeModal' | 'openUrl' | 'downloadFile' | 'setStateVariableValue' — The response to the event.
        - `id` string — The ID of the grid component. This property is deprecated; use `name` to identify individual components instead.
        - `name` string, required — A unique identifier for this grid component. This name is also visible in the app editor.
        - `properties` ComponentGridProperties, required — Properties of a grid component.
          - `backgroundColor` string — The background color of the grid.
          - `children` Component[] — The child components of the grid.
            - `events` AppBuilderEvent[] — Events to listen for on the UI component.
              - …
            - `id` string, nullable — The ID of the UI component. This property is deprecated; use `name` to identify individual components instead.
            - `name` string, required — A unique identifier for this UI component. This name is also visible in the app editor.
            - `properties` ComponentProperties, required — Properties of a UI component. Different component types can have their own additional unique properties. See the [components documentation](https://docs.datadoghq.com/service_management/app_builder/components/) for more detail on each component type and its properties.
              - …
            - `type` 'table' | 'textInput' | 'textArea' | 'button' | 'text' | 'select' | 'modal' | 'schemaForm' | 'checkbox' | 'tabs' | 'vegaChart' | 'radioButtons' | 'numberInput' | 'fileInput' | 'jsonInput' | 'gridCell' | 'dateRangePicker' | 'search' | 'container' | 'calloutValue', required — The UI component type.
          - `isVisible` union — Whether the grid component and its children are visible. If a string, it must be a valid JavaScript expression that evaluates to a boolean.
            - string
            - boolean
        - `type` 'grid', required — The grid component type.
      - `description` string — The new human-readable description for the app.
      - `name` string — The new name of the app.
      - `queries` Query[] — The new array of queries, such as external actions and state variables, that the app uses. If this field is set, all existing queries are replaced with the new queries under this field.
        - union — A data query used by an app. This can take the form of an external action, a data transformation, or a state variable.
          - ActionQuery — An action query. This query type is used to trigger an action, such as sending a HTTP request.
            - `events` AppBuilderEvent[] — Events to listen for downstream of the action query.
              - …
            - `id` string, uuid, required — The ID of the action query.
            - `name` string, required — A unique identifier for this action query. This name is also used to access the query's result throughout the app.
            - `properties` ActionQueryProperties, required — The properties of the action query.
              - …
            - `type` 'action', required — The action query type.
          - DataTransform — A data transformer, which is custom JavaScript code that executes and transforms data when its inputs change.
            - `id` string, uuid, required — The ID of the data transformer.
            - `name` string, required — A unique identifier for this data transformer. This name is also used to access the transformer's result throughout the app.
            - `properties` DataTransformProperties, required — The properties of the data transformer.
              - …
            - `type` 'dataTransform', required — The data transform type.
          - StateVariable — A variable, which can be set and read by other components in the app.
            - `id` string, uuid, required — The ID of the state variable.
            - `name` string, required — A unique identifier for this state variable. This name is also used to access the variable's value throughout the app.
            - `properties` StateVariableProperties, required — The properties of the state variable.
              - …
            - `type` 'stateVariable', required — The state variable type.
      - `rootInstanceName` string — The new name of the root component of the app. This must be a `grid` component that contains all other components.
      - `tags` string[] — The new list of tags for the app, which can be used to filter apps. If this field is set, any existing tags not included in the request are removed.
    - `id` string, uuid — The ID of the app to update. The app ID must match the ID in the URL path.
    - `type` 'appDefinitions', required — The app definition type.

## Response `200`

OK

- UpdateAppResponse — The response object after an app is successfully updated.
  - `data` UpdateAppResponseData — The data object containing the updated app definition.
    - `attributes` UpdateAppResponseDataAttributes, required — The updated app definition attributes, such as name, description, and components.
      - `components` ComponentGrid[] — The UI components that make up the app.
        - `events` AppBuilderEvent[] — Events to listen for on the grid component.
          - `name` 'pageChange' | 'tableRowClick' | '_tableRowButtonClick' | 'change' | 'submit' | 'click' | 'toggleOpen' | 'close' | 'open' | 'executionFinished' — The triggering action for the event.
          - `type` 'custom' | 'setComponentState' | 'triggerQuery' | 'openModal' | 'closeModal' | 'openUrl' | 'downloadFile' | 'setStateVariableValue' — The response to the event.
        - `id` string — The ID of the grid component. This property is deprecated; use `name` to identify individual components instead.
        - `name` string, required — A unique identifier for this grid component. This name is also visible in the app editor.
        - `properties` ComponentGridProperties, required — Properties of a grid component.
          - `backgroundColor` string — The background color of the grid.
          - `children` Component[] — The child components of the grid.
            - `events` AppBuilderEvent[] — Events to listen for on the UI component.
              - …
            - `id` string, nullable — The ID of the UI component. This property is deprecated; use `name` to identify individual components instead.
            - `name` string, required — A unique identifier for this UI component. This name is also visible in the app editor.
            - `properties` ComponentProperties, required — Properties of a UI component. Different component types can have their own additional unique properties. See the [components documentation](https://docs.datadoghq.com/service_management/app_builder/components/) for more detail on each component type and its properties.
              - …
            - `type` 'table' | 'textInput' | 'textArea' | 'button' | 'text' | 'select' | 'modal' | 'schemaForm' | 'checkbox' | 'tabs' | 'vegaChart' | 'radioButtons' | 'numberInput' | 'fileInput' | 'jsonInput' | 'gridCell' | 'dateRangePicker' | 'search' | 'container' | 'calloutValue', required — The UI component type.
          - `isVisible` union — Whether the grid component and its children are visible. If a string, it must be a valid JavaScript expression that evaluates to a boolean.
            - string
            - boolean
        - `type` 'grid', required — The grid component type.
      - `description` string — The human-readable description for the app.
      - `favorite` boolean — Whether the app is marked as a favorite by the current user.
      - `name` string — The name of the app.
      - `queries` Query[] — An array of queries, such as external actions and state variables, that the app uses.
        - union — A data query used by an app. This can take the form of an external action, a data transformation, or a state variable.
          - ActionQuery — An action query. This query type is used to trigger an action, such as sending a HTTP request.
            - `events` AppBuilderEvent[] — Events to listen for downstream of the action query.
              - …
            - `id` string, uuid, required — The ID of the action query.
            - `name` string, required — A unique identifier for this action query. This name is also used to access the query's result throughout the app.
            - `properties` ActionQueryProperties, required — The properties of the action query.
              - …
            - `type` 'action', required — The action query type.
          - DataTransform — A data transformer, which is custom JavaScript code that executes and transforms data when its inputs change.
            - `id` string, uuid, required — The ID of the data transformer.
            - `name` string, required — A unique identifier for this data transformer. This name is also used to access the transformer's result throughout the app.
            - `properties` DataTransformProperties, required — The properties of the data transformer.
              - …
            - `type` 'dataTransform', required — The data transform type.
          - StateVariable — A variable, which can be set and read by other components in the app.
            - `id` string, uuid, required — The ID of the state variable.
            - `name` string, required — A unique identifier for this state variable. This name is also used to access the variable's value throughout the app.
            - `properties` StateVariableProperties, required — The properties of the state variable.
              - …
            - `type` 'stateVariable', required — The state variable type.
      - `rootInstanceName` string — The name of the root component of the app. This must be a `grid` component that contains all other components.
      - `tags` string[] — A list of tags for the app, which can be used to filter apps.
    - `id` string, uuid, required — The ID of the updated app.
    - `type` 'appDefinitions', required — The app definition type.
  - `included` Deployment[] — Data on the version of the app that was published.
    - `attributes` DeploymentAttributes — The attributes object containing the version ID of the published app.
      - `app_version_id` string, uuid — The version ID of the app that was published. For an unpublished app, this is always the nil UUID (`00000000-0000-0000-0000-000000000000`).
    - `id` string, uuid — The deployment ID.
    - `meta` DeploymentMetadata — Metadata object containing the publication creation information.
      - `created_at` string, date-time — Timestamp of when the app was published.
      - `user_id` integer — The ID of the user who published the app.
      - `user_name` string — The name (or email address) of the user who published the app.
      - `user_uuid` string, uuid — The UUID of the user who published the app.
    - `type` 'deployment' — The deployment type.
  - `meta` AppMeta — Metadata of an app.
    - `created_at` string, date-time — Timestamp of when the app was created.
    - `deleted_at` string, date-time — Timestamp of when the app was deleted.
    - `org_id` integer — The Datadog organization ID that owns the app.
    - `updated_at` string, date-time — Timestamp of when the app was last updated.
    - `updated_since_deployment` boolean — Whether the app was updated since it was last published. Published apps are pinned to a specific version and do not automatically update when the app is updated.
    - `user_id` integer — The ID of the user who created the app.
    - `user_name` string — The name (or email address) of the user who created the app.
    - `user_uuid` string, uuid — The UUID of the user who created the app.
    - `version` integer — The version number of the app. This starts at 1 and increments with each update.
  - `relationship` AppRelationship — The app's publication relationship and custom connections.
    - `connections` CustomConnection[] — Array of custom connections used by the app.
      - `attributes` CustomConnectionAttributes — The custom connection attributes.
        - `name` string — The name of the custom connection.
        - `onPremRunner` CustomConnectionAttributesOnPremRunner — Information about the Private Action Runner used by the custom connection, if the custom connection is associated with a Private Action Runner.
          - `id` string — The Private Action Runner ID.
          - `url` string — The URL of the Private Action Runner.
      - `id` string, uuid — The ID of the custom connection.
      - `type` 'custom_connections' — The custom connection type.
    - `deployment` DeploymentRelationship — Information pointing to the app's publication status.
      - `data` DeploymentRelationshipData — Data object containing the deployment ID.
        - `id` string, uuid — The deployment ID.
        - `type` 'deployment' — The deployment type.
      - `meta` DeploymentMetadata — Metadata object containing the publication creation information.
        - `created_at` string, date-time — Timestamp of when the app was published.
        - `user_id` integer — The ID of the user who published the app.
        - `user_name` string — The name (or email address) of the user who published the app.
        - `user_uuid` string, uuid — The UUID of the user who published the app.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `429` — Too many requests

---

[API](https://skmtc.net/datadog/apis/api-v2.md) · [All operations](https://skmtc.net/datadog/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datadog/api-v2/revisions/da68bf029e4c/schema)
