On Nov 2, 2011, at 17:28 , Jason Sachs wrote: > So I gather from a python-couchdb error message that attachments must > not have names with leading underscores. > > This is not mentioned in > http://wiki.apache.org/couchdb/HTTP_Document_API#Attachments > (though it makes sense given the special meaning of underscores > elsewhere in couchdb) > > Could someone please update the wiki to reflect this information? It's a wiki , fancy helping out? :) > Also what other restrictions are there on attachment filenames? The source for this (in master) is here: https://git-wip-us.apache.org/repos/asf?p=couchdb.git;a=blob;f=src/couchdb/couch_httpd_db.erl;h=3d2d2c1f301b6c733bd2cf5949c9e63b4e11baa3;hb=refs/heads/master#l1320 In detail this means: validate_attachment_name(Name) when is_list(Name) -> validate_attachment_name(list_to_binary(Name)); Ignore, it's Erlang internals. We're just making sure we operate on a binary rather than a list datatype. validate_attachment_name(<<"_",_/binary>>) -> throw({bad_request, <<"Attachment name can't start with '_'">>}); What you found, they can't start with an underscore. validate_attachment_name(Name) -> case couch_util:validate_utf8(Name) of true -> Name; false -> throw({bad_request, <<"Attachment name is not UTF-8 encoded">>}) end. Finally, the name's gotta be UTF-8 encoded. Cheers Jan --