Check if an IDM tenant-configuration feature is installed.
feature id, e.g. 'aiagent'
a promise that resolves to true if the feature is installed
Install an IDM tenant-configuration feature. Irreversible -- see the
module-level remarks. The result always has four fields: status (from
the response body), success, message (the response message, unchanged,
for example "Install complete.") and failures (empty unless the response
lists failures). success is true when the request succeeded and the
response does not say success: false and lists no failures; the install
response documented by Ping has no success field, so a successful
install is success: true without one. success: false means the
endpoint reported a failure, with its failures and message kept. A
request that fails (HTTP error, network error) throws a FrodoError. This
makes no second request: a caller that wants confirmation reads the feature
again (readIdmFeature or hasIdmFeature) and checks installedVersion.
feature id, e.g. 'aiagent'
a promise that resolves to the install result: status, success, message and failures
Read a single IDM tenant-configuration feature and its install status.
feature id, e.g. 'aiagent'
a promise that resolves to the feature object
Read all IDM tenant-configuration features and their install status.
a promise that resolves to an array of feature objects
Validate whether an IDM tenant-configuration feature is installable,
without installing it. The result always has four fields: status (from
the response body), success (true when the feature can be installed),
message (the response message, unchanged, for example "Validate complete.
24 failure(s).") and failures (one entry per reason the feature cannot be
installed, for example "config/managed: /objects/-: value already present
at /objects/14"; an empty array when there are none). success is what the
response says; when the response has no success field, it is true
exactly when failures is empty. A validation that finds failures is a
result with success: false, not an error; a request that fails (HTTP
error, network error) throws a FrodoError.
feature id, e.g. 'aiagent'
a promise that resolves to the validation result: status, success, message and failures
IDM tenant-configuration feature management (
GET/POST /openidm/feature).Remarks
This is a distinct resource from
cloud.feature(FeatureOps.ts), despite the overlapping "feature" terminology and sharedinstalledVersionfield name -- confirmed live against a real tenant that they return entirely different, unrelated lists.cloud.feature.readFeatures/hasFeatureread environment-level entitlement/licensing flags (e.g.identity-cloud,workforce,service-accounts) via a bare{host}/featurepath already used internally byServiceAccountOps.ts-- left untouched here. This module is for IDM's own tenant-configuration features (groups,aiagent,am/2fa/profiles,indexed/strings/6thru20,password/timestamps, etc.) that install new managed-object types/properties or repository indexes into the tenant, documented at https://docs.pingidentity.com/pingoneaic/idm-rest-api/endpoints/rest-feature.md.Installing a feature is irreversible: per that same documentation, uninstalling or disabling a feature once installed requires contacting Ping support and rolling back the tenant. There is no self-service undo.