Note: The
.small/file protocol is the primary SMALL contract. The hosted HTTP surface onsmallprotocol.devis intentionally narrower: protocol discovery plus published schema files. Hosted manifest validation and replay endpoints are not currently part of the live site contract.
The SMALL Protocol exposes a machine-readable OpenAPI 3.0 document for the public discovery surface. This allows tools and agents to discover protocol metadata and fetch versioned schema assets without guessing URLs.
Specification
The OpenAPI specification is available at:
This file is served as a static asset and can be consumed by OpenAPI tooling, API clients, and documentation generators.
Endpoints
Protocol Discovery
GET /protocol/small/v1
Returns the SMALL Protocol v1 contract, including:
- Protocol name and version
- Available primitives (Schema, Manifest, Artifact, Lineage, Lifecycle)
- Protocol rules and guarantees
- Concrete schema URLs currently published by the site
Example Response:
{
"protocol": "SMALL",
"version": "1.0.0",
"primitives": ["Schema", "Manifest", "Artifact", "Lineage", "Lifecycle"],
"rules": {
"materializationRequiresValidation": true,
"artifactsAreImmutable": true,
"lineageIsAppendOnly": true,
"lifecycleIsEventBased": true,
"explicitContractsOnly": true
},
"schemas": {
"intent": "/schemas/small/v1/intent.schema.json",
"constraints": "/schemas/small/v1/constraints.schema.json",
"plan": "/schemas/small/v1/plan.schema.json",
"progress": "/schemas/small/v1/progress.schema.json",
"handoff": "/schemas/small/v1/handoff.schema.json",
"manifest": "/schemas/small/v1/manifest.schema.json",
"artifact": "/schemas/small/v1/artifact.schema.json",
"lineage": "/schemas/small/v1/lineage.schema.json",
"lifecycle": "/schemas/small/v1/lifecycle.schema.json"
}
}
Schema Files
GET /schemas/small/v1/{schemaFile}
Returns one of the published JSON Schema files served by the site. Supported filenames are:
intent.schema.jsonconstraints.schema.jsonplan.schema.jsonprogress.schema.jsonhandoff.schema.jsonmanifest.schema.jsonartifact.schema.jsonlineage.schema.jsonlifecycle.schema.json
Example:
curl https://smallprotocol.dev/schemas/small/v1/manifest.schema.json
For local development, replace the origin with
http://localhost:5173.
What Is Not Hosted
The live site does not currently implement these as hosted HTTP endpoints:
POST /small/v1/validate-manifestPOST /small/v1/replay
Validation, replay identity, and lineage generation remain part of the SMALL CLI and downstream implementations, not the static public docs site.
Integration
OpenAPI Tooling
The OpenAPI specification can still be used with standard tooling:
- Swagger UI: Inspect the public discovery contract
- Postman: Import the protocol and schema fetch surface
- Code Generation: Generate lightweight clients for discovery endpoints
- API Testing: Validate the hosted discovery contract against deploys
Agent Integration
Agents can integrate with the public surface by:
- Discovering the protocol via
GET /protocol/small/v1 - Fetching published schemas from
/schemas/small/v1/<name>.schema.json - Validating artifacts locally or inside their own runtime boundary
- Treating replay generation as CLI/runtime behavior, not a hosted site API
Versioning
SMALL follows semantic versioning (Major.Minor.Patch):
- Major: Breaking changes requiring agent updates
- Minor: Backward-compatible additions
- Patch: Bug fixes and clarifications
The current protocol version is 1.0.0.