{"openapi":"3.1.0","info":{"title":"Solo Route API","version":"0.1.0","description":"A fully local, hand-curated reference of general, practical safety tips for solo travelers, organized by setting type and transport mode rather than by country or culture. Non-alarmist, non-stereotyping.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://soloroute.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/soloroute/docs"},"termsOfService":"https://connectorbay.com/soloroute/terms"},"servers":[{"url":"https://soloroute.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/soloroute/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/safety_tips_by_setting":{"post":{"operationId":"safety_tips_by_setting","summary":"General, practical safety tips for a broad setting type — urban/city, rural/small town, remote/outdoor &","description":"General, practical safety tips for a broad setting type — urban/city, rural/small town, remote/outdoor &\n    wilderness, nightlife, or transit hubs — never a named country or culture. Use for \"solo safety tips for a big\n    city\", \"what should I know hiking alone\", \"safety tips at an airport\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"setting":{"description":"A broad setting type, not a specific country.","examples":["urban","rural","remote outdoor","nightlife","transit hub"],"minLength":1,"title":"Setting","type":"string"}},"required":["setting"],"title":"safety_tips_by_settingArguments","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/accommodation_safety_checklist":{"post":{"operationId":"accommodation_safety_checklist","summary":"A checklist for choosing, checking in to, and staying at accommodation safely — before booking, on arrival,","description":"A checklist for choosing, checking in to, and staying at accommodation safely — before booking, on arrival,\n    and day to day. Use for \"what should I check when booking somewhere to stay\", \"hostel safety checklist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"accommodation_safety_checklistArguments","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/itinerary_sharing_template":{"post":{"operationId":"itinerary_sharing_template","summary":"Why sharing your itinerary is the most commonly recommended solo-travel safety habit, what to share, a","description":"Why sharing your itinerary is the most commonly recommended solo-travel safety habit, what to share, a\n    realistic check-in cadence, and practical tools. Use for \"how do I share my travel plans safely\", \"what should\n    I tell someone back home before I travel alone\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"itinerary_sharing_templateArguments","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/situational_awareness_basics":{"post":{"operationId":"situational_awareness_basics","summary":"Everyday situational-awareness habits and de-escalation tactics that apply broadly, not tied to any","description":"Everyday situational-awareness habits and de-escalation tactics that apply broadly, not tied to any\n    location. Use for \"how do I stay aware of my surroundings while traveling\", \"how do I handle a pushy stranger\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"situational_awareness_basicsArguments","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/transport_safety_tips":{"post":{"operationId":"transport_safety_tips","summary":"Safety tips for a specific transport mode: taxi/rideshare, public transit, daytime walking, walking after","description":"Safety tips for a specific transport mode: taxi/rideshare, public transit, daytime walking, walking after\n    dark, or self-driving. Use for \"is it safe to take a taxi alone\", \"tips for walking alone at night\", \"safety\n    tips for solo road trip driving\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"mode":{"description":"A mode of transport.","examples":["taxi","rideshare","public transit","walking","walking at night","self-driving"],"minLength":1,"title":"Mode","type":"string"}},"required":["mode"],"title":"transport_safety_tipsArguments","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/solo_dining_tips":{"post":{"operationId":"solo_dining_tips","summary":"Practical, normalizing tips for eating alone while traveling. Use for \"tips for eating out alone\", \"is it","description":"Practical, normalizing tips for eating alone while traveling. Use for \"tips for eating out alone\", \"is it\n    weird to dine solo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"solo_dining_tipsArguments","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/emergency_prep_checklist":{"post":{"operationId":"emergency_prep_checklist","summary":"What to prepare before you go, what to carry, and what to do if something goes wrong, for a solo trip. Use","description":"What to prepare before you go, what to carry, and what to do if something goes wrong, for a solo trip. Use\n    for \"how should I prepare for an emergency while traveling alone\", \"what if something goes wrong on a solo trip\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"emergency_prep_checklistArguments","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/digital_safety_tips":{"post":{"operationId":"digital_safety_tips","summary":"Digital-safety habits for solo travelers: location sharing, photo metadata, public wifi, and what to tell","description":"Digital-safety habits for solo travelers: location sharing, photo metadata, public wifi, and what to tell\n    new acquaintances. Use for \"should I post my location while traveling\", \"is it safe to use hotel wifi\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"digital_safety_tipsArguments","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/safety_glossary":{"post":{"operationId":"safety_glossary","summary":"Definitions of common solo-travel-safety terms — situational awareness, target hardening, check-in cadence,","description":"Definitions of common solo-travel-safety terms — situational awareness, target hardening, check-in cadence,\n    de-escalation, trip plan, grey rock. Use for \"what's situational awareness\", \"what's a check-in cadence\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"safety_glossaryArguments","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/build_safety_plan":{"post":{"operationId":"build_safety_plan","summary":"Combines itinerary-sharing, situational awareness, emergency prep and digital safety with tips for the","description":"Combines itinerary-sharing, situational awareness, emergency prep and digital safety with tips for the\n    specific settings and transport modes a trip includes, into one safety plan. Use for \"build me a solo-travel\n    safety plan for a city trip with some nightlife and taxis\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"settings_list":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Setting types this trip includes, e.g. ['urban', 'nightlife'].","title":"Settings List"},"transport_modes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Transport modes this trip includes, e.g. ['taxi', 'walking at night'].","title":"Transport Modes"}},"title":"build_safety_planArguments","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}}}}