-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Looks good, I'm glad we have this documented. A few comments: - ---- "JSON Encoding" You might want to add a note in here about what happens when an error occurs on the server and how it is encoded. - ---- "No Exposed Documents" I have no problem with doing it this way, I'm just curious what benefit it brings. - ---- "Domains" Is "domains" a standard name in REST for this sort of thing? Since we're dealing in URLs that will have a domain name, we might want to use "namespace" or something similar instead of domain. - ---- "Querying Objects..." "or a Null (None in Python) if no such repository exists. " - What does that look like in JSON? Is it just {} ? - ---- "Filtering" We may need a convention for differentiating different levels of detail in objects. For instance, there may be a case where we only need a repo's metadata instead of all of its relationships too (in cases where we actually use relationships). This may not be an issue, I may be applying lazy loading/SQL database concepts where they don't apply in MongoDB. Just throwing it out there. - ---- "Object Deletion" "To delete an existing object, a DELETE request is sent to that object's URL." The idea of an object's URL means using the ID for that object? Which ID, the mongo one or a logical ID? - ---- "Web Service Responses" I mentioned this above, but we should document what to expect in the case of a server error. Will a 500 be returned? Also, I'm guessing 403s will be returned when we have auth in place? - --MGidRAAoJEOMmcTqOSQHC4AEH/07Jn3x9bRzrz6fetINQkCvp qVgiChxTfaFSlwLODiUmWzVH2RNsphnnz4S20rksYZvE9FOv7aiYUbfALupCSmLd EmT03Wv3JWbhcTwsTts+f4O5HhNb5kqbDahoQM8CzOOBpAxoXLEqB7W8dXxE8NCX uetLx0LJmCPKvhkISB7AAbQX6wLHfI01TSVXHi4epLiIJBi43UDxgZuNBZWfCOFg YAqqiWWoaeZbZ/ooxITOOq/jaIi42whyBy0R8d+atcCfk3d/NKz2T6aQCFtQN6TW MiMn9Ff+GrZt/+z5FLJop+Tlf2rBNgOW/XNXRMifAnkHQaIKBOCMkUxIvLJhdps= =1ETo -----END PGP SIGNATURE-----