Runtime source
Read capabilities from the server.
OpenDoc exposes its service name, protocol version, capability flags, event paths, error shape, permissions, and tool catalog from /protocol. Use it for feature detection instead of hardcoding assumptions.
curl https://api.opendoc.com/protocol
const protocol = await client.protocol();
if (protocol.version !== "1.0.0-headless") {
console.warn("Review OpenDoc compatibility before deploying");
}
Compatibility
What counts as breaking.
BreakingRemoving a route/tool, changing required auth, renaming stable error codes, changing transaction state semantics, or changing required request fields.Non-breakingAdding optional response fields, adding new tools, adding new error codes, adding event types, or clarifying human-readable messages.Client ruleSwitch on stable codes and IDs, ignore unknown optional fields, and feature-detect capabilities from /protocol.Log
Recent documentation and protocol-facing changes.
2026-07-29Docs status pass: every capability is labeled live-today (sandbox) or opening-with-first-partners (live mode); SDK distribution status corrected.2026-07-04Sandbox self-serve opened: POST /developers/signup issues instant odk_sandbox_ keys confined to a synthetic provider with simulated payments. Live mode remains partner-gated.2026-06-03Added live docs for SDK, auth, transactions, provider onboarding/access, events, errors, testing, discovery/offers, environments, security/PHI, changelog, and provider payouts.2026-06-03Aligned docs branding with the marketplace brand system and static OpenDoc mark.2026-06-02Protocol discovery points to https://docs.opendoc.com; API root returns minimal service and documentation metadata.1.0.0-headlessCurrent runtime protocol version exposed by GET /protocol.Partner process
Before upgrading an integration.
1
Fetch
/protocol.Record version, tool list, auth requirements, permissions, and event paths.2
Run public smoke.Check
/health, /protocol, and one route from each public discovery family you use.3
Run protected smoke in staging.Use synthetic actors, synthetic slots, test payment mode, and stable idempotency keys.
4
Archive evidence.Save commands, correlation IDs, route results, and environment class for support and audit traceability.