---
title: "List Agent Smith catalog techniques (admin console)."
method: GET
path: "/smith/techniques"
tags: ["Dojo"]
---

# List Agent Smith catalog techniques (admin console).

`GET /smith/techniques`

## Request

- Base URL: `https://api.mnemom.ai/v1`
- URL: `https://api.mnemom.ai/v1/smith/techniques`
- Auth: HTTP bearer

Returns the global Agent Smith technique catalog as faceted summary rows for the /admin/agent-smith Library tab. Supports eq. filters on tactic, threat_type, target_surface, status, severity, and origin. `tactic_order` is server-computed from the ladder-tier ordering. Admin-only (Mnemom staff / org owner-admin) — internal red-team tradecraft. MNE-813.

## Query parameters

- `tactic` 'pretext' | 'authority-spoof' | 'injection' | 'rationalized-destruction' | 'exfiltration'
- `threat_type` string
- `target_surface` 'read' | 'write'
- `status` 'experimental' | 'test' | 'stable' | 'deprecated' | 'retired' | 'rejected'
- `severity` 'low' | 'medium' | 'high' | 'critical'
- `origin` 'seed' | 'evolved' | 'human-as-smith'

## Response `200`

The faceted technique summary list.

- object
  - `techniques` object[], required
    - `id` string, required
    - `slug` string, required
    - `name` string, required
    - `tactic` 'pretext' | 'authority-spoof' | 'injection' | 'rationalized-destruction' | 'exfiltration', required
    - `tactic_order` integer, required: Ladder-tier ordering (1..5).
    - `threat_type` string
    - `target_surface` 'read' | 'write', required: read = leak, write = destructive.
    - `status` 'experimental' | 'test' | 'stable' | 'deprecated' | 'retired' | 'rejected', required
    - `severity` 'low' | 'medium' | 'high' | 'critical'
    - `origin` 'seed' | 'evolved' | 'human-as-smith'
    - `evo_version` integer
    - `atlas_tags` string[]
    - `owasp_tags` string[]
    - `modified` string
    - `confidence` number, nullable: Wilson lower-bound confidence of the measured efficacy; null when unmeasured.
    - `efficacy` number, nullable: Raw measured range breach rate (breaches/trials); null when unmeasured.
    - `efficacy_trials` integer, nullable: Range trials behind confidence/efficacy; null when unmeasured.

## Other responses

- `401`: Authentication required
- `403`: Forbidden
- `429`: Rate-limit exceeded. The global per-IP limiter (100 requests/minute, applied to every `/v1/*` route) rejected this request. Back off until the window resets — `Retry-After` carries the cooldown in seconds and `X-RateLimit-Reset` the absolute reset time.
- `500`: Server error — request was well-formed but the server failed to fulfill it. Typically a downstream dependency (DB / RPC / external API) returned an unexpected error.

---

[API](https://skmtc.dev/mnemom/apis/mnemom-api.md) · [All operations](https://skmtc.dev/mnemom/apis/mnemom-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mnemom/apis/mnemom-api/revisions/274b7a6ea182?raw)
