Nuix Collection and Survey API

The Collection and Survey API from Nuix — 4 operation(s) for collection and survey.

OpenAPI Specification

nuix-collection-and-survey-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: NUIX ECC REST API Command Reference Case Collection and Survey 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: Collection and Survey
paths:
  /v2/collections:
    get:
      tags:
      - Collection and Survey
      summary: Lists all collections for the specified case
      description: 'Lists all collections for the specified case.


        Note that completed and failed collections are listed as well as currently running collections'
      operationId: listCaseCollection
      parameters:
      - name: caseId
        in: query
        description: Case identification token of the case to list collections
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful Listing of Collections
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/listCaseCollectionResponse'
              example:
                collections:
                - id: 110
                  caseId: 103
                  name: Latest Collect and Relocate
                  status: Open
        '400':
          description: Invalid Case ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 400
                id: 101
                message: Invalid Case ID supplied
    post:
      tags:
      - Collection and Survey
      summary: Launch a new collection by Custodian
      description: 'Launch a new collection for one or more Custodians.


        If location is blank the location is determined from the specified Collection Configuration


        Must specify at least one Custodian ID'
      operationId: launchCaseCollection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/launchCaseCollectionRequest'
            example:
              caseId: 0
              name: name of the new collection
              configurationId: 0
              location: C://collections
              custodianIds:
              - 1
              - 2
              - 3
              - 4
      responses:
        '200':
          description: Collection was submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/launchCaseCollectionResponse'
              example:
                collectionId: 103
                computers:
                - computerName: AUSYD-L-NX0142
                  computerId: E21287F5-9E96-6CFF-0624-056AFA28E902
                  jobs:
                  - id: 102
                    taskName: Collect
                    taskNum: 1
                    totalTasks: 1
        '400':
          description: Invalid Case ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 400
                id: 101
                message: Invalid Case ID supplied
        '504':
          description: No valid targets selected
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 504
                id: 101
                message: No valid targets selected
  /v2/collectionsByPath:
    post:
      tags:
      - Collection and Survey
      summary: Launch a new collection explicitly defining folders and files with no custodian.
      description: 'Launch a new collection explicitly defining folders and files with no custodian.


        **Note\:** if autoDetect is used it must have the value AllLocalVolumes and when used all files and folders fields are ignored.'
      operationId: launchCollectionsByPath
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/launchCaseCollectionByPathRequest'
            example:
              caseId: 0
              name: name of the new collection
              computerId: ABCDEF-12345
              configurationId: 0
              location: C://collections
              label: a label
              autodetect: ''
              folders:
              - c:/path1
              - c:/path2
              files:
              - C:/path/file1.csv
              - C:/path/file2.txt
              folderSpec:
              - folder: C://somePath
                excludeFolders:
                - subPath
                - subPath2
                excludeFiles:
                - someFile.txt
                - someFile2.txt
                excludeWildcards:
                - '*.pdf'
      responses:
        '200':
          description: Collection was submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/launchCaseCollectionResponse'
              example:
                collectionId: 103
                computers:
                - computerName: AUSYD-L-NX0142
                  computerId: E21287F5-9E96-6CFF-0624-056AFA28E902
                  jobs:
                  - id: 102
                    taskName: Collect
                    taskNum: 1
                    totalTasks: 1
        '400':
          description: Invalid Case/Computer ID supplied or no collections were specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 400
                id: 101
                message: Invalid Case ID supplied
        '504':
          description: No valid targets selected
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 504
                id: 101
                message: No valid targets selected
  /v2/collectionsByTarget:
    post:
      tags:
      - Collection and Survey
      summary: Launch a new collection specifying only target and collection configuration
      description: 'Launch a new collection specifying only target and collection Configuration.


        **Note\:** All other job criteria will be determined from the specified Collection Configuration'
      operationId: launchCollectionsByTarget
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/launchCaseCollectionByTargetRequest'
            example:
              caseId: 0
              name: name of the new collection
              targetId: 1
              configurationId: 0
              location: C://collections
      responses:
        '200':
          description: Collection was submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/launchCaseCollectionResponse'
              example:
                collectionId: 103
                computers:
                - computerName: AUSYD-L-NX0142
                  computerId: E21287F5-9E96-6CFF-0624-056AFA28E902
                  jobs:
                  - id: 102
                    taskName: Collect
                    taskNum: 1
                    totalTasks: 1
        '400':
          description: Invalid Case/Target ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 400
                id: 101
                message: Invalid Case ID supplied
        '504':
          description: No valid targets selected
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 504
                id: 101
                message: No valid targets selected
  /v2/collectionsByConfiguration:
    post:
      tags:
      - Collection and Survey
      summary: Launch a new collection for a specific computer and Collection Configuration
      description: 'Launch a new collection for a specific computer and Collection Configuration.


        Optionally, the destination can be specified in the `location` field.


        **Note\:** since no targets or explicit sources are defined in the API body, the specified Collection Configuration must specify the collection source(s).


        **Note\:** if the specified Collection Configuration contains targets, they will be ignored in favor of the specified computer.'
      operationId: launchCollectionsByConfiguration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/launchCaseCollectionByConfigurationRequest'
            example:
              caseId: 0
              name: name of the new collection
              computerId: 1
              configurationId: 0
              location: C://collections
      responses:
        '200':
          description: Collection was submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/launchCaseCollectionByConfigurationResponse'
              example:
                collectionId: 103
                computers:
                - computerName: AUSYD-L-NX0142
                  computerId: E21287F5-9E96-6CFF-0624-056AFA28E902
                  jobs:
                  - id: 102
                    taskName: Collect
                    taskNum: 1
                    totalTasks: 1
        '400':
          description: Invalid Case/Computer/Configuration ID supplied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 400
                id: 101
                message: Invalid Case ID supplied
        '504':
          description: No valid targets selected
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/standardResponse'
              example:
                code: 504
                id: 101
                message: No valid targets selected
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
    launchCaseCollectionResponse:
      type: object
      properties:
        collectionId:
          type: integer
          description: id of the newly started collection
        jobs:
          type: array
          description: array of job IDs that have been started within the collection
          items:
            type: integer
    CollectionDetail:
      type: object
      properties:
        id:
          type: integer
          description: id of the collection
        caseId:
          type: integer
          description: id of the case that owns the collection
        name:
          type: string
          description: name of the collection
        status:
          type: string
          description: status of the case
    launchCaseCollectionByConfigurationRequest:
      type: object
      properties:
        caseId:
          type: integer
          description: id of the case within which to start a collection
        name:
          type: string
          description: name of the new collection (must be unique)
        computerId:
          type: string
          description: GUID value that identifies the computer
        configurationId:
          type: integer
          description: id of the collection configuration to use for collection criteria
        location:
          type: string
          description: destination of the collection (if blank uses the location within the specified collection configuration)
    launchCaseCollectionByPathRequest:
      type: object
      properties:
        caseId:
          type: integer
          description: id of the case within which to start a collection
        name:
          type: string
          description: name of the new collection
        computerId:
          type: string
          description: GUID value that identifies the computer
        configurationId:
          type: integer
          description: id of the collection configuration to use for collection criteria
        location:
          type: string
          description: destination of the collection (if blank uses the location defined in the specified collection configuration)
        label:
          type: string
          description: optional, label to be assigned to all tasks within this collection
        autodetect:
          type: string
          description: 'optional, auto-detect option to be used instead of files/folders.


            If specified, must be `AllLocalVolumes`.


            Note that if autodetect is used, the folders and files fields are ignored'
        folders:
          type: array
          description: full path(s) of folder(s) to collect from on each target computer
          items:
            type: string
            description: full path
        files:
          type: array
          description: full path(s) of file(s) to collect from each target computer
          items:
            type: string
            description: full path
        folderSpec:
          type: array
          description: optional way to specify folders, allowing for exclusions within each specified folder
          items:
            $ref: '#/components/schemas/FolderSpec'
    listCaseCollectionResponse:
      type: object
      properties:
        collections:
          type: array
          items:
            $ref: '#/components/schemas/CollectionDetail'
    FolderSpec:
      type: object
      properties:
        folder:
          type: string
          description: full path of the folder to collect from.
        excludeFolders:
          type: array
          items:
            type: string
            description: optional, path(s) of folder(s) to exclude.  These are relative paths, relative to the `folder` to collect from.
        excludeFiles:
          type: array
          items:
            type: string
            description: optional, path(s) of file(s) to exclude.  These are relative paths, relative to the `folder` to collect from.
        excludeWildcards:
          type: array
          items:
            type: string
            description: 'optional, wildcard specification(s) (e.g *.pdf) specifying files to exclude from `folder` path.


              Note that wildcard exclusions are recursive under `folder` path.'
    launchCaseCollectionRequest:
      type: object
      properties:
        caseId:
          type: integer
          description: id of the case within which to start a collection
        name:
          type: string
          description: name of the new collection
        configurationId:
          type: integer
          description: id of the collection configuration to use for collection criteria
        location:
          type: string
          description: destination of the collection (if blank then destination determined by the specified collection configuration)
        custodianIds:
          type: array
          description: id(s) of the custodian(s) for which to launch this collection
          items:
            type: integer
    ComputerJobs:
      type: object
      properties:
        computerName:
          type: string
          description: name of the computer where the job is running
        computerId:
          type: string
          description: UUID of the computer
        jobs:
          type: array
          description: List of tasks being run
          items:
            $ref: '#/components/schemas/JobCreated'
    JobCreated:
      type: object
      properties:
        id:
          type: integer
          description: ID of task
        taskName:
          type: string
          description: Name of task, one of `Collect`, `Relocate` `Deploy` or `Launch`.
        taskNum:
          type: integer
          description: Task number, defines sequence in a multi-job collection
        totalTasks:
          type: integer
          description: Total number of tasks in the collection
    launchCaseCollectionByTargetRequest:
      type: object
      properties:
        caseId:
          type: integer
          description: id of the case within which to start a collection
        name:
          type: string
          description: name of the new collection
        targetId:
          type: integer
          description: id of the Target to use for sources
        configurationId:
          type: integer
          description: id of the collection configuration to use for collection criteria
        location:
          type: string
          description: destination of the collection (if blank uses the destination from the specified collection configuration)
    launchCaseCollectionByConfigurationResponse:
      type: object
      properties:
        collectionId:
          type: integer
          description: id of the newly created collection
        computers:
          type: array
          description: array of computers where the job is running (there will be only one computer)
          items:
            $ref: '#/components/schemas/ComputerJobs'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic