Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Routes reference

Every route of the ezprestapi content provider with its HTTP method, the versions it answers at, the controller action behind it and the scope a personal API key needs - plus the authentication route and the query…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/mobile-app-developers/rest-api/routes-reference.md

On this page

Routes reference

This page is for app developers who want the complete list of routes in one table. It is taken from the route table of ezp7xRestApiProvider::getRoutes() in extension/ezprestapi/classes/rest_provider.php and from settings/rest.ini. All content paths are relative to /api/ezp/<version> (or the alias prefix /api/ezpl/<version>).

Contents

  1. Content routes
  2. The authentication route
  3. Query parameters
  4. Scopes for personal API keys
  5. Method mismatches

Content routes

Route nameMethodPathv1v2Controller action
ezpNodeGET/content/node/<id>yesyesviewContent
ezpNodeUpdatePOST/content/node/<id>noyesUpdateContentNode (answers 501 after the permission check)
ezpListGET/content/node/<id>/list(/offset/<n>)(/limit/<n>)(/sort/<key>(/asc|desc))yesyeslist
ezpChildrenCountGET/content/node/<id>/childrenCountyesyescountChildren
ezpFieldsByNodeGET/content/node/<id>/fieldsyesyesviewFields
ezpFieldByNodeGET/content/node/<id>/field/<identifier>yesyesviewField
ezpObjectGET/content/object/<id>yesyesviewContent
ezpFieldsByObjectGET/content/object/<id>/fieldsyesyesviewFields
ezpFieldByObjectGET/content/object/<id>/field/<identifier>yesyesviewField
ezpNodeCreatePOST/content/node/createnoyesCreateContentNode
ezpNodeDeletePOST or DELETE/content/node/delete/<id>noyesDeleteContentNode
ezpListAtomGET/content/node/<id>/listAtomyesyesAtom feed; answers 500, a known issue

Every content action runs in ezp7xRestContentController, which checks the user's policies on each call.

The authentication route

MethodPathDoes
POST/api/auth/v1/oauth/tokenexchanges an authorization code or a refresh token for an access token

The auth prefix belongs to the kernel's ezpRestAuthProvider (rest.ini [ApiProvider] ProviderClass[auth]). The authorize page itself is a normal site page, /oauth/authorize (OAuth2 authorization code flow).

Query parameters

The request parser of the REST framework (kernel/private/rest/classes/request/http_parser.php) takes three parameters from the query string:

ParameterUsed byValues
ResponseGroupsnode, object, field and list readsa comma-separated list (Metadata,Fields) or ResponseGroups[]=... repeated (Response groups)
Translationnode, object and field readsa locale, for example eng-GB (Multilingual content)
OutputFormatnode and object readsxhtml (Rendered XHTML output)

Translation and OutputFormat are carried into the links of the answer, so following a link keeps them.

Scopes for personal API keys

A personal API key needs a scope for each route (rest.ini [ApiKeySettings]):

RouteScope
any GET or HEAD route not listed belowread (DefaultReadScope)
ezp7xRestContentController_CreateContentNodepublish
ezp7xRestContentController_UpdateContentNodeedit
ezp7xRestContentController_DeleteContentNoderemove

Any other non-GET route is refused for keys until its scope is named (Personal API keys: scopes). OAuth tokens have no such scopes; the user's policies decide.

Method mismatches

Since 6.0.15, a route whose path matches but which does not take the method no longer ends the search: the router tries the next routes and answers 405 with an Allow header only when none takes the method. A refused write answers 401 or 403, never 405 (Personal API keys, routes).

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x