{"schemaVersion":"developer.reits.tech/contract-registry/v1","generatedAt":"2026-07-20T06:47:19Z","sourcePolicy":"Canonical JSON Schema is public API truth. Numeric and upstream-specific values are allowed only inside named legacy adapters.","defaultDeprecationWindowDays":180,"errorEnvelope":"/schemas/contracts/v1/error-envelope.v1.schema.json","summary":{"contracts":8,"owners":8,"schemas":9,"producerFixtures":8,"consumerFixtures":8,"generatedLanguages":3,"breakingChanges":0},"enums":[{"name":"AppType","values":["ordinary","enterprise"],"owner":"Developer Platform","legacyAdapters":[{"id":"reits-db-v1","scope":"miniapp-open-platform database only","mapping":{"0":"ordinary","1":"enterprise"}},{"id":"xtalk-reference-v1","scope":"xtalk-open-source import only","mapping":{"0":"enterprise","1":"ordinary"}}],"publicNumericValuesAllowed":false},{"name":"AppKind","values":["miniapp","bot"],"owner":"Developer Platform","legacyAdapters":[],"publicNumericValuesAllowed":false},{"name":"ReleaseStatus","values":["draft","uploaded","scanning","review","rejected","approved","live","rolled_back"],"owner":"Release Platform","legacyAdapters":[],"publicNumericValuesAllowed":false},{"name":"BookingOrderStatus","values":["held","confirmed","cancel_requested","cancelled","completed","expired","refunded"],"owner":"Booking Platform","legacyAdapters":[],"publicNumericValuesAllowed":false},{"name":"MarketSliceStatus","values":["staging","ready","rejected","expired"],"owner":"Market Data","legacyAdapters":[],"publicNumericValuesAllowed":false},{"name":"QuantRunStatus","values":["queued","running","succeeded","failed","cancelled"],"owner":"Quant Platform","legacyAdapters":[],"publicNumericValuesAllowed":false}],"contracts":[{"id":"auth-session","name":"AuthSession","domain":"Identity","version":"1.0.0","lifecycle":"active","stability":"stable","owner":{"team":"Identity Platform","repository":"reits-auth"},"producer":{"repository":"reits-auth","revision":"157b8590e4625ad2fda802410303461a69a74bd3","sourcePath":"internal/store/session.go"},"consumers":["miniapp-open-platform","public-booking-platform","im-core"],"schema":"/schemas/contracts/v1/auth-session.v1.schema.json","fixtureKeys":{"producer":"auth-session","consumer":"auth-session"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["required field removal","field type change","enum value removal","session state semantic change"]},"links":{"self":"/api/contracts/auth-session","schema":"/schemas/contracts/v1/auth-session.v1.schema.json"}},{"id":"developer-app","name":"DeveloperApp","domain":"Open Platform","version":"1.0.0","lifecycle":"active","stability":"stable","owner":{"team":"Developer Platform","repository":"miniapp-open-platform"},"producer":{"repository":"miniapp-open-platform","revision":"00c4ae2baaa44abb4ed9f31832686883cca703e8","sourcePath":"services/developer-api/internal/contract/app_type.go"},"consumers":["miniapp-open-platform","matrix-x-chat-ios","developer-portal"],"schema":"/schemas/contracts/v1/developer-app.v1.schema.json","fixtureKeys":{"producer":"developer-app","consumer":"developer-app"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["named enum removal","public numeric enum exposure","required field removal","owner semantics change"]},"links":{"self":"/api/contracts/developer-app","schema":"/schemas/contracts/v1/developer-app.v1.schema.json"}},{"id":"release-candidate","name":"ReleaseCandidate","domain":"Release","version":"1.0.0","lifecycle":"active","stability":"candidate","owner":{"team":"Release Platform","repository":"miniapp-open-platform"},"producer":{"repository":"miniapp-open-platform","revision":"00c4ae2baaa44abb4ed9f31832686883cca703e8","sourcePath":"services/developer-api/internal/handlers/api.go"},"consumers":["miniapp-open-platform","reits-media","developer-portal"],"schema":"/schemas/contracts/v1/release-candidate.v1.schema.json","fixtureKeys":{"producer":"release-candidate","consumer":"release-candidate"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["release state removal","artifact checksum weakening","version identity change"]},"links":{"self":"/api/contracts/release-candidate","schema":"/schemas/contracts/v1/release-candidate.v1.schema.json"}},{"id":"event-envelope","name":"EventEnvelope","domain":"Realtime","version":"1.0.0","lifecycle":"active","stability":"candidate","owner":{"team":"Event Platform","repository":"im-core"},"producer":{"repository":"im-core","revision":"deea700b3a9e970b1d1738ff381c4bc8b3e0a935","sourcePath":"internal/contract/envelope.go"},"consumers":["matrix-x-chat-ios","miniapp-open-platform","public-booking-platform"],"schema":"/schemas/contracts/v1/event-envelope.v1.schema.json","fixtureKeys":{"producer":"event-envelope","consumer":"event-envelope"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["event identity removal","idempotency removal","trace context removal","payload type narrowing"]},"links":{"self":"/api/contracts/event-envelope","schema":"/schemas/contracts/v1/event-envelope.v1.schema.json"}},{"id":"media-asset","name":"MediaAsset","domain":"Resource","version":"1.0.0","lifecycle":"active","stability":"candidate","owner":{"team":"Media Platform","repository":"reits-media"},"producer":{"repository":"reits-media","revision":"portal-d01-observed","sourcePath":"API upload and asset contracts"},"consumers":["miniapp-open-platform","im-core","public-booking-platform"],"schema":"/schemas/contracts/v1/media-asset.v1.schema.json","fixtureKeys":{"producer":"media-asset","consumer":"media-asset"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["checksum removal","scan state removal","storage reference change","size type narrowing"]},"links":{"self":"/api/contracts/media-asset","schema":"/schemas/contracts/v1/media-asset.v1.schema.json"}},{"id":"booking-order","name":"BookingOrder","domain":"Booking","version":"1.0.0","lifecycle":"active","stability":"stable","owner":{"team":"Booking Platform","repository":"public-booking-platform"},"producer":{"repository":"public-booking-platform","revision":"cc2466284f28f77efc493338dccf0b12ac23a2a2","sourcePath":"server booking routes and persistence"},"consumers":["public-booking-platform","reits-auth","developer-portal"],"schema":"/schemas/contracts/v1/booking-order.v1.schema.json","fixtureKeys":{"producer":"booking-order","consumer":"booking-order"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["order state removal","money precision change","idempotency removal","revision removal"]},"links":{"self":"/api/contracts/booking-order","schema":"/schemas/contracts/v1/booking-order.v1.schema.json"}},{"id":"market-slice","name":"MarketSlice","domain":"Market Data","version":"1.0.0","lifecycle":"active","stability":"candidate","owner":{"team":"Market Data","repository":"trading-data-source"},"producer":{"repository":"trading-data-source","revision":"55b1ad827176b0937963d5694f411e901665fcfd","sourcePath":"internal/server/server.go"},"consumers":["quant-platform","matrixantai-backtest","developer-portal"],"schema":"/schemas/contracts/v1/market-slice.v1.schema.json","fixtureKeys":{"producer":"market-slice","consumer":"market-slice"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["time range semantic change","checksum removal","license class removal","status removal"]},"links":{"self":"/api/contracts/market-slice","schema":"/schemas/contracts/v1/market-slice.v1.schema.json"}},{"id":"quant-run","name":"QuantRun","domain":"Quant","version":"1.0.0","lifecycle":"active","stability":"target","owner":{"team":"Quant Platform","repository":"quant-platform"},"producer":{"repository":"quant-platform","revision":"535041b190403769364b0ce2853f0f7f7fbb5877","sourcePath":"README.md (target boundary; runtime absent)"},"consumers":["matrix-quant-im-ios","matrixantai-backtest","developer-portal"],"schema":"/schemas/contracts/v1/quant-run.v1.schema.json","fixtureKeys":{"producer":"quant-run","consumer":"quant-run"},"deprecation":{"minimumWindowDays":180,"sunsetAt":null},"compatibility":{"mode":"backward","breakingRules":["provenance hash removal","run state removal","input slice removal","error contract removal"]},"links":{"self":"/api/contracts/quant-run","schema":"/schemas/contracts/v1/quant-run.v1.schema.json"}}],"verification":{"status":"passed","command":"npm run contracts:verify","producerFixtures":8,"consumerFixtures":8,"generatedBindings":["typescript","go","swift"],"breakingChanges":0}}