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

# Add third party camera via ONVIF

> Probe a single camera by IP address over ONVIF, auto-derive its metadata, and (unless disabled) provision it — adding a camera from just an IP and credentials.



## OpenAPI

````yaml https://api2.rhombussystems.com/api/openapi/public.json post /api/relay/addThirdPartyCameraViaOnvif
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/addThirdPartyCameraViaOnvif:
    post:
      tags:
        - Relay Webservice
      summary: Add third party camera via ONVIF
      description: >-
        Probe a single camera by IP address over ONVIF, auto-derive its
        metadata, and (unless disabled) provision it — adding a camera from just
        an IP and credentials.
      operationId: addThirdPartyCameraViaOnvif
      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_AddThirdPartyCameraViaOnvifWSRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Relay_AddThirdPartyCameraViaOnvifWSResponse
          description: OK
components:
  schemas:
    Relay_AddThirdPartyCameraViaOnvifWSRequest:
      type: object
      description: Add a third-party camera via ONVIF from an IP address and credentials.
      properties:
        autoAssign:
          type: boolean
          description: >-
            Provision (assign to the NVR) automatically after a successful
            probe. Defaults to false (probe-then-confirm).
          nullable: true
        ipAddress:
          type: string
          description: IPv4 address of the camera to probe
          example: 10.5.4.20
          nullable: true
        locationUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        name:
          type: string
          description: >-
            Camera name. When blank, derived from the ONVIF manufacturer and
            model.
          nullable: true
        nvrUuid:
          type: string
          format: RUUID
          description: base 64 (url-safe) uuid string
          example: AAAAAAAAAAAAAAAAAAAAAA
          nullable: true
        password:
          type: string
          description: ONVIF password to try first (optional)
          nullable: true
        trySavedCredentials:
          type: boolean
          description: >-
            Also try the org's saved third-party camera credentials. Defaults to
            true.
          nullable: true
        username:
          type: string
          description: ONVIF username to try first (optional)
          nullable: true
    Relay_AddThirdPartyCameraViaOnvifWSResponse:
      type: object
      description: Result of adding a third-party camera via ONVIF.
      properties:
        assignedDeviceUuid:
          type: string
          format: DeviceFacetUuid
          description: RUUID with optional appended facet information
          example: AAAAAAAAAAAAAAAAAAAAAA.v0
          nullable: true
        assignmentMsg:
          type: string
          description: Why auto-assignment did not happen or failed, when applicable
          nullable: true
        codec:
          type: string
          description: Detected codec(s)
          nullable: true
        error:
          type: boolean
          nullable: true
        errorMsg:
          type: string
          nullable: true
        found:
          type: boolean
          description: Whether an ONVIF-streamable camera was found at the address
          nullable: true
        ipAddress:
          type: string
          description: Resolved camera IP address
          nullable: true
        macAddress:
          type: string
          description: Camera MAC address as reported by ONVIF
          nullable: true
        manufacturer:
          type: string
          description: Manufacturer reported by ONVIF
          nullable: true
        model:
          type: string
          description: Model reported by ONVIF
          nullable: true
        name:
          type: string
          description: Name the camera was (or would be) provisioned with
          nullable: true
        rtspUrl:
          type: string
          description: RTSP stream URL derived from ONVIF
          nullable: true
        warningMsg:
          type: string
          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

````