ZeroLeaksDocs
API Reference

Endpoint Scans

Configure and scan deployed HTTP agents.

Endpoint configurations

MethodReturns
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

MethodReturns
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.

On this page