{"openapi": "3.1.0", "info": {"title": "Riptide Public API", "version": "1.3.0", "description": "Paper-only research record; no real orders or brokerage connection. Not investment advice. Data can be delayed or unavailable. Event-market prices are committed crowd quotes, not Riptide forecasts. Source rights, jurisdiction, and freshness fail closed."}, "servers": [{"url": "https://api.seiche.info/riptide"}], "paths": {"/api/v1/overview": {"get": {"operationId": "get_overview", "summary": "Riptide public overview snapshot", "responses": {"200": {"description": "Sanitized paper-only snapshot", "headers": {"Link": {"description": "api-catalog relation to Riptide's product-scoped linkset; origin-root RFC 9727 discovery is a separate release gate.", "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PublicSnapshotEnvelope"}, {"type": "object", "properties": {"kind": {"const": "overview"}}}]}}}}, "429": {"$ref": "#/components/responses/RateLimited"}}}}, "/api/v1/allocation": {"get": {"operationId": "get_allocation", "summary": "Riptide public allocation snapshot", "responses": {"200": {"description": "Sanitized paper-only snapshot", "headers": {"Link": {"description": "api-catalog relation to Riptide's product-scoped linkset; origin-root RFC 9727 discovery is a separate release gate.", "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PublicSnapshotEnvelope"}, {"type": "object", "properties": {"kind": {"const": "allocation"}}}]}}}}, "429": {"$ref": "#/components/responses/RateLimited"}}}}, "/api/v1/paper": {"get": {"operationId": "get_paper", "summary": "Riptide public paper snapshot", "responses": {"200": {"description": "Sanitized paper-only snapshot", "headers": {"Link": {"description": "api-catalog relation to Riptide's product-scoped linkset; origin-root RFC 9727 discovery is a separate release gate.", "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PublicSnapshotEnvelope"}, {"type": "object", "properties": {"kind": {"const": "paper_record"}}}]}}}}, "429": {"$ref": "#/components/responses/RateLimited"}}}}, "/api/v1/crypto": {"get": {"operationId": "get_crypto", "summary": "Riptide public crypto snapshot", "responses": {"200": {"description": "Sanitized paper-only snapshot", "headers": {"Link": {"description": "api-catalog relation to Riptide's product-scoped linkset; origin-root RFC 9727 discovery is a separate release gate.", "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PublicSnapshotEnvelope"}, {"type": "object", "properties": {"kind": {"const": "crypto_record"}}}]}}}}, "429": {"$ref": "#/components/responses/RateLimited"}}}}, "/api/v1/risk": {"get": {"operationId": "get_risk", "summary": "Riptide public risk snapshot", "responses": {"200": {"description": "Sanitized paper-only snapshot", "headers": {"Link": {"description": "api-catalog relation to Riptide's product-scoped linkset; origin-root RFC 9727 discovery is a separate release gate.", "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PublicSnapshotEnvelope"}, {"type": "object", "properties": {"kind": {"const": "risk_evidence"}}}]}}}}, "429": {"$ref": "#/components/responses/RateLimited"}}}}, "/api/v1/events": {"get": {"operationId": "get_events", "summary": "Riptide public events snapshot", "responses": {"200": {"description": "Policy-gated committed Event Intelligence view", "headers": {"Link": {"description": "api-catalog relation to Riptide's product-scoped linkset; origin-root RFC 9727 discovery is a separate release gate.", "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PublicSnapshotEnvelope"}, {"type": "object", "properties": {"kind": {"const": "event_markets"}}}]}}}}, "429": {"$ref": "#/components/responses/RateLimited"}}}}, "/api/v1/methodology": {"get": {"operationId": "get_methodology", "summary": "Riptide public methodology snapshot", "responses": {"200": {"description": "Sanitized paper-only snapshot", "headers": {"Link": {"description": "api-catalog relation to Riptide's product-scoped linkset; origin-root RFC 9727 discovery is a separate release gate.", "schema": {"type": "string"}}}, "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/PublicSnapshotEnvelope"}, {"type": "object", "properties": {"kind": {"const": "methodology"}}}]}}}}, "429": {"$ref": "#/components/responses/RateLimited"}}}}}, "components": {"schemas": {"PublicSnapshotEnvelope": {"type": "object", "required": ["schema", "product", "kind", "generated_at", "execution_mode", "real_orders", "disclaimer"], "properties": {"schema": {"const": "riptide.public.v1"}, "product": {"const": "riptide"}, "kind": {"type": "string", "minLength": 1}, "generated_at": {"type": "string", "format": "date-time"}, "execution_mode": {"enum": ["paper_only", "read_only"]}, "real_orders": {"const": false}, "disclaimer": {"type": "string", "minLength": 1}, "available": {"type": "boolean"}, "error": {"type": "string"}}, "additionalProperties": true}, "Error": {"type": "object", "required": ["error"], "properties": {"error": {"type": "string", "minLength": 1}}, "additionalProperties": false}}, "responses": {"RateLimited": {"description": "The process-local public rate limit was exceeded.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}}}}