Eagle Eye Networks Layouts API

All core operations on one layouts, which are used to show multiple feeds at the same time.

Operations 5

GET /layouts Get layouts #
POST /layouts Create layout #
DELETE /layouts/{layoutId} Delete layout #
GET /layouts/{layoutId} Get layout #
PATCH /layouts/{layoutId} Update layout #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-auth-settings-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-auth-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-client-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-alert-action-rule-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-alert-action-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-event-alert-condition-rule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-alert-action-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-event-alert-condition-rule-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-event-rules-fields-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-ptz-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-add-camera-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-update-bulk-camera-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-ptz-position-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-camera-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-tunnel-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-event-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-alert-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-notification-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-filter-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-event-metric-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-events-by-type-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-location-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-layout-for-single-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-layout-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-paginated-location-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-paginated-location-descendants-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-paginated-floor-plans-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-download-details-with-includes-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-video-summary-export-details-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-copy-export-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-paginated-file-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-create-export-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-token-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-access-token-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-application-oauth-client-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-application-oauth-client-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-application-oauth-client-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-application-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-application-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-paginated-oauth-client-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-add-user-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-role-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-user-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-user-self-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-api-user-main-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-edition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-lpr-fields-data-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-lpr-alert-condition-rule-untagged-for-post-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-lpr-alert-condition-rule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-lpr-vehicle-list-untagged-record-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-lpr-vehicle-list-meta-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-lpr-vehicle-list-untagged-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-search-event-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-paginated-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-region-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-actor-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/eagle-eye-networks/refs/heads/main/json-schema/eagle-eye-networks-person-attribute-list-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eagle-eye-networks:eagle-eye-networks-layouts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eagle-eye-networks-layouts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GROUPING Layouts API
  version: 3.0.0
  description: All core operations on one layouts, which are used to show multiple feeds at the same time.
servers:
- url: https://{BaseUrl}/api/v3.0
  description: Eagle Eye Networks API Server
  variables:
    BaseUrl:
      default: api.cxxx.eagleeyenetworks.com
      description: HTTPS Base url to use for all API calls, retrieved from https://api.eagleeyenetworks.com/api/v3.0/clientSettings
security:
- bearerAuth: []
tags:
- name: Layouts
  description: All core operations on one layouts, which are used to show multiple feeds at the same time.
paths:
  /layouts:
    get:
      operationId: getLayouts
      description: 'This endpoint allows you to retrieve all the layouts associated with the account.

        It is important to note that after using the pageSize parameter, the "totalSize" in the response represents the total number of available layouts, not the number of layouts resulting from the query string.'
      parameters:
      - $ref: '#/components/parameters/includeForList'
      - $ref: '#/components/parameters/sort'
      - $ref: '#/components/parameters/pageToken'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/name'
      - $ref: '#/components/parameters/name__in'
      - $ref: '#/components/parameters/name__contains'
      - $ref: '#/components/parameters/id__in'
      - $ref: '#/components/parameters/bridge'
      - $ref: '#/components/parameters/q'
      - $ref: '#/components/parameters/qRelevance__gte'
      responses:
        '200':
          description: Successfully fetched
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiPaginatedLayoutResponse'
        '400':
          $ref: '#/components/responses/validationError'
        '401':
          $ref: '#/components/responses/unauthorized'
        '500':
          $ref: '#/components/responses/internalServerError'
      tags:
      - Layouts
      summary: Get layouts
      x-summary-source: derived
    post:
      description: This endpoint allows you to create a layout.
      operationId: createLayout
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiLayoutCreate'
      responses:
        '201':
          description: Layout Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiLayoutForSingle'
        '400':
          $ref: '#/components/responses/validationError'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
      tags:
      - Layouts
      summary: Create layout
      x-summary-source: derived
  /layouts/{layoutId}:
    parameters:
    - $ref: '#/components/parameters/layoutId'
    delete:
      operationId: deleteLayout
      description: This endpoint allows you to delete an existing layout.
      responses:
        '204':
          description: Layout deleted.
        '400':
          $ref: '#/components/responses/validationError'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/resourceNotFound'
        '500':
          $ref: '#/components/responses/internalServerError'
      tags:
      - Layouts
      summary: Delete layout
      x-summary-source: derived
    get:
      operationId: getLayout
      description: This endpoint allows you to retrieve info of a specific layout.
      tags:
      - Layouts
      parameters:
      - $ref: '#/components/parameters/includeForSingle'
      responses:
        '200':
          description: Successfully fetched
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiLayoutForSingle'
        '400':
          $ref: '#/components/responses/validationError'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/resourceNotFound'
        '500':
          $ref: '#/components/responses/internalServerError'
      summary: Get layout
      x-summary-source: derived
    patch:
      description: This endpoint allows you to update a specific layout.
      operationId: updateLayout
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiLayoutUpdate'
      responses:
        '204':
          description: Layout Updated
        '400':
          $ref: '#/components/responses/validationError'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/resourceNotFound'
        '500':
          $ref: '#/components/responses/internalServerError'
      tags:
      - Layouts
      summary: Update layout
      x-summary-source: derived
components:
  schemas:
    ApiPaginatedLayoutResponse:
      allOf:
      - $ref: '#/components/schemas/PaginatedResponseWithSize'
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/ApiLayoutForList'
    ErrorInfoExceptionDetail:
      properties:
        type:
          description: A string enum describing the type of detail object.
          type: string
          enum:
          - errorInfo
        reason:
          description: 'The reason for the error. This is a constant value that identifies the proximate cause of the

            error. Error reasons are unique within a particular domain of errors.

            '
          type: string
          enum:
          - unauthenticated
          - unexpectedArgument
          - missingRequiredArgument
          - wrongArgumentValue
          - invalidPermission
          - wrongEdition
          - wrongAccountType
          - resourceNotFound
          - endpointNotFound
          - methodNotSupported
          - unexpectedError
          - acceptNotSupported
          - alreadyExists
          - foreignKeyConflict
          - childDevicesExist
          - contentNotSupported
          - deadlineExpired
          - tooManyRequests
          - deviceUnavailable
          - serviceUnavailable
          - invalidJSON
          - resourceLocked
          - notSupportedOnBridge
          - outOfRetention
          - deviceIdentificationFailed
          - credentialValidationFailed
          - credentialSetupFailed
          - localUrlValidationFailed
          - hwRegistrationFailed
          - failedAddingCameraAfterValidation
          - neverConnected
          - reconnectFailed
          - unsupportedModel
          - purged
          - userBlocked
          - userTemporarilyBlocked
          - quotaExceeded
          - alreadyValidated
          - reAuthenticationRequired
          - badGateway
        domain:
          description: 'Logical grouping to which the "reason" belongs

            '
          type: string
        metadata:
          $ref: '#/components/schemas/ExceptionMetadata'
    ApiPaneGet:
      allOf:
      - $ref: '#/components/schemas/ApiPane'
      required:
      - id
      - name
      - type
      - size
      - cameraId
      - compositeId
    EdgeReportedDeviceStatusCounts:
      type: object
      properties:
        operational:
          type: integer
        disabled:
          type: integer
        unreachable:
          type: integer
        error:
          type: integer
        unknown:
          type: integer
        initializing:
          type: integer
    CameraStatusCounts:
      type: object
      properties:
        online:
          type: integer
        deviceOffline:
          type: integer
        'off':
          type: integer
        bridgeOffline:
          type: integer
        invalidCredentials:
          type: integer
        error:
          type: integer
        unknown:
          type: integer
    ExceptionDetail:
      type: object
      oneOf:
      - $ref: '#/components/schemas/ErrorInfoExceptionDetail'
      - $ref: '#/components/schemas/BadRequestExceptionDetail'
      - $ref: '#/components/schemas/ResourceInfoExceptionDetail'
      discriminator:
        propertyName: type
        mapping:
          errorInfo: '#/components/schemas/ErrorInfoExceptionDetail'
          badRequest: '#/components/schemas/BadRequestExceptionDetail'
          resourceInfo: '#/components/schemas/ResourceInfoExceptionDetail'
      properties:
        type:
          description: A string enum describing the type of detail object.
          type: string
          enum:
          - errorInfo
          - badRequest
          - resourceInfo
      required:
      - type
    ApiLayoutForSingle:
      allOf:
      - $ref: '#/components/schemas/ApiLayoutCreate'
      properties:
        id:
          type: string
          example: 123ab123-1233-11a1-ab01-1b123ab1234
          description: Unique layout identifier
        accountId:
          type: string
          description: Account ID specified in as an ESN Type.
          pattern: ^[a-fA-F0-9]{8}$
          example: '00001106'
        effectivePermissions:
          $ref: '#/components/schemas/EffectiveLayoutPermissions'
        resourceCounts:
          $ref: '#/components/schemas/ResourceCounts'
        resourceStatusCounts:
          $ref: '#/components/schemas/ResourceStatusCounts'
        resourceStatusV2Counts:
          $ref: '#/components/schemas/ResourceStatusV2Counts'
        panes:
          type: array
          items:
            $ref: '#/components/schemas/ApiPaneGet'
      required:
      - id
      - panes
      - accountId
    ApiLayoutUpdate:
      properties:
        panes:
          type: array
          items:
            $ref: '#/components/schemas/ApiPane'
        settings:
          $ref: '#/components/schemas/ApiLayoutSettingsUpdate'
        name:
          type: string
          description: Name of the layout.
          example: Main office floor 1
          minLength: 1
          maxLength: 126
    CameraStatusV2Counts:
      type: object
      properties:
        cloudConnectionStatus:
          $ref: '#/components/schemas/CloudConnectionStatusCounts'
        edgeReportedDeviceStatus:
          $ref: '#/components/schemas/EdgeReportedDeviceStatusCounts'
    ApiLayoutForList:
      allOf:
      - $ref: '#/components/schemas/ApiLayoutCreate'
      properties:
        id:
          type: string
          example: 123ab123-1233-11a1-ab01-1b123ab1234
          description: Unique layout identifier
        accountId:
          type: string
          description: Account ID specified in as an ESN Type.
          pattern: ^[a-fA-F0-9]{8}$
          example: '00001106'
        effectivePermissions:
          $ref: '#/components/schemas/EffectiveLayoutPermissions'
        resourceCounts:
          $ref: '#/components/schemas/ResourceCounts'
        resourceStatusCounts:
          $ref: '#/components/schemas/ResourceStatusCounts'
        resourceStatusV2Counts:
          $ref: '#/components/schemas/ResourceStatusV2Counts'
        panes:
          type: array
          items:
            $ref: '#/components/schemas/ApiPaneGet'
        qRelevance:
          type: number
          description: 'Field is only returned when `q` parameter is used and its value indicates the relevance of the layout in relation to the terms in the `q` parameter. The range of this value is between 0 and 1, higher is better.

            '
          format: float
          minimum: 0
          maximum: 1
          example: 0.5
          readOnly: true
      required:
      - id
      - panes
      - accountId
    ResourceStatusV2Counts:
      description: Count of resources by cloud connection status and edge-reported device status.
      type: object
      readOnly: true
      x-jsoninclude-nonnull-annotation: true
      properties:
        cameras:
          $ref: '#/components/schemas/CameraStatusV2Counts'
    ApiLayoutSettingsUpdate:
      description: Object identifying the layout settings
      properties:
        showCameraBorder:
          type: boolean
          example: true
          description: This flag if enabled, shows pane borders.
        showCameraName:
          type: boolean
          example: true
          description: This flag if enabled, shows camera name
        cameraAspectRatio:
          type: string
          description: Aspect ratio of image
          example: 16x9
          enum:
          - 16x9
          - 4x3
        paneColumns:
          type: integer
          minimum: 1
          maximum: 6
          description: Max number of cameras to show per row
    ApiV3Error:
      type: object
      properties:
        code:
          description: HTTP code defined in EEN Standard Code Values
          type: integer
        status:
          description: A string enum describing the code
          type: string
          enum:
          - cancelled
          - unknown
          - invalidArgument
          - deadlineExceeded
          - notFound
          - conflict
          - permissionDenied
          - resourceExhausted
          - failedPrecondition
          - aborted
          - outOfRange
          - unimplemented
          - internal
          - unavailable
          - dataLoss
          - unauthenticated
          - mediaTypeNotSupported
          - acceptNotSupported
          - methodNotSupported
          - tooManyRequests
          - badGateway
        message:
          description: Developer friendly human readable error message in English
          type: string
        details:
          description: An array of extensible objects that define error information
          type: array
          items:
            $ref: '#/components/schemas/ExceptionDetail'
      required:
      - code
      - status
      - message
      - details
    BadRequestExceptionDetail:
      properties:
        type:
          description: A string enum describing the type of detail object.
          type: string
          enum:
          - badRequest
        argumentViolations:
          type: array
          items:
            $ref: '#/components/schemas/ArgumentViolation'
    PaginatedResponseNoTotalSize:
      type: object
      description: 'Used to wrap results for a paginated response, containing information on how to retrieve further pages.

        '
      properties:
        nextPageToken:
          type:
          - string
          - 'null'
          readOnly: true
          description: 'Token to retrieve the next page. The value of this token is passed into the field pageToken. This value can be null if there is no next page.

            '
        prevPageToken:
          type:
          - string
          - 'null'
          readOnly: true
          description: 'Token to retrieve the previous page. The value of this token is passed into the field pageToken. This value can be null of there is no previous page.

            '
        results:
          type: array
          readOnly: true
          description: The result set from a collection API call.
          items:
            type: object
      required:
      - nextPageToken
      - prevPageToken
      - results
    ResourceStatusCounts:
      description: Count of resources by status.
      type: object
      readOnly: true
      x-jsoninclude-nonnull-annotation: true
      properties:
        cameras:
          $ref: '#/components/schemas/CameraStatusCounts'
    PaginatedResponseWithSize:
      description: "Used to wrap results for a paginated response, containing information on how to retrieve further pages and  the total number of results.  \n"
      allOf:
      - $ref: '#/components/schemas/PaginatedResponseNoTotalSize'
      - properties:
          totalSize:
            type: integer
            readOnly: true
            description: 'Size of the total result set.

              '
        required:
        - totalSize
    ResourceInfoExceptionDetail:
      properties:
        type:
          description: A string enum describing the type of detail object.
          type: string
          enum:
          - resourceInfo
        resource:
          description: Referenced resource type, eg "cameras", "bridges", or "locations".
          type: string
        ids:
          type: array
          description: Identities of resources
          items:
            type: string
    ApiPane:
      properties:
        id:
          type: integer
          example: 1
          description: Unique identifier of pane in layout assigned to each pane. This determines the location indexing of panes in layout.
          minimum: 0
        name:
          type: string
          example: front door
          description: Name of the pane in layout
          maxLength: 126
        type:
          type: string
          example: preview
          enum:
          - preview
          - compositePreview
          description: 'Possible values:

            * `preview` - show the view for a single camera using "preview" images which are lower resolution and lower frequency than the real stream. * `compositePreview` - show the composite of a de-warped camera view.

            '
        size:
          type: integer
          example: 1
          description: Size of displayed image in pane. Size 1 shows the smallest size
          minimum: 1
          maximum: 3
        cameraId:
          type: string
          example: 1003b545
          description: Unique identifier of the camera.
        compositeId:
          type:
          - string
          - 'null'
          description: Unique identifier of the composite of a de-warped camera view.
      required:
      - id
      - name
      - type
      - size
      - cameraId
    ArgumentViolation:
      properties:
        argumentName:
          type: string
          description: Name of the argument
        description:
          type: string
          description: Description of the violation
    ExceptionMetadata:
      properties:
        path:
          description: Path of the request
          type: string
        method:
          description: Method of the request
          type: string
    ApiLayoutCreate:
      allOf:
      - $ref: '#/components/schemas/ApiLayoutUpdate'
      - properties:
          settings:
            $ref: '#/components/schemas/ApiLayoutSettings'
      required:
      - name
      - settings
    CloudConnectionStatusCounts:
      type: object
      properties:
        connected:
          type: integer
        disconnected:
          type: integer
    ApiLayoutSettings:
      allOf:
      - $ref: '#/components/schemas/ApiLayoutSettingsUpdate'
      - required:
        - showCameraBorder
        - showCameraName
        - cameraAspectRatio
        - paneColumns
    ResourceCounts:
      description: Count of resources.
      type: object
      readOnly: true
      x-jsoninclude-nonnull-annotation: true
      properties:
        cameras:
          type: integer
          minimum: 0
          example: 23
    EffectiveLayoutPermissions:
      readOnly: true
      type: object
      x-jsoninclude-nonnull-annotation: true
      properties:
        delete:
          type: boolean
        read:
          type: boolean
        edit:
          type: boolean
  parameters:
    q:
      in: query
      name: q
      description: 'Text search that is applied to multiple fields. The fields being searched are defined by the backend and can be changed without warning. Example fields being searched: `name`, `id`, `accountId`.

        '
      schema:
        type: string
        example: entrance
    layoutId:
      name: layoutId
      in: path
      required: true
      schema:
        type: string
        example: 123ab123-1233-11a1-ab01-1b123ab1234
        description: Unique layout identifier
    name__in:
      in: query
      name: name__in
      description: Filter to get the layouts whose name is on the provided list. The lookup is exact and case insensitive.
      schema:
        type: array
        items:
          type: string
      style: form
      explode: false
    includeForSingle:
      in: query
      name: include
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          enum:
          - effectivePermissions
          - resourceCounts
          - resourceStatusCounts
          - resourceStatusV2Counts
    pageSize:
      in: query
      name: pageSize
      description: 'The number of entries to return per page. The maximum range of valid page sizes is documented with minimum and  maximum values, but the range might be further limited dynamically based on the requested information, account, and system status. Values outside of the (dynamic) allowed range will not result in an error, but will be clamped to the nearest limit. Thus, logic to detect the last page should not be based on comparing the requested size with the received size, but on the existence of a `nextPageToken` value.

        '
      example: 100
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 500
        default: 100
    sort:
      in: query
      name: sort
      description: "Comma separated list of of fields that should be sorted.\n * `sort=` - not providing any value will result in error 400\n * `sort=+name,+name` - same values will result in error 400\n * `sort=-name,+name` - mutially exclusive values will return error 400\n * maxItem=3 - Only Three values will be accepted, more will return error 400\n * qRelevance is optional ordering parameter which is available if q filter is used, if q filter is not passed qRelevance as ordering parameter will return error 400\n * rotationOrder is ordering elements according to the user's list of Layout ids as configured in the user configuration parameter layoutSettings.rotationOrder. Layouts which are not in the list are ordered based on lower priority ordering params if specified, or by the default ordering if not specified.\n"
      schema:
        type: array
        default:
        - +name
        items:
          type: string
          maxItems: 3
          enum:
          - -name
          - -qRelevance
          - +name
          - +rotationOrder
          - +qRelevance
      example:
      - +name
      - -qRelevance
      style: form
      explode: false
    includeForList:
      in: query
      name: include
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          enum:
          - effectivePermissions
          - resourceCounts
          - resourceStatusCounts
          - resourceStatusV2Counts
          - qRelevance
    id__in:
      in: query
      name: id__in
      description: Filter to get the layouts whose id is on the provided list. The lookup is exact and case insensitive.
      schema:
        type: array
        items:
          type: string
      style: form
      explode: false
    name:
      in: query
      name: name
      description: Filter to get the layouts with the specified name. The lookup is exact and case insensitive.
      schema:
        type: string
    name__contains:
      in: query
      name: name__contains
      description: 'Filter to get the layouts whose the name contains the provided substring. The lookup is exact and case insensitive.

        '
      schema:
        type: string
    pageToken:
      in: query
      name: pageToken
      description: 'Token string value that references a page for pagination. This value is received when retrieving the first page in the `nextPageToken` and `prevPageToken` fields.

        When a pageToken is provided, the backend remembers search parameters from the original request, so search  parameters that affect the result set or order are optional and will be ignored if provided. Representation  parameters like `include` should still be applied.

        '
      example: b2Zmc2V0PTEwJmxpbWl0PTEw
      required: false
      schema:
        type: string
    bridge:
      in: query
      name: layoutPanes.cameras.bridgeId
      description: 'Filter to get the layouts that contain cameras of given bridge id.

        '
      schema:
        type: string
    qRelevance__gte:
      in: query
      name: qRelevance__gte
      description: 'Sets the current minimum similarity threshold that is used with the `q` parameter. The threshold must be between 0 and 1 (float, default is 0.5).

        '
      schema:
        type: number
        format: float
        minimum: 0
        maximum: 1
        example: 0.5
        default: 0.5
  responses:
    forbidden:
      description: You have no permission to access the specified resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiV3Error'
          examples:
            invalidPermission:
              value:
                code: 403
                status: permissionDenied
                message: The client caller does not have permission for the specified operation
                details:
                - type: errorInfo
                  reason: invalidPermission
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/<resource>
            wrongEdition:
              value:
                code: 403
                status: permissionDenied
                message: This feature is not enabled for the account
                details:
                - type: errorInfo
                  reason: wrongEdition
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/locations
            wrongAccountType:
              value:
                code: 403
                status: permissionDenied
                message: This feature is only available for end users
                details:
                - type: errorInfo
                  reason: wrongAccountType
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/locations
    resourceNotFound:
      description: Referenced resource could not be found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiV3Error'
          examples:
            endpointNotFound:
              value:
                code: 404
                status: notFound
                message: The API endpoint was not found
                details:
                - type: errorInfo
                  reason: endpointNotFound
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/<resource>
            resourceNotFound:
              value:
                code: 404
                status: notFound
                message: The resource was not found
                details:
                - type: errorInfo
                  reason: resourceNotFound
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/<resource>
                - type: resourceInfo
                  resource: <resource>
                  ids:
                  - <ids>
    internalServerError:
      description: Something went wrong in the server. Please try again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiV3Error'
          example:
            code: 500
            status: internal
            message: An internal error has occurred. Please try again later.
            details:
            - type: errorInfo
              reason: unexpectedError
              domain: apiv3
              metadata:
                path: /api/v3.0/<resource>
    unauthorized:
      description: You are not authenticated. Please authenticate and try again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiV3Error'
          example:
            code: 401
            status: unauthenticated
            message: The client caller does not have a valid authentication credential
            details:
            - type: errorInfo
              reason: unauthenticated
              domain: apiv3
              metadata:
                path: /api/v3.0/<resource>
    validationError:
      description: The supplied object is invalid. Error detail will contain the validation error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiV3Error'
          examples:
            unexpectedArgument:
              value:
                code: 400
                status: invalidArgument
                message: 'Unexpected argument: name'
                details:
                - type: errorInfo
                  reason: unexpectedArgument
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/<resource>
            missingRequiredArgument:
              value:
                code: 400
                status: invalidArgument
                message: 'Missing required arguments: name, id'
                details:
                - type: errorInfo
                  reason: missingRequiredArgument
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/<resource>
            badRequestInvalidJSON:
              value:
                code: 400
                status: invalidArgument
                message: Invalid JSON
                details:
                - type: errorInfo
                  reason: invalidJSON
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/<resource>
            badRequestInvalidArgument:
              value:
                code: 400
                status: invalidArgument
                message: 'Invalid Argument: Argument name is too long'
                details:
                - type: errorInfo
                  reason: wrongArgumentValue
                  domain: apiv3
                  metadata:
                    path: /api/v3.0/<resource>
                - type: badRequest
                  argumentViolations:
                  - argumentName: name
                    description: Name is too long
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-provenance:
  method: searched
  source: https://developer.eagleeyenetworks.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developer.eagleeyenetworks.com/reference/createfloor.md
  - https://developer.eagleeyenetworks.com/reference/createlayout.md
  - https://developer.eagleeyenetworks.com/reference/createlocation.md
  - https://developer.eagleeyenetworks.com/reference/deletefloor.md
  - https://developer.eagleeyenetworks.com/reference/deletefloorplan.md
  - https://developer.eagleeyenetworks.com/reference/deletelayout.md
  - https://developer.eagleeyenetworks.com/reference/deletelocation.md
  - https://developer.eagleeyenetworks.com/reference/getfloor.md
  - https://developer.eagleeyenetworks.com/reference/getfloorimage.md
  - https://developer.eagleeyenetworks.com/reference/getfloorplans.md
  - https://developer.eagleeyenetworks.com/reference/getlayout.md
  - https://developer.eagleeyenetworks.com/reference/getlayouts.md
  - https://developer.eagleeyenetworks.com/reference/getlocation.md
  - https://developer.eagleeyenetworks.com/reference/getlocationdescendants.md
  - https://developer.eagleeyenetworks.com/reference/getlocationfloors.md
  - https://developer.eagleeyenetworks.com/reference/getlocations.md
  - https://developer.eagleeyenetworks.com/reference/gettags.md
  - https://developer.eagleeyenetworks.com/reference/setfloorplan.md
  - https://developer.eagleeyenetworks.com/reference/updatefloor.md
  - https://developer.eagleeyenetworks.com/reference/updatelayout.md
  - https://developer.eagleeyenetworks.com/reference/updatelocation.md
  merge:
    pages: 21
    deduped: 448
    conflicts_kept_first: 0