REST API#

A RESTful API for Plone.

https://github.com/plone/plone.restapi/actions/workflows/tests.yml/badge.svg?branch=main https://coveralls.io/repos/github/plone/plone.restapi/badge.svg?branch=main https://readthedocs.org/projects/pip/badge https://img.shields.io/pypi/v/plone.restapi.svg

Introduction#

plone.restapi is a RESTful hypermedia API for Plone.

Getting started#

A live demo of Plone 6 with the latest plone.restapi release is available at:

https://demo.plone.org/

An example GET request on the portal root is the following.

curl -i https://demo.plone.org/++api++ -H "Accept: application/json"

An example POST request to create a new document is the following.

curl -i -X POST https://demo.plone.org/++api++ \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    --data-raw '{"@type": "Document", "title": "My Document"}' \
    --user admin:admin

Note

You will need some kind of API browser application to explore the API. You will also need to first obtain a basic authorization token. We recommend using Postman which makes it easier to obtain a basic authorization token.

Installation#

Install plone.restapi by adding it to your buildout.

[buildout]

# ...

eggs =
    plone.restapi

…and then running bin/buildout.

Python / Plone Compatibility#

plone.restapi 9 requires Python 3 and works with Plone 5.2 and Plone 6.x.

plone.restapi 8 entered "maintenance" mode with the release of plone.restapi 9 (September 2023). It is not planned to backport any features to this version and we highly recommend to upgrade to plone.restapi 9.

Python versions that reached their end-of-life, including Python 3.6 and Python 3.7 are not supported any longer.

Use plone.restapi 7 if you are running Python 2.7 or Plone versions below 5.2.

Examples#

plone.restapi has been used in production since its first alpha release. It can be seen in action at the following sites:

Support#

If you are having issues, please let us know via the issue tracker.

If you require professional support, here is a list of Plone solution providers that contributed significantly to plone.restapi in the past.

License#

The project is licensed under the GPLv2.

Appendix and Glossary#

Index#