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

# Get finding information by ID



## OpenAPI

````yaml https://app.pentest-tools.com/api-schema.yml get /findings/{id}
openapi: 3.0.3
info:
  title: pentest-tools.com REST API
  version: 1.0.1.1
servers:
  - url: https://app.pentest-tools.com/api/v2
security:
  - bearerAuth: []
tags:
  - name: targets
    x-displayName: Targets
    description: Operations done on Targets
  - name: scans
    x-displayName: Scans
    description: Operations done on Scans
  - name: workspaces
    x-displayName: Workspaces
    description: Operations done on Workspaces
  - name: http_loggers
    x-displayName: HTTP Loggers
    description: Operations done on HTTP Loggers
  - name: wordlists
    x-displayName: Wordlists
    description: Operations done on Wordlists
  - name: finding_templates
    x-displayName: Finding Templates
    description: Operations done on Finding Templates
  - name: vpn_profiles
    x-displayName: VPN Profiles
    description: Operations done on VPN Profiles
  - name: findings
    x-displayName: Findings
    description: Operations done on Findings
  - name: reports
    x-displayName: Reports
    description: Operations done on Reports
paths:
  /findings/{id}:
    get:
      tags:
        - findings
      summary: Get finding information by ID
      operationId: get_finding
      parameters:
        - name: id
          in: path
          description: id of finding to get
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    $ref: '#/components/schemas/Finding'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/ObjectNotFoundError'
        '429':
          $ref: '#/components/responses/TooManyRequestsError'
        '500':
          description: Internal server error
components:
  schemas:
    Finding:
      type: object
      allOf:
        - $ref: '#/components/schemas/OutputFinding'
      properties:
        target_id:
          type: integer
          description: The ID of the target where the finding was found
          example: 12345
        task_id:
          type: integer
          nullable: true
          description: >-
            The ID of the task where the finding was found. This is `null` for
            manual findings
          example: 54321
        screenshots:
          type: integer
          description: The number of screenshots taken for the finding
          example: 1
    OutputFinding:
      type: object
      properties:
        id:
          type: integer
          nullable: true
          description: the ID of the finding. This is `null` if the scan is still running
          example: 420233
        name:
          type: string
          description: A short description of the finding
          example: Vulnerabilities found for Apache Httpd 2.4.10
        test_description:
          deprecated: true
          type: string
          description: |
            This field is deprecated and will be removed in a future version.
            Use `/scans/{id}/tests` or `/findings/{id}/tests` instead.
            A short description of what the test does.
          example: Checking for SQL Injection...
        test_finished:
          deprecated: true
          type: boolean
          example: true
          description: >
            This field is deprecated and will be removed in a future version.

            Use `/scans/{id}/tests` or `/findings/{id}/tests` instead.

            This is set to `true` when the test ends. If `false`, it indicates
            the failed test.
        confirmed:
          type: boolean
          description: >-
            this is set to `true` if the finding has a high certainty of not
            being a false positive
        epss_score:
          type: number
          nullable: true
          format: float
        epss_percentile:
          type: number
          nullable: true
          format: float
        in_cisa_catalog:
          type: boolean
          nullable: true
          example: true
          description: >-
            Indicated whether the CVEs are part of the CISA Known Exploited
            Vulnerabilities Catalog
        cve:
          type: array
          items:
            type: string
          example:
            - CVE-2017-3167
            - CVE-2019-0217
        cvss:
          type: number
          nullable: true
          format: float
        cvssv3:
          type: number
          nullable: true
          format: float
        vuln_description:
          type: string
          example: Vulnerabilities found for Apache Httpd 2.4.25 (port 80/tcp)
          description: A short description of the vulnerability
        vuln_evidence:
          type: object
          description: >-
            the evidence for the data. Depending on the type, the data type
            changes. This is only human friendly and its format and data might
            change in the future
          properties:
            type:
              type: string
              enum:
                - text
                - table
                - list
                - unsuported
            data:
              type: object
              nullable: true
              oneOf:
                - type: string
                - $ref: '#/components/schemas/Table'
                - type: array
                  items:
                    type: string
        risk_description:
          type: string
          description: >-
            The risk posed by the vulnerability. This is only human friendly and
            its format and data might change in the future
        risk_level:
          type: integer
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
          description: |
            Risk level:
              * `0` - Informational
              * `1` - Low
              * `2` - Medium
              * `3` - High
              * `4` - Critical
        status:
          type: string
          nullable: true
          enum:
            - open
            - false_positive
            - ignored
            - fixed
            - accepted
          description: >-
            The status of the finding. By default this is `open`. It is `null`
            if the scan is still running
        recommendation:
          type: string
          description: >-
            a recommendation for mitigating the vulnerability. This is only
            human friendly and its format and data might change in the future
        references:
          type: array
          items:
            type: string
            format: uri
        verified:
          type: boolean
          nullable: true
          description: >-
            This is set to `true` if a finding was manually verified. It is
            `null` for running scans, since this is an attribute of the findings
            generated after a scan finished
        vuln_id:
          type: string
          nullable: true
          description: A unique vulnerability identifier
          example: NETSCAN-SNIPER-CVE-2021-42013-RCE
        owasp:
          type: object
          description: Vulnerability OWASP Top 10
          properties:
            owasp_2017:
              type: string
              nullable: true
            owasp_2021:
              type: string
              nullable: true
            owasp_2025:
              type: string
              nullable: true
        cwe:
          type: string
          nullable: true
        port:
          type: integer
          nullable: true
          minimum: 0
          maximum: 65535
          description: The port where this was found on the target
        protocol:
          type: string
          nullable: true
          enum:
            - TCP
            - UDP
            - DCCP
            - SCTP
          description: The transport layer protocol associated with the finding
        service:
          type: string
          nullable: true
          enum:
            - AMQP
            - Docker
            - FTP
            - HTTP
            - HTTPS
            - MQTT
            - MSSQL
            - MySQL
            - PostgreSQL
            - RDP
            - Redis
            - SMB
            - SSH
            - STOMP
            - Telnet
            - VNC
            - WinRM
          description: The application layer service associated with the finding
        group_id:
          type: integer
          nullable: true
          description: The ID of the finding group this finding belongs to
          example: 9876
    ErrorResponse:
      type: object
      additionalProperties: false
      properties:
        status:
          type: integer
          example: 401
        message:
          type: string
          example: No API key specified
    Table:
      type: object
      nullable: true
      properties:
        headers:
          type: array
          items:
            type: string
        rows:
          type: array
          items:
            type: array
            items:
              oneOf:
                - type: string
                - type: number
                  format: float
  responses:
    UnauthorizedError:
      description: API key is missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ForbiddenError:
      description: You can"t perform this action.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ObjectNotFoundError:
      description: The object with the given ID was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequestsError:
      description: Too many requests made in a short period of time
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Use the "API key" from the [profile
        page](https://app.pentest-tools.com/account/api) as the token

````