Resources

Resource Node

/api/nodes?bbox&wheelchair&page&per_page

Methods

GET

Retrieve the nodes collection.

request query parameter
Parameter Type Description
bbox string Filter nodes by a bounding box (bbox=west,south,east,north) as comma separated float numbers wich are longitude, latitude values in degrees.
wheelchair string Filter nodes by a wheelchair status (Valid values: yes, limited, no, unknown)
page integer For pagination, what page of the results you are on. Default is 1.
per_page integer For pagination, how many results to return per page. Default is 200. Max is 500.

Example request:

http://wheelmap.org/api/nodes?api_key=api_key&bbox=13.341,52.505,13.434,52.523&per_page=10&wheelchair=yes

This resource can also be nested within categories or node_types.

http://wheelmap.org/api/categories/1/nodes?api_key=api_key&bbox=13.341,52.505,13.434,52.523&per_page=10&wheelchair=yes
http://wheelmap.org/api/node_types/4/nodes?api_key=api_key&bbox=13.341,52.505,13.434,52.523&per_page=10&wheelchair=yes

Example nodes representation. (application/json)

{ "conditions":
    {
      "format":"json",
      "page":1,
      "per_page":2,
      "bbox":"13.3417453687,52.505599556059,13.434635631302,52.523390178425"
    },
  "meta":
    {
      "page":1,
      "num_pages":533,
      "item_count":2,
      "item_count_total":1066
    },
  "nodes":[
    {
      "id":19,
      "lat":52.5231376,
      "lon":13.3595838,
      "node_type":{
        "id":24,
        "identifier":"museum"
      },      
      "category":{
        "id":2,
        "identifier":"tourism"
      }
      "wheelchair":"yes",
      "wheelchair_description":null,
      "street":"Unter den Linden",
      "housenumber":"1",
      "city":"Berlin",
      "postcode":"12345",
      "website":"http://some-other-url.com",
      "phone":"+49 30 456456523"
    },
    {
      "id":22,
      "lat":52.5212151,
      "lon":13.4118481,
      "node_type":{
        "id":24,
        "identifier":"hotel"
      },      
      "category":{
        "id":2,
        "identifier":"tourism"
      }
      "name":"Hotel Central Inn\u200e"
      "wheelchair":"unknown",
      "wheelchair_description":"Doors are pretty small.",
      "street":null,
      "housenumber":null,
      "city":null,
      "postcode":null,
      "website":"http://hotel-central.example.com",
      "phone":"+49 30 12345678"
    }
  ]
}

/api/nodes/search?q&bbox&wheelchair&page&per_page

Methods

GET

Retrieve the nodes collection.

request query parameter
Parameter Type Description
q* string Filter nodes by a search term.
bbox string Filter nodes by a bounding box (bbox=west,south,east,north) as comma separated float numbers wich are longitude, latitude values in degrees.
wheelchair string Filter nodes by a wheelchair status (Valid values: yes, limited, no, unknown)
page integer For pagination, what page of the results you are on. Default is 1.
per_page integer For pagination, how many results to return per page. Default is 200. Max is 500.

Example request:

http://wheelmap.org/api/nodes/search?api_key=api_key&q=Fernsehturm&bbox=13.341,52.505,13.434,52.523&wheelchair=no

The q parameter can contain asterisk characters like "*" to match not just the exact String. Extending the search to match 'Andreasstr', 'Andreasstrasse', 'Andreasstraße' or even 'Andreasstrumpf' you can use the following url

http://wheelmap.org/api/nodes/search?api_key=api_key&q=Andreasstr*

This resource can also be nested within categories or node_types.

http://wheelmap.org/api/categories/1/nodes/search?api_key=api_key&q=Fernsehturm&bbox=13.341,52.505,13.434,52.523&wheelchair=no
http://wheelmap.org/api/node_types/1/nodes/search?api_key=api_key&q=Fernsehturm&bbox=13.341,52.505,13.434,52.523&wheelchair=no

Example nodes representation. (application/json)

{ "conditions":
    {
      "format":"json",
      "page":1,
      "per_page":200,
      "bbox":"13.3417453687,52.505599556059,13.434635631302,52.523390178425",
      "search":"Fernsehturm"
    },
  "meta":
    {
      "page":1,
      "num_pages":1,
      "item_count":1,
      "item_count_total":1
    },
  "nodes":[
    {
      "id":838558220,
      "lat":52.5207743,
      "lon":13.4094824,
      "node_type":{
        "id":24,
        "identifier":"cafe"
      },      
      "category":{
        "id":2,
        "identifier":"food"
      }
      "name":"Berliner Fernsehturm",
      "wheelchair":"no",
      "wheelchair_description":null,
      "street":null,
      "housenumber":null,
      "city":null,
      "postcode":null,
      "phone":null,
      "website":null,
    }
  ]
}

/api/nodes

Methods

POST

Create a new node.

request query parameter
Parameter Type Description
name* string The node's name. NOTE: A name is mandatory when creating a new node.
type* string The node's type, must be one of the available node_type ids
lat* float The node's latitude in degrees as float.
lon* float The node's longitude in degrees as float.
wheelchair string The node's wheelchair status, must be one of [yes, no, limited, unknown]
wheelchair_description string The node's additional wheelchair comment like "Ask for a ramp.", 255 characters max.
street string The node's street.
housenumber string The node's house number.
city string The node's city.
postcode string The node's postal code.
website string The node's url. In case there is a website about this not, for example a restaurant. Use the full url like this: http://www.example.com
phone string The node's phone number. In case there is a real phone number to call, for example in a restaurant. Use the international format: +49 30 123456-78

Example request:

http://wheelmap.org/api/nodes?api_key=api_key&name=White+Horse&type=restaurant&lat=51.0&lon=13.4

Example nodes representation. (application/json)

{"message":"OK"}

/api/nodes/{node_id}

Methods

PUT

Update an existing node.

request query parameter
Parameter Type Description
type* string The node's type, must be one of the available node_type ids
lat* float The node's latitude in degrees as float.
lon* float The node's longitude in degrees as float.
wheelchair* string The node's wheelchair status, must be one of [yes, no, limited, unknown]
name string The node's name. NOTE: The name is optional for existing nodes.
wheelchair_description string The node's additional wheelchair comment like "Ask for a ramp.", 255 characters max.
street string The node's street.
housenumber string The node's house number.
city string The node's city.
postcode string The node's postal code.
website string The node's url. In case there is a website about this not, for example a restaurant. Use the full url like this: http://www.example.com
phone string The node's phone number. In case there is a real phone number to call, for example in a restaurant. Use the international format: +49 30 123456-78

Example request:

http://wheelmap.org/api/nodes/123?api_key=api_key&wheelchair=no&name=White+Horse&type=restaurant&lat=51.0&lon=13.4

Example nodes representation. (application/json)

{"message":"OK"}

/api/nodes/{node_id}/update_wheelchair

Methods

PUT

Update the wheelchair status of an existing node.

request query parameter
Parameter Type Description
wheelchair* string The node's wheelchair status, must be one of [yes, no, limited, unknown]

Example request:

http://wheelmap.org/api/nodes/123/update_wheelchair?api_key=api_key&wheelchair=yes

Example nodes representation. (application/json)

{"message":"OK"}

/api/nodes/{node_id}/update_toilet

Methods

PUT

Update the toilet status of an existing node.

request query parameter
Parameter Type Description
wheelchair_toilet* string The node's wheelchair_toilet status, must be one of [yes, no, unknown]

Example request:

http://wheelmap.org/api/nodes/123/update_wheelchair?api_key=api_key&wheelchair_toilet=yes

Example nodes representation. (application/json)

{"message":"OK"}

/api/nodes/{node_id}

Methods

GET

Retrieve a single Node, including its content.

Example request:

http://wheelmap.org/api/nodes/19?api_key=api_key

Example node representation. (application/json)

{
  "id":19,
  "lat":52.5231376,
  "lon":13.3595838,
  "node_type_id":24,
  "category_id":2,
  "wheelchair":"yes",
  "wheelchair_description":null,
  "street":"Unter den Linden",
  "housenumber":"1",
  "city":"Berlin",
  "postcode":"12345",
  "website":"http://some-other-url.com",
  "phone":"+49 30 456456523"
}