[eluser]Colin Williams[/eluser]
I would say, in RESTful terms, you generally do /resource/verb/guid/key/value/key/value... and so on. With proper REST, you would drop the /verb/ part and rely on request methods, but since browsers only do GET and POST, well... not much choice. Also, you can consider swapping verb/guid, guid/verb, but you'll need to use _remap to do that correctly.
Also, you might have sub-resources with related resources, like /project/1255/user/445/tasks, which would be an index of all tasks assigned to user 455 for project 1255. The prototype of this uri is /resource/guid/resource/guid/resource/verb (verb is implied "GET index"). As far as CI is concerned, this would be the Project controller, and possibly the index() function or something specific like task_index() or user_task_index(). There is flexibility here too. Maybe your URI is /project/1255/task/user/445. However you want, really.