Docs

Tools: assets

16 tool(s) in this category.

metrics.evaluate

Evaluate Metric

Use when you need a live numeric value from a registered metric artifact. Pass metric_id; returns the freshly computed value with format and cache hit indicator. The metric's content_json holds the query spec; the evaluator runs that query against platform_artifacts (promoted columns for indexed filtering, JSONB containment otherwise) and respects the metric's refresh_policy for caching (on_read, cache_5m, cache_1h, invalidate_on_event).

  • HTTP: POST /metrics/:id/evaluate
  • Required scopes: metrics:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0
  • Tags: metrics, compute, live-value

Input

FieldTypeRequiredDescription
metric_idstringyesUUID of the metric artifact to evaluate.

pages.archive

Archive a Page

Soft-archive a page so it leaves the default library list but stays recoverable, a reversible step distinct from a permanent removal. Use when a user wants to retire a page from view without destroying it. Requires write entitlement on the target page; returns a 404 when the page is missing or already gone.

  • HTTP: DELETE /pages/:id
  • Required scopes: pages:write
  • Required role: editor
  • Stability: stable
  • Version: 1.0
  • Tags: write, pages, archive

Input

FieldTypeRequiredDescription
idstringyesUUID of the page to archive.

pages.create

Author a Page

Author a new workspace page from a catalog spec: a designed UI of catalog components (plus an optional Custom sandbox node) mixing narrative, layout, and live tenant data declared as named queries the host runs server-side. Use when a user or agent wants to publish a fresh data view, dashboard, or report surface. The spec is verified before it persists; a broken draft is rejected with a per-stage verdict, and a Custom node needs the pages:admin scope.

  • HTTP: POST /pages
  • Required scopes: pages:write
  • Required role: editor
  • Stability: stable
  • Version: 1.0
  • Tags: write, pages, author

Input

FieldTypeRequiredDescription
namestringyesHuman-readable page name. Seeds the slug when omitted.
summarystringnoOptional one-line description of the page.
categorystringnoOptional grouping label for the library view.
tagsarray<string>noOptional free-form tags for filtering / search.
specobjectyesThe page body: a json-render-style spec tree (catalog component nodes + optional Custom sandbox node). Verified and persisted; bindings may only reference declared queries.
declared_queriesarray<object>noNamed data bindings the page may invoke at render time (host-run, scoped).
slugstringnoOptional explicit URL slug; auto-derived from name when omitted.

pages.delete

Permanently Delete a Page

Permanently remove a page so it disappears from every view, the destructive counterpart to a reversible archive. Use when a user explicitly wants a page gone for good, ideally after a confirmation step. Requires the dedicated delete scope plus write entitlement on the page; returns a 404 when the page is missing or already deleted.

  • HTTP: POST /pages/:id/hard-delete
  • Required scopes: pages:delete
  • Required role: editor
  • Stability: stable
  • Version: 1.0
  • Tags: destructive, pages, delete

Input

FieldTypeRequiredDescription
idstringyesUUID of the page to permanently delete.

pages.get

Get Page By Id

Fetch one page definition by its id - the TSX source, compiled module, declared data bindings, and last verification verdict - scoped to the workspace and gated by the page entitlement. Read when opening a page in the editor or inspecting what a saved view is built from. Returns null for a missing or cross-tenant id; live data is fetched separately at render time.

  • HTTP: GET /pages/:id
  • Required scopes: pages:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0

Input

FieldTypeRequiredDescription
idstringyesUUID of the page to read.

pages.get_template

Get Page Template

Fetch one Amdahl-shipped page template in full - its catalog spec, declared queries, and intent - by slug or deterministic UUID. Fetch when an author has chosen a template and needs the complete spec to adapt and author a real page from. Templates are code-defined, so the read is the same for every workspace; returns null when the slug or id matches no template.

  • HTTP: GET /pages/templates/:slug
  • Required scopes: pages:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0

Input

FieldTypeRequiredDescription
slugstringyesSlug or deterministic UUID of the template to read.

pages.list

List Pages

Read the workspace pages the caller is entitled to, newest-updated first, after dropping any the caller lacks read access to. Read when rendering the pages library sidebar or letting an agent discover the saved data views it can open. Excludes archived and deleted pages; ungated pages are always shown and admins see the full set.

  • HTTP: GET /pages
  • Required scopes: pages:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0

Input

No structured input.

pages.list_templates

List Page Templates

Read the catalog of Amdahl-shipped page templates - ready-to-adapt starting points (pipeline health, voice of customer, competitive battlecard) an author turns into a real page. Read when picking a starting point before authoring a page, so the agent adapts a vetted template instead of building a spec from scratch. Lean list (slug, name, intent); fetch the full spec via page_template://<slug>.

  • HTTP: GET /pages/templates
  • Required scopes: pages:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0

Input

No structured input.

pages.mint_embed_token

Mint a Page Embed Link

Mint a short-lived, token-scoped embed link for one page so it can be iframed on an external site. Use when a user or agent wants a shareable live embed of a page. The embed runs the page data under a scope CLAMPED to the caller's own access (it can never show more than the caller can see), and fails closed. audience 'self' scopes to the caller; 'public' / 'workspace' need an admin caller.

  • HTTP: POST /pages/:id/embed-token
  • Required scopes: pages:embed
  • Required role: editor
  • Stability: stable
  • Version: 1.0
  • Tags: pages, embed, share

Input

FieldTypeRequiredDescription
idstringyesUUID of the page to mint an embed link for.
audience`enum("self""workspace""public")`
rulesarray<object>noOptional explicit data-scope allow-rules for the embed (same grammar as access-policy rules). Clamped to the caller's own rules — anything the caller lacks is dropped.
ttl_secondsnumbernoOptional token lifetime in seconds (default 3600, max 2592000 = 30 days).
originsarray<string>noOptional allowed framing origins (CSP frame-ancestors). Empty + public audience ⇒ any origin.

pages.render

Run a Page

Execute a page's declared data bindings live for the current viewer and return the rows the host hydrates the component with, each query tenant- and access-scoped through the shared engine. Use when the sandbox needs to fill a page with real data, or to preview what a viewer would see. Reads nothing persisted; a broken binding returns its error inline rather than failing the run.

  • HTTP: POST /pages/:id/render
  • Required scopes: pages:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0
  • Tags: pages, render, data

Input

FieldTypeRequiredDescription
idstringyesUUID of the page to run.
paramsobjectnoBound values for the page's declared named query params.

pages.update

Edit a Page

Revise an existing page in place: swap its catalog spec, declared queries, or metadata. Use when a user or agent wants to change what a published page renders. The replacement spec is verified before it lands; a broken revision is rejected with a per-stage verdict, a Custom node needs the pages:admin scope, and a clean one bumps the version and snapshots history. Requires write entitlement on the target page.

  • HTTP: PATCH /pages/:id
  • Required scopes: pages:write
  • Required role: editor
  • Stability: stable
  • Version: 1.0
  • Tags: write, pages, edit

Input

FieldTypeRequiredDescription
idstringyesUUID of the page to revise.
namestringyesHuman-readable page name.
summarystringnoOptional one-line description of the page.
categorystringnoOptional grouping label for the library view.
tagsarray<string>noOptional free-form tags for filtering / search.
specobjectyesThe replacement page body: a json-render-style spec tree (catalog component nodes + optional Custom sandbox node). Verified and persisted; bindings may only reference declared queries.
declared_queriesarray<object>noNamed data bindings the page may invoke at render time (host-run, scoped).

pages.validate

Dry-run Page Verification

Check a page spec through the catalog, prop, binding, and Custom-node code stages without saving it, returning every problem found in one verdict. Use when an editor or agent wants to see whether a draft would pass before committing a create or update. Always succeeds with the verdict as the body; a failing dry-run reports stage errors rather than throwing.

  • HTTP: POST /pages/validate
  • Required scopes: pages:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0
  • Tags: pages, validate, dry-run

Input

FieldTypeRequiredDescription
namestringnoOptional name (only affects an auto-derived slug).
summarystringnoOptional one-line description of the page.
categorystringnoOptional grouping label for the library view.
tagsarray<string>noOptional free-form tags for filtering / search.
specobjectyesThe page body spec tree (catalog nodes + optional Custom node) to verify.
declared_queriesarray<object>noNamed data bindings to structurally validate against the workspace.
slugstringnoOptional explicit URL slug.

prompts.artifact.compose_campaign

Compose Campaign Prompt

Use when the user asks for a multi-piece campaign (research + blog + LinkedIn) on one topic. Directs the agent to produce a parent research_report, then two child content pieces linked to it so provenance is explicit and one research run powers both outputs.

  • HTTP: (not exposed as REST)
  • Required scopes: artifacts:write, data:read, knowledge_base:read
  • Required role: viewer
  • Stability: stable
  • Version: 1.0
  • Tags: prompt, artifact, campaign

Input

FieldTypeRequiredDescription
topicstringyesCampaign topic.

prompts.artifact.draft_weekly_report

Draft Weekly Report Prompt

Use when the user asks to compile last week into a saved report. Directs the agent to pull a 7-day activity snapshot via data.query and then save a research_report artifact through artifacts.create with the summary baked in.

  • HTTP: (not exposed as REST)
  • Required scopes: data:read, artifacts:write
  • Required role: viewer
  • Stability: stable
  • Version: 1.0
  • Tags: prompt, artifact, report

Input

No structured input.

prompts.artifact.embed_artifact

Embed Artifact Prompt

Use when the user asks to embed, share, or publish a single artifact on an external website. Walks the agent through flipping visibility to public AND surfacing the iframe snippet plus the auto-resize listener from the resulting metadata. Returns the copy-pasteable HTML the user needs.

  • HTTP: (not exposed as REST)
  • Required scopes: artifacts:write
  • Required role: viewer
  • Stability: stable
  • Version: 1.0
  • Tags: prompt, artifacts, embed, public

Input

FieldTypeRequiredDescription
artifact_idstringyesUUID of the artifact to publish + embed.

prompts.artifact.refine_content_piece

Refine Content Piece Prompt

Use when the user wants to iterate on an existing content artifact with specific feedback. Directs the agent to read the artifact, rewrite the body against the feedback, and save the revision through artifacts.update (new version, history preserved).

  • HTTP: (not exposed as REST)
  • Required scopes: artifacts:read, artifacts:write
  • Required role: viewer
  • Stability: stable
  • Version: 1.0
  • Tags: prompt, artifact, content

Input

FieldTypeRequiredDescription
artifact_idstringyesUUID of the artifact.
feedbackstringyesWhat to change.