CLIPage File Types

Page File Types

internalpage stores the uploaded source and shows a rendered viewer by default. There is no online editor.

Run npx @internalpage/cli login once before publishing. The examples below use the saved token.

HTML

Upload a self-contained HTML file when the output is already browser-ready.

npx @internalpage/cli publish ./report.html --slug q2-report

Supported extensions:

  • .html
  • .htm

Markdown

Upload Markdown when you want a private document URL for notes, RFCs, runbooks, release notes, or generated text reports.

npx @internalpage/cli publish ./runbook.md --slug incident-runbook

Supported extensions:

  • .md
  • .markdown

Markdown pages are rendered with a GitHub-like document style. Raw HTML in the Markdown source is sanitized before the viewer page is served.

OpenAPI

Upload an OpenAPI spec when you want a private, read-only API reference.

npx @internalpage/cli publish ./openapi.yaml --slug billing-api

Supported extensions:

  • .yaml
  • .yml
  • .json

The file must be an OpenAPI 3.x or Swagger 2.0 document and include info.title. internalpage renders it with ReDoc, Swagger UI, or Scalar in read-only mode. ReDoc is the initial workspace default.

Workspace owners can change the default renderer in workspace settings. Each OpenAPI page can keep Use workspace default enabled or choose a page-specific renderer. A page that uses the workspace default follows later workspace setting changes automatically; an override stays fixed.

Not included:

  • try it out
  • API token input
  • mock server
  • SDK generation

Update Behavior

Run publish again with the same slug:

npx @internalpage/cli publish ./openapi.yaml --slug billing-api

The page ID and viewer URL stay stable. Publishing a new spec does not change the page’s renderer preference.