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

# Aggregate member counts, buckets and facets

> Org-wide aggregate for the console Users screen: member counts, Support and health bucket
counts (a server-side count over the same per-member classification the users list serves), and the
facet options (OEMs and device kinds present) that drive the filter dropdowns — without the
client fetching the org's users or devices.

Backed by grouped queries whose count is constant in org device count, so it runs live on
every hit with no response cache.



## OpenAPI

````yaml https://app.podero.com/api/partners/v2.0/openapi.json get /api/partners/v2.0/org/{org_id}/users/summary
openapi: 3.1.0
info:
  title: Podero Partner API
  version: '2.0'
  description: >-
    This API provides a unified interaction point for Podero's partner
    companies.


    The goal of this API is to give partners easily integratable endpoints that
    don't require extensive software

    development. For this reason, the endpoints focus around user and device
    management, setting of preferences

    and high level device controls.


    While direct control of devices is implemented for special use cases such as
    pause power, we abstract away low level

    direct device steering so developers and partners can focus on delivering
    maximum value to end users.


    ## Authentication


    Send an OAuth2 access token in the `Authorization: Bearer <access_token>`
    header of each request.

    A token request must have a JSON body. The token endpoints do not read a
    form-encoded body.


    Server-to-server integrations use the client credentials grant:


    ```http

    POST /oauth2/token/

    Authorization: Basic base64(<client_id>:<client_secret>)

    Content-Type: application/json


    {"grant_type": "client_credentials"}

    ```


    The response does not contain a refresh token. The access token expires
    after `expires_in` seconds (one hour).

    To renew it, send the same request again. Use one token for all requests
    until shortly before it expires.

    Do not request a new token for each request. If a request returns `401`, get
    one new token and send the request

    again once. If it returns `401` again, the token is valid but the
    application has no access to that resource,

    and a new token does not change that.


    Apps where a person signs in use the password grant at `POST
    /api/partners/v2.0/auth/token`, and renew the

    session with the `refresh_token` grant at the same endpoint.
  termsOfService: https://www.podero.com/terms-and-conditions
servers: []
security: []
paths:
  /api/partners/v2.0/org/{org_id}/users/summary:
    get:
      tags:
        - Users
      summary: Aggregate member counts, buckets and facets
      description: >-
        Org-wide aggregate for the console Users screen: member counts, Support
        and health bucket

        counts (a server-side count over the same per-member classification the
        users list serves), and the

        facet options (OEMs and device kinds present) that drive the filter
        dropdowns — without the

        client fetching the org's users or devices.


        Backed by grouped queries whose count is constant in org device count,
        so it runs live on

        every hit with no response cache.
      operationId: >-
        integrations_api_api_v2_organizations_users_router_retrieve_organization_users_summary
      parameters:
        - in: path
          name: org_id
          schema:
            description: The organization ID to summarise
            format: uuid
            title: Org Id
            type: string
          required: true
          description: The organization ID to summarise
        - in: query
          name: engaged
          schema:
            description: >-
              `true`: count only members who have ever owned a device or made an
              onboarding attempt, matching the list's `engaged` filter.
            title: Engaged
            type: boolean
          required: false
          description: >-
            `true`: count only members who have ever owned a device or made an
            onboarding attempt, matching the list's `engaged` filter.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersSummaryOutput'
      security:
        - OAuth2: []
components:
  schemas:
    UsersSummaryOutput:
      description: Org-wide aggregate for the console Users screen.
      properties:
        total_members:
          title: Total Members
          type: integer
        members_with_device:
          title: Members With Device
          type: integer
        deleted_members:
          title: Deleted Members
          type: integer
        support_buckets:
          items:
            $ref: '#/components/schemas/SupportBucketOutput'
          title: Support Buckets
          type: array
        health_buckets:
          items:
            $ref: '#/components/schemas/HealthBucketOutput'
          title: Health Buckets
          type: array
        facet_options:
          $ref: '#/components/schemas/UsersFacetOptionsOutput'
      required:
        - total_members
        - members_with_device
        - deleted_members
        - support_buckets
        - health_buckets
        - facet_options
      title: UsersSummaryOutput
      type: object
    SupportBucketOutput:
      properties:
        category:
          anyOf:
            - enum:
                - attention_required
                - service_degraded
                - informational
              type: string
            - const: none
              type: string
          title: Category
        count:
          title: Count
          type: integer
      required:
        - category
        - count
      title: SupportBucketOutput
      type: object
    HealthBucketOutput:
      properties:
        health:
          enum:
            - unhealthy
            - unknown
            - healthy
          title: Health
          type: string
        count:
          title: Count
          type: integer
      required:
        - health
        - count
      title: HealthBucketOutput
      type: object
    UsersFacetOptionsOutput:
      description: >-
        The filter-dropdown options present across the org: distinct device OEMs
        (sorted) and the

        device kinds with at least one operational device (same tokens the
        users-list `device_kind`

        filter accepts, minus the `any` sentinel).
      properties:
        manufacturers:
          items:
            type: string
          title: Manufacturers
          type: array
        device_kinds:
          items:
            enum:
              - ev
              - hp
              - inv
              - wb
            type: string
          title: Device Kinds
          type: array
      required:
        - manufacturers
        - device_kinds
      title: UsersFacetOptionsOutput
      type: object
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        password:
          tokenUrl: /api/partners/v2.0/auth/token
          scopes: {}
        clientCredentials:
          tokenUrl: /oauth2/token/
          scopes: {}

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.