---
title: "Stats cross-tenant d'adoption modules marketplace (Round 159)."
method: GET
path: "/api/v1/admin/platform/marketplace/stats"
tags: ["Administration"]
---

# Stats cross-tenant d'adoption modules marketplace (Round 159).

`GET /api/v1/admin/platform/marketplace/stats`

## Request

- Base URL: `https://erp.eyeot.fr/api/v1`
- URL: `https://erp.eyeot.fr/api/v1/api/v1/admin/platform/marketplace/stats`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Stats cross-tenant d'adoption modules marketplace (Round 159).

    Pour alimenter la page `/admin/platform-marketplace` (frontend Round 158
    Phase 5) avec de vraies métriques d'adoption au lieu des stats locales
    de l'org plateforme uniquement.

    Returns ::

        {
          "modules": [
            {
              "module_slug": "supply",
              "orgs_active_count": 12,
              "orgs_total_count": 35,
              "first_activated_at": "2026-04-01T...",
              "latest_activated_at": "2026-05-12T..."
            },
            ...
          ],
          "totals": {
            "orgs_total": 35,
            "modules_with_adoption": 8
          }
        }

    Tenant filter bypassé volontairement (cross-tenant by design,
    platform-admin only).

**Réservé** : administrateurs de la plateforme eyeot uniquement.

## Response `200`

Succès — payload `{data, meta}` (cf. API-GUIDE §3.1)

## Other responses

- `401`: JWT manquant, expiré ou révoqué.
- `403`: Permissions `module:action` insuffisantes pour cette route.
- `404`: Ressource introuvable (ou cross-tenant — équivalent à hidden).
- `429`: Trop de requêtes. Honorer le header `Retry-After` (secondes).

---

[API](https://skmtc.dev/eyeot/apis/eyeot-erp-api.md) · [All operations](https://skmtc.dev/eyeot/apis/eyeot-erp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eyeot/apis/eyeot-erp-api/revisions/42ab95222a89?raw)
