The openscale service has 8 resource kinds, each listed below with its endpoints, fields, and dependencies. Values resolve late, so you reference another resource with ${kind.ref_name}. For defaults, validation rules, and examples, run wxctl explain <kind>.
  • Envelope: A config is one or more YAML documents separated by ---. Each has top-level kind and ref_name, then the fields below at the top level (not nested under spec).
  • ref_name: Unique handle for this resource within the config. Used to reference it from other resources, then stripped before the API call (not a schema field).
  • References: Reference another resource by its ref_name: ${<kind>.<ref_name>} resolves to its id, ${<kind>.<ref_name>.<field>} to a specific field. Values resolve late, at plan/apply time.

data_mart

An OpenScale data mart is the per-instance datastore that holds monitoring records (payload, feedback, metrics) for every subscribed deployment. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v2/data_marts
ReadGET/v2/data_marts/{id}
ListGET/v2/data_marts
UpdatePATCH/v2/data_marts/{id}
DeleteDELETE/v2/data_marts/{id}
Fields
FieldTypeRequiredDescription
database_configurationobjectOptionalDatabase configuration ignored if internal database is requested (internal_database is true)
database_discoverystringOptionalIndicates if the database was discovered automatically or manually added by user through UI
descriptionstringOptionalDescription of the data mart
internal_databasebooleanOptionalIf true the internal database managed by AI OpenScale is provided for the user
namestringOptionalName of the data mart
service_instance_crnstringOptionalCan be omitted if user token is used for authorization
Computed outputs: entity, metadata. Consumers
  • data_set.data_mart_id (required)
  • monitor_instance.data_mart_id (required)
  • subscription.data_mart_id (required)

data_set

A data set is a typed store within an OpenScale data mart (payload logging, feedback, or business payload) that records the data used to compute a subscription’s monitor metrics. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v2/data_sets
ReadGET/v2/data_sets/{id}
ListGET/v2/data_sets
UpdatePATCH/v2/data_sets/{id}
DeleteDELETE/v2/data_sets/{id}
Fields
FieldTypeRequiredDescription
data_mart_idstringRequired
namestringRequiredName of the data set
descriptionstringOptionalDescription of the data set
typestringRequiredType of the data set
targetobjectRequired
schema_update_modestringOptionalDefines what happens when incoming record has field not present in data set schema. If ‘none’ is specified, unknown fields will be ignored. If ‘auto’ is specified, the schema will be automatically updated with new fields.
data_schemaobjectRequiredSchema of data stored in the data set (Spark StructType format)
locationobjectOptionalLocation of the data set table
managed_bystringOptionalIndicates who manages the data set
Computed outputs: entity, metadata. Depends on
  • data_mart_iddata_mart (required)
  • target.target_idsubscription (required)

guardrails_policy

A guardrails policy defines content-filtering and safety rules (such as PII or HAP detection) that OpenScale enforces on generative-AI model inputs and outputs. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/guardrails-manager/v1/policies
ReadGET/guardrails-manager/v1/policies/{id}
ListGET/guardrails-manager/v1/policies
UpdatePUT/guardrails-manager/v1/policies/{id}
DeleteDELETE/guardrails-manager/v1/policies/{id}
Fields
FieldTypeRequiredDescription
namestringRequired
descriptionstringOptionalDescription of the policy
block_messagestringOptionalMessage to display when content is blocked
mask_characterstringOptionalCharacter to use for masking (e.g. ”*“)
inputarray<object>RequiredDetector configurations for the input (prompt) direction. Each item is an object {detector, action, detector_properties}: detector names the built-in (e.g. pii, hap); action is block|mask; detector_properties is a list of {name, value} pairs (values are strings). The block|mask choice and inner shape are documented here, not schema-enforced, the engine validates only that the field is an array (array items are not type-checked).
outputarray<object>RequiredDetector configurations for the output (response) direction. Same item shape as input: {detector, action(block|mask), detector_properties:[{name,value}]}.
policy_statusstringRequiredStatus of the policy (publish for active, draft for inactive).
tagsarray<string>Optional
Computed outputs: entity, metadata.

integrated_system

An integrated system registers an external service (notifications, a custom metrics provider, or a third-party endpoint) that OpenScale calls during monitoring. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v2/integrated_systems
ReadGET/v2/integrated_systems/{id}
ListGET/v2/integrated_systems
UpdatePATCH/v2/integrated_systems/{id}
DeleteDELETE/v2/integrated_systems/{id}
Fields
FieldTypeRequiredDescription
connectionobjectOptionalThe additional connection information for the Integrated System
credentialsobjectRequiredThe credentials for the Integrated System
descriptionstringRequiredThe description of the Integrated System.
group_idsarray<string>OptionalAccess control list of group id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true)
namestringRequiredThe name of the Integrated System.
parametersobjectOptionalAdditional parameters
typestringRequired
user_idsarray<string>OptionalAccess control list of user id of Cloud Pak for Data (Only available for open_pages type and OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true)
Computed outputs: entity, metadata.

monitor_definition

A monitor definition registers a custom monitor type in OpenScale, declaring its metrics, thresholds, and tags. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v2/monitor_definitions
ReadGET/v2/monitor_definitions/{id}
ListGET/v2/monitor_definitions
UpdatePATCH/v2/monitor_definitions/{id}
DeleteDELETE/v2/monitor_definitions/{id}
Fields
FieldTypeRequiredDescription
namestringRequiredMonitor UI label (must be unique)
descriptionstringOptionalLong monitoring description presented in monitoring catalog
metricsarray<object>RequiredA list of metric definitions
tagsarray<object>RequiredAvailable tags
applies_toobjectOptionalApplicability selection for this monitor definition
parameters_schemaobjectOptionalJSON schema used to validate monitoring parameters when enabled
managed_bystringOptional
scheduleobjectOptionalThe schedule used to control how frequently monitoring runs
schedulesobjectOptionalA set of schedules for online and batch deployment types. If set, the schedule field is ignored.
monitor_runtimeobjectOptionalMonitor runtime configuration
Computed outputs: entity, metadata. Consumers
  • monitor_instance.monitor_definition_id (optional)

monitor_instance

A monitor instance activates a monitor (quality, fairness, drift, explainability, or a custom definition) on a subscription, with its parameters and alert thresholds. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v2/monitor_instances
ReadGET/v2/monitor_instances/{id}
ListGET/v2/monitor_instances
UpdatePATCH/v2/monitor_instances/{id}
DeleteDELETE/v2/monitor_instances/{id}
Fields
FieldTypeRequiredDescription
data_mart_idstringRequired
target.target_idstringOptionalDiscovery scoping only, sent as ?target.target_id=<id> on list/get/delete so the monitor_definition_id identity match resolves within one subscription. Value is read from the nested target.target_id body field via get_nested_field.
managed_bystringOptional
monitor_definition_idstringRequired
parametersobjectOptionalMonitoring parameters consistent with the parameters_schema from the monitor definition
scheduleobjectOptionalThe schedule used to control how frequently the target is monitored. The maximum frequency is once every 30 minutes. Defaults to once every hour if not specified.
schedule_idstringOptional
targetobjectRequired
thresholdsarray<object>OptionalAlert thresholds; each is an object {metric_id, type, value}. The metric_id MUST match the monitor definition: quality -> area_under_roc, fairness -> fairness_value, drift_v2 -> feature_drift_score. A metric id that the definition does not emit is rejected or silently never evaluated, so the monitor never alerts.
total_recordsstringOptional
unprocessed_recordsobjectOptionalSummary about records count
evaluate_on_createbooleanOptionalWhen true, fire the monitor’s first evaluation run (POST /v2/monitor_instances/{id}/runs) immediately after create, a fire-and-forget trigger (wxctl test polls for the result). Omit on monitors whose configuration is incomplete at create time (e.g. a drift monitor awaiting its baseline archive). Never sent to the API.
Computed outputs: entity, metadata. Depends on
  • data_mart_iddata_mart (required)
  • target.target_idsubscription (required)
  • monitor_definition_idmonitor_definition (optional)

service_provider

A service provider binds a machine-learning serving environment (such as a watsonx.ai or WML space) to OpenScale so its deployments can be discovered and monitored. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v2/service_providers
ReadGET/v2/service_providers/{id}
ListGET/v2/service_providers
UpdatePATCH/v2/service_providers/{id}
DeleteDELETE/v2/service_providers/{id}
Fields
FieldTypeRequiredDescription
credentialsobjectRequired
deployment_space_idstringOptionalReference to V2 Space ID
descriptionstringOptional
group_idsarray<string>OptionalAccess control list of group id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true)
integrated_project_idstringOptionalProject ID
namestringRequiredName of the ML service instance
operational_space_idstringOptionalReference to Operational Space
request_headersobjectOptionalmap header name to header value
service_typestringRequiredmachine learning service type (azure_machine_learning_studio is a preferred alias for azure_machine_learning and should be used in new service bindings)
user_idsarray<string>OptionalAccess control list of user id of Cloud Pak for Data (Only available for OpenScale on Cloud Pak for Data >= 4.0.6 with ENABLE_GROUP_AUTH being true)
Computed outputs: entity, metadata. Depends on
  • deployment_space_idspace (optional)
Consumers
  • subscription.service_provider_id (required)

subscription

A subscription connects one deployed model to OpenScale for monitoring, linking it to a service provider and data mart and capturing its input and output schema. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v2/subscriptions
ReadGET/v2/subscriptions/{id}
ListGET/v2/subscriptions
UpdatePATCH/v2/subscriptions/{id}
DeleteDELETE/v2/subscriptions/{id}
Fields
FieldTypeRequiredDescription
analytics_engineobjectOptional
assetobjectRequired
asset_propertiesobjectOptionalFree-form asset metadata OpenScale would otherwise discover, supplied inline when the deployed asset carries no discoverable schema (a bare wml_function deployment). Passed through verbatim as JSON (the object type is itself the fix for the AIQCS0002E/AIQPO0003E ClassCastException that a JSON-encoded string triggered). KB-blessed keys (models-configure-asset-deployments-using-json-configuration-files): input_data_schema and output_data_schema and training_data_schema (each a Spark StructType {"fields":[{"name","type","nullable","metadata":{"modeling_role"}}]}), prediction_field, prediction_probability_field, label_column, problem_type. Drift baseline (OQ2): put training_data_reference (a COS location object) here for OpenScale to compute stats itself, or let the governance step attach precomputed training_data_stats.
data_mart_idstringRequired
data_sourcesarray<string>Optional
deploymentobjectRequired
risk_evaluation_statusobjectOptional
service_provider_idstringRequired
payload_recordsstringOptionalLocal path to a JSON file of scoring records to seed into the subscription’s payload-logging data set after it activates. Content is the verbatim OpenScale store-records body: a JSON array of {request, response} objects (a single {fields, values} object is also accepted and wrapped into a one-element array). Read once by the post_create hook, never sent to the API and never re-seeded on re-apply.
feedback_recordsstringOptionalLocal path to a JSON file of scored feedback records to seed into the subscription’s feedback data set after it activates. Content is the verbatim OpenScale store-records body: a JSON array (or a single {fields, values} object, which is wrapped) whose rows carry the model’s prediction and probability columns. Read once by the post_create hook, never sent to the API.
Computed outputs: entity, metadata. Depends on
  • asset.asset_idwml_deployment (required)
  • data_mart_iddata_mart (required)
  • deployment.deployment_idwml_deployment (required)
  • service_provider_idservice_provider (required)
Consumers
  • data_set.target.target_id (required)
  • monitor_instance.target.target_id (required)