
# Scoring Engine

## What Is the Scoring Engine?

The AgentBadge scoring engine evaluates APIs across multiple dimensions and produces a reproducible, evidence-based score.

## How Scoring Works

Each check is a **binary rule** with a clear pass/fail result:

1. **Rule** — A specific, deterministic check (e.g., "Does `/llms.txt` exist?")
2. **Status** — Pass or fail (no subjective scoring)
3. **Evidence** — The HTTP response, header, or body that proves the result
4. **Confidence** — How certain we are (high for deterministic checks, lower for heuristic ones)

## Score Dimensions

| Dimension | What It Measures |
|-----------|-----------------|
| Discovery | Can agents find your API? (`llms.txt`, sitemap, well-known endpoints) |
| Documentation | Can agents understand your API? (OpenAPI spec, structured docs) |
| Authentication | Can agents authenticate? (clear auth flow, API keys) |
| Machine-readability | Is your API response machine-parseable? (JSON, structured errors) |

## Category Floors

Some dimensions have **category floors** — a minimum score required to pass. If your API scores below the floor in a critical dimension, the overall score is capped regardless of other dimensions.

## Reproducibility

The same URL + same ruleset version = same score. This is fundamental to trust:

- Rules are **versioned** — each scan records which ruleset version was used
- Checks are **deterministic** — no random sampling, no subjective judgment
- Evidence is **preserved** — every finding links to the HTTP response that produced it

## Open Ruleset

The scoring ruleset is open and transparent. Anyone can:

- Read the rules and understand what each check does
- Reproduce a scan locally using the CLI
- Verify that the same inputs produce the same outputs
- Propose new rules or changes to existing ones

## Related

- [Agent Readiness](/agent-guide/concepts/agent-readiness) — What the score measures
- [Trust Badge](/agent-guide/concepts/badge) — How to display your score
- [Passive Scanner](/agent-guide/capabilities/scanner) — How the scan is performed
- [Open Ruleset](/agent-guide/context#open-ruleset-principle) — Same rules for everyone



    <section class="mt-8 rounded-xl border border-emerald-800/30 bg-slate-900/50 p-6">
      <h3 class="text-lg font-bold text-slate-100">Relevant Engineering Capabilities</h3>
      <p class="mt-1 text-sm text-slate-400">The AgentBadge team can help with what you're reading about.</p>
      <div class="mt-4 grid gap-3">
        
        <div class="rounded-lg border border-slate-700 bg-slate-800/50 p-4">
          <div class="flex items-center justify-between">
            <h4 class="text-sm font-semibold text-emerald-400">Backend Development</h4>
            <span class="text-xs text-slate-400">Confidence: 0.92</span>
          </div>
          <p class="mt-1 text-xs text-slate-400">Node.js, NestJS, PostgreSQL, Redis, REST APIs, and event-driven systems.
</p>
          <div class="mt-2 flex items-center gap-3 text-xs text-slate-500">
            <span>People: Paul</span>
            <span>Status: VERIFIED</span>
          </div>
        </div>
        <div class="rounded-lg border border-slate-700 bg-slate-800/50 p-4">
          <div class="flex items-center justify-between">
            <h4 class="text-sm font-semibold text-emerald-400">AI Agent Architecture</h4>
            <span class="text-xs text-slate-400">Confidence: 0.93</span>
          </div>
          <p class="mt-1 text-xs text-slate-400">Design and implementation of AI agent infrastructure, agent APIs, machine-readable interfaces, and agent tooling.
</p>
          <div class="mt-2 flex items-center gap-3 text-xs text-slate-500">
            <span>People: Paul</span>
            <span>Status: VERIFIED</span>
          </div>
        </div>
      </div>
      
        <div class="mt-3">
          <p class="text-xs text-slate-500 mb-1">Related services:</p>
          <div class="flex flex-wrap gap-2">
            <span class="text-xs rounded-full bg-slate-700 px-2 py-1 text-slate-300">API Development</span>
          </div>
        </div>
      <div class="mt-4">
        <a href="/agent-guide/team/capabilities" class="inline-flex items-center text-sm font-medium text-emerald-400 hover:text-emerald-300">
          View all capabilities →
        </a>
      </div>
    </section>