New Optional Include Field Parameters in the Confluence Cloud v2 REST APIs

Hi @HughWu ,

I have updated our backend APIs to the new versions where available, removing all currently deprecated APIs except in tests.

The whole update took us nearly 100 man-hours, as tracked in our system, which was a significant investment for porting just one app. Our app is probably more complex and deeply integrated into the Confluence API than others.

As expected, we now have to make more API calls due to the separation of APIs, which complicates writing transactional safe code (example).

We also have a lot of abstraction code to handle the separate APIs for pages, blog posts, and comments. We manage this with inheritance to map these new content types.

However, we still rely on many V1 APIs, including:

  • @POST("rest/api/content/{contentId}/child/attachment")
  • @GET("rest/api/content/{contentId}/child/attachment")
  • @POST("rest/api/contentbody/convert/{to}")
  • @POST("rest/api/content/{contentId}/label")

It’s especially surprising that page creation is deprecated in V1, yet there’s no V2 solution for creating labels and attachments.

Overall, the migration process was challenging, but at least we are no longer using deprecated APIs. However, the new APIs feel significantly less powerful and flexible.

On a positive note, I appreciate the less nested data structures and the new operations endpoints for querying permissions.

I hope the missing APIs will be added soon and that the new API will remain stable for a long time.

All the Best,

Sebastian Gellweiler