Release of v2 Confluence REST API for Pages and Blogposts (Experimental)

Hi all,

Just want to start out by saying we really appreciate all your feedback. As we build the V2 APIs this is exactly the kind of feedback we are looking for so that we can build better APIs for everyone.

As you all mention, removing expansions will cause the number of network requests to increase. This is a problem we are aware of, but we are okay with it for a number of reasons.

Expansions cause scopes to have to be extremely broad. As you’ll know, when using the content endpoint an app has to require an abundance of scopes because scopes can only be enforced at the API path level, not taking into account query params. Moving to only having individual resources means we can better separate the scopes per endpoint and apps can then specify exactly what they need, letting users feel more comfortable when installing an app.

The other aspect we are actually going to improve by this move, is performance. Expansions are not setup in a way where they can be performant. They can easily lead to N+1 problems, very deeply nested calls, and all sorts of other performance issues. With the switch to individual resources, we can design the REST APIs in a way that will allow much more efficient loading. Not to mention we can more easily monitor performance since it’s difficult to track the performance of the content API when each request could be drastically different from the others.

While we work towards moving away from expansions where possible, we would love to hear more of your feedback on how you are using expansions, the pain points removing them would cause, and anything we can do to make the transition easier. Once we know these we can work to make sure our V2 APIs are providing the appropriate solution.

Thanks!

Confluence Ecosystem Team

2 Likes