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

# Get third party camera discovery scan status

> Returns the progress of the current/most-recent third-party camera discovery run in the org, so clients can show progress and distinguish not-started, in-progress, and complete (including complete-with-zero-cameras).



## OpenAPI

````yaml https://api2.rhombussystems.com/api/openapi/public.json post /api/relay/getThirdPartyCameraDiscoveryScanStatus
openapi: 3.0.1
info:
  contact:
    email: developer@rhombussystems.com
  description: >-
    This API is for use by Rhombus customers and partners.


    ## Authentication


    All requests require two headers:

    - `x-auth-scheme` — The authentication scheme identifier. Use `api-token`
    for standard API key auth, or `partner-api-token` for partner API auth.

    - `x-auth-apikey` — Your Rhombus API key.


    Example:

    ```

    POST /api/camera/getMinimalCameraStateList

    x-auth-scheme: api-token

    x-auth-apikey: YOUR_API_KEY

    Content-Type: application/json

    ```
  title: Rhombus API
  version: '1.0'
servers:
  - description: Production Server
    url: https://api2.rhombussystems.com
security:
  - ApiKeyAuth: []
paths:
  /api/relay/getThirdPartyCameraDiscoveryScanStatus:
    post:
      tags:
        - Relay Webservice
      summary: Get third party camera discovery scan status
      description: >-
        Returns the progress of the current/most-recent third-party camera
        discovery run in the org, so clients can show progress and distinguish
        not-started, in-progress, and complete (including
        complete-with-zero-cameras).
      operationId: getThirdPartyCameraDiscoveryScanStatus
      parameters:
        - description: >-
            Authentication scheme identifier. Use `api-token` for standard API
            key authentication, `partner-api-token` for partner API key
            authentication. Must be paired with the `x-auth-apikey` header
            containing your API key.
          example: api-token
          in: header
          name: x-auth-scheme
          required: true
          schema:
            type: string
            default: api-token
            enum:
              - api-token
              - api
              - partner-api-token
              - partner-api
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Relay_GetThirdPartyCameraDiscoveryScanStatusWSRequest
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Relay_GetThirdPartyCameraDiscoveryScanStatusWSResponse
          description: OK
components:
  schemas:
    Relay_GetThirdPartyCameraDiscoveryScanStatusWSRequest:
      type: object
      description: >-
        Request object for getting the progress of the current/most-recent
        third-party camera discovery run in the organization.
    Relay_GetThirdPartyCameraDiscoveryScanStatusWSResponse:
      type: object
      description: Progress of the current/most-recent third-party camera discovery run.
      properties:
        camerasFound:
          type: integer
          format: int32
          description: Number of cameras discovered so far in this run.
          nullable: true
        error:
          type: boolean
          nullable: true
        errorMsg:
          type: string
          nullable: true
        hasRun:
          type: boolean
          description: >-
            Whether discovery has ever been run for this org. When false, all
            other fields are unset/zero.
          nullable: true
        inProgress:
          type: boolean
          description: >-
            Whether a discovery run is still in progress (at least one Relay
            scan outstanding and the run is not stale).
          nullable: true
        nvrCount:
          type: integer
          format: int32
          description: Total number of Relays (NVRs) this run is scanning.
          nullable: true
        nvrProgress:
          type: array
          description: >-
            Per-Relay live scan progress and per-IP probe results (for
            troubleshooting).
          items:
            $ref: '#/components/schemas/Relay_NvrScanProgressType'
          nullable: true
        pendingCount:
          type: integer
          format: int32
          description: >-
            Number of Relays whose scan has not yet finished. Zero means the run
            is complete.
          nullable: true
        scanId:
          type: string
          description: >-
            Opaque id of the run, so clients can tell if a newer run superseded
            theirs.
          nullable: true
        startedMs:
          type: integer
          format: int64
          description: Epoch millis when the run started.
          nullable: true
        warningMsg:
          type: string
          nullable: true
    Relay_NvrScanProgressType:
      type: object
      description: Live scan progress for a single Relay (NVR) within a discovery run.
      properties:
        camerasFound:
          type: integer
          format: int32
          description: Cameras discovered by this Relay so far.
          nullable: true
        currentIp:
          type: string
          description: IP currently being probed, if any.
          nullable: true
        errorMsg:
          type: string
          description: Error message if this Relay's scan failed.
          nullable: true
        ipResults:
          type: array
          description: Per-IP probe results for troubleshooting.
          items:
            $ref: '#/components/schemas/Relay_IpProbeResultType'
          nullable: true
        ipResultsTruncated:
          type: boolean
          description: True if ipResults was capped (more IPs were probed than are listed).
          nullable: true
        ipsProbed:
          type: integer
          format: int32
          description: IPs probed so far in the current phase.
          nullable: true
        ipsTotal:
          type: integer
          format: int32
          description: >-
            IPs to ONVIF-probe in the current phase (0 while the phase is
            opaque, e.g. nmap).
          nullable: true
        nvrUuid:
          type: string
          description: Relay (NVR) uuid this progress is for.
          nullable: true
        phase:
          type: string
          description: DISCOVERING | PORT_SCANNING | PROBING | COMPLETE | FAILED.
          nullable: true
        scannedCidrs:
          type: array
          description: >-
            Subnets/CIDRs being scanned (meaningful during the opaque port-scan
            phase).
          items:
            type: string
            description: >-
              Subnets/CIDRs being scanned (meaningful during the opaque
              port-scan phase).
            nullable: true
          nullable: true
        updatedMs:
          type: integer
          format: int64
          description: Epoch millis this progress was last updated.
          nullable: true
    Relay_IpProbeResultType:
      type: object
      description: >-
        Result of probing a single IP address during third-party camera
        discovery.
      properties:
        acceptedUsername:
          type: string
          description: Username of the credentials that succeeded, if any.
          nullable: true
        ipAddress:
          type: string
          description: The probed IP address.
          nullable: true
        macAddress:
          type: string
          description: MAC address, if known.
          nullable: true
        manufacturer:
          type: string
          description: Manufacturer reported over ONVIF, if any.
          nullable: true
        model:
          type: string
          description: Model reported over ONVIF, if any.
          nullable: true
        rtspFound:
          type: boolean
          description: Whether an RTSP stream URI was obtained for this IP.
          nullable: true
        source:
          type: string
          description: >-
            How the IP was found: MULTICAST (WS-Discovery) or PORT_SCAN (554
            open).
          nullable: true
        status:
          type: string
          description: >-
            ONVIF probe outcome: GOOD, NOT_SUPPORTED, NOT_AUTHENTICATED,
            NO_ONVIF, NOT_REACHABLE.
          nullable: true
  securitySchemes:
    ApiKeyAuth:
      description: >-
        Your Rhombus API key. Must be accompanied by the `x-auth-scheme` header
        set to `api-token` (or `partner-api-token` for partner endpoints).
      in: header
      name: x-auth-apikey
      type: apiKey

````