> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mnemom.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Embeddable Trust Badges

> Add trust signals to your README, website, Agent Card, or documentation with dynamic SVG badges showing your agent's Mnemom Trust Rating™.

**Display your agent's Mnemom Trust Rating anywhere.** Dynamic SVG badges that update automatically, suitable for GitHub READMEs, websites, documentation, A2A Agent Cards, and package registries.

```
┌───────────────────────────────────────────────┐
│  grade (default): [ Trust Score | BBB ]        │
│  score:           [ Trust Score | 782 ]        │
│  score_grade:     [ Trust Score | BBB 782 ]     │
│  score_trend:     [ Trust Score | BBB 782 ↑ ]   │
│  score_tier:      [ Mnemom Trust | 782 Developing ] │
│  compact:         [ BBB ]                      │
└───────────────────────────────────────────────┘
```

Badges are served as SVGs from a public endpoint. No authentication required.

***

## Badge endpoint

```
GET https://api.mnemom.ai/v1/reputation/{agent_id}/badge.svg?variant={variant}&style={style}
```

| Parameter | Type | Required | Description |
| - | - | - | - |
| `agent_id` | path | Yes | The agent identifier |
| `variant` | query | No | Badge variant (default: `grade`) |
| `style` | query | No | `light` (default) or `dark` -- changes only the label background color |

**Response:** `image/svg+xml` with `Cache-Control: public, max-age=3600, s-maxage=3600` (1-hour cache).

***

## Badge variants

Every variant except `score_tier` uses the label "Trust Score"; `score_tier` alone uses "Mnemom Trust". The tier name shown by `score_tier` comes from the canonical grade/tier table (e.g. `BBB` → `Developing`) -- see [Score range and grades](/concepts/reputation-scores#score-range-and-grades).

### `grade` (default)

Displays the letter grade only.

```
[ Trust Score | BBB ]
```

```
https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=grade
```

### `score`

Displays the numeric score only.

```
[ Trust Score | 782 ]
```

```
https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score
```

### `score_grade`

Displays the grade followed by the numeric score.

```
[ Trust Score | BBB 782 ]
```

```
https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score_grade
```

### `score_tier`

Displays the numeric score with the human-readable tier label, under the "Mnemom Trust" label instead of "Trust Score".

```
[ Mnemom Trust | 782 Developing ]
```

Best for: marketing pages, product listings, anywhere non-technical audiences will see it.

```
https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score_tier
```

### `score_trend`

Displays the grade and score with a directional trend arrow showing 30-day movement.

```
[ Trust Score | BBB 782 ↑ ]
```

Best for: dashboards, monitoring pages, anywhere trajectory matters.

```
https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score_trend
```

Trend arrows:

* **↑** (up arrow): Score improved over the past 30 days
* **↓** (down arrow): Score declined over the past 30 days
* **→** (right arrow): Score unchanged

### `compact`

Displays only the letter grade, no label -- **not** the numeric score.

```
[ BBB ]
```

Best for: tight layouts, inline badges, status bars.

```
https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=compact
```

### Pre-eligible agents

Agents that have not yet reached the 50-checkpoint minimum display a progress badge instead of a score, regardless of the requested `variant`:

```
[ Trust Score | Building 23/50 ]
```

This badge automatically transitions to the requested variant once the agent becomes eligible.

### Private agents

Agents whose reputation `visibility` is set to `private` display a generic badge rather than leaking a score:

```
[ Trust Score | Private ]
```

### Not rated agents

Agents with no reputation record at all (never registered, or not yet computed) display a neutral "Not Rated" badge instead of a broken image:

```
[ Trust Score | Not Rated ]
```

This ensures badge embeds degrade gracefully.

```
https://api.mnemom.ai/v1/reputation/unknown-agent/badge.svg
```

<Info>
  The "Not Rated", "Building", and "Private" badges are all returned with the same `Cache-Control` header as scored badges. Once an agent is registered, becomes eligible, or is made public, the badge automatically updates.
</Info>

***

## Embed code

### GitHub README (Markdown)

The most common use case. Add a clickable badge that links to the agent's reputation page.

```markdown theme={null}
[![Mnemom Trust Rating](https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score)](https://www.mnemom.ai/agents/agent-xyz/reputation)
```

With tier label:

```markdown theme={null}
[![Mnemom Trust Rating](https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score_tier)](https://www.mnemom.ai/agents/agent-xyz/reputation)
```

### HTML websites

Standard HTML embed with link to the full reputation page.

```html theme={null}
<a href="https://www.mnemom.ai/agents/agent-xyz/reputation"
   target="_blank"
   rel="noopener">
  <img
    src="https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score"
    alt="Mnemom Trust Rating"
  />
</a>
```

### React / JSX

```jsx theme={null}
function TrustBadge({ agentId }) {
  const badgeUrl = `https://api.mnemom.ai/v1/reputation/${agentId}/badge.svg?variant=score`;
  const pageUrl = `https://www.mnemom.ai/agents/${agentId}/reputation`;

  return (
    <a href={pageUrl} target="_blank" rel="noopener noreferrer">
      <img src={badgeUrl} alt="Mnemom Trust Rating" />
    </a>
  );
}
```

### A2A Agent Cards

Add a `trust` block to your A2A Agent Card for programmatic trust discovery:

```json theme={null}
{
  "id": "agent-xyz",
  "name": "My Agent",
  "skills": ["..."],
  "trust": {
    "provider": "mnemom",
    "score": 782,
    "grade": "A",
    "verified_url": "https://api.mnemom.ai/v1/reputation/agent-xyz/verify",
    "badge_url": "https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg"
  }
}
```

Other agents can programmatically read the `trust` block to make delegation decisions. See [Reputation in A2A Agent Cards](/protocols/aap/a2a-integration#reputation-in-a2a-agent-cards) for the full integration guide.

<Warning>
  The `score` and `grade` in the A2A trust block are static snapshots that may become stale. Consumers SHOULD verify by fetching the `verified_url` for the latest score. The `badge_url` always returns the current score.
</Warning>

### npm / PyPI package READMEs

For agents distributed as packages, add the badge to your package README:

**npm (package.json README):**

```markdown theme={null}
## Trust Rating

This agent is verified by [Mnemom](https://mnemom.ai):

[![Mnemom Trust Rating](https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score_tier)](https://www.mnemom.ai/agents/agent-xyz/reputation)
```

**PyPI (setup.cfg / pyproject.toml README):**

```markdown theme={null}
## Trust Rating

[![Mnemom Trust](https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score)](https://www.mnemom.ai/agents/agent-xyz/reputation)

Independently verified Mnemom Trust Rating. [Learn more](https://docs.mnemom.ai/concepts/reputation-scores).
```

### Documentation sites

For Mintlify, Docusaurus, GitBook, or other documentation platforms:

```markdown theme={null}
## Trust Verification

This agent maintains a public Mnemom Trust Rating:

[![Mnemom Trust Rating](https://api.mnemom.ai/v1/reputation/agent-xyz/badge.svg?variant=score_trend)](https://www.mnemom.ai/agents/agent-xyz/reputation)

The score is computed from independently verified integrity checkpoints.
See the [scoring methodology](https://docs.mnemom.ai/protocols/aap/reputation-methodology) for details.
```

### Slack / Teams bot profiles

For conversational agents deployed in Slack or Microsoft Teams:

1. Use the `compact` variant for profile images or status indicators
2. Include the full reputation URL in the bot's profile description
3. Reference the score in bot introduction messages:

```
Hi, I'm AgentBot. My Mnemom Trust Rating is 782/1000 (A - Reliable).
Verify: https://www.mnemom.ai/agents/agent-xyz/reputation
```

***

## Caching behavior

Badges are cached at multiple levels:

| Layer | TTL | Description |
| - | - | - |
| CDN / browser cache | 60 minutes | `Cache-Control: public, max-age=3600, s-maxage=3600` on the SVG response |
| Badge-generation cache | 5 minutes | Internal cache of the generated SVG, keyed by agent + variant + style |

**Implication:** After a score change, badges may take up to 60 minutes to reflect the new value. This is intentional -- frequent badge updates would increase CDN costs without meaningful benefit (scores change incrementally).

For real-time score data, use the API endpoint directly:

```bash theme={null}
curl https://api.mnemom.ai/v1/reputation/agent-xyz
```

***

## Dark and light mode

The `style` query parameter (`light` or `dark`) changes only the **label** background -- medium gray for `light` (the default), darker gray for `dark`. The **value** side is always colored by grade, regardless of `style`:

| Grade Range | Badge Color |
| - | - |
| AAA, AA, A | Green |
| BBB, BB | Amber |
| B | Orange |
| CCC | Red |
| NR | Gray |

<Tip>
  If the default badge styling does not work on your background, you can use the API response to render a custom badge. Fetch `GET /v1/reputation/{agent_id}` and use the `grade`, `score`, and `tier` fields to render your own component.
</Tip>

***

## Team badges

Teams have their own badge endpoint that works identically to agent badges:

```
GET https://api.mnemom.ai/v1/teams/{team_id}/badge.svg?variant={variant}
```

| Parameter | Type | Required | Description |
| - | - | - | - |
| `team_id` | path | Yes | The team identifier |
| `variant` | query | No | Badge variant (default: `grade`) |
| `style` | query | No | `light` (default) or `dark` |

**Available variants:** `score`, `grade`, `score_grade`, `score_trend`, `score_tier`, `compact`

| Variant | Display |
| - | - |
| `score` | `[ Team Trust \| 812 ]` |
| `grade` | `[ Team Trust \| AA ]` |
| `score_grade` | `[ Team Trust \| AA 812 ]` |
| `score_trend` | `[ Team Trust \| AA 812 ↑ ]` |
| `score_tier` | `[ Mnemom Team \| 812 Established ]` |
| `compact` | `[ AA ]` |

Pre-eligible teams (fewer than 10 assessments) show a progress badge instead of a score:

```
[ Team Trust | Building 4/10 ]
```

Teams need only 10 team risk assessments for eligibility (vs. 50 integrity checkpoints for individual agents).

**Markdown:**

```markdown theme={null}
[![Team Trust Rating](https://api.mnemom.ai/v1/teams/team-abc123/badge.svg?variant=score)](https://www.mnemom.ai/teams/team-abc123/reputation)
```

**HTML:**

```html theme={null}
<a href="https://www.mnemom.ai/teams/team-abc123/reputation">
  <img src="https://api.mnemom.ai/v1/teams/team-abc123/badge.svg?variant=score" alt="Team Trust Rating" />
</a>
```

**React:**

```jsx theme={null}
function TeamBadge({ teamId }) {
  const badgeUrl = `https://api.mnemom.ai/v1/teams/${teamId}/badge.svg?variant=score`;
  const pageUrl = `https://www.mnemom.ai/teams/${teamId}/reputation`;

  return (
    <a href={pageUrl} target="_blank" rel="noopener noreferrer">
      <img src={badgeUrl} alt="Team Trust Rating" />
    </a>
  );
}
```

Team badges use the same caching behavior as agent badges (1-hour CDN/browser cache, 5-minute internal regeneration cache).

***

## GitHub Action: CI/CD reputation gates

[`mnemom/reputation-check`](https://github.com/mnemom/reputation-check) is a GitHub Action that gates a workflow step on an agent's minimum reputation score. See the action's repository for current inputs, outputs, and a usage example -- it is a separate open-source project from this API, so its exact interface is versioned independently.

<Tip>
  Combine the reputation check with deployment protection rules to prevent deploying agents that have dropped below your organization's trust threshold.
</Tip>

***

## One-click copy from dashboard

The easiest way to get embed code is from your agent's reputation page:

1. Navigate to your agent's dashboard
2. Click the reputation score card
3. Click "Embed Badge"
4. Select a variant and format
5. Click copy -- the embed code is on your clipboard

The embed modal supports all badge variants and four formats (Markdown, HTML, React, A2A).

***

## See also

* [Understanding Reputation Scores](/concepts/reputation-scores) -- What the score means
* [Improving Your Agent's Reputation](/guides/improving-reputation) -- How to improve it
* [Scoring Methodology](/concepts/reputation-scores) -- Full technical specification
* [Reputation API Overview](/api-reference/reputation-overview) -- API reference for all endpoints
* [A2A Integration](/protocols/aap/a2a-integration) -- Trust block in Agent Cards


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.