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

inventory

An inventory is an AI Factsheets model inventory: a governance catalog that holds the model use cases tracked for an organization. Runs on SaaS + Software · ID field guid Endpoints
OperationMethodPath
CreatePOST/v1/aigov/inventories
ReadGET/v1/aigov/inventories/{guid}
ListGET/v1/aigov/inventories
UpdatePATCH/v1/aigov/inventories/{guid}
DeleteDELETE/v1/aigov/inventories/{guid}?delete_bucket=true
Fields
FieldTypeRequiredDescription
namestringRequiredInventory (catalog) display name.
descriptionstringOptionalInventory description.
generatorstringOptionalIdentifier of the component that generated the inventory. The factsheets create forwards this to the underlying /v2/catalogs API, which REQUIRES it (“Catalog Generator”) even though the inventories OpenAPI marks it optional, so it defaults to ‘wxctl’ (mirrors the catalog kind’s generator field).
bss_account_idstringOptionalAccount scoping, sent on create, not part of drift state.
is_governedbooleanOptionalWhether the inventory enforces governance.
bucketobjectRequiredCOS bucket backing the inventory catalog. The factsheets create forwards this to the underlying /v2/catalogs API, which REQUIRES it (“BUCSV3009E: Bucket must be Provided”) even though the inventories OpenAPI marks it optional. ‘assetfiles’ is the platform-managed internal store, needing only a bucket_name and no external credentials (mirrors the catalog kind’s bucket). Create-time input, excluded from state_fields, so it is not part of drift comparison.
Computed outputs: metadata, entity, guid. Consumers
  • model_entry.catalog_id (required)
  • model_tracking.catalog_id (optional)
  • model_tracking.model_entry_catalog_id (optional)

model_entry

A model entry is an AI Factsheets model use case that groups the tracked models, deployments, and factsheets for one business problem within a model inventory. Runs on SaaS + Software · ID field asset_id Endpoints
OperationMethodPath
CreatePOST/v1/aigov/model_inventory/model_entries
ReadGET/v1/aigov/model_inventory/model_entries/{asset_id}
ListGET/v1/aigov/model_inventory/model_entries
UpdatePATCH/v1/aigov/model_inventory/model_entries/{asset_id}
DeleteDELETE/v1/aigov/model_inventory/model_entries/{asset_id}
Fields
FieldTypeRequiredDescription
catalog_idstringRequiredGUID of the inventory/catalog this model use case belongs to. The factsheets model_entries API requires it as a query parameter on EVERY operation (create, get, update, delete), not just create, so it is modelled as location: Query (appended to all requests) rather than a create-only body field.
namestringRequiredDisplay name of the model entry / AI use case.
descriptionstringOptionalDescription of the model entry.
Computed outputs: metadata, entity, href. Depends on
  • catalog_idinventory (required)
Consumers
  • model_tracking.model_entry (required)

model_tracking

Associates a trained Watson Machine Learning model (incl. AutoAI) with a governance model_entry (AI use case) so the model is tracked in a model inventory. Runs on SaaS + Software · ID field id Endpoints
OperationMethodPath
CreatePOST/v1/aigov/model_inventory/models/{model}/model_entry
ReadGET/v1/aigov/model_inventory/models/{model}/model_entry
DeleteDELETE/v1/aigov/model_inventory/models/{model}/model_entry
Fields
FieldTypeRequiredDescription
modelstringRequiredWML model asset id to track. Fills the {model} path segment. References wml_model.id → DAG edge so tracking runs after the model. also_allows wml_function (a stored deployable function) and asset_promotion (track the project-side model via ${asset_promotion.x.source_asset_id} in the develop stage; mirrors wml_deployment.asset).
model_entrystringRequiredTarget model_entry (AI use case) asset id. Sent in the create body as model_entry_asset_id. References model_entry.asset_id → DAG edge.
model_entry_catalog_idstringRequiredCatalog/inventory the model_entry lives in. Sent in the create body and used as the required catalog_id query on the existence-check GET. References inventory.guid; reference is optional so SaaS can pass ${env:WXCTL_INVENTORY_ID} (no inventory resource).
space_idstringOptionalDeployment space the MODEL lives in (one of space_id/project_id/catalog_id).
project_idstringOptionalProject the MODEL lives in (alt scope).
catalog_idstringOptionalCatalog the MODEL lives in (alt scope). Distinct from model_entry_catalog_id (where the use case lives).
version_numberstringOptionalTracked version number. The API requires a number; defaults to 1.0.0.
version_commentstringOptionalOptional version comment.
approach_idstringOptionalOptional approach id; omit to use the use case’s default approach.
Computed outputs: id. Depends on
  • modelwml_model (required)
  • modelwml_function (optional)
  • modelasset_promotion (optional)
  • model_entrymodel_entry (required)
  • model_entry_catalog_idinventory (optional)
  • space_idspace (optional)
  • project_idproject (optional)
  • catalog_idinventory (optional)