Mnemom Trust Rating API
The Trust Rating API provides programmatic access to Mnemom Trust Ratings, historical trends, embeddable badges, directory search, bulk lookups, and aggregate benchmarks. All reputation data is computed from independently verified AIP integrity checkpoints. Base URL:https://api.mnemom.ai/v1/reputation
Authentication
| Endpoint | Auth Required | Notes |
|---|---|---|
GET /v1/reputation/{agent_id} | No | Public score retrieval |
GET /v1/reputation/{agent_id}/history | No | Public history |
GET /v1/reputation/{agent_id}/badge.svg | No | Public badge |
GET /v1/reputation/{agent_id}/verify | No | Cryptographic verification |
POST /v1/reputation/batch | API key | Bulk score retrieval |
GET /v1/reputation/search | API key | Directory search |
GET /v1/reputation/compare | API key | Side-by-side comparison |
GET /v1/reputation/benchmarks | No | Aggregate statistics |
Authorization header:
POST /v1/api-keys.
Rate Limits
| Endpoint | Rate Limit | Window |
|---|---|---|
GET /reputation/{agent_id} | 100 requests | per minute |
GET /reputation/{agent_id}/history | 60 requests | per minute |
GET /reputation/{agent_id}/badge.svg | 300 requests | per minute |
GET /reputation/{agent_id}/verify | 30 requests | per minute |
POST /reputation/batch | 30 requests | per minute |
GET /reputation/search | 60 requests | per minute |
GET /reputation/compare | 60 requests | per minute |
GET /reputation/benchmarks | 30 requests | per minute |
429 with a Retry-After header.
Endpoints
GET /v1/reputation/
Retrieve the full reputation score for an agent, including all five component scores, trend data, and confidence level. Parameters:| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
agent_id | path | string | Yes | Agent identifier |
200 OK
| Field | Type | Description |
|---|---|---|
agent_id | string | Agent identifier |
score | number | Composite score (0 — 1000) |
grade | string | Letter grade: AAA, AA, A, BBB, BB, B, CCC, or NR |
tier | string | Human-readable tier label |
is_eligible | boolean | Whether the agent has met the 50-checkpoint minimum |
checkpoint_count | number | Total analyzed checkpoints |
confidence | string | insufficient, low, medium, or high |
components | array | Five component scores with keys, weights, and factors |
computed_at | string | ISO 8601 timestamp of last computation |
trend_30d | number | Signed delta vs. 30 days ago |
visibility | string | public, unlisted, or private |
a2a_trust_extension | object | Pre-built trust block for A2A Agent Cards |
a2a_trust_extension object:
| Field | Type | Description |
|---|---|---|
provider | string | Trust provider identifier (always "mnemom") |
score | number | Current reputation score |
grade | string | Current letter grade |
verified_url | string | API endpoint returning the full reputation response |
badge_url | string | Dynamic SVG badge URL |
verify_url | string | Cryptographic verification endpoint |
| Field | Type | Description |
|---|---|---|
key | string | Component identifier |
label | string | Human-readable name |
score | number | Component score (0 — 1000) |
weight | number | Weight in composite formula (0 — 1) |
weighted_score | number | score * weight contribution to composite |
factors | string[] | Human-readable factors affecting this component |
| Status | Meaning |
|---|---|
404 | Agent not found |
GET /v1/reputation//history
Retrieve weekly reputation snapshots for trend analysis. Parameters:| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
agent_id | path | string | Yes | Agent identifier |
200 OK
| Field | Type | Description |
|---|---|---|
week_start | string | ISO date for the start of the snapshot week (Sunday) |
score | number | Composite score at time of snapshot |
grade | string | Letter grade at time of snapshot |
checkpoint_count | number | Cumulative checkpoint count at snapshot time |
components | object | Component scores keyed by component identifier |
GET /v1/reputation//badge.svg
Dynamic SVG badge showing the agent’s current reputation score. Parameters:| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
agent_id | path | string | Yes | Agent identifier |
variant | query | string | No | Badge variant: score (default), score_tier, score_trend, compact |
200 OK with Content-Type: image/svg+xml
| Variant | Display |
|---|---|
score | [ Mnemom Trust | 782 ] |
score_tier | [ Mnemom Trust | 782 Established ] |
score_trend | [ Mnemom Trust | 782 ↑ ] |
compact | [ 782 ] |
GET /v1/reputation//verify
Cryptographic verification of a reputation score. Returns the proof chain that independently confirms the score was computed from authentic, tamper-evident integrity checkpoints. Parameters:| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
agent_id | path | string | Yes | Agent identifier |
200 OK
| Field | Type | Description |
|---|---|---|
agent_id | string | Agent identifier |
score | number | Composite score at time of verification |
grade | string | Letter grade at time of verification |
verified | boolean | Whether the proof chain validates successfully |
verification | object | Cryptographic proof chain details |
computed_at | string | ISO 8601 timestamp of score computation |
verification object:
| Field | Type | Description |
|---|---|---|
certificate_hash | string | SHA-256 hash of the latest integrity certificate covering this agent’s checkpoints |
merkle_root | string | Merkle tree root hash over all analyzed checkpoints |
hash_chain_valid | boolean | Whether the hash chain linking consecutive checkpoints is intact and tamper-free |
checkpoint_count | number | Number of checkpoints included in the proof |
latest_checkpoint_id | string | ID of the most recent checkpoint in the chain |
latest_checkpoint_at | string | Timestamp of the most recent checkpoint |
proof_generated_at | string | When this proof was generated |
| Status | Meaning |
|---|---|
404 | Agent not found |
422 | Agent has insufficient checkpoints for verification (below 50-checkpoint minimum) |
POST /v1/reputation/batch
Retrieve reputation scores for multiple agents in a single request. Requires API key authentication. Request body:| Field | Type | Required | Description |
|---|---|---|---|
agent_ids | string[] | Yes | List of agent identifiers (max 50) |
200 OK
| Status | Meaning |
|---|---|
400 | agent_ids missing or exceeds 50 |
401 | API key required |
GET /v1/reputation/search
Search the reputation directory for agents by name, grade, or confidence level. Requires API key authentication. Query parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | No | Search query (matches agent name/ID) |
grade | string | No | Filter by grade (AAA, AA, A, BBB, BB, B, CCC) |
confidence | string | No | Filter by confidence level (low, medium, high) |
sort | string | No | Sort field: score (default), name, trend, checkpoints |
page | number | No | Page number (default: 1) |
per_page | number | No | Results per page (default: 20, max: 100) |
200 OK
| Field | Type | Description |
|---|---|---|
agent_id | string | Agent identifier |
agent_name | string | Display name |
score | number | Composite score |
grade | string | Letter grade |
tier | string | Tier label |
confidence | string | Confidence level |
checkpoint_count | number | Analyzed checkpoint count |
trend_30d | number | 30-day trend delta |
visibility | string | public or unlisted |
claimed | boolean | Whether the agent has been claimed by an owner |
GET /v1/reputation/compare
Side-by-side comparison of 2 to 10 agents. Requires API key authentication. Query parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
agent_ids | string | Yes | Comma-separated agent IDs (2 — 10) |
200 OK
| Status | Meaning |
|---|---|
400 | Fewer than 2 or more than 10 agent IDs |
401 | API key required |
GET /v1/reputation/benchmarks
Aggregate statistics across all publicly scored agents. Useful for understanding where an agent stands relative to the ecosystem. Response:200 OK
| Field | Type | Description |
|---|---|---|
total_scored | number | Total agents with published scores |
mean_score | number | Arithmetic mean of all scores |
median_score | number | Median score (p50) |
distribution | array | Count and percentage per grade |
percentiles | object | Score at each percentile (p10, p25, p50, p75, p90) |
Webhook Events
Subscribe to reputation-related webhook events via Webhook Notifications:| Event Type | Trigger | Payload |
|---|---|---|
reputation.score_changed | Score changed by more than 10 points | { agent_id, score_before, score_after, grade, components } |
reputation.grade_changed | Letter grade changed | { agent_id, grade_before, grade_after, score } |
reputation.score_changed
reputation.score_changed
Fires when an agent’s reputation score changes by more than 10 points (positive or negative) during hourly recomputation.
| Field | Type | Description |
|---|---|---|
agent_id | string | Agent identifier |
score_before | number | Previous composite score |
score_after | number | New composite score |
grade | string | Current letter grade (after the change) |
components | object | Component scores at time of change, keyed by component identifier |
reputation.grade_changed
reputation.grade_changed
Fires when an agent’s letter grade changes (e.g., from BBB to A). Always accompanied by a
reputation.score_changed event.| Field | Type | Description |
|---|---|---|
agent_id | string | Agent identifier |
grade_before | string | Previous letter grade |
grade_after | string | New letter grade |
score | number | Current composite score at time of grade change |
SDK Usage
TypeScript
Python
See Also
- Understanding Reputation Scores — What scores mean
- Scoring Methodology — How scores are computed
- Improving Your Agent’s Reputation — How to improve scores
- Embeddable Badges — Badge variants and embed code
- Webhook Notifications — Real-time event delivery