ai.spideriq/publish
NPM · @SPIDERIQ/MCP-PUBLISH · SCANNED AUG 3
SpiderIQ Publish: content platform MCP (pages, posts, templates, components, domains, media)
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security70
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects sharp 0.33.5, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (131 of 135), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 7 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability27
- AI-judged instruction clarity (poor).Fail
- Context-footprint check failed: tool/resource definitions use about 36639 tokens (~234/item across 156 items; 156 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 72% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @spideriq/mcp-publish
claude mcp add ai-spideriq-publish -- npx -y @spideriq/mcp-publish
codex mcp add ai-spideriq-publish -- npx -y @spideriq/mcp-publish
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-spideriq-publish": {
"type": "local",
"command": [
"npx",
"-y",
"@spideriq/mcp-publish"
],
"enabled": true
}
}
} openclaw mcp add ai-spideriq-publish --command npx --arg -y --arg @spideriq/mcp-publish
mcp_servers:
ai-spideriq-publish:
command: "npx"
args: ["-y", "@spideriq/mcp-publish"] {
"mcpServers": {
"ai-spideriq-publish": {
"command": "npx",
"args": [
"-y",
"@spideriq/mcp-publish"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +36
- GHSA-f88m-g3jw-g9cj affects this package: high ▼ security
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Schema quality: unverified → poor ▲ functional
- Licence: MIT functional
- 1 Aug 26 −23
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +17
- Tool coverage: unverified → 100 ▲ functional
- 28 Jul 26 −17
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 35
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/@spideriq/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-f88m-g3jw-g9cj | high | yes |
Dependencies 131 packages
131 packages in the resolved dependency tree · 130 deprecated · 29 stale · 2 without a linked repository.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
changelog_create ~178
Create a DRAFT changelog entry. `version` must be unique for the brand (e.g. "v2.10.0"); a duplicate returns 409. `body` is a Tiptap JSON document. Publish it afterwards with changelog_publish.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | yes | Entry body (Tiptap JSON document). |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| title | string | yes | Release title. |
| version | string | yes | Version label, unique per brand (e.g. "v2.10.0"). |
| workspace | string | — | — |
No output schema declared.
No examples provided.
changelog_list ~217
List your brand's changelog entries (version, title, status, published_at). This IS the built-in CHANGELOG content type — a /changelog route, RSS+Atom feeds, and dashboard editor already exist; you do NOT need to build a changelog. Note the tool naming: changelog_list / changelog_create / changelog_publish use a `changelog_` prefix (NOT `content_*_changelog_entry`). An empty list means zero entries created yet, not a missing feature. Use this to discover an entry's UUID before publishing it via changelog_publish. Optionally filter by status (draft/published/archived).
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| status | string | — | Filter by status. |
| workspace | string | — | — |
No output schema declared.
No examples provided.
changelog_publish ~152
Publish a changelog entry (status → published). It appears on the public /changelog timeline + RSS/Atom feeds and, on the first publish, fires the changelog.published notification to subscribers. Reversible (no dry_run gate). Pass the entry UUID from changelog_list.
| Name | Type | Req | Description |
|---|---|---|---|
| changelog_id | string | yes | Changelog entry UUID (from changelog_list). |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
check_access_status ~152
Check the status of a PAT access request. Returns 'pending', 'active', 'denied', 'expired', or 'revoked' (matches the backend PATRequestStatus enum). Once status==='active', the token is saved to ~/.spideriq/credentials.json automatically. Multi-brand approvals save one entry per workspace under client_id, with the first aliased as 'default' so existing tools (upload_local_file, etc.) keep working without --workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| api_url | string | — | API URL (default: https://spideriq.ai) |
| poll_token | string | yes | Poll token from request_access |
| request_id | string | yes | Request ID from request_access |
No output schema declared.
No examples provided.
component_rollback ~428
Roll a component back to an earlier version's content. Creates a new published version (so the forward audit trail stays intact) and repoints every consuming page to it. When to use: - component_update_and_propagate went wrong and you need to unroll it - You want to revert to a known-good version without manually re-entering the old HTML/CSS - You want staged rollback — pass pages=["home"] to only revert the home page's pin How it works: 1. Call with dry_run=true — returns a confirm_token for the rollback action 2. Inspect preview; if right, call again with confirm_token 3. Service fetches target_version's content, creates a new published version with a fresh semver (bumped from the CURRENT version, default patch), and updates consuming pages' blocks to pin it 4. Block-level page content renders live on next request — no tenant deploy needed Pairs with component_update_and_propagate — the gate actions are distinct ("component_rollback" vs "component_update_and_propagate") so a token issued for one can't be consumed by the other.
| Name | Type | Req | Description |
|---|---|---|---|
| bump | string | — | How to bump the NEW version that gets the old content. Default: patch. |
| confirm_token | string | — | Token from a prior dry_run. |
| dry_run | boolean | — | Preview mode. Default: false. |
| pages | array | — | Limit repoint to these page slugs. Omit for all. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | yes | Component slug to roll back. |
| target_version | string | yes | Version to restore (e.g. "1.0.3"). Must exist — check list_component_versions first. |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
component_update_and_propagate ~688
Update a component's HTML/CSS/props/etc. AND repoint every consuming page to the new version, in one atomic call. When to use this instead of component_update: - The component is referenced from multiple pages and you want all of them to pick up the change - You want a single confirm_token covering the component + all page mutations (instead of one per page) - You want staged rollout — pass `pages: ["home"]` to update the component everywhere but only repoint the home page; other pages keep referencing the old version How it works: 1. Call with `dry_run: true` — returns `affected_pages` (what would change) + a `confirm_token` 2. Inspect the preview; if it's right, call again with `confirm_token: "cft_..."` 3. The service bumps semver (default patch; also supports minor / major), writes a new published component row, and UPDATEs blocks on every affected page's `content_pages.blocks` JSONB 4. Never auto-deploys the tenant KV. Block-level page updates render live via the content API on next request. Only run deploy_site_preview → deploy_site_production if you ALSO changed templates/theme/config. Pages filter semantics: - omit `pages` or set null → propagate to every consuming page (default, matches "update everywhere" intent) - pass `["home", "pricing"]` → only those pages get the new version pin; other consumers keep the old pin Field semantics: - At least one of html_template / css / js / props_schema / default_props / dependencies / name / description must be set - Inline `<style>` tags in html_template are rejected — put CSS in the css field - Dependencies validated against the Tier-3 CDN allowlist
| Name | Type | Req | Description |
|---|---|---|---|
| bump | string | — | How to bump semver from current version. Default: patch. |
| confirm_token | string | — | Token from a prior dry_run. Consume to perform the mutation. |
| css | string | — | New CSS (injected via Shadow DOM at render time). |
| default_props | object | — | New default prop values. |
| dependencies | array | — | CDN library dependency keys (Tier 3). Validated against allowlist. |
| description | string | — | Update description. |
| dry_run | boolean | — | Preview mode — returns affected_pages + confirm_token without mutating. Default: false. |
| html_template | string | — | New HTML template. Inline <style> tags will be rejected. |
| js | string | — | New JS (Tier 2 scoped hydration). |
| name | string | — | Update display name. |
| pages | array | — | Limit propagation to these page slugs. Omit to propagate to every consuming page. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| props_schema | object | — | New JSON Schema for prop validation. |
| slug | string | yes | Component slug (e.g. "hero", "pricing-cards"). Must already be published for this client. |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_add_domain ~109
Add a custom domain for your content site. Requires DNS verification after adding.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain name (e.g., "blog.mycompany.com") |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_apply_layout_preset ~344
Apply a named layout preset to this client's site by writing layout/theme.liquid. When to use this instead of template_upsert: - You want "blank" (no header/footer), "minimal" (footer only), "landing" (header only), "chromed" (edge-to-edge main), or "default" layouts without writing Liquid yourself - You want to quickly test "what does the site look like with no global header?" - You don't have Liquid source for a layout — you just want a sensible starting point Available presets: "default" — header + main + footer (standard; matches bundled theme) "blank" — no header, no footer; full-page content "minimal" — footer only, no header "landing" — header only, no footer (marketing-landing chrome; from merged templates.ts duplicate, 2026-05-20) "chromed" — header + footer, but main is edge-to-edge (no container padding) After applying, customize individual sections with content_override_section().
| Name | Type | Req | Description |
|---|---|---|---|
| preset | string | yes | Layout preset name. One of: default, blank, minimal, chromed, landing |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| theme | string | — | Theme name (default: "default"). |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_apply_page_template ~395
Clone a page template's single page into the current tenant. Phase 11+12 gated. When to use: - A client/agent picked a page template and wants it added to their site - Building a funnel one page at a time (opt-in → thank-you → sales) from templates - You want a working page to ADAPT (edit copy/images/colors) instead of generating one How it works: 1. Reads the template's single source page from the SpiderIQ template-source tenant 2. Clones it into the current tenant as status='draft' with fresh block UUIDs 3. Applies any whitelisted theme settings the template carries Phase 11+12 flow: - First call with dry_run=true → {dry_run: true, preview, confirm_token, expires_at} - Inspect preview.pages_to_create (one page) - Second call with confirm_token=<token> → {pages_created, settings_applied} - The cloned page is a DRAFT — review, adapt, then publish with content_publish_page (and run content_visual_check against the published URL per Agent Trust 5.1). Same apply endpoint as content_apply_site_template; for a page template it clones exactly one page.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | — | Phase 11+12: consume a prior preview token and clone for real. |
| dry_run | boolean | — | Phase 11+12: preview the apply and receive a confirm_token without mutating. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | yes | Page template slug to apply. |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_apply_site_template ~393
Clone a site template into the current tenant. Phase 11+12 gated. When to use: - New tenant just provisioned, agent wants to give them something to start from - Client picked a template from the gallery, agent wires it up - A/B testing different starter sites without rebuilding from blocks How it works: 1. Reads the template's source pages from the SpiderIQ-owned template-source tenant 2. Clones each into the current tenant as status='draft' with fresh block UUIDs 3. Copies navigation menus for header + footer (or whatever locations the template names) 4. Copies whitelisted theme settings keys (primary_color, body_text_color, etc.) 5. Bumps the template's applied_count for the leaderboard Phase 11+12 flow: - First call with dry_run=true → returns {dry_run: true, preview, confirm_token, expires_at} - Inspect the preview (pages_to_create, settings_keys_to_apply) - Second call with confirm_token=<token> → returns {pages_created, nav_updated, settings_applied} - Cloned pages are drafts, NOT published. Review + publish individually, or use content_deploy_site to push the lot to production CF edge.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | — | Phase 11+12: consume a prior preview token and apply for real. |
| dry_run | boolean | — | Phase 11+12: preview the apply and receive a confirm_token without mutating. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | yes | Template slug to apply. |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_archive_component ~172
Archive a component (removes from active use, keeps for reference). Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token.
| Name | Type | Req | Description |
|---|---|---|---|
| component_id | string | yes | Component ID |
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| dry_run | boolean | — | Preview the change without mutating. Defaults to true — call again with confirm_token to actually mutate. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_audit_links ~276
Walk every published page's blocks + navigation menus and validate internal links against the published-page roster + active redirects. Returns a structured report: - valid_count: number of links that resolved correctly - broken: [{path, source, reason}] — each broken link with its tree position - proposed_redirects: [{from, to, status_code}] — heuristic suggestions - known_redirects: [{from, to, status_code}] — already-active redirects The "source" field is JSONPath-shaped (e.g. "page:home/block[2].url", "navigation:header[3]") so callers can navigate straight to the offending position. Pre-push hook in the SpiderPublish extension uses this to surface broken links as inline diagnostics before the push fan-out runs. Use BEFORE deploying a content change to catch /en/* legacy URLs, renamed slugs, or post-merge orphans. Idempotent — safe to run repeatedly.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_create_author ~166
Create a blog author profile.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_type | string | — | Human or AI author |
| avatar_url | string | — | Avatar image URL |
| bio | string | — | Author biography |
| city | string | — | — |
| country | string | — | — |
| string | — | Author email | |
| full_name | string | yes | Author full name |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| role | string | — | Author role |
| slug | string | — | URL slug |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_create_category ~136
Create a blog category (supports parent_id for hierarchy).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| name | string | yes | Category name |
| parent_id | string | — | Parent category ID (for nesting) |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | — | URL slug |
| sort_order | number | — | Display order |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_create_component ~1,288
Create a reusable UI component (auto-wrapped in Shadow DOM for CSS isolation). IMPORTANT — set `kind` at create time. Components without a `kind` are flagged as latent Tier 3 by the page auditor (rule `creation.kind_null_with_dependencies`) and excluded from marketplace_search. If you're shipping `dependencies` (gsap, chartjs, etc.) you almost always want `kind='interactive'` + `js_runtime='vanilla'`. See the `kind` field for the full taxonomy and the kind→js_runtime/block_type/sources invariant matrix. P5: pass `authoring_hints` to surface preferred_path / common_mistakes / must_set / must_not_set on the _rules envelope when other agents insert your component. The response carries an _audit block flagging latent traps (kind=interactive without js, global component without agent_meta, etc.).
| Name | Type | Req | Description |
|---|---|---|---|
| agent_meta | object | — | Phase A agent-discovery metadata. Validated by `ComponentAgentMeta` (Pydantic `extra='forbid'`). Shape: { interaction_pattern?: enum, trigger_kind?: enum, intent?: string, audience_tags?: string[] }.… |
| authoring_hints | object | — | P5 — author-written rules surfaced via the _rules envelope when this component is inserted. Shape: {preferred_path?: string, common_mistakes?: string[], must_set?: string[], must_not_set?: string[]}.… |
| block_type | string | — | Generic block shape — REQUIRED when kind='dynamic', MUST be NULL otherwise (DB CHECK constraint chk_components_kind via migration 174). Drives the editor's block-shape picker. |
| brand_fit_tags | array | — | Universal axis — multi-value industry vertical fit. Drives marketplace cross-filter. |
| category | string | — | Component category |
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| css | string | — | Component CSS (isolated via Shadow DOM — no leaks) |
| default_props | object | — | Default prop values |
| dependencies | array | — | CDN library keys from allowlist (Tier 3). E.g. ["gsap", "gsap/ScrollTrigger"]. Use content_list_cdn_allowlist to see available keys. When non-empty, set `kind` to `interactive` / `dynamic` / `extensi… |
| description | string | — | Component description |
| dry_run | boolean | — | Preview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved). |
| framework | string | — | Framework for Tier 4 app components |
| html_template | string | yes | Liquid HTML template for the component |
| is_global | boolean | — | Make available to all clients |
| js | string | — | Vanilla JS scoped to shadow root (Tier 2). Receives root (shadowRoot) and props arguments. |
| js_runtime | string | — | JavaScript runtime pattern — REQUIRED for kind ∈ {interactive, dynamic, extension}, MUST be NULL when kind='static'. vanilla — inline <script> blocks; no module bundling. web-component — C… |
| kind | string | — | Behavioural class (Phase A 4-class taxonomy). DEFAULTS TO NULL — components without a kind are flagged 'latent Tier 3' by the page auditor and excluded from marketplace_search. static — prop… |
| mood | array | — | Universal axis — multi-value mood tags for marketplace discovery (Phase A agent-discovery). |
| name | string | yes | Display name |
| palette | array | — | Universal axis — open vocabulary palette tokens (e.g. "warm-neutrals", "monochrome", "neon-cyan-magenta"). Max 12. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| props_schema | object | — | JSON Schema defining accepted props |
| scene_type | string | — | Universal axis — single-value scene/intent. Component-scoped values listed; cross-asset values live on bg-videos / site-templates. |
| slug | string | yes | Component slug (URL-safe identifier) |
| source_code | string | — | Framework source code (JSX/Vue SFC/Svelte) |
| sources | array | — | Live Data — the data source(s) this component binds to. REQUIRED (non-empty) when kind='dynamic' (backend 422 via chk_components_kind). At render the server fetches each source and exposes the result… |
| tags | array | — | Tags for discovery |
| thumbnail_url | string | — | Preview thumbnail URL |
| version | string | — | Semver version (default 1.0.0) |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_create_doc ~127
Create a documentation page.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | — | Doc body (Tiptap JSON) |
| parent_id | string | — | Parent doc ID (for nesting) |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | — | URL slug |
| title | string | yes | Doc title |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_create_page ~1,356
Create a new content page with blocks. Phase 11+12 Lock 4 gate is opt-in via dry_run/confirm_token. 🚨 BLOCK FIELD NAMES MATTER. The default theme's snippets read SPECIFIC `data.*` keys per block-type. Unrecognized keys are stored verbatim but render as empty markup (silent-blank-section trap). For the canonical per-block-type field list, call `template_inspect_block_fields(block_type)` OR read the `blocks` param schema below. Page auditor warns at read-time via `render.unused_field_in_default_theme` (rule shipped 2026-05-22). Most-confused mappings: hero → data.{headline, subheadline, cta_primary:{label,url}, cta_secondary:{label,url}, background_image_url, style} (NOT title/subtitle/cta_text/cta_url — those are silent-no-op) cta_section → data.{headline, description, cta_primary:{label,url}} stats_bar → data.{stats: [{value, label}]} rich_text → data.{html: '<raw html>'} OR data.{content: <Tiptap JSON doc>} (data.content as a STRING is rejected — use data.html instead) The `template` param selects which Liquid theme file renders the page (templates/<template>.liquid) — backend column is a free string, default 'default'.
| Name | Type | Req | Description |
|---|---|---|---|
| blocks | array | — | Page content blocks (JSON array). Each block shape: {id: '<uuid>', type: '<block_type>', data: {...}} Block types + the `data.*` fields the DEFAULT theme reads: • hero : headline, sub… |
| collection_type | string | — | Phase MA-2 PR-D: required when `template` is 'dynamic_list' or 'dynamic_item'; MUST be null/absent for any other template. Allowed values: 'posts', 'docs', 'directory_listings'. Backend `_validate_co… |
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| dry_run | boolean | — | Preview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved). |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| seo_description | string | — | SEO meta description |
| seo_title | string | — | SEO title override |
| slug | string | — | URL slug (auto-generated from title if omitted). Flat slugs only — `/` is rejected (pattern ^[a-z0-9][a-z0-9-]*$). Nested URLs not supported for general pages; docs use parent_id chains. |
| template | string | — | Page template — selects which themes/default/templates/<template>.liquid the renderer uses. Free string (backend default 'default'). Common values bundled with the default theme: 'default' (standard… |
| title | string | yes | Page title |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_create_post ~495
Create a blog post (Tiptap JSON body, metadata, tags, author, categories, cover image, featured flag, SEO).
| Name | Type | Req | Description |
|---|---|---|---|
| author_id | string | — | Author UUID |
| author_name | string | — | Free-text author name (used when no author_id) |
| body | object | — | Post body (Tiptap JSON document) |
| category_ids | array | — | Category UUIDs to assign — list, not single. Use [] to clear. |
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| cover_image_url | string | — | Cover image URL. Field name MUST end with `_url` to persist. |
| dry_run | boolean | — | Preview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved). |
| excerpt | string | — | Short excerpt / summary |
| featured_image_alt | string | — | Alt text for the cover image |
| is_featured | boolean | — | Mark as featured post (field name is `is_featured`, not `featured`) |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| related_post_ids | array | — | Related post UUIDs (preserves order) |
| seo_description | string | — | SEO meta description |
| seo_title | string | — | SEO <title>; falls back to `title` if omitted |
| slug | string | — | URL slug — kebab-case, no leading slash |
| tag_ids | array | — | Tag entity UUIDs (new system; preferred over `tags`) |
| tags | array | — | Post tags as strings (legacy text-tag system) |
| title | string | yes | Post title |
| tldr_summary | string | — | TL;DR (2–3 sentences) shown above body |
| vayapin_pins | array | — | VayaPin pin ids that fit this article (e.g. ['BB:TAPAS','BB:CHAMPERS']) — auto-renders a card strip at the post bottom. Resolve valid ids first via GET /content/vayapin/cards; unknown/unlisted pins a… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_create_site_template ~653
Register a NEW site-template catalog row so a built site/page becomes installable from the marketplace. Phase 11+12 gated. AUTHORING-ONLY. Auth: needs super_admin OR a PAT scoped to a marketplace-AUTHORING brand (clients.is_marketplace_authoring=TRUE — e.g. the demo-publish authoring account). A normal tenant PAT gets 403. The source pages must already exist (published) on source_client_id; this call just registers the catalog row that clones them on apply. PAGE TEMPLATES: set is_single_page=true AND pass exactly ONE source_page_slug (opt-in / thank-you / VSL / sales / …). The server enforces the single⇒1-slug CHECK. Omit is_single_page (or false) + pass multiple slugs for a whole-site template. Phase 11+12 flow: call once with dry_run=true → {dry_run, preview, confirm_token}, then again with confirm_token to actually create. Then content_update_site_template can attach a preview image, and the row appears in the Studio templates gallery (is_public=true).
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | — | Phase 11+12: consume a prior preview token and create for real. |
| description | string | — | — |
| dry_run | boolean | — | Phase 11+12: preview + receive a confirm_token without mutating. |
| industry | string | — | — |
| is_featured | boolean | — | — |
| is_public | boolean | — | Default true → visible in the gallery. Set false to stage a draft, flip true on review. |
| is_single_page | boolean | — | TRUE = single-page "page template" (requires exactly one source_page_slug). |
| name | string | yes | Display name in the gallery. |
| preview_thumbnail_url | string | — | Hero screenshot URL (host-allowlisted). Or attach later via content_update_site_template. |
| preview_url | string | — | Live preview URL (host-allowlisted: R2 / curated stock). |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| replication_prompt | string | — | — |
| slug | string | yes | Unique catalog slug, e.g. "opt-in-minimal". |
| source_client_id | string | yes | client_id (cli_… or UUID) whose published pages are the master copies to clone. |
| source_component_slugs | array | — | — |
| source_nav_locations | array | — | Whole-site only; omit for page templates. |
| source_page_slugs | array | yes | Page slugs to clone on apply. For a page template: exactly ONE. |
| source_settings_keys | array | — | — |
| tags | array | — | — |
| use_case | string | — | opt-in | thank-you | vsl | webinar | sales | pricing | coming-soon | 404 (page templates) — or a vertical for whole-site. |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_create_tag ~108
Create a blog tag.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Tag description |
| name | string | yes | Tag name |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | — | URL slug |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_author ~92
Soft-delete an author profile.
| Name | Type | Req | Description |
|---|---|---|---|
| author_id | string | yes | Author ID |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_category ~91
Delete a blog category.
| Name | Type | Req | Description |
|---|---|---|---|
| category_id | string | yes | Category ID |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_component ~166
Delete a UI component. Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to actually delete.
| Name | Type | Req | Description |
|---|---|---|---|
| component_id | string | yes | Component ID |
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| dry_run | boolean | — | Preview the change without mutating. Defaults to true — call again with confirm_token to actually mutate. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_doc ~186
Archive/delete a documentation page (soft delete → archived). Children are left intact (a deleted section still anchors its descendants by parent_id). Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to actually delete.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| doc_id | string | yes | — |
| dry_run | boolean | — | Preview the change without mutating. Defaults to true — call again with confirm_token to actually mutate. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_domain ~95
Remove a custom domain from your content site.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to remove |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_page ~165
Archive/delete a content page. Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to actually delete.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| dry_run | boolean | — | Preview the change without mutating. Defaults to true — call again with confirm_token to actually mutate. |
| page_id | string | yes | — |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_post ~173
Delete a blog post. Phase 11+12 Lock 4 gate is opt-in via dry_run/confirm_token (defaults preserve immediate-delete for backward compat).
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | — | Token from a prior dry_run call. Single-use, 7d TTL. |
| dry_run | boolean | — | Preview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved). |
| post_id | string | yes | Post ID |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_delete_tag ~91
Delete a blog tag.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| tag_id | string | yes | Tag ID |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_deploy_readiness ~126
Check if your site is ready to deploy. Returns a checklist of what is configured (settings, domain, templates, pages) and what is missing. Call this BEFORE content_deploy_site — deploy will reject if blocking items are not resolved.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_deploy_site ~188
Deploy your site to Cloudflare edge. Uploads templates + config, site goes live in ~2-5 seconds. Phase 11+12: prefer `content_deploy_site_preview` + `content_deploy_site_production` for the safe two-step flow. This tool is kept for back-compat; set dry_run=true to preview, or pass confirm_token to consume a prior preview.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | — | Consume a prior preview token and deploy. |
| dry_run | boolean | — | Issue a preview + confirm_token without deploying. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_deploy_site_preview ~134
Phase 11+12 Stage 2 — issue a preview URL + confirm_token without deploying. Returns `{ preview_url, confirm_token, expires_at, preview: {...}, snapshot_hash }`. Call `content_deploy_site_production` with the returned confirm_token to actually deploy.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_deploy_site_production ~146
Phase 11+12 Stage 2 — consume a confirm_token from a prior `content_deploy_site_preview` call and run the real deploy (Lock 4). 410 on expired, 409 on already-consumed, 403 on mismatch.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | yes | Token returned by content_deploy_site_preview |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_deploy_status ~86
Check the latest deploy status for your site.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_docs_tree ~84
Get your brand's documentation tree structure.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_duplicate_block ~281
Insert a deep copy of one block into the same page. When to use: - Duplicating a CTA section to use in a different position on the same page - Cloning a tier-priced "feature card" inside a pricing-grid block - Building variations of the same section without rebuilding from scratch How it works: 1. Reads the source page; finds the block by id 2. Deep-copies the block JSON, regenerates the block's id (fresh UUID) 3. Inserts the copy at `position` ('before', 'after' default, or an int index) 4. Returns the updated PageResponse with the new block in place The page's status is unchanged (this doesn't unpublish a published page).
| Name | Type | Req | Description |
|---|---|---|---|
| block_id | string | yes | ID of the block to duplicate. |
| page_id | string | yes | UUID of the page. |
| position | — | — | 'before' or 'after' (default) the source block, or an int index. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_duplicate_doc ~146
Duplicate a doc page. Copy lives as a sibling under the same parent node in the docs tree (same parent_id), with a fresh slug + full_path.
| Name | Type | Req | Description |
|---|---|---|---|
| doc_id | string | yes | UUID of the doc to duplicate. |
| new_slug | string | — | Optional flat slug. Auto-generated if omitted. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_duplicate_page ~359
Duplicate a page. Returns the new draft. When to use: - Client wants a starting point that's similar to an existing page (faster than rebuilding from blocks) - You're applying a template by cloning master pages into the tenant (template gallery) - Internal A/B testing — fork a published page, edit copy, publish under a new slug How it works: 1. Reads the source page (must be owned by the caller's client; cross-tenant read refused 404) 2. Picks a fresh slug (`{original}-copy`, `-copy-2`, `-copy-3`, ... lowest unused) unless `new_slug` is provided 3. INSERTs a new content_pages row with status='draft', regenerated UUIDs on every block 4. Title gets " (Copy)" appended so the dashboard list shows it distinctly 5. Returns the full PageResponse Not gated — duplicates create new rows rather than overwriting state, so no confirm_token is required. Just call once and you get the new page.
| Name | Type | Req | Description |
|---|---|---|---|
| new_slug | string | — | Optional flat slug for the duplicate. Auto-generated as `{original}-copy[-N]` if omitted. Must match `^[a-z0-9][a-z0-9-]*$` (no `/`). |
| page_id | string | yes | UUID of the page to duplicate. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_duplicate_post ~161
Duplicate a blog post. Returns the new draft with a fresh slug. The body (Tiptap JSON), cover image URL, author, and tags all copy over. Status is forced to 'draft' regardless of the source's state.
| Name | Type | Req | Description |
|---|---|---|---|
| new_slug | string | — | Optional flat slug. Auto-generated if omitted. |
| post_id | string | yes | UUID of the post to duplicate. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | Workspace name (default: "default"). |
No output schema declared.
No examples provided.
content_export_doc ~182
Export a doc as a self-contained envelope: doc row (Tiptap body, SEO, full_path) + site settings + domains. Docs are prose-first, so there are no component bodies to inline (unlike content_export_page). format='json' (default) returns the JSON envelope; format='md' returns human-readable Markdown rendered from the body.
| Name | Type | Req | Description |
|---|---|---|---|
| doc_id | string | yes | — |
| format | string | — | json (default) — JSON envelope; md — Markdown rendered from the Tiptap body. |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_export_markdown ~196
Export a doc OR page as pure, round-trippable Markdown. target='doc' renders the Tiptap body; target='page' renders the blocks with each component block serialized back to a `:::component{...}` directive. The text round-trips through content_import_markdown. (For the richer JSON export envelope — components inlined, settings, domains, audit — use content_export_doc / content_export_page instead.)
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Doc UUID (target=doc) or Page UUID (target=page). |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| target | string | yes | Which resource to export. |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_export_page ~268
Export a page as a self-contained envelope: page row + every component referenced by page.blocks (full body inlined — html_template, js, css, props_schema, dependencies, agent_meta, kind, layouts) + site settings + domains + a PageAuditor walk (10 v1 rules: scroll-sequence empty frames, missing primary domain, page SEO holes, latent Tier 3 components, etc.). Use this instead of content_get_page when you need the FULL picture before editing — e.g. to understand what `vp-hero` actually is, or to surface broken sections before redeploying.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | json (default) — flat JSON envelope. md — human-readable Markdown. archive — ZIP byte stream matching the VSCode extension's local registry layout (page.json + components/<slug>@<version>.json + sett… |
| page_id | string | yes | Page ID |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_featured_posts ~101
Get featured blog posts (public, no auth needed).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max results (default 5) |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_get_author ~93
Get an author profile by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| author_id | string | yes | Author ID |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_get_build_status ~112
Get the build status of a framework component (Tier 4). Returns build_status, build_error, bundle_url.
| Name | Type | Req | Description |
|---|---|---|---|
| component_id | string | yes | Component ID |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | Workspace name |
No output schema declared.
No examples provided.
content_get_component ~101
Get a UI component by ID (includes template, CSS, props schema).
| Name | Type | Req | Description |
|---|---|---|---|
| component_id | string | yes | Component ID |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_get_component_by_slug ~114
Get a UI component by slug (optionally a specific version).
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | yes | Component slug |
| version | string | — | Specific version (default: latest published) |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_get_doc ~190
Get a documentation page by ID (includes Tiptap body, SEO, status, full_path, preview_url). IMPORTANT — `doc_id` MUST be a UUID, not a slug or full_path. Passing a non-UUID returns 404 (not 500). To look up by title/path, call content_list_docs (flat) or content_docs_tree (hierarchy) and filter client-side, then pass the matching `id` here.
| Name | Type | Req | Description |
|---|---|---|---|
| doc_id | string | yes | Doc UUID (NOT a slug/full_path — see tool description for the lookup pattern). |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_get_marketplace_bg_video ~98
Fetch a single curated background video by slug. Public read.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| slug | string | yes | — |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_get_navigation ~96
Get navigation menu (header, footer, docs_sidebar).
| Name | Type | Req | Description |
|---|---|---|---|
| location | string | yes | Menu location |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.
content_get_page ~332
Get a content page by ID (includes blocks, SEO, status). IMPORTANT — `page_id` MUST be a UUID, not a slug. Passing a slug returns 404 (not 500 — task `3daae81c` fixed the previous unhandled-ValueError crash). To look up by slug, call `content_list_pages` and filter the response client-side (`pages.filter(p => p.slug === 'my-slug')`), then pass the matching `page.id` here. P5: pass `audit_level` to surface a `_page_audit` block — "warnings" (default) returns errors + warnings from the PageAuditor walk so the agent learns about scroll-sequence empty frames, missing primary domains, latent Tier 3 components, etc. without a separate content_export_page call. Pass "off" to skip the auditor.
| Name | Type | Req | Description |
|---|---|---|---|
| audit_level | string | — | P5: include a `_page_audit` block on the response. 'off' skips the auditor entirely (cheapest). 'errors' / 'warnings' / 'all' filter by severity. Default 'warnings'. |
| page_id | string | yes | Page UUID (NOT a slug — see tool description for the slug → UUID lookup pattern via content_list_pages). |
| project | string | — | Optional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de… |
| workspace | string | — | — |
No output schema declared.
No examples provided.