Nuix Computer API

The Computer API from Nuix — 1 operation(s) for computer.

OpenAPI Specification

nuix-computer-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: NUIX ECC REST API Command Reference Case Computer API
  description: 'Welcome to the Nuix ECC REST API command reference. From here you can access all available ECC REST APIs.  You can also send REST commands to your running ECC Server, as well as view the responses.


    **Note\:** The Nuix ECC User Guide includes a gloassary which defines specialized terms such as `Case`, `Custodian` and `Target` which are mentioned throughout this command reference.


    **Note\:** This command reference has been updated for Nuix ECC version 9.12.0.'
  contact:
    name: Nuix
    url: https://nuix.github.io/sdk-docs/latest/
    email: APISupport@nuix.com
  license:
    name: Licence
    url: https://www.nuix.com/sites/default/files/20200210_EULA_v1.pdf
  version: ${customer.version}
servers:
- url: '{protocol}://{address}:{port}/api/ecc'
  variables:
    protocol:
      default: https
      description: protocol for communication
      enum:
      - http
      - https
    address:
      default: 127.0.0.1
      description: The location which the ECC resides
    port:
      default: '80'
      description: 80, 443 or alternative
security:
- BasicAuth: []
tags:
- name: Computer
paths:
  /v2/computers:
    post:
      tags:
      - Computer
      summary: Lists computers (endpoints) with ECC installed
      description: 'Lists computers (endpoints) with ECC Client or ECC Admin Console installed.

        If the `computerId` field in the JSON body is provided, all other fields are ignored, as only that single computer will be returned.  Otherwise a list of computers will be returned matching the criteria provided in the `filters` section.


        Computer Fields available for filters and sorting\:


        | Field name       | Type    | Description / Possible Values   |

        | ---------------- | ------- | ------------------------------- |

        | ID               | long    | id of computer                  |

        | Name             | String  | name of the computer            |

        | Description      | String  | computer description (may be null)                             |

        | ConfigId         | String  | id of the Computer Configuration associated with this computer |

        | Purpose          | String  | `Client` or `Admin Console`     |

        | Presence         | String  | `Online`, `Nearline` or `Offline` - see note, below            |

        | PairingState     | String  | `Paired`, `Awaiting` or `Denied`  |

        | Staging          | Boolean | `true` if the computer is a staging computer                   |

        | TimeZoneID       | String  |                                 |

        | TimeZoneOffset   | String  |                                 |

        | FirstContactTime | String  | date/time of first contact in the format `yyyy-mm-ddThh:mm:ss` |

        | LastContactTime  | String  | date/time of last contact in the format `yyyy-mm-ddThh:mm:ss`  |

        | UUID             | String  | GUID uniquely identifying this computer                        |

        | OSName           | String  | name of the OS                  |

        | SearchEnabled    | Boolean | `true` specifies  Advanced Search is enabled on this computer  |

        | ClientParameters | String  |                                 |

        | ClientPublicKey  | String  |                                 |

        | Config           | long    |                                 |

        | ConfigName       | String  |                                 |

        | FullName         | String  | name of the computer including domain                          |

        | History          | String  |                                 |

        | LastUser         | String  | last logged in username         |

        | OSName           | String  | name of the OS                  |

        | PeerIP           | String  |                                 |

        | ServerParameters | String  |                                 |

        | ServerPrivateKey | String  |                                 |

        | ServerPublicKey  | String  |                                 |

        **Note\:** Presence values are case-sensitive: they must be `Nearline`, `Online` or `Offline` in a request body. Values returned for Presence however, are returned in ALL UPPERCASE.'
      operationId: listComputersByFilter
      parameters:
      - name: offset
        in: query
        description: offset (0-based) into the list of computers at which retrieval should start
        required: false
        schema:
          type: integer
      - name: version
        in: query
        description: "version of the Jobs table from the last call to this function.\n\nThe version of the table is returned in the response body for this query in the field `tableVersion`.\n\nIf `version` is supplied, it is compared to the current version of the Jobs table.\n\nIf the version numbers match, there is no updated data since the last call, \nand the query is aborted with a 204, 'No Content.' response code."
        required: false
        schema:
          type: integer
      - name: countOnly
        in: query
        description: 'if `true`, the total count for this query (ignoring `limit` and `offset`) is returned in the Response Body, with no other data.


          This should be used ahead of the actual query to determine the total number of records in the response.'
        required: false
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/listComputerRequest'
            example:
              limit: -1
              sortBy: Name
              filters:
              - name: Presence
                value: Online
              - name: Purpose
                value: Client
      responses:
        '200':
          description: Computer Listing was submitted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  tableVersion:
                    type: integer
                    description: 'current version of the computers table.


                      Use this in the query field `version` to prevent unneeded queries'
                  totalCount:
                    type: integer
                    description: total number of computers for this response, as if `limit` was not provided
                  startRow:
                    type: integer
                    description: starting row of this response within the total count
                    nullable: true
                  endRow:
                    type: integer
                    description: ending row of this response within the total count
                    nullable: true
                  next:
                    type: string
                    description: 'url to get the next set of responses.


                      Included only if `endRow` does not include all available responses.'
                  computers:
                    type: array
                    description: array of computers in the response
                    items:
                      $ref: '#/components/schemas/Computer'
        '204':
          description: No Content/Match
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 204
                id: 101
                message: No Content
        '400':
          description: Computer ID not found/Field was not found/Internal Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 400
                id: 101
                message: Invalid Computer ID supplied
components:
  schemas:
    standardResponse:
      type: object
      properties:
        code:
          type: integer
          description: http response status code
        id:
          type: integer
          description: id of the affected Object
        message:
          type: string
          description: http status message
    listComputerRequest:
      type: object
      properties:
        limit:
          type: integer
          description: optional, maximum number of computers to be included in the response
        computerId:
          type: string
          description: 'optional, GUID value that identifies a specific computer.


            If provided, only that computer is included in the response'
        sortBy:
          type: string
          description: optional, field name to sort result
          enum:
          - ID
          - Name
          - Description
          - ConfigID
          - Purpose
          - Presence
          - PairingState
          - Staging
          - TimeZoneID
          - TimeZoneOffset
          - FirstContactTime
          - LastContactTime
          - UUID
          - OSName
          - SearchEnabled
          - ClientParameters
          - ClientPublicKey
          - Config
          - ConfigName
          - FullName
          - History
          - LastUser
          - OSName
          - PeerIP
          - ServerParameters
          - ServerPrivateKey
          - ServerPublicKey
        ascending:
          type: boolean
          description: 'optional, `true` to sort results in ascending order, `false` for descending.


            If omitted, sort is ascending'
        where:
          type: string
          description: 'optional, SQL WHERE clause (minus the word WHERE) used to construct more complex filtering.


            If `where` is specified or present then the `filters` field is ignored.'
        filters:
          type: array
          description: An optional array of field/value pairs to filter by.
          items:
            type: object
            properties:
              name:
                type: string
                description: field name
                enum:
                - ID
                - Name
                - Description
                - ConfigID
                - Purpose
                - Presence
                - PairingState
                - Staging
                - TimeZoneID
                - TimeZoneOffset
                - FirstContactTime
                - LastContactTime
                - UUID
                - OSName
                - SearchEnabled
                - ClientParameters
                - ClientPublicKey
                - Config
                - ConfigName
                - FullName
                - History
                - LastUser
                - OSName
                - PeerIP
                - ServerParameters
                - ServerPrivateKey
                - ServerPublicKey
              value:
                description: Comparison is case-sensitive.  See the list of filtering and sorting fields, above, for field types and descriptions.
    Computer:
      type: object
      properties:
        name:
          type: string
          description: name of the computer
        fullName:
          type: string
          description: name of the computer including domain
        description:
          type: string
          description: description of the computer
          nullable: true
        UUID:
          type: string
          description: GUID uniquely identifying this computer, used in all other api functions
        presence:
          type: string
          description: One of `ONLINE`, `NEARLINE` or `OFFLINE`
          enum:
          - ONLINE
          - NEARLINE
          - OFFLINE
        purpose:
          type: string
          description: One of `Client` or `Admin Console`
          enum:
          - Client
          - Admin Console
        staging:
          type: boolean
          description: Set to `true` if the computer is a staging computer
        pairingState:
          type: string
          description: One of `Paired`, `Awaiting`, or `Denied`
          enum:
          - Paired
          - Awaiting
          - Denied
        firstContact:
          type: string
          description: date/time of first contact in the format `yyyy-mm-ddThh:mm:ss`
        lastContact:
          type: string
          description: date/time of last contact in the format `yyyy-mm-ddThh:mm:ss`
        osName:
          type: string
          description: name of the OS
        lastUser:
          type: string
          description: last logged in username
        searchEnabled:
          type: boolean
          description: Set to `true` if Advanced Search is enabled on this computer
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic