API v0.6 (Archive)

From OpenStreetMap Wiki
Jump to: navigation, search

This page contains some bits left over from the time while API 0.6 was still work-in-progress.

Contents

Overview of agreed/implemented changes

New Limits

API 0.6 introduced the following limits to the API, because of practical reasons:

These limits are all documented in the API at http://www.openstreetmap.org/api/capabilities use this if you need to use these limits in your code.

Changes in related software

Version information added to planet dump

The planet dump now includes a version="<number>" field for each object in the planet dump, e.g.

<node ... version="123" .../>

The changeset ID is also included, e.g:

<node ... changeset="123" .../>

Database improvements

To understand what's really happening on Servers/smaug over the migration weekend, go look at the lovely code now available in subversion here: http://svn.openstreetmap.org/applications/utils/misc/api06_migrate/ (read the README first)

Approximately as an outline idea, it might be making these kinds of changes:

The plan is to achieve basic synthesis, hopefully with time-based splitting. Enhancements to historical changeset data can actually be applied gradually as long-running db operations after the 0.6 roll-out.

We'll also be moving to the brand new Servers/smaug

Status

This section contains the current status of the API calls. Each possible method should be listed, along with a very short description and whether the call is currently implemented, tested, etc...

Method Route Behaviour Status
GET capabilities Returns server capabilities. Coded, Tested
GET node/#id Returns the XML for that node. Coded, Tested
PUT (?) node/#id Updates the node, returns new version number. Coded, Tested
DELETE node/#id Deletes the node, returns new version number(?). Coded, Tested
PUT node/create Creates the node, returns new node number (new nodes always version=1?). Coded, Tested
GET node/#id/history Returns all versions of the node. Coded, Tested
GET node/#id/#version Returns the XML for that version of the node. Coded, Tested
GET node/#id/ways Returns the XML for all ways that this node is part of. Coded, Tested
GET node/#id/relations Returns the XML for all relations that this node is part of. Coded, Tested
GET nodes?nodes=#id,#id,... Returns the XML for all given node numbers. Coded
GET way/#id Returns the XML for that way. Coded, Tested
PUT (?) way/#id Updates the way, returns new version number. Coded
DELETE way/#id Deletes the node, returns new version number(?). Coded, Tested
PUT way/create Creates the way, returns new way number (new ways always version=1?). Coded, Tested
GET way/#id/history Returns all versions of the way. Coded, Tested
GET way/#id/#version Returns the XML for that version of the way. Coded, Tested
GET way/#id/relations Returns the XML of all relations that this way is part of. Coded, Tested
GET way/#id/full Returns XML of a way and all its nodes. Coded, Tested
GET ways?ways=#id,#id,... Returns XML of all numbered ways. Coded
GET relation/#id Returns the XML for that relation. Coded, Tested
PUT (?) relation/#id Updates the relation, returns new version number. Coded
DELETE relation/#id Deletes the relation, returns new version number(?). Coded, Tested
PUT relation/create Creates the relation, returns new relation number (always version=1?). Coded
GET relation/#id/history Returns all versions of the relation. Coded
GET relation/#id/#version Returns the XML for that version of the relation. Coded
GET relation/#id/relations Returns all relations that this relation appears in. Coded, Tested
GET relation/#id/full Returns all ways and nodes in this relation and relations directly members of this relation. Coded
GET relations?relations=#id,#id,... Returns the numbered relations. Coded
GET changeset/#id Returns the XML for that changeset. Coded, Tested
PUT changeset/#id Updates the changeset. Coded, Tested
PUT changeset/create Creates the changeset, returns new changeset number (version=1?). Coded, Tested
PUT (?) changeset/#id/close Marks a changeset closed, returns status only. Coded, Tested
POST changeset/#id/upload Uploads a diff into a changeset transactionally. Returns XML with the committed versions and IDs of the diff elements. Coded, Tested
GET changeset/#id/download Downloads all the changed elements in a changeset in OsmChange format. Coded, Tested
POST changeset/#id/expand_bbox Inserts a point into the bounding box of a changeset. Coded, Tested
GET changesets Queries changesets on bounding box, user or time range. Coded, Tested
GET map Gets all the way, nodes and relations inside a bounding box Coded (Testing started, though some tests have unexpected output)
GET trackpoints Gets paginated trackpoints within a bounding box. Coded
GET changes Returns all changes within a given time period. Coded
Personal tools
Namespaces
Variants
Actions
site
Toolbox