{"openapi":"3.1.0","info":{"title":"GeoQuiz API","version":"0.1.0","description":"A world-geography quiz generator computed locally: capitals, flags, physical geography, and geopolitical facts, with genuine bordering/same-region distractor logic, across three difficulty tiers.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://geoquiz.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/geoquiz/docs"},"termsOfService":"https://connectorbay.com/geoquiz/terms"},"servers":[{"url":"https://geoquiz.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/geoquiz/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/generate_quiz":{"post":{"operationId":"generate_quiz","summary":"Generates real multiple-choice geography quiz questions with plausible (bordering/same-region)","description":"Generates real multiple-choice geography quiz questions with plausible (bordering/same-region)\n    distractors, not random wrong answers. Use for \"give me a 5-question geography quiz\", \"quiz me on world\n    capitals, hard difficulty\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"default":"mixed","description":"capital | flag | physical | geopolitical | mixed","title":"Category","type":"string"},"difficulty":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"easy | medium | hard | any","title":"Difficulty"},"count":{"default":5,"maximum":20,"minimum":1,"title":"Count","type":"integer"}},"title":"generate_quizArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/country_facts":{"post":{"operationId":"country_facts","summary":"A country's capital, continent, borders, flag description, languages, currency, and a notable fact,","description":"A country's capital, continent, borders, flag description, languages, currency, and a notable fact,\n    looked up directly. Use for \"what's the capital of Morocco\", \"what's Brazil's currency\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A country name, e.g. 'France' or 'South Africa'.","title":"Name","type":"string"}},"required":["name"],"title":"country_factsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/physical_geography_reference":{"post":{"operationId":"physical_geography_reference","summary":"Lists or looks up mountain ranges, rivers, or deserts with continent, key measurements, and a notable","description":"Lists or looks up mountain ranges, rivers, or deserts with continent, key measurements, and a notable\n    fact. Use for \"which mountain range is Everest in\", \"tell me about the Amazon river\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"kind":{"description":"mountain | river | desert","title":"Kind","type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific feature name, e.g. 'Himalayas'. Omit to list all of that kind.","title":"Name"}},"required":["kind"],"title":"physical_geography_referenceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}