Use General settings to manage engine-wide behavior. These endpoints control how the instance is exposed over HTTP and HTTPS, which domains and certificates it serves, and how configuration is moved between environments.
Changes here affect the whole instance, not a single room or transport. Apply them deliberately, verify the result immediately, and use export/import when you need a repeatable baseline for staging, backup, or replacement environments.
These examples cover the main instance-level tasks: updating network-facing delivery settings, installing a certificate, and writing custom defaults.
{
"http_modes": [
{ "mode": "HTTPS" },
{ "mode": "HTTP" }
],
"cdn_domain_name": "cdn.example.com",
"streaming_domain_name": "stream.example.com"
}{
"ssl_type": "SSL_TYPE_CUSTOM",
"ssl_domain_name": "stream.example.com",
"certificate": "-----BEGIN CERTIFICATE-----...",
"private_key": "-----BEGIN PRIVATE KEY-----..."
}{
"custom_settings": {
"showBrandName": false,
"useCustomLogo": true
}
}Start with getAppInfo to inspect current state. Then use updateHTTPConfig to set the intended domains and delivery modes. If the instance will serve HTTPS, install the certificate before exposing the instance to live users or operators.
Use updateSSLCertificate when a certificate is renewed or a domain changes. Confirm that the certificate matches the active hostname and schedule the change carefully if the instance is already serving production traffic.
Use updateCustomSettings for instance-wide defaults, branding, or policy changes that should apply everywhere. Use exportDb and importDb when you need to replicate a known-good configuration into staging, recovery, or replacement environments.
Use this as the first call in any management client before making instance-wide changes.
It gives you the current instance configuration and status snapshot so the team can confirm they are operating the right environment before touching domains, certificates, timing, or imported settings.
curl --request POST \--url http://localhost/api/application/getAppInfo \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{}'
Instance identity fields returned for the current application.
Current engine version and deployment flavor.
Current HTTP and domain configuration returned by the engine.
Persisted custom application settings.
Successful responses expose success: true.
{"app_version": "8.2.p.NDI.pre-aws","stack_version": "8.2","node_app": "NODE_APP_SELF_HOSTED","name": "All-in-one. SaaS","login": "admin","token": "<jwt_token>","custom_settings": {"showBrandName": false,"useCustomLogo": true},"http_modes": [{"mode": "HTTPS"},{"mode": "HTTP"}],"cdn_domain_name": "cdn.example.com","streaming_domain_name": "stream.example.com","success": true}
Use this before go-live or during a planned cutover to set the public HTTP and HTTPS delivery settings for the instance.
Because it affects how viewers, encoders, and integrations reach the engine, coordinate this change with DNS, proxy, and certificate updates.
List of enabled delivery modes. Real product values include HTTP and HTTPS.
Domain used for CDN-style delivery references.
Domain used for stream-facing URLs.
curl --request POST \--url http://localhost/api/application/updateHTTPConfig \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"http_modes": [{"mode": "HTTPS"},{"mode": "HTTP"}],"cdn_domain_name": "cdn.example.com","streaming_domain_name": "stream.example.com"}'
The backend confirms that the HTTP configuration update was accepted.
{"success": true}
Use this before exposing a new domain or when rotating expiring certificates on a live instance.
It is the production path for moving to a custom certificate or renewing the active SSL policy; coordinate it with domain and HTTP changes so viewers and integrations do not hit trust or reachability issues.
SSL policy to apply. Real product values include custom, self-signed, and Let's Encrypt flows.
Domain name that the certificate configuration should protect.
PEM certificate body when the selected SSL mode requires a custom certificate.
Matching PEM private key when the selected SSL mode requires one.
curl --request POST \--url http://localhost/api/application/updateSSLCertificate \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"ssl_type": "SSL_TYPE_CUSTOM","ssl_domain_name": "stream.example.com","certificate": "-----BEGIN CERTIFICATE-----...","private_key": "-----BEGIN PRIVATE KEY-----..."}'
The backend confirms whether the SSL update completed successfully.
{"success": true,"result": true}
Use this to roll out instance-wide branding, defaults, or behavior changes that should stay consistent across operator and viewer workflows.
Treat it as a shared configuration change: apply it deliberately, especially on a live system where UI behavior or presentation may change immediately.
Object of persisted instance-level feature flags and UI behavior settings.
curl --request POST \--url http://localhost/api/application/updateCustomSettings \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"custom_settings": {"showBrandName": false,"useCustomLogo": true}}'
The backend confirms that the custom settings write finished successfully.
{"success": true}
Use this to apply a known-good settings baseline to a new, recovered, or replacement Callaba Engine instance.
Because it can change configuration across modules, run it in a maintenance window and verify domain, HTTP, and SSL implications before reopening production traffic.
Path to the previously exported dump that should be imported.
curl --request POST \--url http://localhost/api/application/importDb \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"file_path": "uploads/callaba-dump.gz"}'
Import confirmation together with the target application version returned by the engine.
{"success": true,"app_version": "8.2"}
Use this before migrations, upgrades, or other instance-wide changes when you need a portable settings snapshot for rollback or handoff.
It exports the selected module settings into a reusable dump that can be archived, transferred, or re-imported later.
List of module identifiers that should be included in the exported dump.
curl --request POST \--url http://localhost/api/application/exportDb \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"modules": ["MODULE_SRT_SERVERS","MODULE_SRT_ROUTERS","MODULE_RTMP_SERVERS","MODULE_RESTREAM","MODULE_VOD"]}'
Path to the exported dump plus a success-shaped confirmation.
{"success": true,"result": "uploads/callaba-dump.gz"}
Use this when compliance rules or timing accuracy require the instance to follow a specific time source.
Change it carefully on production systems, because stable clock behavior affects recordings, schedules, and event timing across the instance.
NTP hostname that the instance should use as its time source.
curl --request POST \--url http://localhost/api/application/updateNTPConfiguration \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"ntp_server": "time.apple.com"}'
The backend confirms that the NTP configuration update was accepted.
{"success": true}