{"openapi":"3.1.0","info":{"title":"discatch API","version":"0.1.0"},"servers":[{"url":"https://api.discatch.com"}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_api_key","scope_missing","validation_failed","invalid_cursor","unsupported_media_type","payload_too_large","unknown_route","resource_not_found","idempotency_key_reused","idempotency_request_in_progress","rate_limited","budget_exceeded","quote_expired","source_unavailable","invalid_query","internal_error"]},"message":{"type":"string"},"next_action":{"type":"string"},"docs_url":{"type":"string"},"request_id":{"type":"string"}},"required":["code","message","next_action","docs_url","request_id"]}},"required":["error"]}},"parameters":{}},"paths":{"/v1/doctor":{"get":{"operationId":"doctor","summary":"Inspect the discatch API and find the next action","tags":["system"],"responses":{"200":{"description":"The API doctor manifest","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"tagline":{"type":"string"},"you_are":{"type":"object","properties":{"authenticated":{"type":"boolean"},"plan":{"type":"null"},"allowance":{"type":"null"}},"required":["authenticated","plan","allowance"]},"start_here":{"type":"object","properties":{"openapi":{"type":"string"},"mcp":{"type":"object","properties":{"url":{"type":"null"},"auth":{"type":"string"},"status":{"type":"string"}},"required":["url","auth","status"]},"cli":{"type":"string"},"llms_txt":{"type":"string"},"playbooks":{"type":"string"}},"required":["openapi","mcp","cli","llms_txt","playbooks"]},"get_a_key":{"type":"object","properties":{"trial":{"type":"string"},"claim":{"type":"string"},"oauth":{"type":"string"}},"required":["trial","claim","oauth"]},"prices_today":{"type":"object","properties":{"search_from_usd":{"type":"number"},"capture_from_usd":{"type":"number"},"result_from_usd":{"type":"number"},"alert_from_usd":{"type":"number"},"classify_from_usd":{"type":"number"}},"required":["search_from_usd","capture_from_usd","result_from_usd","alert_from_usd","classify_from_usd"]},"sources_now":{"type":"array","items":{"type":"string"}},"try":{"type":"object","properties":{"quote":{"type":"string"},"search":{"type":"string"}},"required":["quote","search"]},"status":{"type":"null"},"next_action":{"type":"string"}},"required":["name","tagline","you_are","start_here","get_a_key","prices_today","sources_now","try","status","next_action"]}}}},"500":{"description":"An internal error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/health":{"get":{"operationId":"health","summary":"Check API and database health","tags":["system"],"responses":{"200":{"description":"Service health","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"version":{"type":"string"},"database":{"type":"string","enum":["ok","unavailable"]}},"required":["ok","version","database"]}}}}}}}},"webhooks":{}}