The watsonx_ai service has 7 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.

ai_service

An AI Service is a deployable code artifact for Watson Machine Learning. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/ml/v4/ai_services?version=2024-01-01
ReadGET/ml/v4/ai_services/{id}?version=2024-01-01
ListGET/ml/v4/ai_services?version=2024-01-01
UpdatePATCH/ml/v4/ai_services/{id}?version=2024-01-01
DeleteDELETE/ml/v4/ai_services/{id}?version=2024-01-01
Fields
FieldTypeRequiredDescription
namestringRequiredName of the AI service.
descriptionstringOptionalHuman-readable description.
tagsarray<string>OptionalTags for categorization.
software_specstringRequiredSoftware specification ID. References a software_specification resource.
space_idstringOptionalThe space ID scope. Sent in body on create, used as query param on list/get/delete.
project_idstringOptionalThe project ID scope. Sent in body on create, used as query param on list/get/delete.
customobjectOptionalArbitrary key-value metadata.
source_pathstringOptionalLocal path to Python source file. Used by the post_create hook to upload code.
Computed outputs: id, created_at. Depends on
  • software_specsoftware_specification (required)
  • space_idspace (optional)
  • project_idproject (optional)
Consumers
  • wml_deployment.asset (required)

autoai_experiment

An AutoAI Experiment runs a watsonx.ai AutoAI training to completion and surfaces the ranked pipeline leaderboard. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/ml/v4/trainings?version=2024-01-01
ReadGET/ml/v4/trainings/{id}?version=2024-01-01
ListGET/ml/v4/trainings?version=2024-01-01
DeleteDELETE/ml/v4/trainings/{id}?version=2024-01-01&hard_delete=true
Fields
FieldTypeRequiredDescription
namestringRequiredExperiment / training run name.
training_datastringRequiredAsset id of the training data (a data_asset). Used to build the training’s training_data_references entry (type: data_asset).
prediction_typestringRequiredAutoAI learning task type.
prediction_columnstringOptionalTarget/label column name for a tabular experiment. Required for binary/multiclass/regression; omit for forecasting (use prediction_columns). Exactly one of prediction_column / prediction_columns must be set.
prediction_columnsarray<string>OptionalTarget/label column names for a forecasting experiment (one entry per series). Mutually exclusive with the tabular prediction_column: exactly one of the two must be set. Emitted as optimization.target_columns in the TS pipeline document.
timestamp_columnstringOptionalName of the timestamp column ordering the series (forecasting only). Emitted as optimization.timestamp_column.
lookback_windowintegerOptionalNumber of past time steps the model reads to produce a forecast (forecasting only). Emitted as optimization.lookback_window.
forecast_windowintegerOptionalNumber of future time steps to predict, the forecast horizon (forecasting only). Emitted as optimization.prediction_horizon.
backtest_numintegerOptionalNumber of backtest folds used to evaluate the forecasting pipelines. Emitted as optimization.num_backtest.
scoringstringOptionalOptimization metric (scorer_for_ranking), e.g. accuracy / roc_auc / neg_root_mean_squared_error. Omit to let AutoAI choose the default for the prediction_type.
holdout_sizefloatOptionalHoldout fraction (0.0–1.0) carried into optimization.holdout_param.
include_only_estimatorsarray<string>OptionalRestrict AutoAI to these estimator names (optional).
t_shirt_sizestringOptionalCompute size for the AutoAI run (cluster default if omitted).
space_idstringOptionalThe space ID scope. Sent in body on create, query param on get/list/delete.
project_idstringOptionalThe project ID scope. Sent in body on create, query param on get/list/delete.
generationintegerOptionalOptional re-run nonce (Kubernetes metadata.generation semantics). Bump this to launch a new run with all other inputs unchanged; it is folded into the identity hash and never sent to the API body. Prior generations are retained.
Computed outputs: id, pipeline_id, state, best_pipeline, leaderboard. Depends on
  • training_datadata_asset (required)
  • space_idspace (optional)
  • project_idproject (optional)
Consumers
  • wml_model.experiment (required)

notebook

A Notebook asset stored in a watsonx.ai project. Runs on SaaS + Software · ID field guid Endpoints
OperationMethodPath
CreatePOST/v2/assets
ReadGET/v2/assets/{guid}
ListGET/v2/asset_types/notebook/search
DeleteDELETE/v2/assets/{guid}
Fields
FieldTypeRequiredDescription
namestringRequiredNotebook name (the .ipynb basename in the project).
source_pathstringRequiredLocal path to the .ipynb file. Resolved against the config file’s directory.
environmentstringOptionalThe notebook runtime environment guid.
project_idstringOptionalThe project ID scope.
Computed outputs: guid, created_at. Depends on
  • environmentenvironment (optional)
  • project_idproject (optional)
Consumers
  • job.asset (optional)

wml_deployment

A WML Deployment creates a live online endpoint from an AI service or model. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/ml/v4/deployments?version=2024-01-01
ReadGET/ml/v4/deployments/{id}?version=2024-01-01
ListGET/ml/v4/deployments?version=2024-01-01
UpdatePATCH/ml/v4/deployments/{id}?version=2024-01-01
DeleteDELETE/ml/v4/deployments/{id}?version=2024-01-01
Fields
FieldTypeRequiredDescription
namestringRequiredDeployment name.
descriptionstringOptionalHuman-readable description.
tagsarray<string>OptionalTags for categorization.
assetstringRequiredID of the asset to deploy. Can reference an ai_service, wml_function, wml_script, wml_model, or a promoted asset_promotion (${asset_promotion.x.id}) resource. Immutable, pointing a deployment at a different asset requires destroy + recreate.
space_idstringOptionalThe space ID scope. Sent in body on create, used as query param on list/get/delete.
project_idstringOptionalThe project ID scope. Sent in body on create, used as query param on list/get/delete.
onlineobjectOptionalOnline deployment configuration. Can be empty ({}) for defaults.
batchobjectOptionalBatch deployment configuration. Can be empty ({}) for defaults. Mutually exclusive with online, a deployment is either online or batch.
hardware_specobjectOptionalHardware specification for the deployment.
customobjectOptionalArbitrary key-value metadata.
Computed outputs: id, created_at, status, scoring_url. Depends on
  • assetai_service (required)
  • assetwml_function (optional)
  • assetwml_script (optional)
  • assetwml_model (optional)
  • assetasset_promotion (optional)
  • space_idspace (optional)
  • project_idproject (optional)
Consumers
  • model.provider_config.watsonx_deployment_id (optional)
  • subscription.asset.asset_id (required)
  • subscription.deployment.deployment_id (required)
Advisories
  • warn (doc_cited, 2026-06-12): A watsonx.ai online deployment (wml_deployment) is scoped to a deployment space, not a project. Using a common_core_project as the deployment container does not work: the deployment, its software specification, and its function all expect a space id, and a project reference cannot supply one. Create the deployable asset and its deployment inside a common_core_space.

wml_function

A Python function asset stored in Watson Machine Learning. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/ml/v4/functions?version=2024-01-01
ReadGET/ml/v4/functions/{id}?version=2024-01-01
ListGET/ml/v4/functions?version=2024-01-01
UpdatePATCH/ml/v4/functions/{id}?version=2024-01-01
DeleteDELETE/ml/v4/functions/{id}?version=2024-01-01
Fields
FieldTypeRequiredDescription
namestringRequiredFunction name.
descriptionstringOptionalHuman-readable description.
tagsarray<string>OptionalTags for categorization.
software_specstringRequiredSoftware specification ID. References a software_specification asset.
space_idstringOptionalThe space ID scope. Sent in body on create, used as query param on list/get/delete.
project_idstringOptionalThe project ID scope. Sent in body on create, used as query param on list/get/delete.
customobjectOptionalArbitrary key-value metadata.
source_pathstringOptionalLocal path to Python source file. Used by the post_create hook to upload code.
Computed outputs: id, created_at. Depends on
  • software_specsoftware_specification (required)
  • space_idspace (optional)
  • project_idproject (optional)
Consumers
  • model_tracking.model (optional)
  • wml_deployment.asset (optional)

wml_model

A WML Model materializes the winning pipeline of a completed AutoAI experiment as a deployable wml-hybrid_0.1 model. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/ml/v4/models?version=2024-01-01
ReadGET/ml/v4/models/{id}?version=2024-01-01
ListGET/ml/v4/models?version=2024-01-01
DeleteDELETE/ml/v4/models/{id}?version=2024-01-01
Fields
FieldTypeRequiredDescription
namestringRequiredModel name (shown in the space catalog; the deployable asset name).
experimentstringRequiredTraining id of the completed autoai_experiment whose winning pipeline is materialized. The handler reads its results_reference + leaderboard.
pipeline_namestringOptionalWhich AutoAI pipeline to materialize. best (default) resolves to the top-ranked leaderboard pipeline node; an explicit Pipeline_N selects a specific node.
space_idstringOptionalThe space ID scope. Sent in body on create, query param on get/list/delete.
project_idstringOptionalThe project ID scope. Sent in body on create, query param on get/list/delete.
Computed outputs: id, model_type, pipeline_node, created_at. Depends on
  • experimentautoai_experiment (required)
  • space_idspace (optional)
  • project_idproject (optional)
Consumers
  • model_tracking.model (required)
  • wml_deployment.asset (optional)

wml_script

A Python script asset stored in Watson Machine Learning. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/ml/v4/functions?version=2024-01-01
ReadGET/ml/v4/functions/{id}?version=2024-01-01
ListGET/ml/v4/functions?version=2024-01-01
UpdatePATCH/ml/v4/functions/{id}?version=2024-01-01
DeleteDELETE/ml/v4/functions/{id}?version=2024-01-01
Fields
FieldTypeRequiredDescription
namestringRequiredScript name.
descriptionstringOptionalHuman-readable description.
tagsarray<string>OptionalTags for categorization.
software_specstringRequiredSoftware specification ID. References a software_specification asset.
space_idstringOptionalThe space ID scope. Sent in body on create, used as query param on list/get/delete.
project_idstringOptionalThe project ID scope. Sent in body on create, used as query param on list/get/delete.
customobjectOptionalArbitrary key-value metadata.
source_pathstringOptionalLocal path to Python source file. Used by the post_create hook to upload code.
Computed outputs: id, created_at. Depends on
  • software_specsoftware_specification (required)
  • space_idspace (optional)
  • project_idproject (optional)
Consumers
  • wml_deployment.asset (optional)