====== Changes from API Version 1 ====== As [[https://groups.google.com/d/msg/zotero-dev/egIdfVmWEeo/dkOfupK7EXoJ|announced on zotero-dev]], version 2 of the [[start|Zotero Web API]] brings many changes to enable [[syncing|API-based syncing]]. While read-only clients may continue to work properly, clients that write to the API are likely to need updating. This page provides a brief summary of changes and may not be comprehensive. See the appropriate documentation sections for full details on all changes. * New: [[read_requests#api_versioning|API versioning]] * New: [[read_requests#caching|Conditional read support]] * New: [[write_requests#updating_multiple_objects|Multi-object modification]] and [[write_requests#deleting_multiple_items|multi-object deletion]] * New: [[write_requests#partial-item_updating_patch|Delta writes]] * Saved search metadata is now available via the API. It is not currently possible to retrieve the results of saved searches via the API. * Related items and relations are now available in the ''relations'' property of item JSON. Currently, only the RDF predicates used by Zotero itself are available. * Object ETags have been replaced by [[syncing#version_numbers|library/object versions]]. ''If-Match'' has been replaced by ''If-Unmodified-Since-Version'' and JSON version properties. * Object writes no longer return Atom feeds with the newly created objects. Single-object writes return ''204 No Content'', while [[write_requests#creating_multiple_objects|multi-object writes]] return ''200 OK'' with a JSON document indicating the status of each write. * ''X-Zotero-Write-Token'' has changed to ''Zotero-Write-Token''. * Child items can no longer be created by including ''note'' or ''attachment'' properties when creating top-level items or by POSTing to ''/items//children''. Instead, child items can be created or moved by including a ''parentItem'' property in the item's JSON. * New collection JSON objects can no longer be POSTed directly. Instead, collections must be within a top-level ''collections'' object, similar to the ''items'' object used for items. * The ''parent'' property for collections has been changed to ''parentCollection''. * The collections an item belongs to can be read and modified via the item's ''collections'' property. The previous POST and DELETE requests have been removed.