Get the organization activity report (internal)

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
GET /admin/report/org-report

Lists organizations whose name or email contains searchText, one page at a time, each with its active plan and an activity summary: account age, case and extraction-code counts, unused codes on recent cases, every extraction attempt with its outcome and the attempts per device. It loads every case, code and extraction of each organization on the page, so keep pages small. Super admin only.

Query parameters

  • page number

    Default value is 1.

  • perPage number

    Default value is 10.

  • skip number

    If skip/limit not provided, page/perPage will take precedence

  • limit number

    If skip/limit not provided, page/perPage will take precedence

  • searchText string

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • total number Required
      • page number
      • perPage number
      • skip number
      • limit number
      • totalPages number Required
      • nextPage number | null Required
      • previousPage number | null Required
      • data array[object]
        Hide data attributes Show data attributes object
        • organization object Required
          Hide organization attributes Show organization attributes object
          • createdAt string(date-time) Required
          • updatedAt string(date-time) Required
          • id string Required
          • name string Required
          • slug string Required
          • email string Required
          • contact string Required
          • city string Required
          • state string Required
          • country string Required
          • description string Required
          • phone array[string] Required
          • isActive boolean Required
          • isPriority boolean
          • activePlan object Required

            The full record on routes that load it; null (or an empty list) on routes that do not.

            Hide activePlan attributes Show activePlan attributes object
            • createdAt string(date-time) Required
            • updatedAt string(date-time) Required
            • id string Required
            • subscription object | null Required

              Not loaded on public routes, so always null there. Only the internal admin organization report loads it.

            • relatedSubscription array[object] | null Required

              Not loaded by any route, so always null or an empty list.

            • organization object | null Required

              Not loaded by any route, so always null.

            • seats number Required
            • seatsUsed number Required
            • devices number Required
            • deviceUsed number Required
            • storage number Required

              Storage in bytes

            • storageUsed number Required

              Storage used in bytes

            • payments array[object] | null Required

              Not loaded by any route, so always null or an empty list.

            • type string Required

              Values are admin, free, limited-access, trial, tier1, tier2, tier3, tier4, tier5, tier6, or tier7.

            • isActive boolean Required
            • isBetweenPlanChanges boolean Required
            • storageInKb number Required
            • storageUsedInKb number Required
            • storageInMb number Required
            • storageUsedInMb number Required
            • storageInGb number Required
            • storageUsedInGb number Required
            • storageInTb number Required
            • storageUsedInTb number Required
            • isFreePlan boolean Required
            • remainingSeats number Required
            • remainingDevices number Required
            • remainingStorage number Required

              Storage left in bytes (storage minus storageUsed).

          • metadata object Required
          • type string Required
          • version string Required

            Values are v1, v2, eu, or ca.

        • otherData object Required
    • statusCode number Required
    • timestamp string(date-time) Required
GET /admin/report/org-report
curl \
 --request GET 'http://api.example.com/admin/report/org-report' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "data": {
    "total": 42,
    "page": 1,
    "perPage": 20,
    "skip": 0,
    "limit": 20,
    "totalPages": 3,
    "nextPage": 2,
    "previousPage": 42.0,
    "data": [
      {
        "organization": {
          "createdAt": "2026-01-15T14:30:00.000Z",
          "updatedAt": "2026-01-15T14:30:00.000Z",
          "id": "507f1f77bcf86cd799439011",
          "name": "Example Law LLP",
          "slug": "example-law-llp",
          "email": "office@example.com",
          "contact": "Jane Doe",
          "city": "New York",
          "state": "NY",
          "country": "US",
          "description": "Litigation practice",
          "phone": [
            "+15555550100"
          ],
          "logo": "https://files.example.com/logo.png",
          "isActive": true,
          "isPriority": false,
          "activePlan": {
            "createdAt": "2026-01-15T14:30:00.000Z",
            "updatedAt": "2026-01-15T14:30:00.000Z",
            "id": "507f1f77bcf86cd799439011",
            "subscription": {},
            "relatedSubscription": [
              {}
            ],
            "organization": {},
            "seats": 5,
            "seatsUsed": 3,
            "devices": 10,
            "deviceUsed": 4,
            "storage": 100000000000,
            "storageUsed": 12000000000,
            "payments": [
              {}
            ],
            "type": "admin",
            "isActive": true,
            "isBetweenPlanChanges": false,
            "storageInKb": 100000000,
            "storageUsedInKb": 12000000,
            "storageInMb": 100000,
            "storageUsedInMb": 12000,
            "storageInGb": 100,
            "storageUsedInGb": 12,
            "storageInTb": 0.1,
            "storageUsedInTb": 0.012,
            "isFreePlan": false,
            "remainingSeats": 2,
            "remainingDevices": 6,
            "remainingStorage": 88000000000
          },
          "metadata": {},
          "type": "law_firm",
          "version": "v1"
        },
        "otherData": {
          "accountAgeInDays": 420,
          "totalCases": 12,
          "totalExtractionCodes": 30,
          "unusedExtractionCodes": 4,
          "totalUniqueDevices": 22
        }
      }
    ]
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}