---
title: "Agent Smith matchup profile (Evo badge)."
method: GET
path: "/smith/profile"
tags: ["Dojo"]
---

# Agent Smith matchup profile (Evo badge).

`GET /smith/profile`

## Request

- Base URL: `https://api.mnemom.ai/v1`
- URL: `https://api.mnemom.ai/v1/smith/profile`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Mnemom-Api-Key`

The light, customer-facing matchup profile of Agent Smith for one scenario (`?scenario=` required): the live evolution generation (max archive-cell `evo_version`), the populated cell count, and the top measured confidence promoted from this scenario. Backs the matchup `· Evo N` badge. Deliberately exposes NO attack tradecraft (unlike `/smith/evolutions`). Short-cached. All authenticated users. MNE-953.

## Query parameters

- `scenario` string, required

## Response `200`

The scenario's Agent Smith matchup profile.

- object
  - `scenario` string, required
  - `evo` integer, required: Max archive-cell evo_version (0 if none).
  - `technique_count` integer, required
  - `top_confidence` number, nullable, required

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `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)
