# Ideas from dev
# REST API
# Make it actually REST
Have an unique URL associated with each object, call that resourceUrl, e.g. http://rest.db.ripe.net/ripe/mntner/ninja-mnt
. Support REST operations on this URL (GET, PUT, DELETE, ...).
Other features, like versions, can be included too, e.g.:
GET http://rest.db.ripe.net/ripe/mntner/ninja-mnt?version=65
GET http://rest.db.ripe.net/ripe/mntner/ninja-mnt?versions
# Versioning
Even better, we could have built-in versions to avoid accidental PUTs, like this:
PUT http://rest.db.ripe.net/ripe/mntner/ninja-mnt?version=21
We could also include current version into all returned objects.
# Authentication
We could totally authenticate all REST API calls, so as to avoid bans for a user excessively querying their own data.
E.g.:
GET http://rest.db.ripe.net/ripe/mntner/ninja-mnt?password=hajime
DELETE http://rest.db.ripe.net/ripe/mntner/ninja-mnt?password=hajime
We could even support PGP auth in the REST API by adding an optional signature
queryparam to all operations, e.g.
PUT http://rest.db.ripe.net/ripe/mntner/ninja-mnt?signature=h76G6...