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

# List rule results

> List rule results across a workspace.

A rule result is the compliance status of one rule for one entity: a project for project-scoped
rules, or the workspace itself for workspace-scoped rules. This is the endpoint to poll or export
when you want your current compliance state, filtered to a framework, a project, or a status.




## OpenAPI

````yaml get /workspaces/{workspaceId}/rule-results
openapi: 3.0.3
info:
  contact:
    email: support@openlayer.com
    name: Openlayer
    url: https://openlayer.com/
  description: API for interacting with the Openlayer server.
  title: Openlayer API
  version: '1.0'
  x-logo:
    url: https://logo.clearbit.com/openlayer.com
servers:
  - url: https://api.openlayer.com/v1
    description: Our prod backend
security:
  - bearerAuth: []
paths:
  /workspaces/{workspaceId}/rule-results:
    get:
      tags:
        - Governance
      summary: List rule results
      description: >
        List rule results across a workspace.


        A rule result is the compliance status of one rule for one entity: a
        project for project-scoped

        rules, or the workspace itself for workspace-scoped rules. This is the
        endpoint to poll or export

        when you want your current compliance state, filtered to a framework, a
        project, or a status.
      operationId: listRuleResults
      parameters:
        - $ref: '#/components/parameters/workspaceId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/perPage'
        - $ref: '#/components/parameters/frameworkIdFilter'
        - $ref: '#/components/parameters/projectIdFilter'
        - $ref: '#/components/parameters/ruleScope'
        - $ref: '#/components/parameters/ruleType'
        - $ref: '#/components/parameters/ruleStatus'
        - $ref: '#/components/parameters/enabledFrameworkOnly'
        - $ref: '#/components/parameters/includeUnframed'
        - $ref: '#/components/parameters/searchQuery'
        - name: ruleId
          in: query
          description: Only include results of this rule.
          required: false
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Status OK.
          content:
            application/json:
              schema:
                type: object
                required:
                  - items
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/RuleResult'
        default:
          $ref: '#/components/responses/UnexpectedError'
      x-codeSamples:
        - lang: curl
          source: |
            curl --request GET \
              --url 'https://api.openlayer.com/v1/workspaces/3fa85f64-5717-4562-b3fc-2c963f66afa6/rule-results?frameworkId=9f1b3c2d-4e5a-4f60-8a71-2b3c4d5e6f70&status=failing&perPage=100' \
              --header 'Authorization: Bearer <token>'
components:
  parameters:
    workspaceId:
      name: workspaceId
      in: path
      description: The workspace id.
      required: true
      schema:
        type: string
        format: uuid
    page:
      name: page
      in: query
      description: The page to return in a paginated query.
      schema:
        type: integer
        minimum: 1
        default: 1
    perPage:
      name: perPage
      in: query
      description: Maximum number of items to return per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    frameworkIdFilter:
      name: frameworkId
      in: query
      description: Only include items belonging to this framework.
      required: false
      schema:
        type: string
        format: uuid
    projectIdFilter:
      name: projectId
      in: query
      description: Only include items that apply to this project.
      required: false
      schema:
        type: string
        format: uuid
    ruleScope:
      name: scope
      in: query
      description: Only include rules with this scope.
      required: false
      schema:
        $ref: 159eb5ee-de08-43fe-965e-b4dd79b1cba2
    ruleType:
      name: type
      in: query
      description: Only include rules of this type.
      required: false
      schema:
        $ref: 21c7a3a1-6f37-4001-b2a9-079e43ad9660
    ruleStatus:
      name: status
      in: query
      description: Only include items whose rule result has this compliance status.
      required: false
      schema:
        $ref: c8f80617-f8c4-48a0-be58-e48c67cd6cb3
    enabledFrameworkOnly:
      name: enabledFrameworkOnly
      in: query
      description: Only include items belonging to at least one enabled framework.
      required: false
      schema:
        type: boolean
        default: false
    includeUnframed:
      name: includeUnframed
      in: query
      description: Whether to include rules that are not part of any framework.
      required: false
      schema:
        type: boolean
        default: true
    searchQuery:
      name: searchQuery
      in: query
      description: Filter by a free-text search over names and descriptions.
      required: false
      schema:
        type: string
  schemas:
    RuleResult:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: The rule result id.
          example: 5b7d9f1a-2c3e-4d5f-8a6b-9c0d1e2f3a4b
        workspaceId:
          type: string
          format: uuid
          readOnly: true
          description: The id of the workspace the rule result belongs to.
        ruleId:
          type: string
          format: uuid
          readOnly: true
          description: The rule this result belongs to.
        projectId:
          type: string
          format: uuid
          nullable: true
          readOnly: true
          description: >-
            The project this result was evaluated for. `null` for
            workspace-scoped rules.
        status:
          type: string
          enum:
            - running
            - passing
            - failing
            - skipped
            - error
            - pending
            - due_soon
          description: The compliance status of the rule for this entity.
          example: passing
        statusMessage:
          type: string
          nullable: true
          description: A human-readable explanation of the status.
        dateLastEvaluated:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: When the rule was last evaluated. Platform rules only.
        dateOfNextEvaluation:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: When the rule will next be evaluated. Platform rules only.
        dateOfLatestEvidence:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: >-
            When the most recent piece of evidence was attached. Evidence rules
            only.
        dateOfRenewal:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: >-
            When the evidence must be renewed. Evidence rules with a renewal
            cadence only.
        deactivated:
          type: boolean
          default: false
          description: Whether this result is excluded from compliance calculations.
        deactivatedReason:
          type: string
          nullable: true
          description: Why the result was excluded.
        assigneeId:
          type: string
          format: uuid
          nullable: true
          description: The user responsible for this result.
        blockedBy:
          type: array
          default: []
          description: Rule results that must pass before this one can be satisfied.
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              status: f8525691-88dc-400b-a084-7ed44d40a6d2
        blocking:
          type: array
          default: []
          description: Rule results that this one blocks.
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              status: f8525691-88dc-400b-a084-7ed44d40a6d2
        dateCreated:
          type: string
          format: date-time
          readOnly: true
          description: The creation date.
          example: '2026-03-22T11:31:01.185Z'
        dateUpdated:
          type: string
          format: date-time
          readOnly: true
          description: The last update date.
          example: '2026-03-22T11:31:01.185Z'
      required:
        - id
        - workspaceId
        - ruleId
        - status
        - deactivated
        - dateCreated
        - dateUpdated
  responses:
    UnexpectedError:
      description: Unexpected error.
      content:
        application/json:
          schema:
            type: object
            required:
              - code
              - error
            properties:
              code:
                type: integer
                format: int32
              error:
                type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your workspace API key. See [Find your API
        key](https://www.openlayer.com/docs/workspace-and-projects/find-your-api-key)
        for more information.

````