Skip to content

publish_repo_dashboard

Validate or publish a repo-authored HTML dashboard package. Reads the committed entrypoint and optional manifest/data files. Use dry_run=true to validate without writes.

NameTypeRequiredDefaultDescription
model_nameAnnotated[str, Field(description='Name of the Bridge Town model.')]Yes
dashboard_nameAnnotated[str, Field(description='Unique name for this dashboard.')]Yes
pathAnnotated[str, Field(description='Repo path to the committed HTML entrypoint.')]Yes
branch`Annotated[strNone, Field(description=‘Branch to read; defaults to the model default.’)]`NoNone
manifest_path`Annotated[strNone, Field(description=‘Optional repo path to a JSON package manifest.’)]`NoNone
data_paths`Annotated[list[str]None, Field(description=‘Optional repo paths for package data snapshots.’)]`NoNone
design_skill_id`Annotated[strNone, Field(description=‘Optional public or caller-owned design context to snapshot.’)]`NoNone
description`Annotated[strNone, Field(description=‘Optional description displayed below the dashboard title.’)]`NoNone
publishAnnotated[bool, Field(description='Publish immediately; false saves a draft revision.')]NoFalse
dry_runAnnotated[bool, Field(description='Validate without writing; cannot be combined with publish.')]NoFalse
workspace_id`Annotated[strNone, Field(description=WORKSPACE_ID_FIELD_DESCRIPTION)]`NoNone
ctx`ContextNone`NoNone

Returns a structured object. Top-level fields:

  • dashboard_id (string)
  • dashboard_name (string)
  • model (string)
  • validated (boolean)
  • published (boolean)

See the response example below for the full payload shape.

{
"name": "publish_repo_dashboard",
"arguments": {
"model_name": "forecasts",
"dashboard_name": "Forecast Review",
"path": "dashboards/forecast/index.html",
"branch": "scenario/aggressive-growth",
"dry_run": true
}
}
{
"dashboard_id": "77777777-7777-7777-7777-777777777777",
"dashboard_name": "Forecast Review",
"model": "forecasts",
"validated": true,
"published": false
}
  • Module: Dashboards
  • Requires authentication via API token or Auth0 JWT.