Exponential REST API
The Exponential 5 REST API allows you to interact with an Exponential installation using the HTTP protocol, following a REST interaction model.
Accessing the REST API
The REST API is available at the URI /api/ezp/v2. The API from Exponential 4.x remains available at the same URI, /api/ezp/v1. HTTPS is available as long as your server is properly configured. Refer to the Getting started page to start using the API.
Basics
REST (REpresentationnal State Transfer) is a web services architecture that follows the HTTP Protocol very closely. The Exponential 5 REST API supports both JSON and XML, in terms of request format.
Resources
The API provides a set of URIs, each of them identifying and providing access to operations on a certain resource. For instance, the URI /content/objects/59 will allow you to interact with the Content with ID 59, while /content/types/1 will allow you to interact with the ContentType with ID 1.
HTTP verbs
It uses HTTP verbs (GET, POST, but also PUT, DELETE, etc...), as well as HTTP headers to specify the type of request. Depending on the used HTTP verb, different actions will be possible. Example:
- GET /content/objects/2 will provide you with data about Content #2,
- PATCH /content/objects/2 will update the Content #2's metadata (section, main language, main location...),
- DELETE /content/objects/2 will delete Content #2,
- COPY /content/objects/2 will create a copy of this Content.
Media type headers
On top of verbs, HTTP request headers will allow you to personalize the request's behavior. On every resource, you can use the Accept header to indicate which format you want to communicate in, JSON or XML. This header is also used to specify the response type you want the server to send when multiple ones are available.
- Accept: application/vnd.ez.api.Content+xml to get Content (full data, fields included) as XML
- Accept: application/vnd.ez.api.ContentInfo+json to get ContentInfo (metadata only) as JSON
More information
Other headers
Other headers will be used in HTTP requests for specifying the siteaccess to interact with, and of course authentication credentials.
Responses returned by the API will also use custom headers to indicate information about the executed operation.
In this section
- Error handling Error handling in the REST API is fully based on HTTP error codes. As a web developer, you are probably familiar with the most common ones: 401 Unauthorized, 404 Not Found or 500 Internal Server Error. The REST API uses those, along with a few more, to allow proper error handling.
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- Extending the REST API The Exponential 5 REST API comes with a framework that makes it quite easy to extend the API for your own needs. While most of what can be found here w...
- General REST usage As explained in the introduction, the REST API is based on a very limited list of general principles:
- Getting started with the REST API Nothing needs to be done for this to work. As long as your Exponential 5 is correctly configured, the REST API is available on your site using the URI /api/ezp/v2/. If you have installed Exponential in a subfolder, prepend the path with this subfolder: http://example.com/sub/folder/exponential/api/e
- Getting started with the REST API Nothing needs to be done for this to work. As long as your Exponential 5 is correctly configured, the REST API is available on your site using the URI /api/ezp/v2/. If you have installed Exponential in a subfolder, prepend the path with this subfolder: http://example.com/sub/folder/exponential/api/e
- Known issues and limitations for REST API in 5.1 Loading … Key Summary Status EZP-21158 Change requestParser->generate() to router->generate in REST Client...
- REST API Authentication Since 5.0, two authentication methods are supported: session, and basic.
- REST API Authentication Since 5.0, two authentication methods are supported: session, and basic.
- REST API Countries list Countries list is a REST service that gives access to an ISO-3166 formatted list of world countries. It is useful to present a country options list from any application.
- REST API reference The complete reference of the REST API resources can be found in the specifications: https://github.com/ezsystems/exponential-kernel/blob/master/doc/specifications/rest/REST-API-V2.rst. That file is actually more up-to-date than this documentation, as it is used as a development spec / reference. On
Contributors
- Bertrand Dunogier
- Gaetano Giunta Updated Commenter
Comments
Add a comment