Generate SDK reference pages from doc-tool output
Publish SDK reference documentation in Mintlify from TypeDoc, DocFX, Javadoc, Sphinx, or phpDocumentor artifacts using the sdk navigation property.
Use the sdk navigation property to generate reference pages for your SDK libraries from the documentation tools you already run. Mintlify reads each tool’s build artifact and creates a page for every class, interface, module, and function, with navigation groups, cross-page links, and search indexing included.
Supported formats
format | Tool | Artifact |
|---|---|---|
typedoc | TypeDoc (TypeScript/JavaScript) | JSON export file |
docfx | DocFX (.NET) | docfx metadata output directory (ManagedReference YAML) |
javadoc | Javadoc (Java) | Standard doclet HTML directory |
sphinx | Sphinx (Python) | JSON builder output directory |
phpdoc | phpDocumentor (PHP) | structure.xml file |
Generate an artifact
Run your documentation tool with a machine-readable output format. If you already publish generated docs from CI, this is usually a one-flag change to the same command.
npx typedoc --json typedoc.json src/index.tsAuto-populate SDK pages
Add an sdk property to a tab in your docs.json. Mintlify parses the artifact and creates navigation groups and pages for the library.
"navigation": {
"tabs": [
{
"tab": "SDK Reference",
"sdk": {
"format": "typedoc",
"source": "sdk-artifacts/typedoc.json",
"directory": "sdk/typescript"
}
}
]
}You must declare sdk on a tab. A tab with sdk may include groups, but no other navigation structures, such as pages, versions, or languages. It also cannot include an openapi, asyncapi, or graphql property.
formatstringrequiredThe documentation tool that produced the artifact: typedoc, docfx, javadoc, sphinx, or phpdoc.
sourcestringrequiredRelative path to the artifact file or directory in your docs repository, or an HTTPS URL. Does not accept HTTP URLs.
directorystringThe URL path prefix for generated pages. Defaults to sdk-reference.
Add multiple tabs to document multiple libraries. Use a unique directory for each library to avoid route collisions.
Add your artifact directory to .mintignore so Mintlify treats artifacts as build inputs rather than publishing them as static assets.
Generated pages
Mintlify adds the generated navigation groups after any groups on the tab. The groups vary by format and may represent modules, packages, namespaces, or symbol types.
Each generated page documents a class, interface, function, type, or other symbol from the artifact and links to related generated pages. If a converter produces pages that do not belong to a group, Mintlify collects them under a Reference group.
Use remote sources
Set source to an HTTPS URL to fetch the artifact at build time instead of committing it to your docs repository.
Single-file formats (typedoc, phpdoc) accept a direct file URL. Directory formats (docfx, javadoc, sphinx) accept a zip archive. Javadoc jars published to Maven Central work without repackaging:
{
"tab": "Java SDK",
"sdk": {
"format": "javadoc",
"source": "https://repo1.maven.org/maven2/com/example/my-library/1.0.0/my-library-1.0.0-javadoc.jar",
"directory": "sdk/java"
}
}Remote artifacts have a 50 MB download limit and a 200 MB extracted size limit.
Keep references up to date
Regenerate the artifact whenever your SDK changes. A common pattern is a CI job in each SDK repository that runs the documentation tool on release. The job either commits the artifact to your docs repository or uploads it to a stable URL that source points to.