{
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    },
    "schemas": {
      "Manual576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "examples": [
              "Berlin"
            ],
            "description": "Text to geocode (forward geocoding). Required when reverse=false; must be omitted if reverse=true."
          },
          "key": {
            "type": "string",
            "examples": [
              "your_api_key"
            ],
            "description": "Your GraphHopper API key. If not provided, it will be automatically injected from the connection."
          },
          "bbox": {
            "type": "string",
            "description": "Bounding box 'minLon,minLat,maxLon,maxLat'. Requires reverse=false. Only provider=default."
          },
          "zoom": {
            "type": "number",
            "description": "Map-like zoom level controlling focus radius. Only provider=default."
          },
          "debug": {
            "type": "boolean",
            "default": false,
            "description": "Pretty-print the output. Default false."
          },
          "limit": {
            "type": "integer",
            "default": 5,
            "minimum": 1,
            "examples": [
              1,
              10
            ],
            "description": "Maximum number of results. Default 5."
          },
          "point": {
            "type": "string",
            "examples": [
              "52.529407,13.397634"
            ],
            "description": "Coordinate 'lat,lon'. Required when reverse=true; for forward geocoding, acts as location bias."
          },
          "bounds": {
            "type": "string",
            "description": "Bounds 'minLon,minLat,maxLon,maxLat'. For nominatim or opencagedata."
          },
          "locale": {
            "enum": [
              "en",
              "de",
              "fr"
            ],
            "type": "string",
            "default": "en",
            "examples": [
              "en"
            ],
            "description": "Locale of results. Default 'en'."
          },
          "radius": {
            "type": "number",
            "description": "Search radius. Default: km for provider=default when reverse=true; meters for provider=gisgraphy."
          },
          "osm_tag": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "OSM tags to filter/include or exclude, e.g., 'tourism:museum' or '!tourism:museum'. Only provider=default."
          },
          "reverse": {
            "type": "boolean",
            "default": false,
            "description": "Set to true for reverse geocoding. Default false."
          },
          "provider": {
            "enum": [
              "default",
              "nominatim",
              "gisgraphy",
              "opencagedata"
            ],
            "type": "string",
            "description": "Alternative geocoding provider."
          },
          "countrycode": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country filter. For nominatim, gisgraphy, or opencagedata."
          },
          "autocomplete": {
            "type": "boolean",
            "description": "Enable autocomplete (only for provider=gisgraphy and reverse=false)."
          },
          "location_bias_scale": {
            "type": "number",
            "maximum": 1,
            "minimum": 0,
            "description": "Location bias scale between 0.0 and 1.0. Only provider=default."
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__public_data": {
        "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__594915a1a04b386a"
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__594915a1a04b386a": {
        "type": "object",
        "required": [
          "hits"
        ],
        "properties": {
          "hits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__0962e457ebfad5ad"
            }
          },
          "took": {
            "type": "integer"
          },
          "locale": {
            "type": "string"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__0962e457ebfad5ad": {
        "type": "object",
        "required": [
          "point"
        ],
        "properties": {
          "city": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "point": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__c2cb23a06bf6bdac"
          },
          "state": {
            "type": "string"
          },
          "extent": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "osm_id": {
            "type": "integer"
          },
          "street": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "osm_key": {
            "type": "string"
          },
          "osm_type": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "osm_value": {
            "type": "string"
          },
          "countrycode": {
            "type": "string"
          },
          "housenumber": {
            "type": "string"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__c2cb23a06bf6bdac": {
        "type": "object",
        "required": [
          "lat",
          "lng"
        ],
        "properties": {
          "lat": {
            "type": "number"
          },
          "lng": {
            "type": "number"
          }
        }
      },
      "Manual576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX": {
        "type": "object",
        "properties": {
          "point": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "examples": [
              [
                "52.5200,13.4050",
                "48.1351,11.5820",
                "53.5511,9.9937"
              ]
            ],
            "description": "Specify multiple points in 'latitude,longitude' format for which the matrix should be calculated. The starts are identical to the destinations. If there are N points, then NxN entries will be calculated. Specify at least three points. Cannot be used together with from_point or to_point."
          },
          "profile": {
            "type": "string",
            "default": "car",
            "examples": [
              "car",
              "bike",
              "foot"
            ],
            "description": "The routing profile. It determines the network, speed and other physical attributes used when computing the route. Valid values include 'car', 'bike', 'foot', 'hike', 'mtb', 'racingbike', 'scooter', 'truck', and 'small_truck'."
          },
          "curbside": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Optional parameter. Specifies on which side a point should be relative to the driver when she leaves/arrives at a start/target/via point. Must be 'any', 'left', or 'right'. Specify for either none or all points."
          },
          "to_point": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "examples": [
              [
                "48.1351,11.5820",
                "53.5511,9.9937"
              ]
            ],
            "description": "The destination points for the routes in 'latitude,longitude' format. Use together with from_point for asymmetric matrices."
          },
          "fail_fast": {
            "type": "boolean",
            "default": true,
            "description": "Specifies whether or not the matrix calculation should return with an error as soon as possible in case some points cannot be found or some points are not connected. If set to false, the matrix will be calculated for all valid points and contain null values for entries that could not be calculated."
          },
          "out_array": {
            "type": "array",
            "items": {
              "enum": [
                "weights",
                "times",
                "distances"
              ],
              "type": "string"
            },
            "examples": [
              [
                "times",
                "distances"
              ]
            ],
            "description": "Specifies which arrays should be included in the response. Specify one or more of 'weights', 'times', 'distances'. The units of distances are meters, times are seconds, and weights are arbitrary."
          },
          "from_point": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "examples": [
              [
                "52.5200,13.4050"
              ]
            ],
            "description": "The origin points for the routes in 'latitude,longitude' format. Use together with to_point for asymmetric matrices."
          },
          "point_hint": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional parameter. Specifies a hint for each point parameter to prefer a certain street for the closest location lookup."
          },
          "to_curbside": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Curbside setting for the to_point parameter. Must be 'any', 'left', or 'right'."
          },
          "from_curbside": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Curbside setting for the from_point parameter. Must be 'any', 'left', or 'right'."
          },
          "to_point_hint": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "For the to_point parameter. Specifies a hint to prefer a certain street for the closest location lookup."
          },
          "from_point_hint": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "For the from_point parameter. Specifies a hint to prefer a certain street for the closest location lookup."
          },
          "snap_prevention": {
            "type": "array",
            "items": {
              "enum": [
                "motorway",
                "trunk",
                "ferry",
                "tunnel",
                "bridge",
                "ford"
              ],
              "type": "string"
            },
            "description": "Optional parameter to prevent snapping to specific types of roads. Supported values: 'motorway', 'trunk', 'ferry', 'tunnel', 'bridge', 'ford'."
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__public_data": {
        "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__fafd51a78430c324"
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__fafd51a78430c324": {
        "type": "object",
        "required": [
          "info"
        ],
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__3dcbe9a1c56f2a1c"
          },
          "hints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__3999ec953f73543f"
            }
          },
          "times": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          },
          "weights": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          },
          "distances": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__3dcbe9a1c56f2a1c": {
        "type": "object",
        "required": [
          "copyrights"
        ],
        "properties": {
          "took": {
            "type": "number"
          },
          "copyrights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__3999ec953f73543f": {
        "type": "object",
        "required": [
          "message"
        ],
        "properties": {
          "details": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "point_pairs": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          "invalid_to_points": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "invalid_from_points": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        }
      },
      "Manual576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE": {
        "type": "object",
        "required": [
          "point"
        ],
        "properties": {
          "debug": {
            "type": "boolean",
            "default": false,
            "description": "Enable formatted output for debugging."
          },
          "point": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "examples": [
              [
                "51.131,12.414",
                "48.224,3.867"
              ]
            ],
            "minItems": 2,
            "description": "Route waypoints as 'latitude,longitude' strings. Specify at least origin and destination. Via points are possible. Example: ['51.131,12.414', '48.224,3.867']"
          },
          "locale": {
            "type": "string",
            "default": "en",
            "examples": [
              "en",
              "de",
              "fr"
            ],
            "description": "Locale for turn instructions. Examples: 'en', 'de', 'fr', 'pt_PT'"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Path detail types to include. Available: 'street_name', 'street_ref', 'street_destination', 'leg_time', 'leg_distance', 'roundabout', 'country', 'time', 'distance', 'max_speed', 'max_weight', 'max_width', 'toll', 'road_class', 'road_class_link', 'road_access', 'road_environment', 'hazmat', 'hazmat_tunnel', 'hazmat_water', 'lanes', 'surface', 'smoothness', 'hike_rating', 'mtb_rating', 'foot_network', 'bike_network'"
          },
          "heading": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Preferred heading direction for each point in degrees (0-360, north-based clockwise). Specify one for start or one per point. Requires ch.disable=true."
          },
          "profile": {
            "type": "string",
            "default": "car",
            "examples": [
              "car",
              "bike",
              "foot"
            ],
            "description": "The routing profile determining network, speed, and physical attributes. Common values: 'car', 'bike', 'foot', 'motorcycle', 'mtb', 'racingbike', 'hike'. Default: 'car'"
          },
          "curbside": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Side of the road for leaving/arriving at each point. Specify for all points or none. Only for motor vehicles."
          },
          "optimize": {
            "type": "string",
            "default": "false",
            "examples": [
              "false",
              "true"
            ],
            "description": "If 'true', reorders points to minimize total travel time. Applies route optimization limits and increases the price."
          },
          "algorithm": {
            "enum": [
              "round_trip",
              "alternative_route"
            ],
            "type": "string",
            "description": "Special routing algorithm. 'round_trip': returns to start with randomness. 'alternative_route': provides multiple route options."
          },
          "elevation": {
            "type": "boolean",
            "default": false,
            "description": "Include altitude as third coordinate in response. Changes format of points and snapped_waypoints fields."
          },
          "ch.disable": {
            "type": "boolean",
            "default": false,
            "description": "Enable flexible mode to use custom_model or advanced options below. Set to true for heading, algorithm, etc."
          },
          "point_hint": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional road name hints for snapping each point. Specify none or the same number as points."
          },
          "calc_points": {
            "type": "boolean",
            "default": true,
            "description": "Whether to calculate route geometry points."
          },
          "instructions": {
            "type": "boolean",
            "default": true,
            "description": "Whether to calculate and return turn-by-turn instructions."
          },
          "pass_through": {
            "type": "boolean",
            "default": false,
            "description": "Avoid u-turns at via-points with regard to heading_penalty. Requires ch.disable=true."
          },
          "points_encoded": {
            "type": "boolean",
            "default": true,
            "description": "Use polyline encoding for geometry (true) or simple coordinate pairs (false)."
          },
          "heading_penalty": {
            "type": "integer",
            "default": 300,
            "minimum": 0,
            "description": "Time penalty in seconds for not obeying specified heading. Requires ch.disable=true."
          },
          "round_trip.seed": {
            "type": "integer",
            "description": "Random seed for deterministic round trip results. Requires algorithm='round_trip'."
          },
          "snap_prevention": {
            "type": "array",
            "items": {
              "enum": [
                "motorway",
                "trunk",
                "ferry",
                "tunnel",
                "bridge",
                "ford"
              ],
              "type": "string"
            },
            "description": "Prevent snapping to specific road types. Values: 'motorway', 'trunk', 'ferry', 'tunnel', 'bridge', 'ford'"
          },
          "round_trip.distance": {
            "type": "integer",
            "default": 10000,
            "minimum": 0,
            "description": "Approximate round trip length in meters. Requires algorithm='round_trip'."
          },
          "alternative_route.max_paths": {
            "type": "integer",
            "default": 2,
            "minimum": 1,
            "description": "Maximum number of alternative paths. Requires algorithm='alternative_route'."
          },
          "alternative_route.max_share_factor": {
            "type": "number",
            "default": 0.6,
            "maximum": 1,
            "minimum": 0,
            "description": "Maximum similarity factor between alternative and optimal route. Requires algorithm='alternative_route'."
          },
          "alternative_route.max_weight_factor": {
            "type": "number",
            "default": 1.4,
            "minimum": 0,
            "description": "Maximum factor by which alternatives can be longer than optimal route. Requires algorithm='alternative_route'."
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__public_data": {
        "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__e91e566ce74d501a"
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__e91e566ce74d501a": {
        "type": "object",
        "required": [
          "paths",
          "info"
        ],
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__dd58ad11f3a72566"
          },
          "hints": {
            "type": "object",
            "additionalProperties": true
          },
          "paths": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__96c1715d49b67585"
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__dd58ad11f3a72566": {
        "type": "object",
        "required": [
          "copyrights",
          "took"
        ],
        "properties": {
          "took": {
            "type": "number"
          },
          "copyrights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "road_data_timestamp": {
            "type": "string"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__96c1715d49b67585": {
        "type": "object",
        "required": [
          "distance",
          "time"
        ],
        "properties": {
          "bbox": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "legs": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "time": {
            "type": "integer"
          },
          "ascend": {
            "type": "number"
          },
          "points": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                }
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ]
          },
          "weight": {
            "type": "number"
          },
          "descend": {
            "type": "number"
          },
          "details": {
            "type": "object",
            "additionalProperties": true
          },
          "distance": {
            "type": "number"
          },
          "transfers": {
            "type": "integer"
          },
          "instructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__b8e08fbc09499288"
            }
          },
          "points_order": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "points_encoded": {
            "type": "boolean"
          },
          "snapped_waypoints": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                }
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ]
          },
          "points_encoded_multiplier": {
            "type": "number"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__b8e08fbc09499288": {
        "type": "object",
        "required": [
          "text",
          "distance",
          "time",
          "interval",
          "sign"
        ],
        "properties": {
          "sign": {
            "type": "integer"
          },
          "text": {
            "type": "string"
          },
          "time": {
            "type": "integer"
          },
          "heading": {
            "type": "number"
          },
          "distance": {
            "type": "number"
          },
          "interval": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "street_ref": {
            "type": "string"
          },
          "turn_angle": {
            "type": "number"
          },
          "exit_number": {
            "type": "integer"
          },
          "street_name": {
            "type": "string"
          },
          "last_heading": {
            "type": "number"
          },
          "street_destination": {
            "type": "string"
          }
        }
      },
      "Manual576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET": {
        "type": "object",
        "required": [
          "point",
          "profile"
        ],
        "properties": {
          "point": {
            "type": "string",
            "description": "Start location as 'latitude,longitude', e.g., '52.529407,13.397634'. Must be a valid coordinate string."
          },
          "buckets": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of isochrone rings/buckets to return. Divides time_limit/distance_limit into intervals to create nested isochrones. Default is 1."
          },
          "profile": {
            "type": "string",
            "description": "Routing profile supported by the target Directions API, for example 'car', 'bike', or 'foot'. Public transit requires separate GTFS/departure-time inputs that this action does not expose. Required."
          },
          "time_limit": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum travel time in seconds from the start point. Either time_limit or distance_limit must be provided. Default is 600 seconds if neither is specified by the API."
          },
          "reverse_flow": {
            "type": "boolean",
            "description": "Direction of reachability calculation. False (default): areas reachable FROM the point. True: areas FROM which the point can be reached."
          },
          "distance_limit": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum travel distance in meters from the start point. Either time_limit or distance_limit must be provided."
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__public_data": {
        "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__ed3167a375b1f467"
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__ed3167a375b1f467": {
        "type": "object",
        "required": [
          "polygons"
        ],
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__b5d766182203788b"
          },
          "polygons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__1fce21ed33cdecaf"
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__b5d766182203788b": {
        "type": "object",
        "properties": {
          "took": {
            "type": "number"
          },
          "copyrights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "road_data_timestamp": {
            "type": "string"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__1fce21ed33cdecaf": {
        "type": "object",
        "required": [
          "type",
          "properties",
          "geometry"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "Feature"
          },
          "geometry": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__fc6dbccfce868a66"
          },
          "properties": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__a809df3eb9873e39"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__fc6dbccfce868a66": {
        "type": "object",
        "required": [
          "type",
          "coordinates"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "Polygon"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__a809df3eb9873e39": {
        "type": "object",
        "required": [
          "bucket"
        ],
        "properties": {
          "bucket": {
            "type": "integer"
          }
        }
      },
      "Manual576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST": {
        "type": "object",
        "required": [
          "profile",
          "out_arrays"
        ],
        "properties": {
          "points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "description": "Coordinates for symmetric matrix as [longitude, latitude]."
          },
          "profile": {
            "type": "string",
            "description": "Routing profile ID (e.g. 'car', 'bike', 'foot')."
          },
          "curbsides": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Curbside per point ('any','left','right') for symmetrical."
          },
          "fail_fast": {
            "type": "boolean",
            "default": true,
            "description": "If false, return null for unreachable entries and include hints."
          },
          "to_points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "description": "Destination coordinates as [longitude, latitude]. Provide with from_points."
          },
          "out_arrays": {
            "type": "array",
            "items": {
              "enum": [
                "weights",
                "times",
                "distances"
              ],
              "type": "string"
            },
            "examples": [
              [
                "times",
                "distances"
              ]
            ],
            "description": "Which matrices to include."
          },
          "from_points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "description": "Origin coordinates as [longitude, latitude]. Provide with to_points."
          },
          "point_hints": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Hint per point for snapping preference (symmetrical)."
          },
          "to_curbsides": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Curbside per destination ('any','left','right')."
          },
          "from_curbsides": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Curbside per origin ('any','left','right')."
          },
          "to_point_hints": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Hint per destination for snapping preference."
          },
          "from_point_hints": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Hint per origin for snapping preference."
          },
          "snap_preventions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Feature types to avoid for snapping (e.g. 'toll', 'ferry')."
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__public_data": {
        "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__4b405fc64759bd03"
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__4b405fc64759bd03": {
        "type": "object",
        "required": [
          "info"
        ],
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__3dcbe9a1c56f2a1c"
          },
          "hints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__3999ec953f73543f"
            }
          },
          "times": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          },
          "weights": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          },
          "distances": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__3dcbe9a1c56f2a1c": {
        "type": "object",
        "required": [
          "copyrights",
          "took"
        ],
        "properties": {
          "took": {
            "type": "number"
          },
          "copyrights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__3999ec953f73543f": {
        "type": "object",
        "required": [
          "message"
        ],
        "properties": {
          "details": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "point_pairs": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          "invalid_to_points": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "invalid_from_points": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          }
        }
      },
      "Manual576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST": {
        "type": "object",
        "required": [
          "profile",
          "points"
        ],
        "properties": {
          "debug": {
            "type": "boolean",
            "default": false,
            "description": "Enable formatted debug output"
          },
          "locale": {
            "type": "string",
            "default": "en",
            "description": "Locale for turn instructions"
          },
          "points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "description": "Ordered list of [lon, lat] pairs for route waypoints; at least two points required"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of path detail keys (e.g., 'street_name','surface','max_speed')"
          },
          "profile": {
            "type": "string",
            "description": "Vehicle profile (e.g., 'car', 'bike', 'foot')"
          },
          "headings": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Preferred headings in degrees; requires ch.disable=true"
          },
          "optimize": {
            "type": "boolean",
            "default": false,
            "description": "Reorder points to minimize travel time"
          },
          "algorithm": {
            "enum": [
              "round_trip",
              "alternative_route"
            ],
            "type": "string",
            "description": "Special routing mode; requires ch.disable=true"
          },
          "curbsides": {
            "type": "array",
            "items": {
              "enum": [
                "any",
                "left",
                "right"
              ],
              "type": "string"
            },
            "description": "Curbside to approach/leave each point"
          },
          "elevation": {
            "type": "boolean",
            "default": false,
            "description": "Include altitude in geometry"
          },
          "ch.disable": {
            "type": "boolean",
            "default": false,
            "description": "Enable flexible mode for custom_model and advanced options"
          },
          "round_trip": {
            "type": "object",
            "properties": {
              "seed": {
                "type": "integer",
                "description": "Random seed for deterministic round trip; requires algorithm='round_trip'"
              },
              "distance": {
                "type": "integer",
                "default": 10000,
                "minimum": 0,
                "description": "Approximate round-trip length in meters; requires algorithm='round_trip'"
              }
            },
            "description": "Parameters for round trip; requires algorithm='round_trip'",
            "additionalProperties": false
          },
          "calc_points": {
            "type": "boolean",
            "default": true,
            "description": "Include full route geometry"
          },
          "point_hints": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional street hints; one per point"
          },
          "custom_model": {
            "type": "object",
            "properties": {
              "areas": {
                "type": "object",
                "description": "GeoJSON FeatureCollection for custom areas; requires ch.disable=true",
                "additionalProperties": true
              },
              "speed": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                },
                "description": "Customize speeds per model rule; requires ch.disable=true"
              },
              "priority": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                },
                "description": "Customize priorities per model rule; requires ch.disable=true"
              },
              "distance_influence": {
                "type": "number",
                "description": "Influence of distance on custom cost; requires ch.disable=true"
              }
            },
            "description": "Custom routing rules; requires ch.disable=true",
            "additionalProperties": false
          },
          "instructions": {
            "type": "boolean",
            "default": true,
            "description": "Include turn-by-turn instructions"
          },
          "pass_through": {
            "type": "boolean",
            "default": false,
            "description": "Avoid u-turns at via points; requires ch.disable=true"
          },
          "points_encoded": {
            "type": "boolean",
            "default": true,
            "description": "Use polyline encoding for geometry"
          },
          "heading_penalty": {
            "type": "integer",
            "default": 300,
            "minimum": 0,
            "description": "Penalty (s) for deviating from heading; requires ch.disable=true"
          },
          "snap_preventions": {
            "type": "array",
            "items": {
              "enum": [
                "motorway",
                "trunk",
                "ferry",
                "tunnel",
                "bridge",
                "ford"
              ],
              "type": "string"
            },
            "description": "Road types to avoid during snapping"
          },
          "alternative_route": {
            "type": "object",
            "properties": {
              "max_paths": {
                "type": "integer",
                "default": 2,
                "minimum": 1,
                "description": "Max number of alternatives; requires algorithm='alternative_route'"
              },
              "max_share_factor": {
                "type": "number",
                "default": 0.6,
                "maximum": 1,
                "minimum": 0,
                "description": "Max share factor vs optimal; requires algorithm='alternative_route'"
              },
              "max_weight_factor": {
                "type": "number",
                "default": 1.4,
                "minimum": 0,
                "description": "Max weight factor vs optimal; requires algorithm='alternative_route'"
              }
            },
            "description": "Parameters for alternative routes; requires algorithm='alternative_route'",
            "additionalProperties": false
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__public_data": {
        "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__81234948c4ac1329"
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__81234948c4ac1329": {
        "type": "object",
        "required": [
          "paths",
          "info"
        ],
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__dd58ad11f3a72566"
          },
          "hints": {
            "type": "object",
            "additionalProperties": true
          },
          "paths": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__96c1715d49b67585"
            }
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__dd58ad11f3a72566": {
        "type": "object",
        "required": [
          "copyrights",
          "took"
        ],
        "properties": {
          "took": {
            "type": "number"
          },
          "copyrights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "road_data_timestamp": {
            "type": "string"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__96c1715d49b67585": {
        "type": "object",
        "required": [
          "distance",
          "time"
        ],
        "properties": {
          "bbox": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "legs": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "time": {
            "type": "integer"
          },
          "ascend": {
            "type": "number"
          },
          "points": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                }
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ]
          },
          "weight": {
            "type": "number"
          },
          "descend": {
            "type": "number"
          },
          "details": {
            "type": "object",
            "additionalProperties": true
          },
          "distance": {
            "type": "number"
          },
          "transfers": {
            "type": "integer"
          },
          "instructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__b8e08fbc09499288"
            }
          },
          "points_order": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "points_encoded": {
            "type": "boolean"
          },
          "snapped_waypoints": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                }
              },
              {
                "type": "object",
                "additionalProperties": true
              }
            ]
          },
          "points_encoded_multiplier": {
            "type": "number"
          }
        }
      },
      "Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__b8e08fbc09499288": {
        "type": "object",
        "required": [
          "text",
          "street_name",
          "distance",
          "time",
          "interval",
          "sign"
        ],
        "properties": {
          "sign": {
            "type": "integer"
          },
          "text": {
            "type": "string"
          },
          "time": {
            "type": "integer"
          },
          "heading": {
            "type": "number"
          },
          "distance": {
            "type": "number"
          },
          "interval": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "street_ref": {
            "type": "string"
          },
          "turn_angle": {
            "type": "number"
          },
          "exit_number": {
            "type": "integer"
          },
          "street_name": {
            "type": "string"
          },
          "last_heading": {
            "type": "number"
          },
          "street_destination": {
            "type": "string"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "links": {},
    "callbacks": {},
    "pathItems": {}
  },
  "info": {
    "description": "",
    "title": "GraphHopper",
    "version": "1",
    "x-aisa-capabilities": {
      "idempotency": "Idempotency-Key",
      "max_price": "X-AISA-Max-Price-USD",
      "quote": {
        "header": "X-AISA-Cost-Mode",
        "value": "quote"
      }
    },
    "x-aisa-configured-paths": [
      "/apis/v1/graphhopper/geocode-get",
      "/apis/v1/graphhopper/get-matrix",
      "/apis/v1/graphhopper/get-route",
      "/apis/v1/graphhopper/isochrone-get",
      "/apis/v1/graphhopper/matrix-post",
      "/apis/v1/graphhopper/route-post"
    ],
    "x-aisa-document": {
      "facts_hash": "6a72f8e2fa7fb1c29379e3b24b3a247c8428a3b6ed621b3f84f84e75cb0de2bc",
      "generator_version": "3",
      "protocol_version": "1",
      "schema_version": "1",
      "composer_version": "28",
      "response_pending": [],
      "document_hash": "sha256:d9dd70cdbeb543115e630c23fe89116520ef370e8db5c5a9cc923630f4fca8ab"
    },
    "x-aisa-plans": {
      "builder": 1.0,
      "display_plan": "payg",
      "payg": 1.0,
      "similarweb_payg": 1.0,
      "team": 1.0,
      "version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb"
    },
    "x-aisa-provider": "graphhopper",
    "x-aisa-catalogs": {
      "graphhopper": {
        "title": "GraphHopper",
        "description": "",
        "x-aisa-document": {
          "facts_hash": "6a72f8e2fa7fb1c29379e3b24b3a247c8428a3b6ed621b3f84f84e75cb0de2bc",
          "generator_version": "3",
          "protocol_version": "1",
          "schema_version": "1"
        },
        "x-aisa-plans": {
          "builder": 1.0,
          "display_plan": "payg",
          "payg": 1.0,
          "similarweb_payg": 1.0,
          "team": 1.0,
          "version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb"
        },
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          }
        }
      }
    }
  },
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "openapi": "3.1.0",
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "paths": {
    "/apis/v1/graphhopper/geocode-get": {
      "post": {
        "description": "<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.00042 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "graphhopper.geocode-get",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "q": {
                    "type": "string",
                    "description": "Text to geocode (forward geocoding). Required when reverse=false; must be omitted if reverse=true.",
                    "examples": [
                      "Berlin"
                    ]
                  },
                  "key": {
                    "type": "string",
                    "examples": [
                      "your_api_key"
                    ],
                    "description": "Your GraphHopper API key. If not provided, it will be automatically injected from the connection."
                  },
                  "bbox": {
                    "type": "string",
                    "description": "Bounding box 'minLon,minLat,maxLon,maxLat'. Requires reverse=false. Only provider=default."
                  },
                  "zoom": {
                    "type": "number",
                    "description": "Map-like zoom level controlling focus radius. Only provider=default."
                  },
                  "debug": {
                    "type": "boolean",
                    "default": false,
                    "description": "Pretty-print the output. Default false."
                  },
                  "limit": {
                    "type": "integer",
                    "default": 5,
                    "minimum": 1,
                    "examples": [
                      1,
                      10
                    ],
                    "description": "Maximum number of results. Default 5."
                  },
                  "point": {
                    "type": "string",
                    "examples": [
                      "52.529407,13.397634"
                    ],
                    "description": "Coordinate 'lat,lon'. Required when reverse=true; for forward geocoding, acts as location bias."
                  },
                  "bounds": {
                    "type": "string",
                    "description": "Bounds 'minLon,minLat,maxLon,maxLat'. For nominatim or opencagedata."
                  },
                  "locale": {
                    "enum": [
                      "en",
                      "de",
                      "fr"
                    ],
                    "type": "string",
                    "default": "en",
                    "examples": [
                      "en"
                    ],
                    "description": "Locale of results. Default 'en'."
                  },
                  "radius": {
                    "type": "number",
                    "description": "Search radius. Default: km for provider=default when reverse=true; meters for provider=gisgraphy."
                  },
                  "osm_tag": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "OSM tags to filter/include or exclude, e.g., 'tourism:museum' or '!tourism:museum'. Only provider=default."
                  },
                  "reverse": {
                    "enum": [
                      false
                    ],
                    "type": "boolean",
                    "description": "Set to true for reverse geocoding. Default false."
                  },
                  "provider": {
                    "enum": [
                      "default"
                    ],
                    "type": "string",
                    "description": "Alternative geocoding provider."
                  },
                  "countrycode": {
                    "type": "string",
                    "description": "ISO 3166-1 alpha-2 country filter. For nominatim, gisgraphy, or opencagedata."
                  },
                  "autocomplete": {
                    "type": "boolean",
                    "description": "Enable autocomplete (only for provider=gisgraphy and reverse=false)."
                  },
                  "location_bias_scale": {
                    "type": "number",
                    "maximum": 1,
                    "minimum": 0,
                    "description": "Location bias scale between 0.0 and 1.0. Only provider=default."
                  }
                },
                "required": [
                  "provider",
                  "q",
                  "reverse"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tool result data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GEOCODE_GET__output__public_data"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "GraphHopper Geocoding",
        "tags": [
          "GraphHopper"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "data",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.00042,
          "estimate_source": "profile_seed",
          "evidence_source": "response_body",
          "maximum_units": 10000000,
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "541c4271fcd0",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "83bd11a66b0f"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "graphhopper",
        "x-aisa-runtime-operation": {
          "operation_id": "graphhopper.geocode-get",
          "method": "POST",
          "path": "/apis/v1/graphhopper/geocode-get"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://connect.composio.dev/mcp",
          "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
          "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
          "converter": "scripts/prepare_composio_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
          "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
          "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
          "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
          "source_pages": [
            {
              "url": "https://connect.composio.dev/mcp",
              "scope": "Captured input schemas only; no current-source review asserted"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
              "scope": "Exact provider tool slug to public route mapping"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
              "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
              "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
            }
          ],
          "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
        },
        "x-aisa-response-source": {
          "kind": "upstream_success_contract",
          "source": {
            "kind": "manual",
            "url": "https://connect.composio.dev/mcp",
            "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
            "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
            "converter": "scripts/prepare_composio_public_reference.py@1",
            "path_space": "public",
            "refresh_policy": "pinned",
            "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
            "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
            "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
            "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
            "source_pages": [
              {
                "url": "https://connect.composio.dev/mcp",
                "scope": "Captured input schemas only; no current-source review asserted"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
                "scope": "Exact provider tool slug to public route mapping"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
                "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
                "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
              }
            ],
            "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
            "owner": "AIsa-team/docs",
            "review_period_days": 30,
            "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
          },
          "content_hash": "sha256:170a9b2069a80e635aa3262b8f8d429e24df6ca76677f3a6d7eb38c48573b59f"
        },
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/graphhopper/graphhopper-geocode-get"
      }
    },
    "/apis/v1/graphhopper/get-matrix": {
      "post": {
        "description": "<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.0803 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "graphhopper.get-matrix",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "point": {
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 20,
                    "minItems": 1,
                    "type": "array",
                    "description": "Specify multiple points in 'latitude,longitude' format for which the matrix should be calculated. The starts are identical to the destinations. If there are N points, then NxN entries will be calculated. Specify at least three points. Cannot be used together with from_point or to_point."
                  },
                  "profile": {
                    "enum": [
                      "car"
                    ],
                    "type": "string",
                    "description": "The routing profile. It determines the network, speed and other physical attributes used when computing the route. Valid values include 'car', 'bike', 'foot', 'hike', 'mtb', 'racingbike', 'scooter', 'truck', and 'small_truck'."
                  },
                  "curbside": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Optional parameter. Specifies on which side a point should be relative to the driver when she leaves/arrives at a start/target/via point. Must be 'any', 'left', or 'right'. Specify for either none or all points."
                  },
                  "to_point": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "examples": [
                      [
                        "48.1351,11.5820",
                        "53.5511,9.9937"
                      ]
                    ],
                    "description": "The destination points for the routes in 'latitude,longitude' format. Use together with from_point for asymmetric matrices."
                  },
                  "fail_fast": {
                    "type": "boolean",
                    "default": true,
                    "description": "Specifies whether or not the matrix calculation should return with an error as soon as possible in case some points cannot be found or some points are not connected. If set to false, the matrix will be calculated for all valid points and contain null values for entries that could not be calculated."
                  },
                  "out_array": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "weights",
                        "times",
                        "distances"
                      ],
                      "type": "string"
                    },
                    "examples": [
                      [
                        "times",
                        "distances"
                      ]
                    ],
                    "description": "Specifies which arrays should be included in the response. Specify one or more of 'weights', 'times', 'distances'. The units of distances are meters, times are seconds, and weights are arbitrary."
                  },
                  "from_point": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "examples": [
                      [
                        "52.5200,13.4050"
                      ]
                    ],
                    "description": "The origin points for the routes in 'latitude,longitude' format. Use together with to_point for asymmetric matrices."
                  },
                  "point_hint": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Optional parameter. Specifies a hint for each point parameter to prefer a certain street for the closest location lookup."
                  },
                  "to_curbside": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Curbside setting for the to_point parameter. Must be 'any', 'left', or 'right'."
                  },
                  "from_curbside": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Curbside setting for the from_point parameter. Must be 'any', 'left', or 'right'."
                  },
                  "to_point_hint": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "For the to_point parameter. Specifies a hint to prefer a certain street for the closest location lookup."
                  },
                  "from_point_hint": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "For the from_point parameter. Specifies a hint to prefer a certain street for the closest location lookup."
                  },
                  "snap_prevention": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "motorway",
                        "trunk",
                        "ferry",
                        "tunnel",
                        "bridge",
                        "ford"
                      ],
                      "type": "string"
                    },
                    "description": "Optional parameter to prevent snapping to specific types of roads. Supported values: 'motorway', 'trunk', 'ferry', 'tunnel', 'bridge', 'ford'."
                  }
                },
                "required": [
                  "point",
                  "profile"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tool result data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_MATRIX__output__public_data"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Get Matrix",
        "tags": [
          "GraphHopper"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "data",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.0803,
          "estimate_source": "profile_seed",
          "evidence_source": "response_body",
          "maximum_units": 10000000,
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "541c4271fcd0",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "28a9dd168f43"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "graphhopper",
        "x-aisa-runtime-operation": {
          "operation_id": "graphhopper.get-matrix",
          "method": "POST",
          "path": "/apis/v1/graphhopper/get-matrix"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://connect.composio.dev/mcp",
          "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
          "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
          "converter": "scripts/prepare_composio_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
          "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
          "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
          "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
          "source_pages": [
            {
              "url": "https://connect.composio.dev/mcp",
              "scope": "Captured input schemas only; no current-source review asserted"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
              "scope": "Exact provider tool slug to public route mapping"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
              "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
              "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
            }
          ],
          "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
        },
        "x-aisa-response-source": {
          "kind": "upstream_success_contract",
          "source": {
            "kind": "manual",
            "url": "https://connect.composio.dev/mcp",
            "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
            "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
            "converter": "scripts/prepare_composio_public_reference.py@1",
            "path_space": "public",
            "refresh_policy": "pinned",
            "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
            "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
            "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
            "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
            "source_pages": [
              {
                "url": "https://connect.composio.dev/mcp",
                "scope": "Captured input schemas only; no current-source review asserted"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
                "scope": "Exact provider tool slug to public route mapping"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
                "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
                "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
              }
            ],
            "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
            "owner": "AIsa-team/docs",
            "review_period_days": 30,
            "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
          },
          "content_hash": "sha256:3302bedbd60ff67b16b879f6781c60dd00bb17d6339a205203c13ce2149dd41e"
        },
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/graphhopper/graphhopper-get-matrix"
      }
    },
    "/apis/v1/graphhopper/get-route": {
      "post": {
        "description": "<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.0007 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "graphhopper.get-route",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "debug": {
                    "type": "boolean",
                    "default": false,
                    "description": "Enable formatted output for debugging."
                  },
                  "point": {
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 10,
                    "minItems": 2,
                    "type": "array",
                    "description": "Route waypoints as 'latitude,longitude' strings. Specify at least origin and destination. Via points are possible. Example: ['51.131,12.414', '48.224,3.867']"
                  },
                  "locale": {
                    "type": "string",
                    "default": "en",
                    "examples": [
                      "en",
                      "de",
                      "fr"
                    ],
                    "description": "Locale for turn instructions. Examples: 'en', 'de', 'fr', 'pt_PT'"
                  },
                  "details": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Path detail types to include. Available: 'street_name', 'street_ref', 'street_destination', 'leg_time', 'leg_distance', 'roundabout', 'country', 'time', 'distance', 'max_speed', 'max_weight', 'max_width', 'toll', 'road_class', 'road_class_link', 'road_access', 'road_environment', 'hazmat', 'hazmat_tunnel', 'hazmat_water', 'lanes', 'surface', 'smoothness', 'hike_rating', 'mtb_rating', 'foot_network', 'bike_network'"
                  },
                  "heading": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Preferred heading direction for each point in degrees (0-360, north-based clockwise). Specify one for start or one per point. Requires ch.disable=true."
                  },
                  "profile": {
                    "enum": [
                      "car"
                    ],
                    "type": "string",
                    "description": "The routing profile determining network, speed, and physical attributes. Common values: 'car', 'bike', 'foot', 'motorcycle', 'mtb', 'racingbike', 'hike'. Default: 'car'"
                  },
                  "curbside": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Side of the road for leaving/arriving at each point. Specify for all points or none. Only for motor vehicles."
                  },
                  "optimize": {
                    "enum": [
                      "false"
                    ],
                    "type": "string",
                    "description": "If 'true', reorders points to minimize total travel time. Applies route optimization limits and increases the price."
                  },
                  "algorithm": {
                    "enum": [
                      "round_trip",
                      "alternative_route"
                    ],
                    "type": "string",
                    "description": "Special routing algorithm. 'round_trip': returns to start with randomness. 'alternative_route': provides multiple route options."
                  },
                  "elevation": {
                    "type": "boolean",
                    "default": false,
                    "description": "Include altitude as third coordinate in response. Changes format of points and snapped_waypoints fields."
                  },
                  "ch.disable": {
                    "type": "boolean",
                    "default": false,
                    "description": "Enable flexible mode to use custom_model or advanced options below. Set to true for heading, algorithm, etc."
                  },
                  "point_hint": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Optional road name hints for snapping each point. Specify none or the same number as points."
                  },
                  "calc_points": {
                    "type": "boolean",
                    "default": true,
                    "description": "Whether to calculate route geometry points."
                  },
                  "instructions": {
                    "type": "boolean",
                    "default": true,
                    "description": "Whether to calculate and return turn-by-turn instructions."
                  },
                  "pass_through": {
                    "type": "boolean",
                    "default": false,
                    "description": "Avoid u-turns at via-points with regard to heading_penalty. Requires ch.disable=true."
                  },
                  "points_encoded": {
                    "type": "boolean",
                    "default": true,
                    "description": "Use polyline encoding for geometry (true) or simple coordinate pairs (false)."
                  },
                  "heading_penalty": {
                    "type": "integer",
                    "default": 300,
                    "minimum": 0,
                    "description": "Time penalty in seconds for not obeying specified heading. Requires ch.disable=true."
                  },
                  "round_trip.seed": {
                    "type": "integer",
                    "description": "Random seed for deterministic round trip results. Requires algorithm='round_trip'."
                  },
                  "snap_prevention": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "motorway",
                        "trunk",
                        "ferry",
                        "tunnel",
                        "bridge",
                        "ford"
                      ],
                      "type": "string"
                    },
                    "description": "Prevent snapping to specific road types. Values: 'motorway', 'trunk', 'ferry', 'tunnel', 'bridge', 'ford'"
                  },
                  "round_trip.distance": {
                    "type": "integer",
                    "default": 10000,
                    "minimum": 0,
                    "description": "Approximate round trip length in meters. Requires algorithm='round_trip'."
                  },
                  "alternative_route.max_paths": {
                    "type": "integer",
                    "default": 2,
                    "minimum": 1,
                    "description": "Maximum number of alternative paths. Requires algorithm='alternative_route'."
                  },
                  "alternative_route.max_share_factor": {
                    "type": "number",
                    "default": 0.6,
                    "maximum": 1,
                    "minimum": 0,
                    "description": "Maximum similarity factor between alternative and optimal route. Requires algorithm='alternative_route'."
                  },
                  "alternative_route.max_weight_factor": {
                    "type": "number",
                    "default": 1.4,
                    "minimum": 0,
                    "description": "Maximum factor by which alternatives can be longer than optimal route. Requires algorithm='alternative_route'."
                  }
                },
                "required": [
                  "optimize",
                  "point",
                  "profile"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tool result data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_GET_ROUTE__output__public_data"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "GET Route",
        "tags": [
          "GraphHopper"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "data",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.0007,
          "estimate_source": "profile_seed",
          "evidence_source": "response_body",
          "maximum_units": 10000000,
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "541c4271fcd0",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "ed94ff827b45"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "graphhopper",
        "x-aisa-runtime-operation": {
          "operation_id": "graphhopper.get-route",
          "method": "POST",
          "path": "/apis/v1/graphhopper/get-route"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://connect.composio.dev/mcp",
          "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
          "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
          "converter": "scripts/prepare_composio_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
          "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
          "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
          "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
          "source_pages": [
            {
              "url": "https://connect.composio.dev/mcp",
              "scope": "Captured input schemas only; no current-source review asserted"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
              "scope": "Exact provider tool slug to public route mapping"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
              "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
              "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
            }
          ],
          "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
        },
        "x-aisa-response-source": {
          "kind": "upstream_success_contract",
          "source": {
            "kind": "manual",
            "url": "https://connect.composio.dev/mcp",
            "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
            "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
            "converter": "scripts/prepare_composio_public_reference.py@1",
            "path_space": "public",
            "refresh_policy": "pinned",
            "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
            "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
            "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
            "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
            "source_pages": [
              {
                "url": "https://connect.composio.dev/mcp",
                "scope": "Captured input schemas only; no current-source review asserted"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
                "scope": "Exact provider tool slug to public route mapping"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
                "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
                "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
              }
            ],
            "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
            "owner": "AIsa-team/docs",
            "review_period_days": 30,
            "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
          },
          "content_hash": "sha256:c8beee65536420d5b8a2745ddae085d2bc9196573f051565a822945cabb17b79"
        },
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/graphhopper/graphhopper-get-route"
      }
    },
    "/apis/v1/graphhopper/isochrone-get": {
      "post": {
        "description": "<!-- aisa-pricing:start -->\nUsage-based billing; Default request estimate: $0.0083 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "graphhopper.isochrone-get",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "point": {
                    "type": "string",
                    "description": "Start location as 'latitude,longitude', e.g., '52.529407,13.397634'. Must be a valid coordinate string."
                  },
                  "buckets": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Number of isochrone rings/buckets to return. Divides time_limit/distance_limit into intervals to create nested isochrones. Default is 1."
                  },
                  "profile": {
                    "enum": [
                      "car"
                    ],
                    "type": "string",
                    "description": "Routing profile supported by the target Directions API, for example 'car', 'bike', or 'foot'. Public transit requires separate GTFS/departure-time inputs that this action does not expose. Required."
                  },
                  "time_limit": {
                    "enum": [
                      120,
                      180,
                      240,
                      300,
                      360,
                      420,
                      480,
                      540,
                      60,
                      600
                    ],
                    "maximum": 600,
                    "minimum": 60,
                    "type": "integer",
                    "description": "Maximum travel time in seconds from the start point. Either time_limit or distance_limit must be provided. Default is 600 seconds if neither is specified by the API."
                  },
                  "reverse_flow": {
                    "type": "boolean",
                    "description": "Direction of reachability calculation. False (default): areas reachable FROM the point. True: areas FROM which the point can be reached."
                  },
                  "distance_limit": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Maximum travel distance in meters from the start point. Either time_limit or distance_limit must be provided."
                  }
                },
                "required": [
                  "point",
                  "profile",
                  "time_limit"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tool result data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ISOCHRONE_GET__output__public_data"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Get Isochrone",
        "tags": [
          "GraphHopper"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "data",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "default_request_estimate_usd": 0.0083,
          "estimate_source": "profile_seed",
          "evidence_source": "response_body",
          "maximum_units": 10000000,
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "541c4271fcd0",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "38babd80500d"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "graphhopper",
        "x-aisa-runtime-operation": {
          "operation_id": "graphhopper.isochrone-get",
          "method": "POST",
          "path": "/apis/v1/graphhopper/isochrone-get"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://connect.composio.dev/mcp",
          "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
          "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
          "converter": "scripts/prepare_composio_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
          "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
          "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
          "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
          "source_pages": [
            {
              "url": "https://connect.composio.dev/mcp",
              "scope": "Captured input schemas only; no current-source review asserted"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
              "scope": "Exact provider tool slug to public route mapping"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
              "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
              "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
            }
          ],
          "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
        },
        "x-aisa-response-source": {
          "kind": "upstream_success_contract",
          "source": {
            "kind": "manual",
            "url": "https://connect.composio.dev/mcp",
            "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
            "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
            "converter": "scripts/prepare_composio_public_reference.py@1",
            "path_space": "public",
            "refresh_policy": "pinned",
            "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
            "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
            "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
            "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
            "source_pages": [
              {
                "url": "https://connect.composio.dev/mcp",
                "scope": "Captured input schemas only; no current-source review asserted"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
                "scope": "Exact provider tool slug to public route mapping"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
                "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
                "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
              }
            ],
            "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
            "owner": "AIsa-team/docs",
            "review_period_days": 30,
            "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
          },
          "content_hash": "sha256:49522a48ba16593994f1691ad3a0d9f5d1e575777db0fcbd596473078613f9c1"
        },
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/graphhopper/graphhopper-isochrone-get"
      }
    },
    "/apis/v1/graphhopper/matrix-post": {
      "post": {
        "description": "<!-- aisa-pricing:start -->\nA request reference price is not currently available; use a request quote where supported. Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "graphhopper.matrix-post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "points": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "maxItems": 20,
                    "minItems": 2,
                    "type": "array",
                    "description": "Coordinates for symmetric matrix as [longitude, latitude]."
                  },
                  "profile": {
                    "enum": [
                      "car"
                    ],
                    "type": "string",
                    "description": "Routing profile ID (e.g. 'car', 'bike', 'foot')."
                  },
                  "curbsides": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Curbside per point ('any','left','right') for symmetrical."
                  },
                  "fail_fast": {
                    "type": "boolean",
                    "default": true,
                    "description": "If false, return null for unreachable entries and include hints."
                  },
                  "to_points": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "description": "Destination coordinates as [longitude, latitude]. Provide with from_points."
                  },
                  "out_arrays": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "weights",
                        "times",
                        "distances"
                      ],
                      "type": "string"
                    },
                    "examples": [
                      [
                        "times",
                        "distances"
                      ]
                    ],
                    "description": "Which matrices to include."
                  },
                  "from_points": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "description": "Origin coordinates as [longitude, latitude]. Provide with to_points."
                  },
                  "point_hints": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Hint per point for snapping preference (symmetrical)."
                  },
                  "to_curbsides": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Curbside per destination ('any','left','right')."
                  },
                  "from_curbsides": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Curbside per origin ('any','left','right')."
                  },
                  "to_point_hints": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Hint per destination for snapping preference."
                  },
                  "from_point_hints": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Hint per origin for snapping preference."
                  },
                  "snap_preventions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Feature types to avoid for snapping (e.g. 'toll', 'ferry')."
                  }
                },
                "required": [
                  "out_arrays",
                  "points",
                  "profile"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tool result data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_MATRIX_POST__output__public_data"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "Calculate Matrix",
        "tags": [
          "GraphHopper"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "data",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "estimate_source": "unavailable",
          "estimate_unavailable_reason": "reference_request_unavailable",
          "evidence_source": "response_body",
          "maximum_units": 10000000,
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "541c4271fcd0",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "afc2e6b2a43d"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "graphhopper",
        "x-aisa-runtime-operation": {
          "operation_id": "graphhopper.matrix-post",
          "method": "POST",
          "path": "/apis/v1/graphhopper/matrix-post"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://connect.composio.dev/mcp",
          "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
          "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
          "converter": "scripts/prepare_composio_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
          "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
          "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
          "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
          "source_pages": [
            {
              "url": "https://connect.composio.dev/mcp",
              "scope": "Captured input schemas only; no current-source review asserted"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
              "scope": "Exact provider tool slug to public route mapping"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
              "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
              "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
            }
          ],
          "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
        },
        "x-aisa-response-source": {
          "kind": "upstream_success_contract",
          "source": {
            "kind": "manual",
            "url": "https://connect.composio.dev/mcp",
            "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
            "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
            "converter": "scripts/prepare_composio_public_reference.py@1",
            "path_space": "public",
            "refresh_policy": "pinned",
            "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
            "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
            "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
            "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
            "source_pages": [
              {
                "url": "https://connect.composio.dev/mcp",
                "scope": "Captured input schemas only; no current-source review asserted"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
                "scope": "Exact provider tool slug to public route mapping"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
                "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
                "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
              }
            ],
            "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
            "owner": "AIsa-team/docs",
            "review_period_days": 30,
            "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
          },
          "content_hash": "sha256:4a705323a94ef3ca657fa1b6ee764c3643deb1a5476d9d92eb3fa98550f67e98"
        },
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/graphhopper/graphhopper-matrix-post"
      }
    },
    "/apis/v1/graphhopper/route-post": {
      "post": {
        "description": "<!-- aisa-pricing:start -->\nA request reference price is not currently available; use a request quote where supported. Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ.\n<!-- aisa-pricing:end -->",
        "operationId": "graphhopper.route-post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "debug": {
                    "type": "boolean",
                    "default": false,
                    "description": "Enable formatted debug output"
                  },
                  "locale": {
                    "type": "string",
                    "default": "en",
                    "description": "Locale for turn instructions"
                  },
                  "points": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "maxItems": 10,
                    "minItems": 2,
                    "type": "array",
                    "description": "Ordered list of [lon, lat] pairs for route waypoints; at least two points required"
                  },
                  "details": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of path detail keys (e.g., 'street_name','surface','max_speed')"
                  },
                  "profile": {
                    "enum": [
                      "car"
                    ],
                    "type": "string",
                    "description": "Vehicle profile (e.g., 'car', 'bike', 'foot')"
                  },
                  "headings": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Preferred headings in degrees; requires ch.disable=true"
                  },
                  "optimize": {
                    "enum": [
                      false
                    ],
                    "type": "boolean",
                    "description": "Reorder points to minimize travel time"
                  },
                  "algorithm": {
                    "enum": [
                      "round_trip",
                      "alternative_route"
                    ],
                    "type": "string",
                    "description": "Special routing mode; requires ch.disable=true"
                  },
                  "curbsides": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "any",
                        "left",
                        "right"
                      ],
                      "type": "string"
                    },
                    "description": "Curbside to approach/leave each point"
                  },
                  "elevation": {
                    "type": "boolean",
                    "default": false,
                    "description": "Include altitude in geometry"
                  },
                  "ch.disable": {
                    "type": "boolean",
                    "default": false,
                    "description": "Enable flexible mode for custom_model and advanced options"
                  },
                  "round_trip": {
                    "type": "object",
                    "properties": {
                      "seed": {
                        "type": "integer",
                        "description": "Random seed for deterministic round trip; requires algorithm='round_trip'"
                      },
                      "distance": {
                        "type": "integer",
                        "default": 10000,
                        "minimum": 0,
                        "description": "Approximate round-trip length in meters; requires algorithm='round_trip'"
                      }
                    },
                    "description": "Parameters for round trip; requires algorithm='round_trip'",
                    "additionalProperties": false
                  },
                  "calc_points": {
                    "type": "boolean",
                    "default": true,
                    "description": "Include full route geometry"
                  },
                  "point_hints": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Optional street hints; one per point"
                  },
                  "custom_model": {
                    "type": "object",
                    "properties": {
                      "areas": {
                        "type": "object",
                        "description": "GeoJSON FeatureCollection for custom areas; requires ch.disable=true",
                        "additionalProperties": true
                      },
                      "speed": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": true
                        },
                        "description": "Customize speeds per model rule; requires ch.disable=true"
                      },
                      "priority": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": true
                        },
                        "description": "Customize priorities per model rule; requires ch.disable=true"
                      },
                      "distance_influence": {
                        "type": "number",
                        "description": "Influence of distance on custom cost; requires ch.disable=true"
                      }
                    },
                    "description": "Custom routing rules; requires ch.disable=true",
                    "additionalProperties": false
                  },
                  "instructions": {
                    "type": "boolean",
                    "default": true,
                    "description": "Include turn-by-turn instructions"
                  },
                  "pass_through": {
                    "type": "boolean",
                    "default": false,
                    "description": "Avoid u-turns at via points; requires ch.disable=true"
                  },
                  "points_encoded": {
                    "type": "boolean",
                    "default": true,
                    "description": "Use polyline encoding for geometry"
                  },
                  "heading_penalty": {
                    "type": "integer",
                    "default": 300,
                    "minimum": 0,
                    "description": "Penalty (s) for deviating from heading; requires ch.disable=true"
                  },
                  "snap_preventions": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "motorway",
                        "trunk",
                        "ferry",
                        "tunnel",
                        "bridge",
                        "ford"
                      ],
                      "type": "string"
                    },
                    "description": "Road types to avoid during snapping"
                  },
                  "alternative_route": {
                    "type": "object",
                    "properties": {
                      "max_paths": {
                        "type": "integer",
                        "default": 2,
                        "minimum": 1,
                        "description": "Max number of alternatives; requires algorithm='alternative_route'"
                      },
                      "max_share_factor": {
                        "type": "number",
                        "default": 0.6,
                        "maximum": 1,
                        "minimum": 0,
                        "description": "Max share factor vs optimal; requires algorithm='alternative_route'"
                      },
                      "max_weight_factor": {
                        "type": "number",
                        "default": 1.4,
                        "minimum": 0,
                        "description": "Max weight factor vs optimal; requires algorithm='alternative_route'"
                      }
                    },
                    "description": "Parameters for alternative routes; requires algorithm='alternative_route'",
                    "additionalProperties": false
                  }
                },
                "required": [
                  "optimize",
                  "points",
                  "profile"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tool result data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Response576A0Ea506F3_connect_GRAPHHOPPER_ROUTE_POST__output__public_data"
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Error response; upstream passthrough responses may use provider formats"
          }
        },
        "summary": "POST Route",
        "tags": [
          "GraphHopper"
        ],
        "x-aisa-capabilities": {
          "idempotency": "Idempotency-Key",
          "max_price": "X-AISA-Max-Price-USD",
          "quote": {
            "header": "X-AISA-Cost-Mode",
            "value": "quote"
          },
          "mpp": false,
          "mpp_methods": [],
          "x402": false
        },
        "x-aisa-category": "data",
        "x-aisa-passthrough": true,
        "x-aisa-pricing": {
          "cost_contract": "response_units",
          "customer_multiplier": 1.0,
          "customer_pricing": "provider_cost_multiplier",
          "estimate_source": "unavailable",
          "estimate_unavailable_reason": "reference_request_unavailable",
          "evidence_source": "response_body",
          "maximum_units": 10000000,
          "unit": "provider_credit",
          "unit_rate_usd": 1e-06
        },
        "x-aisa-query-policy": {
          "ignore_undeclared": false,
          "request_wins": false
        },
        "x-aisa-revision": {
          "customer_pricing_ref": "541c4271fcd0",
          "plan_policy_version": "e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb",
          "profile_ref": "0be2ab67673c"
        },
        "x-aisa-status": "enabled",
        "x-aisa-validation": "mixed",
        "x-aisa-catalog-id": "graphhopper",
        "x-aisa-runtime-operation": {
          "operation_id": "graphhopper.route-post",
          "method": "POST",
          "path": "/apis/v1/graphhopper/route-post"
        },
        "x-aisa-source": {
          "kind": "manual",
          "url": "https://connect.composio.dev/mcp",
          "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
          "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
          "converter": "scripts/prepare_composio_public_reference.py@1",
          "path_space": "public",
          "refresh_policy": "pinned",
          "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
          "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
          "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
          "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
          "source_pages": [
            {
              "url": "https://connect.composio.dev/mcp",
              "scope": "Captured input schemas only; no current-source review asserted"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
              "scope": "Exact provider tool slug to public route mapping"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
              "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
            },
            {
              "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
              "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
            }
          ],
          "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
          "owner": "AIsa-team/docs",
          "review_period_days": 30,
          "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
        },
        "x-aisa-response-source": {
          "kind": "upstream_success_contract",
          "source": {
            "kind": "manual",
            "url": "https://connect.composio.dev/mcp",
            "fetched_at": "unknown: historical capture did not retain an acquisition timestamp",
            "content_hash": "sha256:342defd4bbb364173f6f4dbfeeae2056fa539e0c0fd021df1d45b18d0003be5f",
            "converter": "scripts/prepare_composio_public_reference.py@1",
            "path_space": "public",
            "refresh_policy": "pinned",
            "refresh_reason": "Review captured provider argument schemas and the pinned owning HTTP request adapter together before replacement.",
            "source_git_revision": "3c55acbef31c1aae0648aaa48b0bc92184594500",
            "raw_content_hash": "sha256:f2b7e11cfb5bebbbe6dccf14f1e20bed99d24378de2ba765250101f592f999b7",
            "routes_content_hash": "sha256:60c8b6059312ec36d7cdfd57b8ee3d909da3c55d3956b408747b82fbc5f2d6aa",
            "source_pages": [
              {
                "url": "https://connect.composio.dev/mcp",
                "scope": "Captured input schemas only; no current-source review asserted"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/integrationcatalog/vendors.json",
                "scope": "Exact provider tool slug to public route mapping"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/services/api-service/internal/httpapi/integration_gateway_body.go",
                "scope": "wrapGatewayBody: caller root arguments are wrapped internally; the internal envelope is not a public input"
              },
              {
                "url": "https://raw.githubusercontent.com/AIsa-team/AIsaServices/3c55acbef31c1aae0648aaa48b0bc92184594500/packages/composioconnect/workbench.go",
                "scope": "PublicResponse returns only the one completed tool response data as HTTP 200"
              }
            ],
            "qualification": "Historical pinned metadata conversion requiring independent source review. Public responses project the declared data property through the fixed HTTP adapter. No live acquisition or formal approval asserted.",
            "owner": "AIsa-team/docs",
            "review_period_days": 30,
            "policy_revision": "sha256:2eaa3a85fb7f3c50982c51dcede3aa2251e4f385404e955a0ee32072ef7f79da"
          },
          "content_hash": "sha256:25f010a3a029b8f43e3f70079e6699b56ba58f671b6ef1d9370153cd125f6602"
        },
        "x-aisa-docs-url": "https://aisa.one/docs/api-reference/graphhopper/graphhopper-route-post"
      }
    }
  }
}
