This is an old revision of the document!
We’re in the process of updating the documentation for Zotero 5.0. Some documentation may be outdated in the meantime. Thanks for your understanding.
Changes from API Version 1
As announced on zotero-dev, version 2 of the Zotero Web API brings many changes to enable 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: API versioning
- New: 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
relationsproperty of item JSON. Currently, only the RDF predicates used by Zotero itself are available.
- Object ETags have been replaced by library/object versions.
If-Matchhas been replaced by
If-Unmodified-Since-Versionand JSON version properties.
- Object writes no longer return Atom feeds with the newly created objects. Single-object writes return
204 No Content, while multi-object writes return
200 OKwith a JSON document indicating the status of each write.
X-Zotero-Write-Tokenhas changed to
- Child items can no longer be created by including
attachmentproperties when creating top-level items or by POSTing to
<userOrGroupPrefix>/items/<itemKey>/children. Instead, child items can be created or moved by including a
parentItemproperty in the item's JSON.
- New collection JSON objects can no longer be POSTed directly. Instead, collections must be within a top-level
collectionsobject, similar to the
itemsobject used for items.
parentproperty for collections has been changed to
- The collections an item belongs to can be read and modified via the item's
collectionsproperty. The previous POST and DELETE requests have been removed.