--- 
components: 
  parameters: 
    allowFreeformNewLine: 
      description: "The format of new lines in the formatted address."
      in: query
      name: allowFreeformNewLine
      schema: 
        default: false
        type: boolean
    brandSet: 
      description: "A comma-separated list of brand names which could be used to restrict the result to Points Of Interest of specific brands."
      in: query
      name: brandSet
      schema: 
        type: string
    btmRight: 
      description: "Bottom right position of the bounding box. This is specified as a comma separated string composed of lat., lon."
      in: query
      name: btmRight
      schema: 
        type: string
    categorySet: 
      description: |-
          A comma-separated list of categories which could be used to restrict the result to Points Of Interest of specific categories. The list of categories can be discovered using the <a href="/search-api/search-api-documentation/poi-categories" target="_blank">POI Categories endpoint</a>.
          Note: In the following "example:", "7315" indicates a "restaurant".
      in: query
      name: categorySet
      schema: 
        type: string
    connectorSet: 
      description: "A comma-separated list of connector types which could be used to restrict the result to Points Of Interest of type Electric Vehicle Station supporting specific connector types. <a href=\"/search-api/search-api-documentation/supported-connector-types\" target=\"_blank\">List of supported connector types</a>."
      in: query
      name: connectorSet
      schema: 
        type: string
    countryCode: 
      description: "2 or 3 letter country code (e.g.: FR, ES)."
      example: NL
      in: query
      name: countryCode
      required: true
      schema: 
        type: string
    countrySecondarySubdivision: 
      description: "The county for the structured address."
      in: query
      name: countrySecondarySubdivision
      schema: 
        type: string
    countrySet: 
      description: "Comma separated string of country codes. This will limit the search to the specified countries."
      in: query
      name: countrySet
      schema: 
        type: string
    countrySubdivision: 
      description: "The state or province for the structured address."
      in: query
      name: countrySubdivision
      schema: 
        type: string
    countryTertiarySubdivision: 
      description: "The named area for the structured address."
      in: query
      name: countryTertiarySubdivision
      schema: 
        type: string
    crossStreet: 
      description: "The cross street name for the structured address."
      in: query
      name: crossStreet
      schema: 
        type: string
    entityTypeSet: 
      description: "A comma-separated list of entity types which can be used to restrict the result to the Geography result of a specific entity type. If entityTypeSet is specified, only a Geography result with a proper entity type will be returned."
      in: query
      name: entityTypeSet
      schema: 
        enum: 
          - Country
          - CountrySubdivision
          - CountrySecondarySubdivision
          - CountryTertiarySubdivision
          - Municipality
          - MunicipalitySubdivision
          - Neighbourhood
          - PostalCodeArea
        type: string
    ext: 
      description: "Expected response format."
      example: json
      in: path
      name: ext
      required: true
      schema: 
        enum: 
          - json
          - jsonp
          - js
          - xml
        type: string
    extendedPostalCodesFor: 
      description: |-
          Indexes for which extended postal codes should be included in the results. Available indexes are:
            - <b>Addr</b> = Address ranges
            - <b>Geo</b> = Geographies
            - <b>PAD</b> = Point Addresses
            - <b>POI</b> = Points of Interest
            - <b>Str</b> = Streets
            - <b>XStr</b> = Cross Streets (intersections)
      in: query
      name: extendedPostalCodesFor
      schema: 
        type: string
    fuelSet: 
      description: "A comma-separated list of fuel types which could be used to restrict the result to the Points Of Interest of specific fuels. If fuelSet is specified, the query can remain empty. Only POIs with a proper fuel type will be returned."
      explode: false
      in: query
      name: fuelSet
      schema: 
        items: 
          enum: 
            - Petrol
            - LPG
            - Diesel
            - Biodiesel
            - DieselForCommercialVehicles
            - E85
            - LNG
            - CNG
            - Hydrogen
            - AdBlue
        type: array
    idxSet: 
      description: |-
          A comma separated list of indexes which should be utilized for the search. Item order does not matter. Available indexes are:
            - <b>Addr</b> = Address range interpolation (when there is no PAD)
            - <b>Geo</b> = Geographies
            - <b>PAD</b> = Point Addresses
            - <b>POI</b> = Points of interest
            - <b>Str</b> = Streets
            - <b>Xstr</b> = Cross Streets (intersections)
      in: query
      name: idxSet
      schema: 
        type: string
    language: 
      description: "Language in which search results should be returned. Should be one of <a href=\"/search-api/search-api-documentation/supported-languages\">supported IETF language tags</a>, case insensitive."
      in: query
      name: language
      schema: 
        type: string
    lat: 
      description: |-
          Latitude where results should be biased.  
          NOTE: supplying a lat/lon without a radius will return search results biased to that point.
      example: 37.337
      in: query
      name: lat
      schema: 
        format: float
        maximum: 90
        minimum: -90
        type: number
    limit: 
      description: "Maximum number of search results that will be returned."
      in: query
      name: limit
      schema: 
        maximum: 100
        type: integer
    lon: 
      description: |-
          Longitude where results should be biased
          NOTE: supplying a lat/lon without a radius will return search results biased to that point.
      example: -121.89
      in: query
      name: lon
      schema: 
        format: float
        maximum: 180
        minimum: -180
        type: number
    mapcodes: 
      description: "Enables the return of a comma-separted mapcodes list. Can also filter the Response to only show selected mapcode types. See <a href=\"/search-api/search-api-documentation-search/fuzzy-search#mapcodes\" target=\"_blank\">Mapcodes in the Response</a>."
      in: query
      name: mapcodes
      schema: 
        type: string
    maxFuzzyLevel: 
      description: "Maximum fuzziness level to be used."
      in: query
      name: maxFuzzyLevel
      schema: 
        default: 2
        maximum: 4
        minimum: 1
        type: integer
    maxPowerKW: 
      description: "An optional parameter which could be used to restrict the result to the Points Of Interest of type Electric Vehicle Station supporting at least one connector with a specific maximum value of power in kilowatts (closed interval - with that value)."
      in: query
      name: maxPowerKW
      schema: 
        format: double
        type: number
    minFuzzyLevel: 
      description: "Minimum fuzziness level to be used."
      in: query
      name: minFuzzyLevel
      schema: 
        default: 1
        maximum: 4
        minimum: 1
        type: integer
    minPowerKW: 
      description: "An optional parameter which could be used to restrict the result to the Points Of Interest of type Electric Vehicle Station supporting at least one connector with a specific minimal value of power in kilowatts (closed interval - with that value)."
      in: query
      name: minPowerKW
      schema: 
        format: double
        type: number
    municipality: 
      description: "The municipality (city/town) for the structured address."
      example: Amsterdam
      in: query
      name: municipality
      schema: 
        type: string
    municipalitySubdivision: 
      description: "The municipality subdivision (sub/super city) for the structured address."
      in: query
      name: municipalitySubdivision
      schema: 
        type: string
    ofs: 
      description: "Starting offset of the returned results within the full result set."
      in: query
      name: ofs
      schema: 
        maximum: 1900
        type: integer
    openingHours: 
      description: "List of opening hours for a POI."
      in: query
      name: openingHours
      schema: 
        enum: 
          - nextSevenDays
        type: string
    position: 
      description: "This is specified as a comma separated string composed of lat., lon."
      example: "37.8328,-122.27669"
      in: path
      name: position
      required: true
      schema: 
        type: string
    postalCode: 
      description: "The zip code or postal code for the structured address."
      in: query
      name: postalCode
      schema: 
        type: string
    radius: 
      description: "If radius <b>and</b> position are set, the results will be constrained to the defined area. The radius parameter is specified in meters."
      in: query
      name: radius
      schema: 
        type: integer
        default: 10000
        minimum: 1
        maximum: 5000000
    relatedPois: 
      description: "An optional parameter that provides the possibility to return related Points Of Interest."
      in: query
      name: relatedPois
      schema: 
        default: off
        enum: 
          - off
          - child
          - parent
          - all
        type: string
    routingTimeout: 
      description: "Only return results that arrive from routing engine within this time limit."
      in: query
      name: routingTimeout
      schema: 
        default: 4000
        type: integer
    storeResult: 
      deprecated: true
      description: "If the \"storeResult\" flag is set, the query will be interpreted as a stored geocode and will be billed according to the terms of use."
      in: query
      name: storeResult
      schema: 
        default: false
        type: boolean
    streetName: 
      description: "The street name for the structured address."
      in: query
      name: streetName
      schema: 
        type: string
    streetNumber: 
      description: "The street number for the structured address."
      in: query
      name: streetNumber
      schema: 
        type: string
    timeZone: 
      description: "Used to indicate the mode in which the timeZone object should be returned."
      in: query
      name: timeZone
      schema: 
        enum: 
          - iana
        type: string
    topLeft: 
      description: "Top left position of the bounding box. This is specified as a comma separated string composed of lat., lon."
      in: query
      name: topLeft
      schema: 
        type: string
    typeahead: 
      description: "If the \"typeahead\" flag is set, the query will be interpreted as a partial input and the search will enter <b>predictive</b> mode."
      in: query
      name: typeahead
      schema: 
        type: boolean
    versionNumber: 
      description: "Service version number. The current value is 2."
      in: path
      name: versionNumber
      required: true
      schema: 
        enum: 
          - 2
        type: integer
    view: 
      description: "Geopolitical View."
      in: query
      name: view
      required: false
      schema: 
        default: Unified
        enum: 
          - Unified
          - IL
          - IN
          - MA
          - PK
          - RU
          - TR
          - CN
        type: string
  responses: 
    200: 
      description: "OK: the search successfully returned zero or more results."
    400: 
      description: "Bad Request: one or more parameters were incorrectly specified."
    403: 
      description: |-
          Forbidden: possible causes include:
            - Service requires SSL
            - Not authorized
            - Rate or volume limit exceeded
            - Unknown referer
    404596: 
      description: "Not Found: the HTTP request method (GET, POST, etc) or path is incorrect."
    405: 
      description: "Method Not Allowed: the HTTP method (GET, POST, etc) is not supported for this request."
    429: 
      description: "Too Many Requests: Rate or volume limit exceeded"
    5xx: 
      description: "An error occurred while processing the request. Please try again later."
  securitySchemes: 
    api_key: 
      in: query
      name: key
      type: apiKey
info: 
  contact: 
    name: "Contact Us"
    url: "https://support.tomtom.com/support"
  description: |-
      The TomTom Reverse Geocoding API gives users a tool to translate a coordinate (for example: 37.786505, -122.3862) into a human-understandable street address, street element, or geography. Most often, this is needed in tracking applications where you receive a GPS feed from the device or asset and you want to know the address.  

      The type of response depends on the available data:  

        - **address**: Returns the most detailed information.  
        - **street element**: Less detailed returned when there is no address data.  
        - **geography** Returns the smallest available geographic data.  
          - This is returned when there is no address or street element data.  
          - You can specify the level of geography (see the `entityType` parameter in the request parameters section) to get a geometry.  
          - The geometry data can be fetched using the Additional Data service.  


  title: "Reverse Geocoding API"
  version: "1.0.0"
openapi: "3.0.0"
paths: 
  ? "/search/{versionNumber}/reverseGeocode/{position}.{ext}"
  : 
    get: 
      parameters: 
        - 
          $ref: "#/components/parameters/versionNumber"
        - 
          $ref: "#/components/parameters/position"
        - 
          $ref: "#/components/parameters/ext"
        - 
          description: "To enable return of the posted speed limit (where available)."
          in: query
          name: returnSpeedLimit
          schema: 
            default: false
            type: boolean
        - 
          description: "The directional heading in degrees, usually similar to the course along a road segment. Entered in degrees, measured clockwise from north (so north is 0, east is 90, etc.)"
          in: query
          name: heading
          schema: 
            format: float
            type: number
        - 
          description: "The maximum distance in meters from the specified position for the reverse geocoder to consider."
          in: query
          name: radius
          schema: 
            default: 10000
            minimum: 1
            maximum: 5000000
            type: integer
        - 
          deprecated: true
          description: "If a number is sent in along with the request, the response may include the side of the street (Left/Right) and an offset position for that number."
          in: query
          name: number
          schema: 
            type: string
        - 
          description: "Enables the return of the roadClass array for reverseGeocodes at street level."
          in: query
          name: returnRoadClass
          required: false
          schema: 
            default: ""
            enum: 
              - Functional
            type: string
        - 
          deprecated: true
          description: "Enables return of the road use array for reverse geocodes at street level."
          in: query
          name: returnRoadUse
          schema: 
            default: false
            type: boolean
        - 
          deprecated: true
          description: "Restricts reverse geocodes to a certain type of road use. The road use array for reverse geocodes can be one or more of: [\"LimitedAccess\", \"Arterial\", \"Terminal\", \"Ramp\", \"Rotary\", \"LocalStreet\"]."
          in: query
          name: roadUse
          schema: 
            type: string
        - 
          description: "Specifies the level of filtering performed on geographies."
          in: query
          name: entityType
          schema: 
            type: string
        - 
          description: "Specifies the jsonp callback method."
          in: query
          name: callback
          schema: 
            default: cb
            type: string
        - 
          $ref: "#/components/parameters/language"
        - 
          $ref: "#/components/parameters/allowFreeformNewLine"
        - 
          description: "This includes information on the type of match the geocoder achieved in the Response."
          in: query
          name: returnMatchType
          schema: 
            default: false
            type: boolean
        - 
          $ref: "#/components/parameters/view"
        - 
          $ref: "#/components/parameters/mapcodes"
      responses: 
        ? "200"
        : 
          $ref: "#/components/responses/200"
        ? "400"
        : 
          $ref: "#/components/responses/400"
        ? "403"
        : 
          $ref: "#/components/responses/403"
        ? "404"
        : 
          $ref: "#/components/responses/404596"
        ? "405"
        : 
          $ref: "#/components/responses/405"
        ? "429"
        : 
          $ref: "#/components/responses/429"
        ? "596"
        : 
          $ref: "#/components/responses/404596"
        5XX: 
          $ref: "#/components/responses/5xx"
      summary: "Reverse Geocode"
      tags: 
        - Reverse Geocoding
  ? "/search/{versionNumber}/reverseGeocode/crossStreet/{position}.{ext}"
  : 
    get: 
      parameters: 
        - 
          $ref: "#/components/parameters/versionNumber"
        - 
          $ref: "#/components/parameters/position"
        - 
          $ref: "#/components/parameters/ext"
        - 
          description: "Maximum number of cross-streets to return."
          in: query
          name: limit
          schema: 
            default: 1
            maximum: 100
            minimum: 0
            type: integer
        - 
          description: "The maximum distance in meters from the specified position for the reverse geocoder to consider."
          in: query
          name: radius
          schema: 
            default: 10000
            minimum: 1
            maximum: 5000000
            type: integer
        - 
          $ref: "#/components/parameters/language"
        - 
          $ref: "#/components/parameters/allowFreeformNewLine"
        - 
          $ref: "#/components/parameters/view"
      responses: 
        ? "200"
        : 
          $ref: "#/components/responses/200"
        ? "400"
        : 
          $ref: "#/components/responses/400"
        ? "403"
        : 
          $ref: "#/components/responses/403"
        ? "404"
        : 
          $ref: "#/components/responses/404596"
        ? "405"
        : 
          $ref: "#/components/responses/405"
        ? "429"
        : 
          $ref: "#/components/responses/429"
        ? "596"
        : 
          $ref: "#/components/responses/404596"
        5XX: 
          $ref: "#/components/responses/5xx"
      summary: "Cross Street lookup"
      tags: 
        - Reverse Geocoding
security: 
  - 
    api_key: []
servers: 
  - 
    url: "https://api.tomtom.com"
