Help for Mobile App Developers
Build mobile apps on Exponential content: the REST APIs, authentication, content as JSON, images and caching.
55 pages
Start here
Read these pages in this order.
- Mobile app developers: start here The landing page for developers who build iOS, Android, cross-platform or browser apps on top of Exponentia...
- Mobile app developers reading path The order in which to read the Mobile app developers section - a one-hour path to a first working list scre...
- How Exponential content reaches an app The content model explained for app developers - classes, objects, nodes, fields, versions and languages -...
- Which API for your app Decide between the REST content API, the expservices remote services and a custom ezjscore server function...
- What the APIs do not do The known gaps of Exponential's HTTP interfaces for app developers, each checked in the code - no SDK, no u...
- Mobile app developers FAQ Short answers to the questions app developers ask most about Exponential - 401 without a body, which versio...
Good to know
-
Mobile app developers glossary
The words used in the Mobile app developers section explained for app developers - from node, object, class and remote id to response group, OutputFormat, provider, ezpl, OAuth client, expk and expt tokens, envelope…
-
The REST content API for apps
The landing page of the REST API pages for app developers - what the ezprestapi routes at v1 and v2 give an app, the base URL, the pages in this folder and the order to read them.
-
Your first request
Make the first authenticated call to the REST content API of Exponential - check that the API answers, send a credential, read node 2 at v1 and v2, and reproduce the call from Kotlin, Swift and JavaScript.
-
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…
-
Reading a node
Read one item for a detail screen through the REST API - by node id or object id, the metadata keys, the links map, locations and fields on request, and how to follow links without building URLs by hand.
-
Response groups
Ask the REST API for exactly the parts of an answer a screen needs with the ResponseGroups parameter - the groups each route knows (Metadata, Locations, Fields, FieldValues), the defaults that are always added, both…
Search by topic
Each button lists the pages of one topic for Mobile App Developers.
Key pages
All pages for Mobile App Developers- Listing children and pagination List the items of a folder for a list screen through the REST API - the list route and its defaults, offset and limit paging, infinite sc...
- Fields and field values Read and parse the fields of Exponential content in an app - the field routes, the five keys of a field object, how the value is written...
- Rendered XHTML output What OutputFormat=xhtml does in the REST API - the node rendered in the view mode "rest" inside the template named in rest.ini, the place...
- Creating and removing content Write content from an app through the REST API at v2 - create and publish with parentNodeID, classIdentifier, languageLocale and the fiel...
- Errors and status codes Every HTTP status the REST API of Exponential answers, with its JSON body and what an app should do - 200, 201, 400, 401 with and without...
- API versions v1 and v2 Which REST API version an app should call - reads identical at v1 and v2, writes at v2 only, links that stay in their version, the ezpl a...
- Authentication for apps The landing page of the authentication pages for app developers - the three credentials Exponential accepts from programs (OAuth2 tokens,...
- Choosing a credential Pick the right credential for each kind of app on Exponential - a public reader app, an app whose users sign in, an internal staff app, a...
- OAuth2 authorization code flow Sign app users in with OAuth2 against Exponential - registering the client in oAuth admin, the authorize page and its exact redirect addr...
- A back end for your app Why most mobile apps on Exponential should talk to a small back end of their own (a backend for frontend) rather than to Exponential dire...
Related audiences
Free documentation: use it to help yourself and others
This help is free documentation, licensed under the GNU Free Documentation License 1.3 or later. You may use it, share it and improve it:
- Study it Read any page as often as you like, for any purpose.
- Copy it and share it Give pages to other users, on paper or as files. Keep the copyright notice, the license notice and a copy of the license with every copy.
- Translate, adapt and improve it Share your version under the same license, with the original notices and a note of what you changed.
- Cite it Refer to a page by its title and its address in the help, or its file in the doc directory.
- Contribute fixes back Use "Edit on GitHub" on any page. Changes are accepted under the same license, so they stay free for everyone.
Exponential Copyright © 1998-2026 Exponential Foundation and 7x