Skip to main content
The Artifact Pool contains uploaded files that have been published as queryable tables. It is flat: the publication’s table name follows the artifacts catalog directly.
For example:

Publish a table

An artifact becomes queryable after the Workspace:
  1. Uploads the file with artifacts.uploadArtifact.
  2. Infers or defines its schema with artifacts.runArtifactSchemaInference.
  3. Publishes it as a table with artifacts.publishArtifact.
See the Workspace HTTP reference for the exact requests and generated SDK examples.

Upload limits

Each uploaded file can be up to 1 GB. Accepted formats are .csv, .xlsx, .xls, .numbers, .ods, and .zip. The app checks the size before the request starts, and the API rejects a larger body with HTTP 413. A single upload may run for up to 10 minutes, so a 1 GB file needs a connection of roughly 15 Mbps or better to finish in time. The same 1 GB cap is enforced at every hop: the Artifact.File scalar’s upload configuration, the uploadArtifact operation’s request body limit, the browser proxy in the web app, and the load balancer’s backend timeout. Change them together. The publication’s table name becomes {table}. Folders used to organize files in the app do not appear in SQL addresses. Published artifacts join any other pool through ordinary SQL. For example, a published headcount plan can join Provider directory data on a compatible email column:
Use catalog discovery to inspect the published schema rather than inferring it from the source file.