Update and Delete Auditor Configuration#

Update a Configuration#

To update an audit configuration, you send a PATCH request to the /v1beta1/audit/configs endpoint.

client.audit.configs.update(
    name="demo-basic-config",
    workspace="default",
    description="Updated description",
    system={
        "parallel_attempts": 10,
        "lite": False
    },
    plugins={
        "probe_spec": "ansiescape"
    }
)
curl -X PATCH "${AUDITOR_BASE_URL}/v2/workspaces/default/audit/configs/demo-basic-config" \
	-H "Accept: application/json" \
	-H "Content-Type: application/json" \
	-d '{
    "description": "Updated description",
    "system": {
      "parallel_attempts": 10,
      "lite": false
    },
    "plugins": {
      "probe_spec": "ansiescape"
    }
  }' | jq

Delete a Configuration#

To delete an audit configuration, you send a DELETE request to the /v1beta1/audit/configs endpoint.

client.audit.configs.delete(
    name="demo-basic-config",
    workspace="default"
)
curl -X DELETE "${AUDITOR_BASE_URL}/v2/workspaces/default/audit/configs/demo-basic-config" \
	-H "Accept: application/json"

View Configuration History#

To view the configuration history, you send a GET request to the /v1beta1/audit/configs/<namespace>/<config-name>/versions endpoint.

You can compare the updated_at fields to determine the most recent version or you can compare the id and entity_id fields. The object with matching id and entity_id fields is the latest version.

import os
from nemo_microservices import NeMoMicroservices

client = NeMoMicroservices(base_url=os.getenv("AUDITOR_BASE_URL"))

versions = client.audit.configs.list_versions(
    name="demo-basic-config",
    workspace="default"
)
print(versions.model_dump_json(indent=2))
	curl -X GET "${AUDITOR_BASE_URL}/v2/workspaces/default/audit/configs/demo-basic-config/versions" \
		-H "Accept: application/json" | jq

Example Output

{
  "data": [
    {
      "id": "audit-config-QDQYQYumzYqDxRGTNiP1t6",
      "created_at": "2026-01-20T17:11:24.607793Z",
      "entity_id": "audit-config-QDQYQYumzYqDxRGTNiP1t6",
      "parent": null,
      "updated_at": "2026-01-20T17:11:24.607793Z",
      "workspace": "default",
      "description": "Basic demonstration configuration",
      "name": "demo-basic-config",
      "plugins": {
        "buff_max": null,
        "buff_spec": null,
        "buffs": {},
        "buffs_include_original_prompt": false,
        "detector_spec": "auto",
        "detectors": {},
        "extended_detectors": false,
        "generators": {},
        "harnesses": {},
        "model_name": null,
        "model_type": null,
        "probe_spec": "dan.AutoDANCached,goodside.Tag",
        "probes": {}
      },
      "project": null,
      "reporting": {
        "report_dir": "garak_runs",
        "report_prefix": "run1",
        "show_100_pass_modules": true,
        "taxonomy": null
      },
      "run": {
        "deprefix": true,
        "eval_threshold": 0.5,
        "generations": 7,
        "probe_tags": null,
        "seed": null,
        "user_agent": "garak/{version} (LLM vulnerability scanner https://garak.ai)"
      },
      "system": {
        "enable_experimental": false,
        "lite": true,
        "narrow_output": false,
        "parallel_attempts": 20,
        "parallel_requests": false,
        "show_z": false,
        "verbose": 0
      }
    }
  ],
  "pagination": {
    "current_page_size": 1,
    "page": 1,
    "page_size": 100,
    "total_pages": 1,
    "total_results": 1
  }
}
{
  "data": [
    {
      "name": "demo-basic-config",
      "workspace": "default",
      "project": null,
      "description": "Updated description",
      "system": {
        "verbose": 0,
        "narrow_output": false,
        "parallel_requests": false,
        "parallel_attempts": 10,
        "lite": false,
        "show_z": false,
        "enable_experimental": false
      },
      "run": {
        "seed": null,
        "deprefix": true,
        "eval_threshold": 0.5,
        "generations": 7,
        "probe_tags": null,
        "user_agent": "garak/{version} (LLM vulnerability scanner https://garak.ai)"
      },
      "plugins": {
        "model_type": null,
        "model_name": null,
        "probe_spec": "ansiescape",
        "detector_spec": "auto",
        "extended_detectors": false,
        "buff_spec": null,
        "buffs_include_original_prompt": false,
        "buff_max": null,
        "detectors": {},
        "generators": {},
        "buffs": {},
        "harnesses": {},
        "probes": {}
      },
      "reporting": {
        "report_prefix": "run1",
        "taxonomy": null,
        "report_dir": "garak_runs",
        "show_100_pass_modules": true
      },
      "id": "audit-config-9nJZT4xH3ongojKHQ24gcb",
      "created_at": "2026-01-20T19:59:48.628245Z",
      "updated_at": "2026-01-20T19:59:48.628245Z",
      "entity_id": "audit-config-9nJZT4xH3ongojKHQ24gcb",
      "parent": null
    }
  ],
  "pagination": {
    "page": 1,
    "page_size": 100,
    "current_page_size": 1,
    "total_pages": 1,
    "total_results": 1
  }
}