Upcoming changes to modernize search REST APIs

Hey all, let me clarify some of the concerns raised in this thread:

Regarding which APIs are changing

The only APIs that are subject to this change are:

  • /rest/api/search
  • /rest/api/content/search

(NOTE: a previous version of the deprecation notice included /rest/api/content in this list also - this was a publishing error)

No other API routes are subject to this change. Notably, that means the following APIs are not changing and will continue to support the start parameter:

  • /rest/api/search/user
  • /rest/api/group/member

Regarding queries for users

It was raised that when issuing a query to /rest/api/search with the cql clause type=user or user.*, the next links are missing. This is indeed the case. However, it should be noted that querying user objects via this API is no longer supported, as per Changes to Confluence Cloud Search APIs and deprecation notice

Client should instead be using /rest/api/search/user to search for user objects. This API is not subject to these pagination changes and will continue to function as it has been.

Regarding random page access and queries in parallel

It’s been raised that with this change, it will no longer be possible to ‘jump’ to a particular page of results, and also no longer be possible to fetch multiple pages in parallel. This is correct - from June 24th onwards, when using the two APIs in question, client will only be able to navigate from the current page to the next or previous page.

We understand that this is potentially disruptive, but it was a deliberate tradeoff made in order to achieve greater performance and scalability for large data sets.

Regarding AP.request and “_r” parameter

It was raised above that accessing these APIs using AP.request appears to be erroneously appending extra _r parameters to the response. This is indeed a bug in the interaction with AP.request, but it does not effect the REST APIs directly. We will prioritize this bug and fix it accordingly.