Patent attributes
A content management system defines a synchronization application programming interface (API) used by applications executing on client devices to synchronize content items after the content items are changed. Functions of the API specify changes to the content items in terms of semantically-meaningful locations within the content items, rather than physical file locations. The content management system can represent the state of a content item in terms of change descriptors that reference the semantic locations of the API. The content management system can then distribute the change descriptors to the client devices, which refer to the semantic locations of the change descriptors when determining how to reconcile changes made by other client devices.