> ## 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.

# List secure-baseline posture by asset for authorized partner tenants.

> This endpoint returns a cursor-paginated list of secure-baseline posture by asset
(score, grade, and benchmark pass/fail counts) across the authorized partner's tenant scope,
lowest score first.

**Notes:**
- `tenant_ids` (optional, comma-separated) restricts results to specific tenants.
- `page_size` (optional, default 100, max 500) controls page size.
- `cursor` (optional) resumes from a previous page using the `next_cursor` value returned in
  the response.


Required headers:

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



## OpenAPI

````yaml /api/partner-api/reporting.json get /pulse/v1/partner/dashboards/baseline
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/baseline:
    get:
      tags:
        - Reporting
      summary: List secure-baseline posture by asset for authorized partner tenants.
      description: >-
        This endpoint returns a cursor-paginated list of secure-baseline posture
        by asset

        (score, grade, and benchmark pass/fail counts) across the authorized
        partner's tenant scope,

        lowest score first.


        **Notes:**

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

        - `page_size` (optional, default 100, max 500) controls page size.

        - `cursor` (optional) resumes from a previous page using the
        `next_cursor` value returned in
          the response.


        Required headers:


        - `Authorization: Bearer {token}` (requires the `pulse.read` scope)
      operationId: ListPartnerBaselineAssetsV1
      parameters:
        - name: tenant_ids
          in: query
          description: >-
            Comma-separated tenant ids to read. Every id must be inside the
            caller's authorized scope, otherwise 403 `tenant_out_of_scope`. Omit
            it to read every authorized tenant.
          schema:
            type: string
        - name: include_descendants
          in: query
          description: >-
            When true, widens each id in `tenant_ids` to that tenant and every
            tenant beneath it in the hierarchy. Ignored when `tenant_ids` is
            omitted, since the default is already the caller's whole scope.
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: page_size
          in: query
          description: Maximum number of items per page.
          schema:
            type: string
        - name: cursor
          in: query
          description: >-
            Opaque pagination cursor: pass the previous response's next_cursor
            to fetch the next page.
          schema:
            type: string
      responses:
        '200':
          description: >-
            One page of assets with their secure-baseline posture, lowest score
            first.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PartnerPagedResponseOfGlobalConfigurationAssetRow
        '400':
          description: >-
            A value in `tenant_ids` is not a UUID (`invalid_tenant_id`), or
            another parameter is invalid; the `error` field names the problem.
        '401':
          description: No bearer token, or an invalid or expired one.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: >-
            The token is not allowed to read this: it is not a machine-client
            token (`machine_client_subject_required`), lacks the `pulse.read`
            scope (`missing_required_scope`), is outdated
            (`stale_token_version`), or belongs to a disabled tenant. A tenant
            outside the caller's scope in `tenant_ids` returns
            `tenant_out_of_scope`.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '503':
          description: >-
            The data store is unavailable (`pulse_baseline_unavailable`), or the
            tenant scope could not be loaded. Retry later.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    PartnerPagedResponseOfGlobalConfigurationAssetRow:
      required:
        - root_tenant_id
        - page_size
        - next_cursor
        - coverage
        - items
      type: object
      properties:
        root_tenant_id:
          type: string
          description: >-
            The top of the caller's authorized scope: the tenant the access
            token was issued for.
          format: uuid
        page_size:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: >-
            The number of rows this page was limited to: the `page_size` you
            asked for, or the default.
          format: int32
        next_cursor:
          type:
            - 'null'
            - string
          description: >-
            Opaque cursor for the next page: send it back as `cursor`. Null on
            the last page.
        coverage:
          type: array
          items:
            $ref: '#/components/schemas/PartnerTenantCoverage'
          description: >-
            The tenants this response was read from, after `tenant_ids` and
            `include_descendants` were applied. A tenant with no rows still
            appears here.
        items:
          type: array
          items:
            $ref: '#/components/schemas/GlobalConfigurationAssetRow'
          description: The rows on this page. Empty when nothing matches.
      description: >-
        One cursor-paginated page of rows across the authorized tenants. Keep
        requesting pages, passing `next_cursor` as `cursor`, until `next_cursor`
        is null.
    ProblemDetails:
      type: object
      properties:
        type:
          type:
            - 'null'
            - string
          description: A URI reference that identifies the kind of error.
        title:
          type:
            - 'null'
            - string
          description: A short summary of the error, or its code.
        status:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          description: The HTTP status code.
          format: int32
        detail:
          type:
            - 'null'
            - string
          description: More detail about this occurrence, when there is any.
        instance:
          type:
            - 'null'
            - string
          description: A URI reference that identifies this occurrence, when there is one.
      description: >-
        An error in the RFC 9457 problem format. The error code is in `title`,
        for example `tenant_out_of_scope` or `pulse_posture_unavailable`.
    PartnerTenantCoverage:
      required:
        - tenant_id
        - tenant_host
      type: object
      properties:
        tenant_id:
          type: string
          description: The tenant's id.
          format: uuid
        tenant_host:
          type: string
          description: The tenant's host name, for example `cc2080fe.cyrisma.com`.
      description: A tenant a response was read from.
    GlobalConfigurationAssetRow:
      required:
        - tenant_id
        - tenant_host
        - endpoint_id
        - endpoint_key
        - display_name
        - asset_type
        - os_family
        - os_name
        - os_version
        - agent_status
        - score
        - grade
        - benchmark_count
        - passing_count
        - failing_count
        - unknown_count
        - not_automatable_count
        - evidence_missing_count
        - not_applicable_count
        - waived_count
        - last_evaluated_at
      type: object
      properties:
        tenant_id:
          type: string
          description: The tenant the asset belongs to.
          format: uuid
        tenant_host:
          type: string
          description: The tenant's host name.
        endpoint_id:
          type: string
          description: The endpoint's id.
          format: uuid
        endpoint_key:
          type: string
          description: The endpoint's stable key.
        display_name:
          type:
            - 'null'
            - string
          description: The asset's name, for display.
        asset_type:
          $ref: '#/components/schemas/GlobalAssetType'
          description: What kind of asset it is.
        os_family:
          type:
            - 'null'
            - string
          description: The operating-system family.
        os_name:
          type:
            - 'null'
            - string
          description: The operating-system name.
        os_version:
          type:
            - 'null'
            - string
          description: The operating-system version.
        agent_status:
          type:
            - 'null'
            - string
          description: >-
            `online` when the agent checked in within the agent online window,
            `offline` when it did not.
        score:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$
          type:
            - 'null'
            - number
            - string
          description: >-
            The pooled secure-baseline score, from 0 to 100. Higher is better.
            Null when the asset has not been scoped to a profile, which is not
            the same as 0.
          format: double
        grade:
          type:
            - 'null'
            - string
          description: >-
            The letter grade for the score, from `A+` to `F`. Null when there is
            no score.
        benchmark_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Benchmarks the asset is evaluated against.
          format: uint64
        passing_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Controls that pass.
          format: uint64
        failing_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Controls that fail.
          format: uint64
        unknown_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Controls whose result is not known.
          format: uint64
        not_automatable_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Controls that cannot be checked automatically.
          format: uint64
        evidence_missing_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: >-
            Controls that could not be evaluated because the evidence is
            missing.
          format: uint64
        not_applicable_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Controls that do not apply to the asset.
          format: uint64
        waived_count:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - integer
            - string
          description: Controls that were waived.
          format: uint64
        last_evaluated_at:
          type:
            - 'null'
            - string
          description: When the asset was last evaluated, in UTC.
          format: date-time
        tenant_name:
          type:
            - 'null'
            - string
          description: The tenant's name.
        profile_ids:
          type:
            - 'null'
            - array
          items:
            type: string
          description: The ids of the profiles the asset is scoped to.
        profile_labels:
          type:
            - 'null'
            - array
          items:
            type: string
          description: The names of those profiles.
        benchmark_ids:
          type:
            - 'null'
            - array
          items:
            type: string
          description: The ids of the benchmarks the asset is evaluated against.
        benchmark_labels:
          type:
            - 'null'
            - array
          items:
            type: string
          description: The names of those benchmarks.
        platform_keys:
          type:
            - 'null'
            - array
          items:
            type: string
          description: The benchmark platform keys.
        assigned_profile_id:
          type:
            - 'null'
            - string
          description: The id of the profile assigned to the asset now.
        assigned_profile_label:
          type:
            - 'null'
            - string
          description: >-
            The name of the assigned profile. From the moment a profile is
            assigned until the asset is next evaluated, `profile_labels` does
            not contain it.
      description: >-
        An asset's secure-baseline posture: how it scores against the
        configuration benchmarks it is scoped to.
    GlobalAssetType:
      enum:
        - endpoint
        - host
        - server
        - workstation
        - network_device
        - printer
        - router
        - switch
        - firewall
        - service
        - external
        - domain
        - unknown
      description: >-
        What kind of asset it is. `endpoint` is an agent-backed machine whose
        kind is not known yet; `server` and `workstation` refine it. The rest
        are scanned devices and services.
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        A machine-client token from POST /v1/auth/client-token, carrying
        subject_type=machine_client and the pulse.read scope.
      scheme: bearer
      bearerFormat: JWT

````

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