Skip to main content
Workspaces give you an isolated environment to develop and test data changes before they reach production. Each workspace gets its own data clone and a dedicated GitHub branch. Use workspace_manage to control the full lifecycle.

Parameters

string
required
The operation to perform. One of: create, list, delete, promote.
string
For create: the scraper whose data should be cloned into the new workspace. If omitted, a SQL-only workspace is created with no data cloning. For list: filters results to workspaces associated with this scraper.
string
Required for delete and promote. Identifies the workspace to act on.
string
create only. Human-readable description of the workspace’s purpose.
string
create only. Display name for the workspace shown in listings.
string
create only. Clone from this existing workspace instead of cloning from production. Useful for branching off in-progress work.

Operations

Creates an isolated workspace with its own data clone and GitHub branch.Behavior:
  • If scraper_name is provided, Soria creates the scraper (if it does not already exist) and clones its data into the workspace. The response includes the tables cloned and the row count.
  • If scraper_name is omitted, a SQL-only workspace is created. You can still create and save SQL models, but no raw data is cloned.
  • If from_workspace_id is provided, data is cloned from that workspace instead of from production.
Response fields: workspace_id, schema, scraper (if applicable), tables_cloned, rows (if data was cloned).Example — workspace with data clone:
Example — SQL-only workspace:
Example — branch from an existing workspace:
Returns all workspaces, including their promotion status, schema name, and creation time.Optional filtering: Pass scraper_name to return only workspaces for that scraper.Response fields per workspace: scraper name, schema, workspace_id, created_at, promoted flag.Example — list all workspaces:
Example — filter by scraper:
Example response:
Removes the workspace and its isolated data clone.
You cannot delete a workspace that has been promoted. Promoted workspaces are locked to preserve the audit trail. If you need to remove a promoted workspace, contact your platform administrator.
Required: workspace_idResponse fields: workspace_id, clone_dropped, schema_dropped, and any warnings encountered during cleanup.Example:
Promotes the workspace’s data and SQL models to the production warehouse. This operation:
  1. Pushes raw data changes to the public production schema.
  2. Materializes all gold and platinum tables in the warehouse.
  3. Locks the workspace — it becomes read-only and is marked [PROMOTED] in listings.
Promotion triggers materialization of gold and platinum tables, which can take several minutes. Soria starts the process and returns immediately — check server logs to monitor progress.
Required: workspace_idOnly works on scraper-based workspaces. SQL-only workspaces cannot be promoted — their models are applied directly via sql_model_save.Example:
Example response:

Typical workflow

1

Create a workspace

Create a workspace for the scraper you want to work with. Soria clones the current production data into an isolated schema.
2

Develop and test models

Use sql_model_save to write models against the workspace clone. Query the clone with warehouse_query to validate output.
3

List and review

List workspaces to confirm status before promoting.
4

Promote to production

When the workspace is ready, promote it. Gold and platinum tables are materialized automatically.
5

Clean up

Delete any development workspaces that are no longer needed — but only non-promoted ones.