get_page
On this page
toolread-only

get_page

A page of the product with the source files it needs (components, imported modules, styles, assets, token sources). When the release has the engine's analysis, closure.basis is 'engine-analysis' and closure.complete says whether nothing was left unresolved; otherwise the files are the ones the release indexes record, and the closure is not complete.

Updated 15 October 2026Needs an active membership

Ask for it in plain words#

PromptFetch one page
Using Orvio, get sotto/page/index and tell me which files it needs.
Works with Remote MCP·Replace the highlighted parts

Inputs#

NameTypeRequiredWhat it does
identifierstringnoThe page's identifier, for example sotto/page/pricing. The home page is index.
pagestringnoInstead of identifier: the page by route, title or entry path (with product).
productstringnoInstead of identifier: the product, used with page.
releasestringnoOptional pin: the version you saw in an earlier result.
include_contentsbooleannoReturn the files' contents. Default true.
include_tokensbooleannoAlso include the files that define the design tokens the page uses. Default true.
cursorstringnoFrom the previous result's nextCursor.

Example#

include_contents is false here, so the files are listed without their contents.

The example ran over Orvio's synthetic test catalog (a product called Fixture Studio), so its names and values differ from the products you will see. The shape is exactly what the server returns.

Request

Arguments
{
  "identifier": "fixture-studio/page/index",
  "include_contents": false
}

Result (shortened)

JSON
{
  "page": {
    "identifier": "fixture-studio/page/index",
    "route": {
      "path": "/",
      "provenance": {
        "method": "inferred",
        "confidence": "high",
        "sources": [
          {
            "path": "index.html"
          }
        ]
      }
    },
    "title": "Fixture Landing",
    "purpose": null,
    "entryPath": "index.html",
    "components": [
      "fixture-studio/component/site-header",
      "fixture-studio/component/hero",
      "fixture-studio/component/features"
    ],
    "assets": [
      "images/logo.svg"
    ]
  },
  "files": [
    {
      "path": "source/index.html",
      "sourcePath": "index.html",
      "role": "page-entry",
      "content": null,
      "bytes": 775,
      "sha256": "187ba7c33ce9…"
    },
    {
      "path": "source/css/site.css",
      "sourcePath": "css/site.css",
      "role": "style",
      "content": null,
      "bytes": 398,
      "sha256": "f90faae01d0d…"
    },
    {
      "path": "source/images/logo.svg",
      "sourcePath": "images/logo.svg",
      "role": "asset",
      "rights": {
        "disposition": "cleared",
        "attribution": null
      },
      "content": null,
      "bytes": 192,
      "sha256": "f3fda63be86c…"
    }
  ],
  "closure": {
    "basis": "package-indexes",
    "complete": false,
    "notes": [
      "Local imports that the release indexes do not record are not included. Read them…"
    ],
    "unresolved": []
  },
  "licence": {
    "id": "LicenseRef-Orvio-Fixture-Synthetic",
    "path": "licenses/LICENSE.md",
    "thirdPartyNotices": null
  },
  "release": {
    "product": "fixture-studio",
    "version": "1.1.0",
    "releaseId": "f1000000-0000-4000-8000-000000000002",
    "publishedAt": "2026-10-05T00:00:00Z"
  }
}

Left out of the example: nextCursor.

What comes back#

FieldWhat it holds
pageIdentifier, route, title, purpose, entry file, and the identifiers of its components and assets.
filesThe source files the page needs, each with its role (page entry, component, dependency, style, asset, token source), path, size and SHA-256.
closureHow the list was made, and whether it is complete: basis, complete, notes, unresolved, packages, externals.
warningsHeads-ups that do not stop the call, such as a membership payment problem. Usually empty.

Every result also carries what the request needs to be checked: the release (product, version, published date), the licence and notes, when they apply.

Paging#

When nextCursor is not null, call again with cursor set to it. A cursor belongs to your account, to that call's inputs and to that release, and it expires after 60 minutes. After a new release it answers release_replaced. See Limits and pagination.

Errors#

CodeMeansWhat to do
product_unavailableNo listed product has that identifier.Search the catalog with search_products.
release_withdrawnThe whole product was taken down for now.Search the catalog for something similar with search_products.
release_replacedA newer release was published since the version you named or the cursor you used.Call the tool again without a release to use 0.1.3.
path_not_foundThe release has no such file, page, component or token.Use get_product or list_release_files to see what's included.
ambiguous_identifierThe name matches more than one page, component or token.Use one of: sotto/component/pricing@css-pricing, sotto/component/pricing@js-pricing.
invalid_inputThe arguments do not match the tool's schema, or the cursor is not valid.Fix the input and call the tool again.
HTTP 401, 403 or 429Before the tool runs: the sign-in is not valid, the membership does not allow access, or there were too many requests.See Errors and fixes.

Every tool can also answer service_unavailable and integrity_error: try again in a few minutes.

Was this page clear? Yes · Not reallyEdit suggestions: support@orvio.design