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

# Risk and exposure

> Your organization's risk score, leak statistics, trends, and peer benchmarks — and how to read them for threat intelligence.

<Info>
  These endpoints turn your raw leak data into a security posture: a scored risk profile, leak statistics, trends over time, and a peer benchmark. All are read-only and scoped to your organization.
</Info>

### Risk score

[`get_organization_risk_score`](https://client-api.leak.center/scalar-docs/#tag/risk-score/GET/service/get_organization_risk_score/) returns your current posture as **nine weighted factors** (`score_a` through `score_i`). Each factor carries a value, a plain-text message explaining it, and when it was last computed.

```json theme={"dark"}
{
  "id": 88,
  "organization": 412,
  "score_a": 72.5,
  "score_a_message": "Plain-text explanation of this factor",
  "score_a_last_update": "2026-06-10T04:00:00Z",
  "score_b": 64.0,
  "score_b_message": "...",
  "score_b_last_update": "2026-06-10T04:00:00Z"
}
```

The factors run through `score_i`. **Reading it:** treat the `*_message` fields as a prioritized remediation list — the lowest-scoring factors are where your exposure concentrates. `*_last_update` tells you how fresh each factor is.

### Leak statistics

[`get_organization_stats`](https://client-api.leak.center/scalar-docs/#tag/risk-score/GET/service/get_organization_stats/) gives a quick sense of scale and skew:

```json theme={"dark"}
{ "leak_count": 1840, "average_leak_count": 52.3, "median_leak_count": 41.0 }
```

**Reading it:** a `median` well below the `average` means a few large dumps are inflating your total — worth isolating those events rather than treating exposure as evenly spread.

### Risk score over time

[`get_organization_risk_score_history`](https://client-api.leak.center/scalar-docs/#tag/risk-score/GET/service/get_organization_risk_score_history/) returns a weekly series (set how far back with `weeks` — default 12, max 260). Each point carries two scores:

```json theme={"dark"}
[{ "date": "2026-06-08", "leak_risk_score": 68.0, "infra_risk_score": 74.5 }]
```

* `leak_risk_score` — risk from your exposed and leaked data.
* `infra_risk_score` — risk from your exposed infrastructure.

**Reading it:** plot both lines to see whether your posture is improving or degrading week over week, and which of the two dimensions is driving the move.

### Leak volume over time

Two weekly series, both accepting the `weeks` parameter and returning the same `{ date, leak_count }` shape:

* [`get_organization_weekly_leak_count_history`](https://client-api.leak.center/scalar-docs/#tag/risk-score/GET/service/get_organization_weekly_leak_count_history/) — the number of leaks attributed to each individual week.
* [`get_organization_total_leak_count_history`](https://client-api.leak.center/scalar-docs/#tag/risk-score/GET/service/get_organization_total_leak_count_history/) — the cumulative leak total as it grows across the period.

```json theme={"dark"}
[{ "date": "2026-06-08", "leak_count": 42 }]
```

**Reading it:** a spike in the weekly series flags a fresh breach or dump landing that week — your earliest signal to investigate. The total series shows how accumulated exposure is trending, which is the line you put in front of leadership.

### Benchmark vs. peers

[`get_organization_benchmark_weekly_leak_count_history`](https://client-api.leak.center/scalar-docs/#tag/risk-score/GET/service/get_organization_benchmark_weekly_leak_count_history/) returns the peer average for each week:

```json theme={"dark"}
[{ "date": "2026-06-08", "average_weekly_leak_count": 37 }]
```

**Reading it:** overlay this on your own weekly counts. A single leak number means little in isolation — sitting consistently above the peer average is the headline that justifies investment.

### Competitors

The peer benchmark is built from competitors you choose, by domain.

**List them** — [`list_organization_competitors`](https://client-api.leak.center/scalar-docs/#tag/risk-score/GET/service/list_organization_competitors/) returns a paginated set:

```json theme={"dark"}
{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    { "id": 11, "domain": "rival-a.com", "leak_count": 920, "last_update": "2026-06-09T03:00:00Z" },
    { "id": 12, "domain": "rival-b.com", "leak_count": 410, "last_update": "2026-06-09T03:00:00Z" }
  ]
}
```

**Add one** — [`add_organization_competitor`](https://client-api.leak.center/scalar-docs/#tag/risk-score/POST/service/add_organization_competitor/), by domain:

```json theme={"dark"}
{ "domain": "competitor.com" }
```

**Remove one** — [`remove_organization_competitor`](https://client-api.leak.center/scalar-docs/#tag/risk-score/DELETE/service/remove_organization_competitor/) with the competitor's `id` from the list, passed as a query parameter: `?competitor_id=11`.

**Reading it:** each competitor's `leak_count` is the same metric as your own, so you can answer "is our exposure normal for our sector?" — the context that turns a raw number into a decision.
