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
relations
property of item JSON. Currently, only the RDF predicates used by Zotero itself are available. - Object ETags have been replaced by library/object versions.
If-Match
has been replaced byIf-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 multi-object writes return200 OK
with a JSON document indicating the status of each write. X-Zotero-Write-Token
has changed toZotero-Write-Token
.- Child items can no longer be created by including
note
orattachment
properties when creating top-level items or by POSTing to<userOrGroupPrefix>/items/<itemKey>/children
. Instead, child items can be created or moved by including aparentItem
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 theitems
object used for items. - The
parent
property for collections has been changed toparentCollection
. - 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.