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

Remote services with expservices

Drive Exponential from scripts, apps and other front ends with expservices - over a thousand named services, discovery, the answer envelope, the shell and Python clients, tokens, policies per service, and adding a…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/app-creators/remote-services-expservices.md

On this page

Remote services with expservices

This page is for application creators who build a remote admin app, a JavaScript front end or a script that drives the administration's functions. expservices turns the admin's functions into over a thousand named services (content, users, roles, caches, cronjobs, shop, feeds, media, tags, layouts, the audit and more), called through ezjscore (Remote services and apps, Backend ezjscore services).

Contents

  1. Check it answers
  2. Calling a service
  3. Authentication
  4. A service domain of your own
  5. When to use it

Check it answers

curl -s 'https://example.com/ezjscore/call/expsession::whoami?ContentType=json'

An envelope that says you are anonymous. 403 on every call means the master switch is off: ./console exp:ini get expservices.ini/Services/Enabled must say enabled.

Calling a service

Every answer has one shape inside ezjscore's content: {"ok":true,"data":...,"meta":{...}} or {"ok":false,"error":{...}}. The shipped clients unwrap it:

export EXPSERVICES_URL=https://example.com
extension/expservices/bin/expservices-client.sh whoami
extension/expservices/bin/expservices-client.sh call expsystem::version

Discovery lists every service with its parameters, so clients do not hard-code the catalog.

Authentication

Personal API tokens for scripts; a signed-in session for pages of the same site. Each service declares the policies it needs and checks them as the calling user. Behind Apache with mod_proxy_fcgi, make sure the Authorization header reaches PHP. The token table is created from extension/expservices/sql/<engine>/schema.sql.

A service domain of your own

A domain is a class exp<Domain>Services extending expServiceBase, registered as [ezjscServer_exp<domain>] in your extension's ezjscore.ini.append.php, and called as <root>/ezjscore/call/exp<domain>::<function>. Follow the shipped domains in extension/expservices/classes/ for the envelope, the policy declaration and the discovery entry; read services can be offered to Exponential Intelligence as tools with 'ai' => true (Exponential Intelligence for applications).

When to use it

NeedUse
A remote admin client, a portal, scripts that manage the siteexpservices
Content for apps and front ends, OAuth for third partiesREST (REST API)
Your own page's JavaScriptan ezjscore server function (JSON endpoints)
AI tools that act inside the administrationExponential Intelligence tools (Extending Exponential Intelligence)

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