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

# Get reporting facts



## OpenAPI

````yaml /api-reference/openapi.json post /api/v2/reporting/facts
openapi: 3.1.1
info:
  title: ContraForce API
  description: ContraForce platform API for security operations management.
  version: '2.0'
servers: []
security: []
tags:
  - name: Incidents
  - name: Gamebooks
  - name: Data sources
  - name: Service tickets
  - name: Investigation
  - name: Export
  - name: agent-tools
  - name: Cross-workspace incidents
  - name: Cross-workspace gamebooks
  - name: Cross-workspace data sources
  - name: Webhooks
  - name: Service accounts
  - name: Users
  - name: Azure resources
  - name: Reporting
paths:
  /api/v2/reporting/facts:
    post:
      tags:
        - Reporting
      summary: Get reporting facts
      operationId: v2-get-reporting-facts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportingFactsPageRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseOfReportingFactsPageResponse'
        '400':
          description: Bad request — validation or parameter binding failed.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '401':
          description: Unauthorized — missing or invalid Bearer token.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '403':
          description: Forbidden — insufficient scope or workspace access.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '404':
          description: Not found — workspace or resource is missing.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ApiProblemDetails'
components:
  schemas:
    ReportingFactsPageRequest:
      required:
        - type
        - from
        - to
      type: object
      properties:
        pageSize:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          description: >-
            Rows per page, from 1 to 200; 50 when omitted. A page can hold fewer
            rows while a token remains.
          format: int32
        continuationToken:
          type:
            - 'null'
            - string
          description: The previous page's token; omitted for the first page.
        type:
          type:
            - 'null'
            - string
          description: >-
            The fact type: `detection`, `closure`, `investigation`, `feedback`,
            `sla-result`,

            `sla-transition`, `assignment` or `response-action`.
        closerType:
          type:
            - 'null'
            - string
          description: 'Closure facts only: who closed the incident.'
        outcome:
          type:
            - 'null'
            - string
          description: 'Investigation and response-action facts only: how the run ended.'
        severity:
          type:
            - 'null'
            - string
          description: The incident's severity.
        verdict:
          type:
            - 'null'
            - string
          description: 'Investigation facts only: the agent''s verdict.'
        rule:
          type:
            - 'null'
            - string
          description: 'Closure facts only: the rule, as the incident title.'
        slaType:
          type:
            - 'null'
            - string
          description: 'SLA state changes only: the clock, `Slo` or `Mttr`.'
        tier:
          type:
            - 'null'
            - string
          description: >-
            SLA state changes only: the tier the clock moved to, `AtRisk`,
            `Breached` or `Met`.
        from:
          type: string
          description: >-
            The first day of the range, inclusive (UTC days). A range spans at
            most 366 days.
          format: date
        to:
          type: string
          description: The last day of the range, inclusive (UTC days).
          format: date
        workspaceIds:
          type:
            - 'null'
            - array
          items:
            type: string
            format: uuid
          description: >-
            The workspaces to read, at most 500; `null` or empty reads every
            workspace the caller may see. A service

            account sees the workspaces it holds a role on.
      description: >-
        One page of facts: the filters, plus the page size and where the
        previous page stopped.
    ApiResponseOfReportingFactsPageResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ReportingFactsPageResponse'
          description: One page of reporting facts for a drill-down table.
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      description: Standard v2 API response envelope for single-item responses.
    ApiProblemDetails:
      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
        code:
          type:
            - 'null'
            - string
        requestId:
          type:
            - 'null'
            - string
        timestamp:
          type:
            - 'null'
            - string
        target:
          type:
            - 'null'
            - string
        errors:
          type:
            - 'null'
            - object
          additionalProperties:
            type: array
            items:
              type: string
      description: >-
        API extension of ProblemDetails that surfaces the stable error code,

        trace identifier, timestamp, optional target, and optional field-keyed
        validation

        error map alongside the RFC 7807 members.
    ReportingFactsPageResponse:
      type: object
      properties:
        items:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ReportingFactRowResponse'
            description: >-
              One fact. The fields every fact has, plus the fields of its own
              type; the fields of other types are null.
          description: >-
            The rows, workspace by workspace and month by month, newest first
            within each.
        continuationToken:
          type:
            - 'null'
            - string
          description: >-
            Pass back to read the next page; `null` when there is no more. A
            page can be short while a token remains.
      description: One page of reporting facts for a drill-down table.
    ResponseMeta:
      type: object
      properties:
        requestId:
          type:
            - 'null'
            - string
        timestamp:
          type:
            - 'null'
            - string
    ReportingFactRowResponse:
      type: object
      properties:
        id:
          type:
            - 'null'
            - string
        type:
          type:
            - 'null'
            - string
          description: The fact type, for example `closure` or `investigation`.
        workspaceId:
          type:
            - 'null'
            - string
        day:
          type:
            - 'null'
            - string
          description: '`yyyy-MM-dd`, UTC.'
        eventAt:
          type: string
          format: date-time
        incident:
          $ref: '#/components/schemas/ReportingFactIncidentResponse'
          description: The incident a fact is about.
        closerType:
          type:
            - 'null'
            - string
        closer:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ReportingFactActorResponse'
              description: Who did something.
        classification:
          type:
            - 'null'
            - string
        reason:
          type:
            - 'null'
            - string
        timeToCloseSeconds:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$
          type:
            - 'null'
            - number
            - string
          format: double
        executionId:
          type:
            - 'null'
            - string
        agent:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ReportingFactActorResponse'
              description: Who did something.
        outcome:
          type:
            - 'null'
            - string
        verdictClassification:
          type:
            - 'null'
            - string
        durationSeconds:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$
          type:
            - 'null'
            - number
            - string
          format: double
        costUsd:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          type:
            - 'null'
            - number
            - string
          description: >-
            What the run cost; withheld from a caller who may not see the
            organization's spend.
          format: double
        isLatestForIncident:
          type:
            - 'null'
            - boolean
        signal:
          type:
            - 'null'
            - string
        countsTowardAccuracy:
          type:
            - 'null'
            - boolean
        slaType:
          type:
            - 'null'
            - string
        result:
          type:
            - 'null'
            - string
        elapsedSeconds:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$
          type:
            - 'null'
            - number
            - string
          format: double
        targetSeconds:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$
          type:
            - 'null'
            - number
            - string
          format: double
        kind:
          type:
            - 'null'
            - string
        fromTier:
          type:
            - 'null'
            - string
        toTier:
          type:
            - 'null'
            - string
        assigneeId:
          type:
            - 'null'
            - string
        isFirstAssignment:
          type:
            - 'null'
            - boolean
        timeToFirstAssignmentSeconds:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$
          type:
            - 'null'
            - number
            - string
          format: double
        actionType:
          type:
            - 'null'
            - string
          description: The response action, such as `Isolate-Endpoint`.
        entityType:
          type:
            - 'null'
            - string
        actor:
          type:
            - 'null'
            - string
          description: 'Who requested a response action: `Agent`, `Automation` or `Analyst`.'
        startedAt:
          type:
            - 'null'
            - string
          format: date-time
      description: >-
        One fact. The fields every fact has, plus the fields of its own type;
        the fields of other types are null.
    ReportingFactIncidentResponse:
      type: object
      properties:
        source:
          type:
            - 'null'
            - string
        id:
          type:
            - 'null'
            - string
        number:
          type:
            - 'null'
            - string
        severity:
          type:
            - 'null'
            - string
        title:
          type:
            - 'null'
            - string
      description: The incident a fact is about.
    ReportingFactActorResponse:
      type: object
      properties:
        id:
          type:
            - 'null'
            - string
        name:
          type:
            - 'null'
            - string
      description: Who did something.

````

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