ExoVoIPDeveloper guide

System and notifications

Service status, configuration deployment, background jobs and notifications.

Service status

  • GET /health: responds without a key, for reachability checks.
  • GET /v1/live/health (scope live:read): overall status (operational, degraded, outage) and tenant counters; for the platform, also per-service details.
  • GET /v1/system/status (platform only): services, phone system, server resources.
curl -s https://centralino.exovoip.it/api/health
curl -s https://centralino.exovoip.it/api/v1/live/health -H "X-API-Key: $EXOPBX_API_KEY"
curl -s https://centralino.exovoip.it/api/v1/system/status -H "X-API-Key: $EXOPBX_API_KEY"

Configuration deployment

Changes made through the API (extensions, trunks, queues, menus…) are applied to the phone system automatically, without interrupting active calls. The platform can request an explicit deployment and track its outcome:

curl -s -X POST https://centralino.exovoip.it/api/v1/system/reload -H "X-API-Key: $EXOPBX_API_KEY" \
  -H "Content-Type: application/json" -d '{"tenantId":3,"scope":"auto","reason":"verifica configurazione"}'
curl -s https://centralino.exovoip.it/api/v1/system/reload-jobs/55 -H "X-API-Key: $EXOPBX_API_KEY"

Background jobs

Long-running operations (voice prompt generation, transcriptions, summaries) return a job: GET /v1/jobs/:id reports its status (pending, running, done, failed) and any error.

Notifications

The tenant can receive email or Telegram alerts for missed calls, new voicemail messages, business hours overrides and completed recordings. Scopes notifications:read / notifications:write.

curl -s -X PUT https://centralino.exovoip.it/api/v1/notifications/settings \
  -H "X-API-Key: $EXOPBX_API_KEY" -H "Content-Type: application/json" \
  -d '{"rules":[{"event":"missed_call","enabled":true,"channels":["email"],"emails":["reception@acme.example"],
                 "includeAdmins":false,"extensionIds":[],"queueIds":[5],"numberIds":[]}]}'

POST /v1/notifications/test sends a test notification; GET /v1/notifications/log shows recent deliveries with their outcome.

Endpoints

RequestScopeSDK method
GET /health—health()
GET /auth/me—auth.me()
GET /v1/system/statussystem:readsystem.status()
POST /v1/system/reloadsystem:writesystem.reload()
GET /v1/system/reload-jobssystem:readsystem.reloadJobs() · py: system.reload_jobs()
GET /v1/system/reload-jobs/:idsystem:readsystem.reloadJob() · py: system.reload_job()
GET /v1/notifications/settingsnotifications:readnotifications.getSettings() · py: notifications.get_settings()
PUT /v1/notifications/settingsnotifications:writenotifications.setSettings() · py: notifications.set_settings()
GET /v1/notifications/lognotifications:readnotifications.log()
POST /v1/notifications/testnotifications:writenotifications.test()
GET /v1/jobs/:idmedia:readjobs.get()
GET /v1/ops/statussystem:readops.status()