Docs
Get an API key
Integrations›Documentation export

Documentation export

Import guides, API contracts and examples into your documentation, with stable identifiers and content hashes.

View .md

The export manifest lists the public guides, operation contracts and reusable examples from the same build as this site. It needs no API key. Fetch it from the environment you want to document:

curl
curl --fail-with-body https://api.vultrinference.com/docs/export/manifest.json

Read the manifest

schema_version is 1.0. Resource URLs live under /docs/export/v1/; a breaking contract change uses a new versioned path. Resolve every root-relative URL against the origin from which you fetched the manifest. canonical_url is the human-readable source page on that origin; api_url is the public inference base URL.

The JSON Schema describes the manifest and each resource. The manifest carries its schema_sha256. Consumers should accept additive fields within version 1 and reject an unsupported major version.

Field Contains
pages Descriptors with id, url, sha256, title and kind for every guide and operation page.
operations Descriptors with operation ID, HTTP method, full API path and deprecation flag.
examples Descriptors for the maintained examples used by guides and the generated operation samples.
openapi The public bundled spec's URL and hash.
live_sources Model data fetched separately: availability, parameters and prices can change without a docs build.
revision A fingerprint of this static export. It does not change merely because time passed.

Every descriptor's sha256 is the SHA-256 of the exact response bytes, before JSON parsing and after HTTP content decoding. Keep the hash beside imported content; fetch a resource again only when its descriptor changes. The schema and OpenAPI document use the same hash convention. revision hashes the manifest serialized as indented JSON with a final newline, before adding the revision member; use it as an opaque fingerprint rather than reserializing it yourself.

All export resources support GET, HEAD, and If-None-Match. Save the returned ETag and send it on the next request; 304 means the response has not changed. Responses are cacheable for five minutes. A missing resource is a non-cacheable 404 JSON response.

Import a page

For example, the async jobs page export has the stable ID page:concepts/async-jobs. The overview is page:overview; operation pages use page:reference/<operationId>.

markdown contains the complete published Markdown, with our directives expanded. markdown_sha256 matches its UTF-8 bytes and the existing markdown_url response. content_format is gfm+html: tables, fenced code, callouts, and some HTML diagrams. Convert the elements your publishing system supports and report unsupported elements for review. Relative links and image sources must be resolved against canonical_url before importing; map links to your own imported pages where appropriate.

headings lists guide section IDs, levels and labels. Operation pages currently have no exported heading inventory. dependencies records explicit relationships declared in the guide's front matter and directives:

  • operations: operation IDs, such as create-video.
  • schemas: component schema names in the linked OpenAPI document.
  • examples: example IDs, such as example:guide/video-create-and-poll.
  • model_types: output types whose live model lists the guide uses, such as video.

These are declared dependencies, not an analysis of every claim or link in prose. Watch the linked operation/spec hashes as well as the page hash. A model list in expanded Markdown is a link to the live catalog, not a static list of models.

Import contracts and examples

An operation export has ID operation:create-video, its public contract, and example_id. The contract is the bundled OpenAPI operation, including inherited path parameters and security. Local $ref values resolve against the full document at openapi_url, not against the export JSON. Verify that document against openapi_sha256 before resolving its references.

A maintained example has ID example:guide/video-create-and-poll; generated operation samples have ID example:operation/create-video. Each variants entry contains a language, display label, exact code and its own SHA-256 hash. Use these to render code tabs without copying snippets by hand.

origin is maintained for files included by a guide, or generated for samples made from the OpenAPI contract. Both say verification: not_reported: the export does not publish live-check results and does not assert that an example was executed. Use your own validation before publishing changes.

Keep models and prices current

Fetch live_sources.models.url with ordinary HTTP and no Anthropic-Version, X-TypeSafe-SDK or OpenRouter SDK User-Agent; those select a different catalog shape. The default provider documents contain every output modality, parameter range and structured price, including conditional pricing overrides. Keep decimal prices as decimal strings. Do not reduce a multi-output model to its first output.

live_sources.model_cards is a small display feed; its short price label cannot replace the detailed pricing data. live_sources.model_pages is the current model index as Markdown. See the catalog libraries for reading the full catalog.

A catalog failure must not replace the last successful publication with an empty list. Treat absence from the live catalog as availability information, not a retirement notice. Limits and retention rules that exist only in guide prose are not a structured facts feed in version 1.

Publish a consistent update

  1. Fetch the manifest and validate its supported version and schema.
  2. Fetch changed resources, then verify every advertised hash. Fetch and verify the linked OpenAPI document for contract references.
  3. If a resource is missing or a hash disagrees, discard that candidate update and retry from a fresh manifest. A deploy may have occurred between requests.
  4. Convert the supported content and produce a reviewable diff, preserving editorial sections outside generated content.
  5. Publish only the complete validated update, then save its manifest and hashes.

The export contains public documentation only. Private platform routes, internal repository notes, credentials, and live verification reports are not included. Renaming a page changes its ID; an absent resource alone is not permission to delete downstream editorial content.