@malloy-publisher/app 0.0.178 → 0.0.180-dev-v1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api-doc.yaml CHANGED
@@ -38,11 +38,14 @@ tags:
38
38
  - name: publisher
39
39
  description: Publisher status and health check operations
40
40
  - name: projects
41
- description: Project lifecycle management including creation, configuration, and deletion of data modeling projects
41
+ description: Project lifecycle management including creation, configuration, and
42
+ deletion of data modeling projects
42
43
  - name: connections
43
- description: Database connection management for secure data source configuration and access
44
+ description: Database connection management for secure data source configuration
45
+ and access
44
46
  - name: packages
45
- description: Package management for Malloy data models, including versioning and distribution
47
+ description: Package management for Malloy data models, including versioning and
48
+ distribution
46
49
  - name: models
47
50
  description: Malloy model access and compilation operations
48
51
  - name: notebooks
@@ -51,6 +54,10 @@ tags:
51
54
  description: Embedded database management and access
52
55
  - name: watch-mode
53
56
  description: Real-time file watching for development workflows
57
+ - name: materializations
58
+ description: Package-level materializations for persisting Malloy sources
59
+ - name: manifests
60
+ description: Build manifest management for tracking materialized source tables
54
61
 
55
62
  paths:
56
63
  /status:
@@ -728,12 +735,6 @@ paths:
728
735
  required: true
729
736
  schema:
730
737
  $ref: "#/components/schemas/IdentifierPattern"
731
- - name: options
732
- in: query
733
- description: Options
734
- required: false
735
- schema:
736
- type: string
737
738
  requestBody:
738
739
  description: SQL statement to execute
739
740
  required: true
@@ -744,6 +745,9 @@ paths:
744
745
  properties:
745
746
  sqlStatement:
746
747
  type: string
748
+ options:
749
+ type: string
750
+ description: Options
747
751
  responses:
748
752
  "200":
749
753
  description: Query execution results
@@ -759,7 +763,7 @@ paths:
759
763
  $ref: "#/components/responses/InternalServerError"
760
764
  "503":
761
765
  $ref: "#/components/responses/ServiceUnavailable"
762
-
766
+
763
767
  /projects/{projectName}/connections/{connectionName}/sqlTemporaryTable:
764
768
  post:
765
769
  tags:
@@ -960,6 +964,16 @@ paths:
960
964
  required: true
961
965
  schema:
962
966
  $ref: "#/components/schemas/IdentifierPattern"
967
+ - name: autoLoadManifest
968
+ in: query
969
+ description: |
970
+ When true, automatically loads any existing build manifest
971
+ for the package so materialized table references resolve immediately.
972
+ Defaults to false.
973
+ required: false
974
+ schema:
975
+ type: boolean
976
+ default: false
963
977
  requestBody:
964
978
  required: true
965
979
  content:
@@ -1305,7 +1319,8 @@ paths:
1305
1319
  type: string
1306
1320
  - name: path
1307
1321
  in: path
1308
- description: Path to the model within the package (used to resolve relative imports)
1322
+ description: Path to the model within the package (used to resolve relative
1323
+ imports)
1309
1324
  required: true
1310
1325
  schema:
1311
1326
  $ref: "#/components/schemas/PathPattern"
@@ -1471,6 +1486,21 @@ paths:
1471
1486
  required: false
1472
1487
  schema:
1473
1488
  $ref: "#/components/schemas/VersionIdPattern"
1489
+ - name: filter_params
1490
+ in: query
1491
+ description: JSON-encoded filter parameter values keyed by filter name
1492
+ required: false
1493
+ schema:
1494
+ type: string
1495
+ - name: bypass_filters
1496
+ in: query
1497
+ description: When true, skip filter injection entirely
1498
+ required: false
1499
+ schema:
1500
+ type: string
1501
+ enum:
1502
+ - "true"
1503
+ - "false"
1474
1504
  responses:
1475
1505
  "200":
1476
1506
  description: Cell execution result
@@ -1645,10 +1675,225 @@ paths:
1645
1675
  "503":
1646
1676
  $ref: "#/components/responses/ServiceUnavailable"
1647
1677
 
1678
+ /projects/{projectName}/packages/{packageName}/materializations:
1679
+ post:
1680
+ tags:
1681
+ - materializations
1682
+ operationId: create-materialization
1683
+ summary: Create a materialization
1684
+ description: |
1685
+ Creates a new materialization in PENDING state for all persist sources across all
1686
+ models in the package. Use POST .../materializations/{materializationId}?action=start to begin execution.
1687
+ parameters:
1688
+ - $ref: "#/components/parameters/projectName"
1689
+ - $ref: "#/components/parameters/packageName"
1690
+ requestBody:
1691
+ content:
1692
+ application/json:
1693
+ schema:
1694
+ $ref: "#/components/schemas/CreateMaterializationRequest"
1695
+ responses:
1696
+ "201":
1697
+ description: Materialization created
1698
+ content:
1699
+ application/json:
1700
+ schema:
1701
+ $ref: "#/components/schemas/Materialization"
1702
+ "404":
1703
+ $ref: "#/components/responses/NotFound"
1704
+ "409":
1705
+ description: Package already has an active materialization
1706
+ content:
1707
+ application/json:
1708
+ schema:
1709
+ $ref: "#/components/schemas/Error"
1710
+ get:
1711
+ tags:
1712
+ - materializations
1713
+ operationId: list-materializations
1714
+ summary: List materializations for a package
1715
+ description: Returns the materialization history for the package, ordered by
1716
+ most recent first.
1717
+ parameters:
1718
+ - $ref: "#/components/parameters/projectName"
1719
+ - $ref: "#/components/parameters/packageName"
1720
+ - name: limit
1721
+ in: query
1722
+ required: false
1723
+ schema:
1724
+ type: integer
1725
+ minimum: 1
1726
+ description: Maximum number of materializations to return
1727
+ - name: offset
1728
+ in: query
1729
+ required: false
1730
+ schema:
1731
+ type: integer
1732
+ minimum: 0
1733
+ description: Number of materializations to skip
1734
+ responses:
1735
+ "200":
1736
+ description: List of materializations
1737
+ content:
1738
+ application/json:
1739
+ schema:
1740
+ type: array
1741
+ items:
1742
+ $ref: "#/components/schemas/Materialization"
1743
+ "404":
1744
+ $ref: "#/components/responses/NotFound"
1745
+
1746
+ /projects/{projectName}/packages/{packageName}/materializations/{materializationId}:
1747
+ get:
1748
+ tags:
1749
+ - materializations
1750
+ operationId: get-materialization
1751
+ summary: Get a specific materialization
1752
+ parameters:
1753
+ - $ref: "#/components/parameters/projectName"
1754
+ - $ref: "#/components/parameters/packageName"
1755
+ - $ref: "#/components/parameters/materializationId"
1756
+ responses:
1757
+ "200":
1758
+ description: Materialization details
1759
+ content:
1760
+ application/json:
1761
+ schema:
1762
+ $ref: "#/components/schemas/Materialization"
1763
+ "404":
1764
+ $ref: "#/components/responses/NotFound"
1765
+ post:
1766
+ tags:
1767
+ - materializations
1768
+ operationId: materialization-action
1769
+ summary: Perform an action on a materialization
1770
+ description: |
1771
+ Performs an action on a materialization. The action is specified via
1772
+ the `action` query parameter:
1773
+ * `start` - Transitions a PENDING materialization to RUNNING and begins execution in the background. Returns 202.
1774
+ * `stop` - Cancels a PENDING or RUNNING materialization. Returns 200.
1775
+ parameters:
1776
+ - $ref: "#/components/parameters/projectName"
1777
+ - $ref: "#/components/parameters/packageName"
1778
+ - $ref: "#/components/parameters/materializationId"
1779
+ - name: action
1780
+ in: query
1781
+ required: true
1782
+ schema:
1783
+ type: string
1784
+ enum:
1785
+ - start
1786
+ - stop
1787
+ description: Action to perform on the materialization
1788
+ responses:
1789
+ "200":
1790
+ description: Materialization cancelled (action=stop)
1791
+ content:
1792
+ application/json:
1793
+ schema:
1794
+ $ref: "#/components/schemas/Materialization"
1795
+ "202":
1796
+ description: Materialization started (action=start)
1797
+ content:
1798
+ application/json:
1799
+ schema:
1800
+ $ref: "#/components/schemas/Materialization"
1801
+ "400":
1802
+ $ref: "#/components/responses/BadRequest"
1803
+ "404":
1804
+ $ref: "#/components/responses/NotFound"
1805
+ "409":
1806
+ description: Materialization cannot transition to the requested state
1807
+ content:
1808
+ application/json:
1809
+ schema:
1810
+ $ref: "#/components/schemas/Error"
1811
+ delete:
1812
+ tags:
1813
+ - materializations
1814
+ operationId: delete-materialization
1815
+ summary: Delete a materialization
1816
+ description: Deletes a terminal (SUCCESS, FAILED, or CANCELLED) materialization
1817
+ record.
1818
+ parameters:
1819
+ - $ref: "#/components/parameters/projectName"
1820
+ - $ref: "#/components/parameters/packageName"
1821
+ - $ref: "#/components/parameters/materializationId"
1822
+ responses:
1823
+ "204":
1824
+ description: Materialization deleted
1825
+ "404":
1826
+ $ref: "#/components/responses/NotFound"
1827
+ "409":
1828
+ description: Materialization cannot be deleted (PENDING or RUNNING)
1829
+ content:
1830
+ application/json:
1831
+ schema:
1832
+ $ref: "#/components/schemas/Error"
1833
+
1834
+ /projects/{projectName}/packages/{packageName}/manifest:
1835
+ get:
1836
+ tags:
1837
+ - manifests
1838
+ operationId: get-manifest
1839
+ summary: Get the build manifest for a package
1840
+ description: |
1841
+ Returns the current build manifest containing buildId-to-tableName mappings
1842
+ for all materialized sources in the package.
1843
+ parameters:
1844
+ - $ref: "#/components/parameters/projectName"
1845
+ - $ref: "#/components/parameters/packageName"
1846
+ responses:
1847
+ "200":
1848
+ description: Build manifest
1849
+ content:
1850
+ application/json:
1851
+ schema:
1852
+ $ref: "#/components/schemas/BuildManifest"
1853
+ "404":
1854
+ $ref: "#/components/responses/NotFound"
1855
+ post:
1856
+ tags:
1857
+ - manifests
1858
+ operationId: manifest-action
1859
+ summary: Perform an action on the package manifest
1860
+ description: |
1861
+ Performs an action on the package manifest. The action is specified via
1862
+ the `action` query parameter:
1863
+ * `reload` - Reads the build manifest from the shared store (DuckLake
1864
+ in orchestrated mode, local DuckDB in standalone mode) and recompiles
1865
+ every model in the package so subsequent queries resolve persisted
1866
+ sources to their materialized tables. Intended for orchestrated
1867
+ workers that did not themselves run the build; the endpoint does
1868
+ not write anything *into* storage.
1869
+ parameters:
1870
+ - $ref: "#/components/parameters/projectName"
1871
+ - $ref: "#/components/parameters/packageName"
1872
+ - name: action
1873
+ in: query
1874
+ required: true
1875
+ schema:
1876
+ type: string
1877
+ enum:
1878
+ - reload
1879
+ description: Action to perform on the manifest
1880
+ responses:
1881
+ "200":
1882
+ description: Manifest loaded
1883
+ content:
1884
+ application/json:
1885
+ schema:
1886
+ $ref: "#/components/schemas/BuildManifest"
1887
+ "400":
1888
+ $ref: "#/components/responses/BadRequest"
1889
+ "404":
1890
+ $ref: "#/components/responses/NotFound"
1891
+
1648
1892
  components:
1649
1893
  responses:
1650
1894
  BadRequest:
1651
- description: The request was malformed or cannot be performed given the current state of the system
1895
+ description: The request was malformed or cannot be performed given the current
1896
+ state of the system
1652
1897
  content:
1653
1898
  application/json:
1654
1899
  schema:
@@ -1690,7 +1935,8 @@ components:
1690
1935
  schema:
1691
1936
  $ref: "#/components/schemas/Error"
1692
1937
  ServiceUnavailable:
1693
- description: The service is temporarily unavailable, typically due to initialization, or draining state (Rolling updates, etc.)
1938
+ description: The service is temporarily unavailable, typically due to
1939
+ initialization, or draining state (Rolling updates, etc.)
1694
1940
  content:
1695
1941
  application/json:
1696
1942
  schema:
@@ -1729,15 +1975,20 @@ components:
1729
1975
  description: Whether the server is fully initialized and ready to serve requests
1730
1976
  operationalState:
1731
1977
  type: string
1732
- enum: ["initializing", "serving", "draining"]
1733
- description: Status of the server; initializing when the server is loading projects, packages and connections, serving when the server is initialized and ready to serve requests, and draining when the server is going to shut down
1978
+ enum: [ "initializing", "serving", "draining" ]
1979
+ description: Status of the server; initializing when the server is loading
1980
+ projects, packages and connections, serving when the server is
1981
+ initialized and ready to serve requests, and draining when the
1982
+ server is going to shut down
1734
1983
  frozenConfig:
1735
1984
  type: boolean
1736
- description: Whether the server configuration is frozen (read-only mode). When true, all mutation operations are disabled.
1985
+ description: Whether the server configuration is frozen (read-only mode). When
1986
+ true, all mutation operations are disabled.
1737
1987
 
1738
1988
  Project:
1739
1989
  type: object
1740
- description: Represents a Malloy project containing packages, connections, and other resources
1990
+ description: Represents a Malloy project containing packages, connections, and
1991
+ other resources
1741
1992
  properties:
1742
1993
  resource:
1743
1994
  type: string
@@ -1750,7 +2001,8 @@ components:
1750
2001
  description: Project README content
1751
2002
  location:
1752
2003
  type: string
1753
- description: Project location, can be an absolute path or URI (e.g. github, s3, gcs, etc.)
2004
+ description: Project location, can be an absolute path or URI (e.g. github, s3,
2005
+ gcs, etc.)
1754
2006
  connections:
1755
2007
  type: array
1756
2008
  description: List of database connections configured for this project
@@ -1761,10 +2013,24 @@ components:
1761
2013
  description: List of Malloy packages in this project
1762
2014
  items:
1763
2015
  $ref: "#/components/schemas/Package"
2016
+ materializationStorage:
2017
+ type: object
2018
+ nullable: true
2019
+ description: Optional DuckLake-backed storage for materialization manifests
2020
+ (orchestrated mode). When set, manifests are stored in a shared
2021
+ DuckLake catalog instead of the local DuckDB database.
2022
+ properties:
2023
+ catalogUrl:
2024
+ type: string
2025
+ description: PostgreSQL connection URL for the DuckLake catalog metadata store
2026
+ dataPath:
2027
+ type: string
2028
+ description: Cloud storage path (s3:// or gs://) for DuckLake data files
1764
2029
 
1765
2030
  Package:
1766
2031
  type: object
1767
- description: Represents a Malloy package containing models, notebooks, and embedded databases
2032
+ description: Represents a Malloy package containing models, notebooks, and
2033
+ embedded databases
1768
2034
  properties:
1769
2035
  resource:
1770
2036
  type: string
@@ -1777,7 +2043,8 @@ components:
1777
2043
  description: Package description
1778
2044
  location:
1779
2045
  type: string
1780
- description: Package location, can be an absolute path or URI (e.g. github, s3, gcs, etc.)
2046
+ description: Package location, can be an absolute path or URI (e.g. github, s3,
2047
+ gcs, etc.)
1781
2048
 
1782
2049
  Model:
1783
2050
  type: object
@@ -1839,6 +2106,11 @@ components:
1839
2106
  description: Array of file-level (##) annotations attached to the notebook
1840
2107
  items:
1841
2108
  type: string
2109
+ sources:
2110
+ type: array
2111
+ description: Sources defined in the notebook's model
2112
+ items:
2113
+ $ref: "#/components/schemas/Source"
1842
2114
 
1843
2115
  CompiledModel:
1844
2116
  type: object
@@ -1861,7 +2133,8 @@ components:
1861
2133
  description: JSON string containing model metadata and structure information
1862
2134
  sourceInfos:
1863
2135
  type: array
1864
- description: Array of JSON strings containing source information for each data source
2136
+ description: Array of JSON strings containing source information for each data
2137
+ source
1865
2138
  items:
1866
2139
  type: string
1867
2140
  queries:
@@ -1869,6 +2142,11 @@ components:
1869
2142
  description: Array of named queries defined in the model
1870
2143
  items:
1871
2144
  $ref: "#/components/schemas/Query"
2145
+ sources:
2146
+ type: array
2147
+ description: Sources defined in this model
2148
+ items:
2149
+ $ref: "#/components/schemas/Source"
1872
2150
 
1873
2151
  View:
1874
2152
  type: object
@@ -1899,26 +2177,94 @@ components:
1899
2177
  items:
1900
2178
  type: string
1901
2179
 
2180
+ Filter:
2181
+ type: object
2182
+ description: A filter declared via #(filter) annotation on a Malloy source
2183
+ properties:
2184
+ name:
2185
+ type: string
2186
+ description: Display name of the filter
2187
+ dimension:
2188
+ type: string
2189
+ description: Dimension this filter targets
2190
+ type:
2191
+ type: string
2192
+ description: Comparator type
2193
+ enum:
2194
+ - equal
2195
+ - in
2196
+ - like
2197
+ - greater_than
2198
+ - less_than
2199
+ implicit:
2200
+ type: boolean
2201
+ description: Whether this filter is hidden from users
2202
+ required:
2203
+ type: boolean
2204
+ description: Whether a value must be provided
2205
+ dimensionType:
2206
+ type: string
2207
+ description: Malloy data type of the dimension (e.g. string, number, boolean,
2208
+ date, timestamp)
2209
+
2210
+ Source:
2211
+ type: object
2212
+ description: A Malloy source defined in a model
2213
+ properties:
2214
+ name:
2215
+ type: string
2216
+ description: Name of the source
2217
+ annotations:
2218
+ type: array
2219
+ description: Annotations attached to the source
2220
+ items:
2221
+ type: string
2222
+ views:
2223
+ type: array
2224
+ description: Views defined in this source
2225
+ items:
2226
+ $ref: "#/components/schemas/View"
2227
+ filters:
2228
+ type: array
2229
+ description: Filters declared on this source via #(filter) annotations
2230
+ items:
2231
+ $ref: "#/components/schemas/Filter"
2232
+
1902
2233
  QueryRequest:
1903
2234
  type: object
1904
2235
  description: Request body for executing a Malloy query
1905
2236
  properties:
1906
2237
  query:
1907
2238
  type: string
1908
- description: Query string to execute on the model. If the query parameter is set, the queryName parameter must be empty.
2239
+ description: Query string to execute on the model. If the query parameter is
2240
+ set, the queryName parameter must be empty.
1909
2241
  sourceName:
1910
2242
  type: string
1911
- description: Name of the source in the model to use for queryName, search, and topValue requests.
2243
+ description: Name of the source in the model to use for queryName, search, and
2244
+ topValue requests.
1912
2245
  queryName:
1913
2246
  type: string
1914
- description: Name of a query to execute on a source in the model. Requires the sourceName parameter is set. If the queryName parameter is set, the query parameter must be empty.
2247
+ description: Name of a query to execute on a source in the model. Requires the
2248
+ sourceName parameter is set. If the queryName parameter is set, the
2249
+ query parameter must be empty.
1915
2250
  compactJson:
1916
2251
  type: boolean
1917
2252
  default: false
1918
- description: 'If true, returns a simple JSON array of row objects in the form {"columnName": value}. If false (default), returns the full Malloy result with type metadata for rendering.'
2253
+ description: "If true, returns a simple JSON array of row objects in the form
2254
+ {\"columnName\": value}. If false (default), returns the full Malloy
2255
+ result with type metadata for rendering."
1919
2256
  versionId:
1920
2257
  type: string
1921
2258
  description: Version ID
2259
+ filterParams:
2260
+ type: object
2261
+ description: Filter parameter values keyed by filter name. Used with sources
2262
+ that declare \#(filter) annotations. Each value is either a string or an array of strings.
2263
+ additionalProperties: true
2264
+ bypassFilters:
2265
+ type: boolean
2266
+ default: false
2267
+ description: When true, skip server-side \#(filter) injection entirely.
1922
2268
 
1923
2269
  NotebookCell:
1924
2270
  type: object
@@ -1926,19 +2272,21 @@ components:
1926
2272
  properties:
1927
2273
  type:
1928
2274
  type: string
1929
- enum: ["markdown", "code"]
2275
+ enum: [ "markdown", "code" ]
1930
2276
  description: Type of notebook cell
1931
2277
  text:
1932
2278
  type: string
1933
2279
  description: Text contents of the notebook cell (either markdown or Malloy code)
1934
2280
  newSources:
1935
2281
  type: array
1936
- description: Array of JSON strings containing SourceInfo objects made available in this cell
2282
+ description: Array of JSON strings containing SourceInfo objects made available
2283
+ in this cell
1937
2284
  items:
1938
2285
  type: string
1939
2286
  queryInfo:
1940
2287
  type: string
1941
- description: JSON string containing QueryInfo object for the query in this cell (if the cell contains a query)
2288
+ description: JSON string containing QueryInfo object for the query in this cell
2289
+ (if the cell contains a query)
1942
2290
 
1943
2291
  NotebookCellResult:
1944
2292
  type: object
@@ -1946,7 +2294,7 @@ components:
1946
2294
  properties:
1947
2295
  type:
1948
2296
  type: string
1949
- enum: ["markdown", "code"]
2297
+ enum: [ "markdown", "code" ]
1950
2298
  description: Type of notebook cell
1951
2299
  text:
1952
2300
  type: string
@@ -1956,7 +2304,8 @@ components:
1956
2304
  description: JSON string containing the execution result for this cell
1957
2305
  newSources:
1958
2306
  type: array
1959
- description: Array of JSON strings containing SourceInfo objects made available in this cell
2307
+ description: Array of JSON strings containing SourceInfo objects made available
2308
+ in this cell
1960
2309
  items:
1961
2310
  type: string
1962
2311
 
@@ -1966,13 +2315,15 @@ components:
1966
2315
  properties:
1967
2316
  result:
1968
2317
  type: string
1969
- description: JSON string containing the query results, metadata, and execution information
2318
+ description: JSON string containing the query results, metadata, and execution
2319
+ information
1970
2320
  resource:
1971
2321
  type: string
1972
2322
  description: Resource path to the query result
1973
2323
  renderLogs:
1974
2324
  type: array
1975
- description: Render tag validation messages (errors, warnings) detected during query preparation
2325
+ description: Render tag validation messages (errors, warnings) detected during
2326
+ query preparation
1976
2327
  items:
1977
2328
  $ref: "#/components/schemas/LogMessage"
1978
2329
 
@@ -2004,7 +2355,7 @@ components:
2004
2355
  severity:
2005
2356
  type: string
2006
2357
  description: Severity level of the log message
2007
- enum: ["debug", "info", "warn", "error"]
2358
+ enum: [ "debug", "info", "warn", "error" ]
2008
2359
  message:
2009
2360
  type: string
2010
2361
  description: Human-readable log message
@@ -2024,7 +2375,7 @@ components:
2024
2375
  type:
2025
2376
  type: string
2026
2377
  description: Type of embedded database
2027
- enum: ["embedded", "materialized"]
2378
+ enum: [ "embedded", "materialized" ]
2028
2379
 
2029
2380
  Schema:
2030
2381
  description: A schema name in a Connection.
@@ -2124,7 +2475,8 @@ components:
2124
2475
  description: PostgreSQL password for authentication
2125
2476
  connectionString:
2126
2477
  type: string
2127
- description: Complete PostgreSQL connection string (alternative to individual parameters)
2478
+ description: Complete PostgreSQL connection string (alternative to individual
2479
+ parameters)
2128
2480
 
2129
2481
  MysqlConnection:
2130
2482
  type: object
@@ -2187,19 +2539,21 @@ components:
2187
2539
  AzureConnection:
2188
2540
  type: object
2189
2541
  description: >
2190
- Azure Data Lake Storage (ADLS Gen2) / Blob Storage connection configuration
2191
- Supports https://, http://, abfss://, and az:// URL schemes.
2542
+ Azure Data Lake Storage (ADLS Gen2) / Blob Storage connection
2543
+ configuration Supports https://, http://, abfss://, and az:// URL
2544
+ schemes.
2192
2545
  properties:
2193
2546
  authType:
2194
2547
  type: string
2195
- enum: [service_principal, sas_token]
2548
+ enum: [ service_principal, sas_token ]
2196
2549
  description: Authentication method for Azure Storage
2197
2550
  sasUrl:
2198
2551
  type: string
2199
2552
  description: >
2200
- Full SAS URL including token; required for sas_token auth.
2201
- Supports single file, directory glob (*.ext), or recursive (**) patterns.
2202
- Example: https://account.blob.core.windows.net/container/path/*.parquet?sp=rl&st=...
2553
+ Full SAS URL including token; required for sas_token auth. Supports
2554
+ single file, directory glob (*.ext), or recursive (**) patterns.
2555
+ Example:
2556
+ https://account.blob.core.windows.net/container/path/*.parquet?sp=rl&st=...
2203
2557
  tenantId:
2204
2558
  type: string
2205
2559
  description: Azure AD tenant ID (required for service_principal)
@@ -2216,8 +2570,9 @@ components:
2216
2570
  type: string
2217
2571
  description: >
2218
2572
  Azure file URL to query; required for service_principal auth.
2219
- Supports single file, directory glob (*.ext), or recursive (**) patterns.
2220
- Example: https://account.blob.core.windows.net/container/path/**
2573
+ Supports single file, directory glob (*.ext), or recursive (**)
2574
+ patterns. Example:
2575
+ https://account.blob.core.windows.net/container/path/**
2221
2576
  required:
2222
2577
  - authType
2223
2578
 
@@ -2231,7 +2586,8 @@ components:
2231
2586
  properties:
2232
2587
  bucketUrl:
2233
2588
  type: string
2234
- description: URL of the storage bucket (e.g. s3://my-bucket/path or gs://my-bucket/path)
2589
+ description: URL of the storage bucket (e.g. s3://my-bucket/path or
2590
+ gs://my-bucket/path)
2235
2591
  s3Connection:
2236
2592
  $ref: "#/components/schemas/S3Connection"
2237
2593
  description: AWS S3 connection configuration for data storage
@@ -2367,7 +2723,7 @@ components:
2367
2723
  type:
2368
2724
  type: string
2369
2725
  description: Type of database connection
2370
- enum: [bigquery, snowflake, postgres, gcs, s3, azure]
2726
+ enum: [ bigquery, snowflake, postgres, gcs, s3, azure ]
2371
2727
  attributes:
2372
2728
  $ref: "#/components/schemas/ConnectionAttributes"
2373
2729
  bigqueryConnection:
@@ -2498,7 +2854,8 @@ components:
2498
2854
  description: Name of the project being watched for file changes
2499
2855
  watchingPath:
2500
2856
  type: string
2501
- description: The file system path being monitored for changes, null if not watching
2857
+ description: The file system path being monitored for changes, null if not
2858
+ watching
2502
2859
  required:
2503
2860
  - enabled
2504
2861
  - projectName
@@ -2521,7 +2878,7 @@ components:
2521
2878
  status:
2522
2879
  type: string
2523
2880
  description: Connection test result status
2524
- enum: ["ok", "failed"]
2881
+ enum: [ "ok", "failed" ]
2525
2882
  errorMessage:
2526
2883
  type: string
2527
2884
  description: Error message if the connection test failed, null if successful
@@ -2536,7 +2893,9 @@ components:
2536
2893
  includeSql:
2537
2894
  type: boolean
2538
2895
  default: false
2539
- description: If true, returns the generated SQL alongside compilation results (only available when compilation succeeds and the source contains a runnable query).
2896
+ description: If true, returns the generated SQL alongside compilation results
2897
+ (only available when compilation succeeds and the source contains a
2898
+ runnable query).
2540
2899
  required:
2541
2900
  - source
2542
2901
 
@@ -2546,8 +2905,9 @@ components:
2546
2905
  properties:
2547
2906
  status:
2548
2907
  type: string
2549
- description: Overall compilation status — "error" if any problems have error severity
2550
- enum: ["success", "error"]
2908
+ description: Overall compilation status — "error" if any problems have error
2909
+ severity
2910
+ enum: [ "success", "error" ]
2551
2911
  problems:
2552
2912
  type: array
2553
2913
  description: List of compilation problems (errors and warnings)
@@ -2555,7 +2915,8 @@ components:
2555
2915
  $ref: "#/components/schemas/CompileProblem"
2556
2916
  sql:
2557
2917
  type: string
2558
- description: Generated SQL for the compiled query. Only present when includeSql is true and compilation succeeds with a runnable query.
2918
+ description: Generated SQL for the compiled query. Only present when includeSql
2919
+ is true and compilation succeeds with a runnable query.
2559
2920
 
2560
2921
  CompileProblem:
2561
2922
  type: object
@@ -2567,7 +2928,7 @@ components:
2567
2928
  severity:
2568
2929
  type: string
2569
2930
  description: Severity level of the problem
2570
- enum: ["error", "warn", "debug"]
2931
+ enum: [ "error", "warn", "debug" ]
2571
2932
  code:
2572
2933
  type: string
2573
2934
  description: Machine-readable error code
@@ -2581,3 +2942,95 @@ components:
2581
2942
  range:
2582
2943
  type: object
2583
2944
  description: Character range within the source file
2945
+
2946
+ CreateMaterializationRequest:
2947
+ type: object
2948
+ description: Options for creating a materialization
2949
+ properties:
2950
+ forceRefresh:
2951
+ type: boolean
2952
+ default: false
2953
+ description: If true, forces rebuild of all sources even if their BuildID is
2954
+ unchanged
2955
+ autoLoadManifest:
2956
+ type: boolean
2957
+ default: false
2958
+ description: If true, automatically reloads the manifest into the Malloy Runtime
2959
+ after a successful materialization
2960
+
2961
+ Materialization:
2962
+ type: object
2963
+ description: A record of a package materialization
2964
+ properties:
2965
+ id:
2966
+ type: string
2967
+ projectId:
2968
+ type: string
2969
+ packageName:
2970
+ type: string
2971
+ status:
2972
+ type: string
2973
+ enum: [ "PENDING", "RUNNING", "SUCCESS", "FAILED", "CANCELLED" ]
2974
+ startedAt:
2975
+ type: [ "string", "null" ]
2976
+ format: date-time
2977
+ completedAt:
2978
+ type: [ "string", "null" ]
2979
+ format: date-time
2980
+ error:
2981
+ type: [ "string", "null" ]
2982
+ description: Error message if the materialization failed
2983
+ metadata:
2984
+ type: [ "object", "null" ]
2985
+ description: Materialization metadata including build options, source counts,
2986
+ and durations
2987
+ createdAt:
2988
+ type: string
2989
+ format: date-time
2990
+ updatedAt:
2991
+ type: string
2992
+ format: date-time
2993
+
2994
+ BuildManifest:
2995
+ type: object
2996
+ description: Manifest mapping BuildIDs to materialized table names
2997
+ properties:
2998
+ entries:
2999
+ type: object
3000
+ additionalProperties:
3001
+ $ref: "#/components/schemas/ManifestEntry"
3002
+ description: Map of BuildID to manifest entry
3003
+ strict:
3004
+ type: boolean
3005
+ description: Whether the manifest is in strict mode
3006
+
3007
+ ManifestEntry:
3008
+ type: object
3009
+ description: A single entry in the build manifest
3010
+ properties:
3011
+ tableName:
3012
+ type: string
3013
+ description: Name of the materialized table
3014
+
3015
+ parameters:
3016
+ projectName:
3017
+ name: projectName
3018
+ in: path
3019
+ required: true
3020
+ description: Name of the project
3021
+ schema:
3022
+ type: string
3023
+ packageName:
3024
+ name: packageName
3025
+ in: path
3026
+ required: true
3027
+ description: Name of the package
3028
+ schema:
3029
+ type: string
3030
+ materializationId:
3031
+ name: materializationId
3032
+ in: path
3033
+ required: true
3034
+ description: ID of the materialization
3035
+ schema:
3036
+ type: string