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

# Get vulnerability rollups for authorized partner tenants.

> This endpoint returns per-tenant vulnerability rollups, grouped and ranked by the requested
dimension, over a bounded date range for the authorized partner's tenant scope.

**Notes:**
- `tenant_ids` (optional, comma-separated) restricts results to specific tenants.
- `from` / `to` (required, `yyyy-MM-dd`) bound the rollup date range. `from` must not be
  later than `to`.
- `group_by` (optional, one of `cve`, `root_cause`, `severity`, `asset_type`; default `cve`)
  selects the rollup dimension.
- `limit` (optional, 1-100, default 25) caps the number of rollup rows returned per tenant.


Required headers:

- `Authorization: Bearer {token}` (requires the `pulse.read` scope)



## OpenAPI

````yaml /api/partner-api/reporting.json get /pulse/v1/partner/dashboards/vulnerability-rollups
openapi: 3.1.1
info:
  title: 'Cyrisma New Partner API: Reporting'
  version: v1
servers:
  - url: https://{instance}.cyrisma.com/app
    description: The partner's CYRISMA instance host.
    variables:
      instance:
        default: ccnnnnnn
        description: The instance label of the tenant host issued to the partner.
security:
  - bearerAuth:
      - pulse.read
tags:
  - name: Reporting
paths:
  /pulse/v1/partner/dashboards/vulnerability-rollups:
    get:
      tags:
        - Reporting
      summary: Get vulnerability rollups for authorized partner tenants.
      description: >-
        This endpoint returns per-tenant vulnerability rollups, grouped and
        ranked by the requested

        dimension, over a bounded date range for the authorized partner's tenant
        scope.


        **Notes:**

        - `tenant_ids` (optional, comma-separated) restricts results to specific
        tenants.

        - `from` / `to` (required, `yyyy-MM-dd`) bound the rollup date range.
        `from` must not be
          later than `to`.
        - `group_by` (optional, one of `cve`, `root_cause`, `severity`,
        `asset_type`; default `cve`)
          selects the rollup dimension.
        - `limit` (optional, 1-100, default 25) caps the number of rollup rows
        returned per tenant.



        Required headers:


        - `Authorization: Bearer {token}` (requires the `pulse.read` scope)
      operationId: GetPartnerVulnerabilityRollupsV1
      parameters:
        - name: tenant_ids
          in: query
          description: >-
            Comma-separated tenant UUIDs to scope the list to. Omit to use every
            tenant the caller is authorized for.
          schema:
            type: string
        - name: from
          in: query
          description: Start of the window, RFC 3339. Treated as UTC.
          required: true
          schema:
            type: string
        - name: to
          in: query
          description: End of the window, RFC 3339. Treated as UTC.
          required: true
          schema:
            type: string
        - name: group_by
          in: query
          description: Rollup grouping key.
          schema:
            type: string
        - name: limit
          in: query
          description: Maximum number of rollup groups to return.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerVulnerabilityRollupsResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '503':
          description: Service Unavailable
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    PartnerVulnerabilityRollupsResponse:
      required:
        - root_tenant_id
        - from
        - to
        - group_by
        - limit
        - coverage
        - tenants
      type: object
      properties:
        root_tenant_id:
          type: string
          format: uuid
        from:
          type: string
          format: date
        to:
          type: string
          format: date
        group_by:
          type: string
        limit:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int32
        coverage:
          type: array
          items:
            $ref: '#/components/schemas/PartnerTenantCoverage'
        tenants:
          type: array
          items:
            $ref: '#/components/schemas/PartnerTenantVulnerabilityRollups'
    ProblemDetails:
      type: object
      properties:
        type:
          type:
            - 'null'
            - string
        title:
          type:
            - 'null'
            - string
        status:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          format: int32
        detail:
          type:
            - 'null'
            - string
        instance:
          type:
            - 'null'
            - string
    PartnerTenantCoverage:
      required:
        - tenant_id
        - tenant_host
      type: object
      properties:
        tenant_id:
          type: string
          format: uuid
        tenant_host:
          type: string
    PartnerTenantVulnerabilityRollups:
      required:
        - tenant_id
        - tenant_host
        - rows
      type: object
      properties:
        tenant_id:
          type: string
          format: uuid
        tenant_host:
          type: string
        rows:
          type: array
          items:
            $ref: '#/components/schemas/VulnerabilityRollupRow'
    VulnerabilityRollupRow:
      required:
        - group_value
        - metric_group
        - metric_name
        - severity
        - asset_type
        - value_int
        - value_float
        - sample_count
        - reconciliation_state
      type: object
      properties:
        group_value:
          type: string
        metric_group:
          type: string
        metric_name:
          type: string
        severity:
          type: string
        asset_type:
          type: string
        value_int:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: int64
        value_float:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$
          type:
            - 'null'
            - number
            - string
          format: double
        sample_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        reconciliation_state:
          $ref: '#/components/schemas/DashboardReconciliationState'
    DashboardReconciliationState:
      enum:
        - matched
        - mismatched
        - source_grade
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        A Tenant Authority machine-client token from POST /v1/auth/client-token,
        carrying subject_type=machine_client and the pulse.read scope.
      scheme: bearer
      bearerFormat: JWT

````