Skip to main content

Source Artifact summary

ArtifactRole
packages/exchange-api/public/swagger.jsonExchange REST source artifact
packages/stats/public/swagger.jsonStats REST source artifact
packages/api-docs/merged/unified-swagger.jsonUnified public REST source artifact
docs/api-specs/public-rest-unified.jsonDerived Mintlify render artifact built from the unified source artifact plus vendored schema definitions

Manual overlay boundary

The public REST family also documents the private request-submission posture around GET /v2/encryption-key and POST /v2/request. Those paths are intentionally covered by authored support pages, but they are not endpoints in docs/api-specs/public-rest-unified.json.

Ownership chain

LayerOwnership
Package-owned Swagger artifactsAuthoritative contract source for the public REST family
Unified SwaggerRepo-owned merge layer for the public REST surface
docs/api-specs/public-rest-unified.jsonDerived docs-local render input for Mintlify; not the primary source of truth
Generated REST pagesPublic rendering layer that depends on the derived docs-local bundle

Ownership rule

The package-owned Swagger artifacts remain the source of truth for the public REST family. docs/api-specs/public-rest-unified.json exists only to normalize the historical external schema references into one Mintlify-compatible OpenAPI bundle. Regenerate it with node scripts/build-mintlify-public-rest-openapi.mjs when the unified public Swagger changes.

Regeneration and verification

StepCommand
Rebuild the docs-local render bundlenode scripts/build-mintlify-public-rest-openapi.mjs
Confirm the bundle is currentnode scripts/build-mintlify-public-rest-openapi.mjs --check

Publication rule

This source-artifact chain applies to the active public REST family only. Restricted and product-specific source artifacts elsewhere in the repo do not become public generated-contract inputs by analogy.
Last modified on April 13, 2026