Jeremy: Remember that REST is all about working with resources. If your resource is `item` with automatically incremented IDs, it could be that you’d POST an entire resource, like {“name”:”Tobias”} for JSON, to /items and it would then show up at /items/321. In some rare cases it could be that you’d PUT the resource at a specific location, like /items/tobias.

However, these often hardcoded URL schemes are also an indication your API is not RESTful. Hypermedia should be the “engine of application state” (HATEOAS), meaning this documentation of what to GET or POST to where should be discoverable through the API itself.

I wrote about this a while back, “Your API is not RESTful”: http://vvv.tobiassjosten.net/development/your-api-is-not-restful/

“how useful an API is, and how RESTful it is, are entirely uncorrelated” — that hit the nail on the head!