OK, I've figured out how this is done.
If the document I want the contents of is DOC-10001 then the request is GET .../contents?filter=entityDescriptor(102,10001) where the "102" indicates the content type is a document.
Did you find an instance where this was not working in our staging environment? Could you provide that example?
I tested your method out with a document that came over via iSync (and the community has been updated from 4.5 to 6) and the result seemed to be good to me. Perhaps I am not fully understanding the use case though.
This only works if the internal document ID (10001, internaldocid in the jivedocument table of the DB) is the same as the external document ID (DOC-10001, documentid in the DB). It generally is the same for new content, but our system has gone through many upgrades and imports, so we have thousands of docs where they do not match. And I can't even do a brute force search, because the IDs are often thousands apart, both higher and lower.
I have not found a way to do a lookup by DOC-xxxx in API v.3, so I ended up pulling the list of internaldocid's from the DB.
I had the same need. It sounds like you're looking to use the v3 REST api, correct?
The first parameter 102 is the internal type identifier for documents.
The second parameter 1001 in the example is the document id (as you can find in the url)
I know it's been a while - but I hope this helps somebody else.