---
title: "Get organization aggregate stats"
method: GET
path: "/orgs/{identifier}/stats"
tags: ["Organizations"]
---

# Get organization aggregate stats

`GET /orgs/{identifier}/stats`

Returns an organization's aggregate competitive stats by slug or organization ID. Stats are returned when the organization profile is limited or public, or when the API key owner is an active organization member (members can read stats for a private org too); a private organization viewed by a non-member returns 403, and an inactive or unknown organization returns 404. `teams` and `members` count only active, enabled teams and active members. `wins`, `losses`, and `matchesPlayed` are aggregated across the organization's active, enabled teams. `winRate` is wins divided by matchesPlayed and is 0 when no matches have been played. Requires orgs.profile:read.

## Path parameters

- `identifier` string, required — Organization slug or Convex organization ID.

## Response `200`

Organization stats.

- object — Envelope containing stats plus a response timestamp.
  - `stats` ApiOrganizationStats, required — API-safe organization aggregate stats.
    - `organizationId` string, required
    - `teams` integer, required
    - `members` integer, required
    - `matchesPlayed` integer, required
    - `wins` integer, required
    - `losses` integer, required
    - `winRate` number, required
  - `timestamp` string, required — ISO 8601 timestamp.

## Other responses

- `401` — Missing or invalid API key.
- `403` — API key lacks the required permission.
- `404` — Resource not found.
- `429` — Rate limited.
- `500` — Internal server error.

---

[API](https://skmtc.net/teambattles/apis/teambattles-api.md) · [All operations](https://skmtc.net/teambattles/apis/teambattles-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/teambattles/teambattles-api/versions/2ffe8fb53b7d/schema)
