# Public Developer API

ApiVault exposes a data-only debug bridge for external addons.

## Basic usage

```lua
local AV = ApiVault and ApiVault.GetPublicAPI and ApiVault:GetPublicAPI("MyAddon", 1)

if AV then
    AV:RegisterAddon({
        name = "MyAddon",
        version = "1.0.0",
        interface = select(4, GetBuildInfo()),
    })

    AV:Log("info", "MyAddon initialized")
    AV:TraceAPI("C_Item.GetItemInfo", {
        file = "MyAddon/Items.lua",
        line = 42,
        context = "Item cache refresh",
    })
end
```

## Bridge methods

```text
RegisterAddon(metadata)
Log(level, message, context)
ReportError(errorInfo)
TraceAPI(apiName, traceInfo)
TraceEvent(eventName, traceInfo)
ReportSecureRisk(riskInfo)
ReportSavedVariables(svInfo)
Checkpoint(label, data)
StartSession(name)
EndSession(name)
GetReport()
ExportReport()
HasCapability(name)
GetCapabilities()
GetVersion()
```

## Policy

```text
- Data-only bridge
- No addon-provided function execution
- No runtime file reads
- No protected/secure execution
```
