Is there a difference between server-based and cloud-based Confluence REST API?

Dear Community, an absolute newbie here.

I would like to make some basic accesses with python API (https://atlassian-python-api.readthedocs.io/) on a cloud-based and on a server-based Confluence. As far as I know this API is a wrapper over REST API.

  1. Is the REST API for the server-based and for the cloud-based Confluence the same?
  2. If not, is there a comparison sheet of the differences available?
  3. Can I use the Confluence python API the same way for both cloud and standalone server?

Thank you,
Greg

Welcome to the Atlassian developer community @gergelyignacz,

No. The biggest change is that Confluence Cloud uses a different underlying format for content called Atlassian Document Format. And there are pending APIs being deprecated from v1 in favor of new v2 APIs that don’t exist in Confluence on-prem. From a quick scan of the source code for that Python lib, I don’t those difference reflected.

No. I’m not aware of any comprehensive resource for that.

Given the differences explained above, I don’t recommend trying. The abstractions are too far apart now over years of “drift” between DC & Cloud as different products.

Although written about a different Python library and about Jira Cloud, here’s my advice about using Python to talk to our Cloud REST APIs:

2 Likes

Hi Ian,

thank you for the quick answer.

Just to make it all clear for me:

  1. Confluence Cloud REST API uses the Atlassian Document Format while the DC (=datacenter/on-premises version) does not.

  2. Is the Atlassian python API is only usable for the DC/on-premises version?
    I mean these basic use cases such as

  • get a page
  • get a page tree
  • modify/upload a page
  1. Or maybe the python API is the same but the returned document data differ depending on the cloud/DC version?

  2. Does the python API uses the REST v1 or the REST API v2?

  3. “And there are pending APIs being deprecated from v1 in favor of new v2 APIs that don’t exist in Confluence on-prem.” – Sorry I don’t understand it. These API v1 vs v2 differences are valid for Cloud or for DC/on-premises variant?

Thank you,
Greg.

@gergelyignacz,

Correct.

I don’t know. The Python library to which you are referring is not built or maintained by Atlassian. The documentation says both, but the code doesn’t seem well suited to Cloud. Professionally, I would not recommend it for either DC or Cloud. I would not trust an SDK that is “hand built” rather than uses the OpenAPI Specs available for both DC and Cloud.

I don’t know how the API differences will manifest for that library. Both inputs & outputs from the methods may be affected. Without substantially more abstraction in that library than I could see, one could not meaningfully build or maintain code that would work the same for Cloud/DC.

My cursory code inspection indicated it only uses v1. I was not looking for specific endpoints so maybe the ones it uses aren’t affected.

The deprecation is on Cloud only. The REST APIs for DC have not had such breaking changes in many years (since leaving SOAP/XML, if I recall correctly).

1 Like