---
title: "Audit asset namespace invariants"
method: GET
path: "/api/assets/key-audit"
tags: ["Assets"]
---

# Audit asset namespace invariants

`GET /api/assets/key-audit`

Operator-only check for structural key validity, personal-user references, and logical provider mapping drift. Repeated logical keys are valid and are never reported as conflicts.

## Response `200`

Asset namespace audit result

- object
  - `ok` boolean, required
  - `structuralValid` boolean, required
  - `checked` integer, required
  - `fatalCount` integer, required
  - `warningCount` integer, required
  - `issues` object[], required
    - `severity` 'fatal' | 'warning', required
    - `code` 'missing-key' | 'noncanonical-key' | 'unknown-personal-user' | 'missing-provider-mapping' | 'provider-mapping-drift', required
    - `entityType` 'task' | 'workflow' | 'schedule' | 'page' | 'app' | 'script' | 'file', required
    - `entityId` string, required
    - `message` string, required

## Other responses

- `403` — Operator access required

---

[API](https://skmtc.net/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.net/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/versions/ef761849166b/schema)
