@@ -1778,6 +1778,193 @@ components:
17781778      oneOf:
17791779      - $ref: '#/components/schemas/AWSIntegrationUpdate'
17801780      - $ref: '#/components/schemas/HTTPIntegrationUpdate'
1781+     ActionQuery:
1782+       description: An action query. This query type is used to trigger an action,
1783+         such as sending a HTTP request.
1784+       properties:
1785+         events:
1786+           description: Events to listen for downstream of the action query.
1787+           items:
1788+             $ref: '#/components/schemas/AppBuilderEvent'
1789+           type: array
1790+         id:
1791+           description: The ID of the action query.
1792+           example: 65bb1f25-52e1-4510-9f8d-22d1516ed693
1793+           format: uuid
1794+           type: string
1795+         name:
1796+           description: A unique identifier for this action query. This name is also
1797+             used to access the query's result throughout the app.
1798+           example: fetchPendingOrders
1799+           type: string
1800+         properties:
1801+           $ref: '#/components/schemas/ActionQueryProperties'
1802+         type:
1803+           $ref: '#/components/schemas/ActionQueryType'
1804+       required:
1805+       - id
1806+       - name
1807+       - type
1808+       - properties
1809+       type: object
1810+     ActionQueryCondition:
1811+       description: Whether to run this query. If specified, the query will only run
1812+         if this condition evaluates to `true` in JavaScript and all other conditions
1813+         are also met.
1814+       oneOf:
1815+       - type: boolean
1816+       - example: ${true}
1817+         type: string
1818+     ActionQueryDebounceInMs:
1819+       description: The minimum time in milliseconds that must pass before the query
1820+         can be triggered again. This is useful for preventing accidental double-clicks
1821+         from triggering the query multiple times.
1822+       oneOf:
1823+       - example: 310.5
1824+         format: double
1825+         type: number
1826+       - description: If this is a string, it must be a valid JavaScript expression
1827+           that evaluates to a number.
1828+         example: ${1000}
1829+         type: string
1830+     ActionQueryMockedOutputs:
1831+       description: The mocked outputs of the action query. This is useful for testing
1832+         the app without actually running the action.
1833+       oneOf:
1834+       - type: string
1835+       - $ref: '#/components/schemas/ActionQueryMockedOutputsObject'
1836+     ActionQueryMockedOutputsEnabled:
1837+       description: Whether to enable the mocked outputs for testing.
1838+       oneOf:
1839+       - type: boolean
1840+       - description: If this is a string, it must be a valid JavaScript expression
1841+           that evaluates to a boolean.
1842+         example: ${true}
1843+         type: string
1844+     ActionQueryMockedOutputsObject:
1845+       description: The mocked outputs of the action query.
1846+       properties:
1847+         enabled:
1848+           $ref: '#/components/schemas/ActionQueryMockedOutputsEnabled'
1849+         outputs:
1850+           description: The mocked outputs of the action query, serialized as JSON.
1851+           example: '{"status": "success"}'
1852+           type: string
1853+       required:
1854+       - enabled
1855+       type: object
1856+     ActionQueryOnlyTriggerManually:
1857+       description: Determines when this query is executed. If set to `false`, the
1858+         query will run when the app loads and whenever any query arguments change.
1859+         If set to `true`, the query will only run when manually triggered from elsewhere
1860+         in the app.
1861+       oneOf:
1862+       - type: boolean
1863+       - description: If this is a string, it must be a valid JavaScript expression
1864+           that evaluates to a boolean.
1865+         example: ${true}
1866+         type: string
1867+     ActionQueryPollingIntervalInMs:
1868+       description: If specified, the app will poll the query at the specified interval
1869+         in milliseconds. The minimum polling interval is 15 seconds. The query will
1870+         only poll when the app's browser tab is active.
1871+       oneOf:
1872+       - example: 30000.0
1873+         format: double
1874+         minimum: 15000.0
1875+         type: number
1876+       - description: If this is a string, it must be a valid JavaScript expression
1877+           that evaluates to a number.
1878+         example: ${15000}
1879+         type: string
1880+     ActionQueryProperties:
1881+       description: The properties of the action query.
1882+       properties:
1883+         condition:
1884+           $ref: '#/components/schemas/ActionQueryCondition'
1885+         debounceInMs:
1886+           $ref: '#/components/schemas/ActionQueryDebounceInMs'
1887+         mockedOutputs:
1888+           $ref: '#/components/schemas/ActionQueryMockedOutputs'
1889+         onlyTriggerManually:
1890+           $ref: '#/components/schemas/ActionQueryOnlyTriggerManually'
1891+         outputs:
1892+           description: The post-query transformation function, which is a JavaScript
1893+             function that changes the query's `.outputs` property after the query's
1894+             execution.
1895+           example: ${((outputs) => {return outputs.body.data})(self.rawOutputs)}
1896+           type: string
1897+         pollingIntervalInMs:
1898+           $ref: '#/components/schemas/ActionQueryPollingIntervalInMs'
1899+         requiresConfirmation:
1900+           $ref: '#/components/schemas/ActionQueryRequiresConfirmation'
1901+         showToastOnError:
1902+           $ref: '#/components/schemas/ActionQueryShowToastOnError'
1903+         spec:
1904+           $ref: '#/components/schemas/ActionQuerySpec'
1905+       required:
1906+       - spec
1907+       type: object
1908+     ActionQueryRequiresConfirmation:
1909+       description: Whether to prompt the user to confirm this query before it runs.
1910+       oneOf:
1911+       - type: boolean
1912+       - description: If this is a string, it must be a valid JavaScript expression
1913+           that evaluates to a boolean.
1914+         example: ${true}
1915+         type: string
1916+     ActionQueryShowToastOnError:
1917+       description: Whether to display a toast to the user when the query returns an
1918+         error.
1919+       oneOf:
1920+       - type: boolean
1921+       - description: If this is a string, it must be a valid JavaScript expression
1922+           that evaluates to a boolean.
1923+         example: ${true}
1924+         type: string
1925+     ActionQuerySpec:
1926+       description: The definition of the action query.
1927+       oneOf:
1928+       - type: string
1929+       - $ref: '#/components/schemas/ActionQuerySpecObject'
1930+     ActionQuerySpecInput:
1931+       additionalProperties: {}
1932+       description: The inputs to the action query. See the [Actions Catalog](https://docs.datadoghq.com/actions/actions_catalog/)
1933+         for more detail on each action and its inputs.
1934+       type: object
1935+     ActionQuerySpecInputs:
1936+       description: The inputs to the action query. These are the values that are passed
1937+         to the action when it is triggered.
1938+       oneOf:
1939+       - type: string
1940+       - $ref: '#/components/schemas/ActionQuerySpecInput'
1941+     ActionQuerySpecObject:
1942+       description: The action query spec object.
1943+       properties:
1944+         connectionId:
1945+           description: The ID of the custom connection to use for this action query.
1946+           example: 65bb1f25-52e1-4510-9f8d-22d1516ed693
1947+           format: uuid
1948+           type: string
1949+         fqn:
1950+           description: The fully qualified name of the action type.
1951+           example: com.datadoghq.http.request
1952+           type: string
1953+         inputs:
1954+           $ref: '#/components/schemas/ActionQuerySpecInputs'
1955+       required:
1956+       - fqn
1957+       - connectionId
1958+       type: object
1959+     ActionQueryType:
1960+       default: action
1961+       description: The action query type.
1962+       enum:
1963+       - action
1964+       example: action
1965+       type: string
1966+       x-enum-varnames:
1967+       - ACTION
17811968    ActiveBillingDimensionsAttributes:
17821969      description: List of active billing dimensions.
17831970      properties:
@@ -9528,6 +9715,48 @@ components:
95289715            type: number
95299716          type: array
95309717      type: object
9718+     DataTransform:
9719+       description: A data transformer, which is custom JavaScript code that executes
9720+         and transforms data when its inputs change.
9721+       properties:
9722+         id:
9723+           description: The ID of the data transformer.
9724+           example: 65bb1f25-52e1-4510-9f8d-22d1516ed693
9725+           format: uuid
9726+           type: string
9727+         name:
9728+           description: A unique identifier for this data transformer. This name is
9729+             also used to access the transformer's result throughout the app.
9730+           example: combineTwoOrders
9731+           type: string
9732+         properties:
9733+           $ref: '#/components/schemas/DataTransformProperties'
9734+         type:
9735+           $ref: '#/components/schemas/DataTransformType'
9736+       required:
9737+       - id
9738+       - name
9739+       - type
9740+       - properties
9741+       type: object
9742+     DataTransformProperties:
9743+       description: The properties of the data transformer.
9744+       properties:
9745+         outputs:
9746+           description: A JavaScript function that returns the transformed data.
9747+           example: "${(() => {return {\n    allItems: [...fetchOrder1.outputs.items,
9748+             ...fetchOrder2.outputs.items],\n}})()}"
9749+           type: string
9750+       type: object
9751+     DataTransformType:
9752+       default: dataTransform
9753+       description: The data transform type.
9754+       enum:
9755+       - dataTransform
9756+       example: dataTransform
9757+       type: string
9758+       x-enum-varnames:
9759+       - DATATRANSFORM
95319760    Date:
95329761      description: Date as Unix timestamp in milliseconds.
95339762      example: 1722439510282
@@ -21649,34 +21878,12 @@ components:
2164921878          $ref: '#/components/schemas/Deployment'
2165021879      type: object
2165121880    Query:
21652-       description: A query used by an app. This can take the form of an external action,
21653-         a data transformation, or a state variable change.
21654-       properties:
21655-         events:
21656-           description: Events to listen for downstream of the query.
21657-           items:
21658-             $ref: '#/components/schemas/AppBuilderEvent'
21659-           type: array
21660-         id:
21661-           description: The ID of the query.
21662-           example: 65bb1f25-52e1-4510-9f8d-22d1516ed693
21663-           format: uuid
21664-           type: string
21665-         name:
21666-           description: The name of the query. The name must be unique within the app
21667-             and is visible in the app editor.
21668-           example: ''
21669-           type: string
21670-         properties:
21671-           description: The properties of the query. The properties vary depending
21672-             on the query type.
21673-         type:
21674-           $ref: '#/components/schemas/QueryType'
21675-       required:
21676-       - id
21677-       - name
21678-       - type
21679-       type: object
21881+       description: A data query used by an app. This can take the form of an external
21882+         action, a data transformation, or a state variable.
21883+       oneOf:
21884+       - $ref: '#/components/schemas/ActionQuery'
21885+       - $ref: '#/components/schemas/DataTransform'
21886+       - $ref: '#/components/schemas/StateVariable'
2168021887    QueryFormula:
2168121888      description: A formula for calculation based on one or more queries.
2168221889      properties:
@@ -21700,18 +21907,6 @@ components:
2170021907      x-enum-varnames:
2170121908      - ASC
2170221909      - DESC
21703-     QueryType:
21704-       description: The query type.
21705-       enum:
21706-       - action
21707-       - stateVariable
21708-       - dataTransform
21709-       example: action
21710-       type: string
21711-       x-enum-varnames:
21712-       - ACTION
21713-       - STATEVARIABLE
21714-       - DATATRANSFORM
2171521910    RUMAggregateBucketValue:
2171621911      description: A bucket value, can be either a timeseries or a single value.
2171721912      oneOf:
@@ -29660,6 +29855,46 @@ components:
2966029855      - PASS
2966129856      - FAIL
2966229857      - SKIP
29858+     StateVariable:
29859+       description: A variable, which can be set and read by other components in the
29860+         app.
29861+       properties:
29862+         id:
29863+           description: The ID of the state variable.
29864+           example: 65bb1f25-52e1-4510-9f8d-22d1516ed693
29865+           format: uuid
29866+           type: string
29867+         name:
29868+           description: A unique identifier for this state variable. This name is also
29869+             used to access the variable's value throughout the app.
29870+           example: ordersToSubmit
29871+           type: string
29872+         properties:
29873+           $ref: '#/components/schemas/StateVariableProperties'
29874+         type:
29875+           $ref: '#/components/schemas/StateVariableType'
29876+       required:
29877+       - id
29878+       - name
29879+       - type
29880+       - properties
29881+       type: object
29882+     StateVariableProperties:
29883+       description: The properties of the state variable.
29884+       properties:
29885+         defaultValue:
29886+           description: The default value of the state variable.
29887+           example: ${['order_3145', 'order_4920']}
29888+       type: object
29889+     StateVariableType:
29890+       default: stateVariable
29891+       description: The state variable type.
29892+       enum:
29893+       - stateVariable
29894+       example: stateVariable
29895+       type: string
29896+       x-enum-varnames:
29897+       - STATEVARIABLE
2966329898    Step:
2966429899      description: A Step is a sub-component of a workflow. Each Step performs an
2966529900        action.
@@ -33675,6 +33910,12 @@ paths:
3367533910              schema:
3367633911                $ref: '#/components/schemas/JSONAPIErrorResponse'
3367733912          description: Not Found
33913+         '410':
33914+           content:
33915+             application/json:
33916+               schema:
33917+                 $ref: '#/components/schemas/JSONAPIErrorResponse'
33918+           description: Gone
3367833919        '429':
3367933920          $ref: '#/components/responses/TooManyRequestsResponse'
3368033921      summary: Get App
0 commit comments