> ## 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 state for authorized partner tenants.

> This endpoint returns an aggregated vulnerability posture snapshot: open finding counts by
severity, affected asset/tenant counts, KEV and exploitable finding counts, patchable root
cause count, and a lifecycle series, across the authorized partner's tenant scope.

**Notes:**
- `tenant_ids` (optional, comma-separated) restricts the snapshot to specific tenants; omit
  it to include every tenant the caller is authorized for.
- Only tenants within the caller's authorized scope are included; requesting a tenant
  outside that scope returns 403.


Required headers:

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



## OpenAPI

````yaml /api/partner-api/reporting.json get /pulse/v1/partner/vulnerabilities/state
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/vulnerabilities/state:
    get:
      tags:
        - Reporting
      summary: Get vulnerability state for authorized partner tenants.
      description: >-
        This endpoint returns an aggregated vulnerability posture snapshot: open
        finding counts by

        severity, affected asset/tenant counts, KEV and exploitable finding
        counts, patchable root

        cause count, and a lifecycle series, across the authorized partner's
        tenant scope.


        **Notes:**

        - `tenant_ids` (optional, comma-separated) restricts the snapshot to
        specific tenants; omit
          it to include every tenant the caller is authorized for.
        - Only tenants within the caller's authorized scope are included;
        requesting a tenant
          outside that scope returns 403.


        Required headers:


        - `Authorization: Bearer {token}` (requires the `pulse.read` scope)
      operationId: GetPartnerVulnerabilityStateV1
      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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerVulnerabilityStateResponse'
        '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:
    PartnerVulnerabilityStateResponse:
      required:
        - root_tenant_id
        - coverage
        - open_finding_count
        - open_critical_count
        - open_high_count
        - open_medium_count
        - open_low_count
        - affected_asset_count
        - affected_tenant_count
        - kev_finding_count
        - exploitable_finding_count
        - patchable_root_cause_count
        - remediated_30d_count
        - last_detection_at
        - source_tab_counts
        - lifecycle_series
      type: object
      properties:
        root_tenant_id:
          type: string
          format: uuid
        coverage:
          type: array
          items:
            $ref: '#/components/schemas/PartnerTenantCoverage'
        open_finding_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        open_critical_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        open_high_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        open_medium_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        open_low_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        affected_asset_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        affected_tenant_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        kev_finding_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        exploitable_finding_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        patchable_root_cause_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        remediated_30d_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        last_detection_at:
          type:
            - 'null'
            - string
          format: date-time
        source_tab_counts:
          type: array
          items:
            $ref: '#/components/schemas/GlobalSourceTabCountRow'
        lifecycle_series:
          type: array
          items:
            $ref: '#/components/schemas/GlobalVulnerabilitySeriesPoint'
    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
    GlobalSourceTabCountRow:
      required:
        - source_type
        - open_finding_count
        - affected_asset_count
        - affected_tenant_count
        - critical_cve_count
        - high_cve_count
        - medium_cve_count
        - low_cve_count
      type: object
      properties:
        source_type:
          $ref: '#/components/schemas/GlobalSourceType'
        open_finding_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        affected_asset_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        affected_tenant_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        critical_cve_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        high_cve_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        medium_cve_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        low_cve_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
    GlobalVulnerabilitySeriesPoint:
      required:
        - date
        - opened_count
        - remediated_count
        - cumulative_open_count
      type: object
      properties:
        date:
          type: string
          format: date
        opened_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        remediated_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
        cumulative_open_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          format: uint64
    GlobalSourceType:
      enum:
        - endpoint
        - network
        - external
        - domain
        - unknown
  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

````