Endpoint Scans
Configure and scan deployed HTTP agents.
Endpoint configurations
| Method | Returns |
|---|---|
endpointConfigs.create(input) | { id: string } |
endpointConfigs.list(workspaceId?) | AgentConfigListResponse |
endpointConfigs.update(configId, input) | { success: boolean } |
endpointConfigs.delete(configId) | { success: boolean } |
interface AgentConfigInput {
name: string; // up to 200 characters
endpointUrl: string;
authMethod?: "none" | "bearer" | "api_key" | "custom_header";
authValue?: string; // write-only
authHeaderName?: string; // required for custom_header
requestFormat?: AgentRequestFormat;
description?: string;
tools?: AgentTool[];
plantedSecret?: string; // write-only canary, 8-200 characters with a digit or separator
workspaceId?: string; // create only
}AgentConfig, returned by list(), omits authValue and plantedSecret and reports authValueConfigured and plantedSecretConfigured instead.
update() replaces the whole configuration except authValue and plantedSecret, which retain their stored values when omitted. Set plantedSecret: "" to clear the canary. See plant a canary.
plantedSecret and plantedSecretConfigured are typed in @zeroleaks/sdk 0.3.0 or later. Version 0.2.2 sends the configuration unchanged, so plantedSecret reaches the API but requires a type cast.
Endpoint scans
| Method | Returns |
|---|---|
endpointScans.create(configId) | Scan and workflow identifiers |
endpointScans.get(scanId, signal?) | AgentScanResult |
endpointScans.list(workspaceId?) | AgentScanListResponse |
endpointScans.wait(scanId, options?) | AgentScanResult |
endpointScans.run(configId, options?) | Completed AgentScanResult |
endpointScans.cancel(scanId) | { success: boolean } |
AgentScanResult is { scan, config, report }. report is null until the scan completes and then holds an agent report; see reports. Endpoint scans take no scan options and always run full coverage.
The older agentConfigs and agentScans names call the same API objects.