A method performed in a hosted storage system the hosted storage system providing hosted storage with version locking to a plurality of requesters (104,106) that are coupled to the hosted storage system, the method being performed by one or more processors, the method comprising: receiving, at the hosted storage system, a request from a requester of the plurality of requesters (104,106) to access a hosted resource; creating a copy of the hosted resource; providing a copy message comprising the copy of the hosted resource including the version indicator of the hosted resource to the first requester; maintaining the hosted resource in the hosted storage system while the requester modifies the copy of the hosted resource; receiving a message from the requester comprising a modified portion of the copy of the hosted resource including the version indicator of the hosted resource; and replacing a corresponding portion of the hosted resource with the modified portion of the copy of the hosted resource and incrementing a corresponding value of the version indicator of the hosted resource stored in the hosted storage system, if the value of the version indicator of the modified portion of the copy of the hosted resource matches the corresponding value of the version indicator of the hosted resource stored in the hosted storage system; wherein the portions of the hosted resource comprise a data object and metadata associated with the data object, the metadata comprising a plurality of metadata fields; wherein the version indicator comprises a plurality of values corresponding to the data object and the metadata fields; and wherein the request from a requester, the copy message, and the message from the requester are Hypertext Transfer Protocol or Hypertext Transfer Protocol Secure messages. receiving, at the hosted storage system, a request from a requester of the plurality of requesters (104,106) to access a hosted resource; creating a copy of the hosted resource; providing a copy message comprising the copy of the hosted resource including the version indicator of the hosted resource to the first requester; maintaining the hosted resource in the hosted storage system while the requester modifies the copy of the hosted resource; receiving a message from the requester comprising a modified portion of the copy of the hosted resource including the version indicator of the hosted resource; and replacing a corresponding portion of the hosted resource with the modified portion of the copy of the hosted resource and incrementing a corresponding value of the version indicator of the hosted resource stored in the hosted storage system, if the value of the version indicator of the modified portion of the copy of the hosted resource matches the corresponding value of the version indicator of the hosted resource stored in the hosted storage system; wherein the portions of the hosted resource comprise a data object and metadata associated with the data object, the metadata comprising a plurality of metadata fields; wherein the version indicator comprises a plurality of values corresponding to the data object and the metadata fields; and wherein the request from a requester, the copy message, and the message from the requester are Hypertext Transfer Protocol or Hypertext Transfer Protocol Secure messages.