{"openapi":"3.1.0","info":{"title":"DEVS AI Engine","version":"1.5.0","description":"devs_consult is the public entry. Personal readings route to supreme_reading; specialized targets route to the corresponding Motor capability. All accepted readings use DEVS SUPREME depth. Cryptographic verification is enforced where the upstream operation provides an evidence envelope, and proof level is reported honestly where it does not."},"servers":[{"url":"https://chaturanai.com"}],"x-devs-public-persona":"Aurora 巫女","x-devs-mcp":{"url":"https://chaturanai.com/mcp","transport":"streamable-http-stateless","protocol_versions":["2026-07-28","2025-11-25","2025-06-18"],"protected_resource_metadata":"https://chaturanai.com/.well-known/oauth-protected-resource/mcp","tools":["devs_consult","devs_capabilities","devs_preflight","devs_feedback"]},"x-devs-web-bridge":{"url":"https://chaturanai.com/bridge/","config":"https://chaturanai.com/bridge/config.json","callback":"https://chaturanai.com/bridge/oauth/callback","mode":"browser_pkce_http_only_broker","verified_release_only":true,"shared_credentials":false,"server_storage":false},"x-devs-device-flow":{"version":"devs-device-flow/1","config":"https://chaturanai.com/bridge/device/config.json","device_authorization_endpoint":"https://chaturanai.com/bridge/device/code","token_endpoint":"https://chaturanai.com/bridge/device/token","verification_uri":"https://chaturanai.com/bridge/device/","grant_type":"urn:ietf:params:oauth:grant-type:device_code","client_id":"dvc_f0fefff3eae9f0b10cd87d30","scope":"read","refresh_rotation":true,"shared_credentials":false,"server_storage":false},"paths":{"/healthz":{"get":{"operationId":"devsOneCallHealth","summary":"Public liveness check for Gateway, protected MCP boundary and Ed25519 JWKS.","description":"A protected Motor MCP 401 is healthy here because it proves reachability and authorization enforcement.","responses":{"200":{"description":"Healthy public boundary"},"503":{"description":"Gateway, MCP reachability or JWKS degraded"}}}},"/readyz":{"get":{"operationId":"devsOneCallReadiness","summary":"Authenticated readiness check proving supreme_reading exists in the live Motor MCP catalog.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"responses":{"200":{"description":"Authenticated MCP catalog and JWKS ready"},"401":{"description":"AUTH_REQUIRED"},"503":{"description":"Authenticated MCP catalog or JWKS degraded"}}}},"/v1/consult":{"post":{"operationId":"devsConsult","summary":"Execute a DEVS SUPREME reading — personal, signed portal sequence, residence, portal, forecast, pair, brand or event.","description":"Explicit event.reading_mode=supreme_sequence routes to the canonical signed sequence, including consented OAuth memory context. Otherwise no target means personal supreme_reading. Specialized target.type routes to the matching Motor capability. DEVS SUPREME depth is preserved across domains. Birth place, current location and destination are never silently substituted for each other. Cryptographic proof is required where the upstream operation provides an evidence envelope; operations without one report that limitation rather than fabricating verification.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","maxLength":2000},"locale":{"type":"string","enum":["pt-BR","ja","en","es"],"default":"pt-BR"},"question":{"type":"string","maxLength":1000},"allow_geocoding":{"type":"boolean","default":true,"description":"If false, the Gateway never sends a place query to the configured geocoder and requires coordinates."},"birth":{"type":"object","additionalProperties":false,"required":["time_precision_minutes","source_quality"],"properties":{"instant_utc":{"type":"string","format":"date-time"},"date_local":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"time_local":{"type":"string","pattern":"^\\d{2}:\\d{2}(?::\\d{2})?$"},"tzid":{"type":"string"},"place_name":{"type":"string","maxLength":200},"country_code":{"type":"string","minLength":2,"maxLength":2},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"time_precision_minutes":{"type":"integer","minimum":0,"maximum":1440,"description":"Declared uncertainty of the birth clock time in minutes, as stated by the user: 1 for an exact clock time, 60 for 'around N o'clock', 1440 when the clock time is unknown (then send local noon as the instant). Omitted or invalid = 1440 (uncertainty not declared, never assumed exact)."},"gender":{"type":"string","enum":["male","female"]},"blood_type":{"type":"string","enum":["A","B","O","AB"]},"source_quality":{"type":"string","maxLength":60,"description":"user_confirmed = the user stated/confirmed these values in this conversation (a statement, not a documentary check); host_memory = stored profile; conversation_summary = inferred from earlier conversation; approx = estimated. Omitted or unknown = approx."}}},"target":{"type":"object","additionalProperties":false,"description":"Use only for a specialized reading: residence, portal/power-spot, place forecast, pair, name/brand, or company/event. Omit for a personal DEVS SUPREME reading.","properties":{"type":{"type":"string","enum":["residence","portal","forecast","pair","brand","event"],"description":"Specialized operation. forecast means place/timing forecast only; it is not a commercial revenue/sales/business-outcome prediction."},"candidates":{"type":"array","maxItems":8,"description":"residence/forecast: 1-8 named places. brand: name candidates when the target type is brand.","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","maxLength":96},"label":{"type":"string","maxLength":64},"place_name":{"type":"string","maxLength":200},"country_code":{"type":"string","minLength":2,"maxLength":2},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"surname_kanji":{"type":"string","maxLength":20},"given_kanji":{"type":"string","maxLength":20},"reading_kana":{"type":"string","maxLength":40},"latin":{"type":"string","maxLength":60}}}},"place_name":{"type":"string","maxLength":200,"description":"portal: the single destination being evaluated, unless coordinates are supplied directly."},"country_code":{"type":"string","minLength":2,"maxLength":2},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"instant_utc":{"type":"string","format":"date-time","description":"portal: moment being evaluated; omitted means now."},"current_location":{"type":"object","additionalProperties":false,"description":"residence/portal/forecast: the person's confirmed CURRENT location (geodesic origin). Required for these place operations. Birth place is never substituted for current location.","properties":{"place_name":{"type":"string","maxLength":200},"country_code":{"type":"string","minLength":2,"maxLength":2},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180}}},"start_date":{"type":"string","format":"date-time","description":"forecast: place/timing window start; omitted means now."},"end_date":{"type":"string","format":"date-time","description":"forecast: place/timing window end; omitted means start + 90 days."},"objective":{"type":"string","maxLength":200,"description":"portal/forecast: purpose of the place/timing reading."},"second_birth":{"type":"object","additionalProperties":false,"description":"pair: second person's birth data. The caller is responsible for providing data they are permitted to use. The API has no extra conversational re-consent field or confirmation ritual.","properties":{"instant_utc":{"type":"string","format":"date-time"},"date_local":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"time_local":{"type":"string","pattern":"^\\d{2}:\\d{2}(?::\\d{2})?$"},"tzid":{"type":"string"},"place_name":{"type":"string","maxLength":200},"country_code":{"type":"string","minLength":2,"maxLength":2},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"time_precision_minutes":{"type":"integer","minimum":0,"maximum":1440,"description":"Declared uncertainty of the birth clock time in minutes, as stated by the user: 1 for an exact clock time, 60 for 'around N o'clock', 1440 when the clock time is unknown (then send local noon as the instant). Omitted or invalid = 1440 (uncertainty not declared, never assumed exact)."},"gender":{"type":"string","enum":["male","female"]},"blood_type":{"type":"string","enum":["A","B","O","AB"]},"source_quality":{"type":"string","maxLength":60,"description":"user_confirmed = the user stated/confirmed these values in this conversation (a statement, not a documentary check); host_memory = stored profile; conversation_summary = inferred from earlier conversation; approx = estimated. Omitted or unknown = approx."}}},"brand":{"type":"object","additionalProperties":false,"description":"brand: a single name/brand candidate. Use target.candidates for several candidates.","properties":{"label":{"type":"string","maxLength":64},"surname_kanji":{"type":"string","maxLength":20},"given_kanji":{"type":"string","maxLength":20},"reading_kana":{"type":"string","maxLength":40},"latin":{"type":"string","maxLength":60}}},"event":{"type":"object","additionalProperties":false,"description":"event: a company/event milestone. date-only is lower precision; instant_utc is exact.","properties":{"event_kind":{"type":"string","enum":["COMPANY_CONCEPTION","ARTICLES_SIGNED","CAPITAL_PAID","LEGAL_FORMATION","REGISTRATION_FILED","CORPORATE_NUMBER_PUBLISHED","OPERATIONAL_START","PRODUCT_REVEAL","SALES_OPENED","FIRST_PAID_TRANSACTION","PITCH_OR_FUNDING_EVENT","HEADQUARTERS_MOVED"]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"instant_utc":{"type":"string","format":"date-time"},"tzid":{"type":"string"},"place_name":{"type":"string","maxLength":200},"country_code":{"type":"string","minLength":2,"maxLength":2},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180}}}}},"target_date":{"type":"string","description":"Optional target date/time for a PERSONAL reading only. It activates traditional timing layers such as transits, secondary progressions, solar arc, Firdaria and returns for one specific date. ISO-8601 Z or YYYY-MM-DD. Must remain within 100 years in the past to 100 years in the future and within the Motor domain (1900-01-01..2149-12-31)."},"reading_mode":{"type":"string","enum":["supreme_sequence"],"description":"Explicit sequence mode; equivalent to event.reading_mode. Omit for an ordinary natal reading."},"event":{"type":"object","additionalProperties":true,"description":"Canonical Supreme sequence context. Set reading_mode=supreme_sequence. Supply history_by_person, current_location and candidates or discover_candidates as applicable. Missing context is resolved only from this OAuth user's consented profile, or returned as INPUT_REQUIRED. GEOGRAPHIC, TEMPORAL and MIXED classes are validated by the Motor. Full signed evidence is always requested by the gateway.","properties":{"reading_mode":{"type":"string","enum":["supreme_sequence"]}}},"birth_a":{"type":"object","description":"First birth for an explicit paired sequence; use together with birth_b and omit birth."},"birth_b":{"type":"object","description":"Second birth for an explicit paired sequence; supply only data you are permitted to use."},"excluded_topics":{"type":"array","maxItems":128,"items":{"type":"string","minLength":1,"maxLength":200},"description":"Explicit exclusions are preserved. Symbolic methods still require opt-in in the question, interpreted by the Motor; an empty array alone is not consent."},"do_not_infer":{"type":"array","maxItems":128,"items":{"type":"string","minLength":1,"maxLength":200}}},"description":"birth is required except for brand and event targets. Place readings additionally require target.current_location; birth place is not a fallback for current location."}}}},"responses":{"200":{"description":"DEVS SUPREME result (cryptographically verified where supported by the upstream operation)"},"401":{"description":"AUTH_REQUIRED"},"402":{"description":"PAYMENT_REQUIRED"},"409":{"description":"DATA_CONFLICT"},"422":{"description":"INPUT_REQUIRED"},"429":{"description":"RATE_LIMITED"},"502":{"description":"FAILED_VERIFICATION"},"503":{"description":"UNAVAILABLE"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"},"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-Api-Key"}}}}