Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

App-API

Also see the documentation about End-users.

Security

Authentication for the App-API is identical to the Admin-API. See our API security guide.

System architecture

Each end user application must have its own dedicated back-end service. This is essential because the App-API does not provide direct user authentication. Instead, the app’s back-end is responsible for:

  • Authenticating the end user.
  • Interfacing with the App-API on behalf of the authenticated user.

By separating end-user authentication from the App-API, the architecture allows each app to manage user sessions while the App-API handles data and actions related to those authenticated users. The app back-end can also provide services not offered by the App-API.

The App-API automatically restricts the data returned to only what the end user specified in the URL is authorized to access. An error is returned if the requested URL is not accessible for the provided end user.

Most endpoints require the end user identifier as part of the URL path to ensure that operations are tied to the correct user.

Diagram of the App-API

Offset Pagination

The App-API uses offset-based pagination, in contrast to the seek-based pagination used by the Admin-API. Offset-based pagination is straightforward because the client does not need to track the ID of the last item and can navigate to any page by specifying the page number. Page numbering starts from 1.

Page Parameter

The optional page query parameter specifies the page to retrieve. It defaults to the first page (page=1).

Page Size Parameter

The optional page_size query parameter adjusts the number of items returned per page, with a default of 50. Check the specifications for the maximum allowed value of this parameter.

Example Response

The following json data is an example of an offset-based pagination response:

{
    "items": [...],
    "page": 1,
    "page_size": 50,
    "has_next_page": true
}
  • items: Contains the list of items returned by the request, with a maximum number of items equal to page_size.
  • page: Shows the current page number.
  • page_size: The maximum number of items per page.
  • has_next_page: Returns true if there is a page after the current one with at least one item, making it useful for “Next Page” buttons in user interfaces.