swagger: "2.0"
schemes:
  - https
host: visagecloud.com
basePath: /
x-hasEquivalentPaths: true
info:
  contact:
    email: office@visagecloud.com
    name: VisageCloud
    url: https://visagecloud.com
  description: Face search, recognition & classification API. Just make a call to our REST API each time your app needs to access face recognition and classification capabilities.
  license:
    name: As per Developer Terms of Use
    url: https://visagecloud.com/developer-terms-of-use
  termsOfService: https://visagecloud.com/terms-of-use
  title: VisageCloud
  version: "1.1"
  x-apisguru-categories:
    - search
  x-origin:
    - format: swagger
      url: https://visagecloud.com/v2/api-docs
      version: "2.0"
  x-providerName: visagecloud.com
tags:
  - description: Retrieve analytics for presence and audience
    name: Analytics for presence and audience
  - description: Manages Streams
    name: Stream
  - description: Performs image-recognition related operations
    name: Analysis
  - description: Create classifiers on existing faces
    name: Classifier
  - description: Manages collections
    name: Collection
  - description: Manages profiles associated with collections
    name: Profile
  - description: Account Controller
    name: account-controller
paths:
  /rest/v1.1/account/account:
    get:
      consumes:
        - application/json
      operationId: getAccountByAccessKeyUsingGET
      parameters:
        - description: accessKey
          in: query
          name: accessKey
          required: true
          type: string
        - description: secretKey
          in: query
          name: secretKey
          required: true
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get account information by accessKey and secretKey
      tags:
        - account-controller
  /rest/v1.1/account/billing:
    get:
      consumes:
        - application/json
      operationId: getBillingPerAccountUsingGET
      parameters:
        - description: accessKey
          in: query
          name: accessKey
          required: true
          type: string
        - description: secretKey
          in: query
          name: secretKey
          required: true
          type: string
        - description: startDateTime
          format: date-time
          in: query
          name: startDateTime
          required: false
          type: string
        - description: endDateTime
          format: date-time
          in: query
          name: endDateTime
          required: false
          type: string
        - description: dateTemplate
          in: query
          name: dateTemplate
          required: false
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get billing information by accessKey and secretKey
      tags:
        - account-controller
  /rest/v1.1/account/changePassword:
    post:
      consumes:
        - application/json
      operationId: changePasswordUsingPOST
      parameters:
        - description: email
          in: query
          name: email
          required: true
          type: string
        - description: oldPassword
          in: query
          name: oldPassword
          required: true
          type: string
        - description: newPassword
          in: query
          name: newPassword
          required: true
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Change password for an account using old password
      tags:
        - account-controller
  /rest/v1.1/account/login:
    post:
      consumes:
        - application/json
      operationId: loginWithEmailUsingPOST
      parameters:
        - description: email
          in: query
          name: email
          required: true
          type: string
        - description: password
          in: query
          name: password
          required: true
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get account information including accessKey and secretKey by email and password
      tags:
        - account-controller
  /rest/v1.1/analysis/compare:
    get:
      consumes:
        - application/json
      operationId: compareFacesUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - collectionFormat: multi
          description: The IDs of the faces which you want compared, comma-separated
          in: query
          items:
            type: string
          name: faceHashes
          required: true
          type: array
        - default: false
          description: Show details
          in: query
          name: showDetails
          required: false
          type: boolean
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Compare several faces identified by faceHash, without depending on mapping faces to profiles
      tags:
        - Analysis
  /rest/v1.1/analysis/detection:
    post:
      consumes:
        - multipart/form-data
      operationId: performAnalysisUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - default: true
          description: Boolean value indicating whether you want the picture of the analysis to be stored for later retrieval
          in: query
          name: storeAnalysisPicture
          required: false
          type: boolean
        - default: true
          description: Boolean value indicating whether you want the faces inside the picture to be stored for later retrieval
          in: query
          name: storeFacePictures
          required: false
          type: boolean
        - default: true
          description: Boolean value indicating whether you want the result of the analysis to be stored
          in: query
          name: storeResult
          required: false
          type: boolean
        - description: How many seconds the results should be retained in stoarage?
          format: int32
          in: query
          name: retentionTime
          required: false
          type: integer
        - description: The URL of the picture, assuming it is served by a third party server. Server should be accesible from the Internet or through another netwoek by VisageCloud infrastructure
          in: query
          name: pictureURL
          required: false
          type: string
        - description: The multipart/form-data version of the image, in case a direct upload is used. At least one of picture or pictureURL must be present
          in: formData
          name: picture
          required: false
          type: string
        - default: V2
          description: Algorithm version (V2 is more performant but not backward compatible)
          enum:
            - V1
            - V2
          in: query
          name: algorithmVersion
          required: false
          type: string
        - default: false
          description: Auto-rotate to find flipped or rotate faces
          in: query
          name: autoRotate
          required: false
          type: boolean
        - default: false
          description: Skip EXIF rotation procesing
          in: query
          name: skipEXIF
          required: false
          type: boolean
        - default: false
          description: Waits until the picture is successfully uploaded, before returning the response back the the client
          in: query
          name: waitForPictureUpload
          required: false
          type: boolean
        - collectionFormat: multi
          description: "[For advanced users only] Change feature filters for robustness of feature extraction. Tweaking this parameter may affect per"
          in: query
          items:
            type: string
          name: filters
          required: false
          type: array
        - description: "[For advanced users only] Options for preprocessing of image."
          in: query
          name: options
          required: false
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Perform detection on a given picture or picture URL
      tags:
        - Analysis
  /rest/v1.1/analysis/listLatest:
    get:
      consumes:
        - application/json
      operationId: retriveLatestUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - default: 100
          description: How many records to retrieve at a time
          format: int32
          in: query
          name: count
          required: false
          type: integer
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieve the last *count* operations per current account
      tags:
        - Analysis
  /rest/v1.1/analysis/recognition:
    post:
      consumes:
        - multipart/form-data
      operationId: performRecognitionUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - default: true
          description: Boolean value indicating whether you want the picture of the analysis to be stored for later retrieval
          in: query
          name: storeAnalysisPicture
          required: false
          type: boolean
        - default: true
          description: Boolean value indicating whether you want the faces inside the picture to be stored for later retrieval
          in: query
          name: storeFacePictures
          required: false
          type: boolean
        - default: true
          description: Boolean value indicating whether you want the result of the analysis to be stored
          in: query
          name: storeResult
          required: false
          type: boolean
        - description: How many seconds the results should be retained in stoarage?
          format: int32
          in: query
          name: retentionTime
          required: false
          type: integer
        - description: Uniquely identified collection that can store multiple profiles
          in: query
          name: collectionId
          required: true
          type: string
        - collectionFormat: multi
          description: Labels associated with the given picture or picture URL
          in: query
          items:
            type: string
          name: labels
          required: false
          type: array
        - collectionFormat: multi
          description: Filters that will be applied on the recognition operation
          enum:
            - NO_FILTER
            - GENDER_FILTER
            - AGE_GROUP_FILTER
          in: query
          items:
            enum:
              - NO_FILTER
              - GENDER_FILTER
              - AGE_GROUP_FILTER
            type: string
          name: attributeFilters
          required: false
          type: array
        - description: The URL of the picture
          in: query
          name: pictureURL
          required: false
          type: string
        - description: The picture itself
          in: formData
          name: picture
          required: false
          type: string
        - default: V2
          description: Algorithm version (V2 is more performant but not backward compatible)
          enum:
            - V1
            - V2
          in: query
          name: algorithmVersion
          required: false
          type: string
        - default: false
          description: Auto-rotate to find flipped or rotate faces
          in: query
          name: autoRotate
          required: false
          type: boolean
        - default: false
          description: Skip EXIF rotation procesing
          in: query
          name: skipEXIF rotation processing
          required: false
          type: boolean
        - default: false
          description: Waits until the picture is successfully uploaded, before returning the response back the the client
          in: query
          name: waitForPictureUpload
          required: false
          type: boolean
        - collectionFormat: multi
          description: "[For advanced users only] Change feature filters for robustness of feature extraction. Tweaking this parameter may affect per"
          in: query
          items:
            type: string
          name: filters
          required: false
          type: array
        - description: "[For advanced users only] Options for preprocessing of image."
          in: query
          name: options
          required: false
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Perform labeled recognition on a given picture or picture URL
      tags:
        - Analysis
  /rest/v1.1/analysis/retrieve:
    get:
      consumes:
        - application/json
      operationId: retrieveAnalysisUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The ID of the analysis for which the data will be retrieved
          in: query
          name: analysisId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieve a complete analysis object including both detection and recognition information
      tags:
        - Analysis
  /rest/v1.1/analytics/counting:
    post:
      consumes:
        - application/json
      operationId: counterUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - collectionFormat: multi
          description: Collection ids
          in: query
          items:
            type: string
          name: collectionIds
          required: false
          type: array
        - collectionFormat: multi
          description: Stream Ids
          in: query
          items:
            type: string
          name: streamIds
          required: false
          type: array
        - description: startDateTime
          format: date-time
          in: query
          name: startDateTime
          required: false
          type: string
        - description: endDateTime
          format: date-time
          in: query
          name: endDateTime
          required: false
          type: string
        - default: 3600000
          description: visitDuration
          format: int64
          in: query
          name: visitDuration
          required: false
          type: integer
        - default: 1
          description: maxIterations
          format: int32
          in: query
          name: maxIterations
          required: false
          type: integer
        - default: 1
          description: maxBatchIterations
          format: int32
          in: query
          name: maxBatchIterations
          required: false
          type: integer
        - default: 5
          description: minNeighborsMergedPerIteration
          format: int32
          in: query
          name: minNeighborsMergedPerIteration
          required: false
          type: integer
        - default: 1
          description: mergingStep
          format: double
          in: query
          name: mergingStep
          required: false
          type: number
        - default: false
          description: shuffling
          in: query
          name: shuffling
          required: false
          type: boolean
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Count individuals in streams or collections
      tags:
        - Analytics for presence and audience
  /rest/v1.1/analytics/presence/timeseries:
    post:
      consumes:
        - application/json
      operationId: presenceTimeseriesUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - collectionFormat: multi
          description: Stream Ids
          in: query
          items:
            type: string
          name: streamIds
          required: false
          type: array
        - description: startDateTime
          format: date-time
          in: query
          name: startDateTime
          required: false
          type: string
        - description: endDateTime
          format: date-time
          in: query
          name: endDateTime
          required: false
          type: string
        - default: 3600
          description: step
          format: int64
          in: query
          name: step
          required: false
          type: integer
        - collectionFormat: multi
          description: attributes
          in: query
          items:
            type: string
          name: attributes
          required: true
          type: array
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Show audience (based on number of occurrences of each person) breakdown per declared attribute (age, gender).
      tags:
        - Analytics for presence and audience
  /rest/v1.1/analytics/presence/total:
    post:
      consumes:
        - application/json
      operationId: presenceTotalUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - collectionFormat: multi
          description: Stream Ids
          in: query
          items:
            type: string
          name: streamIds
          required: true
          type: array
        - description: startDateTime
          format: date-time
          in: query
          name: startDateTime
          required: false
          type: string
        - description: endDateTime
          format: date-time
          in: query
          name: endDateTime
          required: false
          type: string
        - collectionFormat: multi
          description: attributes
          in: query
          items:
            type: string
          name: attributes
          required: true
          type: array
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Show presence (based on number of occurences of each face) breakdown per declared attribute (age, gender)
      tags:
        - Analytics for presence and audience
  /rest/v1.1/classifier/svm:
    delete:
      consumes:
        - application/json
      operationId: removeClassiferUsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the classifier that will be removed
          in: query
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Delete existing classifier
      tags:
        - Classifier
    get:
      consumes:
        - application/json
      operationId: getClassiferFullUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the classifier that you want the status for
          in: query
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get classifier full
      tags:
        - Classifier
    post:
      consumes:
        - application/json
      operationId: addSVMClassifierUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The name of the SVM classifier that will be created
          in: query
          name: name
          required: true
          type: string
        - collectionFormat: multi
          description: Collection ids
          in: query
          items:
            type: string
          name: collectionIds
          required: true
          type: array
        - default: FeaturePreprocessor
          description: Preprocessor
          in: query
          name: preprocessor
          required: false
          type: string
        - description: Classification attribute name
          in: query
          name: classificationAttributeName
          required: true
          type: string
        - default: false
          description: Consider view point
          in: query
          name: considerViewPoints
          required: false
          type: boolean
        - default: 179425537
          description: Seed for divididing training and evaluation sets
          format: int32
          in: query
          name: seed
          required: false
          type: integer
        - default: 0.8
          description: Training ratio
          format: double
          in: query
          name: trainingRatio
          required: false
          type: number
        - default: 1
          description: Probability parameter
          format: int32
          in: query
          name: probabilityParameter
          required: false
          type: integer
        - default: 0.5
          description: Gamma parameter
          format: double
          in: query
          name: gammaParameter
          required: false
          type: number
        - default: 0.25
          description: Nu parameter
          format: double
          in: query
          name: nuParameter
          required: false
          type: number
        - default: 1
          description: c parameter
          format: double
          in: query
          name: cParameter
          required: false
          type: number
        - default: 0
          description: SVM type parameter
          format: int32
          in: query
          name: svmTypeParameter
          required: false
          type: integer
        - default: 0
          description: Kernel type parameter
          format: int32
          in: query
          name: kernelTypeParameter
          required: false
          type: integer
        - default: 500
          description: Cache size parameter
          format: double
          in: query
          name: cacheSizeParameter
          required: false
          type: number
        - default: 0.001
          description: Eps parameter
          format: double
          in: query
          name: epsParameter
          required: false
          type: number
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create new SVM classifier with given name
      tags:
        - Classifier
  /rest/v1.1/classifier/svm/status:
    get:
      consumes:
        - application/json
      operationId: getClassiferStatusUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the classifier that you want the status for
          in: query
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get classifer status
      tags:
        - Classifier
  /rest/v1.1/collection/:
    get:
      consumes:
        - application/json
      operationId: getAllCollectionsUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieve all collections
      tags:
        - Collection
    post:
      consumes:
        - application/x-www-form-urlencoded
      operationId: addCollectionUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: formData
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: formData
          name: secretKey
          required: true
          type: string
        - description: The name of the collection that will be created
          in: formData
          name: name
          required: true
          type: string
        - default: false
          description: Defined whether to preload collection
          in: formData
          name: preload
          required: false
          type: boolean
        - default: true
          description: Defined whether the collection can be evicted
          in: formData
          name: evictable
          required: false
          type: boolean
        - collectionFormat: multi
          description: The newly declared purposes of the collection
          enum:
            - FEATURES
            - LANDMARKS
            - ATTRIBUTES
          in: formData
          items:
            enum:
              - FEATURES
              - LANDMARKS
              - ATTRIBUTES
            type: string
          name: purposes
          required: false
          type: array
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create new empty collection with given name
      tags:
        - Collection
  /rest/v1.1/collection/all:
    get:
      consumes:
        - application/json
      deprecated: true
      operationId: getAllCollections2UsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieve all collections
      tags:
        - Collection
  /rest/v1.1/collection/collection:
    delete:
      consumes:
        - application/json
      deprecated: true
      operationId: deleteCollection2UsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the collection that will be removed
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Delete existing collection with associated profiles and faces.
      tags:
        - Collection
    get:
      consumes:
        - application/json
      deprecated: true
      operationId: getCollection2UsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the collection for which the data will be retrieved
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieve existing collection content
      tags:
        - Collection
    post:
      consumes:
        - application/json
      deprecated: true
      operationId: addCollection2UsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The name of the collection that will be created
          in: query
          name: collectionName
          required: true
          type: string
        - default: false
          description: Defined whether to preload collection
          in: query
          name: preload
          required: false
          type: boolean
        - default: true
          description: Defined whether the collection can be evicted
          in: query
          name: evictable
          required: false
          type: boolean
        - collectionFormat: multi
          description: The newly declared purposes of the collection
          enum:
            - FEATURES
            - LANDMARKS
            - ATTRIBUTES
          in: query
          items:
            enum:
              - FEATURES
              - LANDMARKS
              - ATTRIBUTES
            type: string
          name: purposes
          required: false
          type: array
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create new empty collection with given name
      tags:
        - Collection
  /rest/v1.1/collection/export/csv:
    get:
      consumes:
        - application/json
      operationId: exportCSVUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the collection for which the data will be retrieved
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - text/plain
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/StreamingResponseBody"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieve collection content for data analysis.
      tags:
        - Collection
  /rest/v1.1/collection/purpose:
    put:
      consumes:
        - application/json
      deprecated: true
      operationId: repurposeCollectionUsingPUT
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the collection for which the data will be retrieved
          in: query
          name: collectionId
          required: true
          type: string
        - collectionFormat: multi
          description: The newly declared purposes of the collection
          enum:
            - FEATURES
            - LANDMARKS
            - ATTRIBUTES
          in: query
          items:
            enum:
              - FEATURES
              - LANDMARKS
              - ATTRIBUTES
            type: string
          name: purposes
          required: true
          type: array
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Change purpose of existing collection
      tags:
        - Collection
  "/rest/v1.1/collection/{id}":
    delete:
      consumes:
        - application/json
      operationId: deleteCollectionUsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the collection that will be removed
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Delete existing collection with associated profiles and faces.
      tags:
        - Collection
    get:
      consumes:
        - application/json
      operationId: getCollectionUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the collection for which the data will be retrieved
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieve existing collection content
      tags:
        - Collection
    patch:
      consumes:
        - application/x-www-form-urlencoded
      operationId: updateCollectionUsingPATCH
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The name of the collection that will be updated
          in: query
          name: name
          required: false
          type: string
        - collectionFormat: multi
          description: The newly declared purposes of the collection
          enum:
            - FEATURES
            - LANDMARKS
            - ATTRIBUTES
          in: query
          items:
            enum:
              - FEATURES
              - LANDMARKS
              - ATTRIBUTES
            type: string
          name: purposes
          required: false
          type: array
        - description: The id of the collection that will be updated
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Update an existing collection with a given id
      tags:
        - Collection
    post:
      consumes:
        - application/json
      deprecated: true
      operationId: updateCollection2UsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The name of the collection that will be updated
          in: query
          name: name
          required: false
          type: string
        - collectionFormat: multi
          description: The newly declared purposes of the collection
          enum:
            - FEATURES
            - LANDMARKS
            - ATTRIBUTES
          in: query
          items:
            enum:
              - FEATURES
              - LANDMARKS
              - ATTRIBUTES
            type: string
          name: purposes
          required: false
          type: array
        - description: The id of the collection that will be updated
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Update an existing collection with a given id
      tags:
        - Collection
  "/rest/v1.1/collection/{id}/profile":
    get:
      consumes:
        - application/json
      operationId: getAllCollectionProfilesUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The collection that contains the profile
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Gets all the profiles associated to a collection
      tags:
        - Collection
  /rest/v1.1/profile/classificationAttributes:
    delete:
      consumes:
        - application/json
      deprecated: true
      operationId: removeClassificationAttributesFromProfileUsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The profile associated with the classification attributes
          in: query
          name: profileId
          required: true
          type: string
        - description: The collection that contains the profile
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Removes classification attributes from a profile
      tags:
        - Profile
    get:
      consumes:
        - application/json
      deprecated: true
      operationId: getClassificationAttributesFromProfileUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The profile associated with the classification attributes
          in: query
          name: profileId
          required: true
          type: string
        - description: The collection that contains the profile
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Gets classification attributes from a profile
      tags:
        - Profile
    put:
      consumes:
        - application/json
      deprecated: true
      operationId: mapClassificationAttributesToProfileUsingPUT
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The profile associated with the classification attributes
          in: query
          name: profileId
          required: true
          type: string
        - description: The collection that contains the profile
          in: query
          name: collectionId
          required: true
          type: string
        - description: Comma separated key:value classification attributes
          in: query
          name: classificationAttributes
          required: true
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Maps classification attributes to a profile
      tags:
        - Profile
  /rest/v1.1/profile/enrollmentStatus:
    get:
      consumes:
        - application/json
      operationId: getProfileEnrollmentStatusUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The profile that contains the faces
          in: query
          name: profileId
          required: true
          type: string
        - description: The collection that contains the profile
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: "Gets the enrollment status of a profile: information on whether it is suitable for authentication."
      tags:
        - Profile
  /rest/v1.1/profile/map:
    delete:
      consumes:
        - application/json
      operationId: removeFacesFromProfileUsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: Comma separated face hashes, that will be removed from a profile
          in: query
          name: faceHashes
          required: true
          type: string
        - description: The profile that contains the face
          in: query
          name: profileId
          required: true
          type: string
        - description: The collection that contains the profile
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Removes (unmaps) a list of faces, identified by faceHashes, from a profile, identified by profileId
      tags:
        - Profile
    get:
      consumes:
        - application/json
      operationId: getFacesFromProfileUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The profile that contains the faces
          in: query
          name: profileId
          required: true
          type: string
        - description: The collection that contains the profile
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Gets all the faceHashes associated to a profile
      tags:
        - Profile
    post:
      consumes:
        - application/json
      operationId: mapFacesToProfileUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: Comma separated face hashes, that will be associated to a profile
          in: query
          name: faceHashes
          required: true
          type: string
        - description: The profile that will store the face
          in: query
          name: profileId
          required: true
          type: string
        - description: The collection that contains the profile
          in: query
          name: collectionId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Adds (maps) a list of faces, identified by faceHashes, to a profile, identified by profileId
      tags:
        - Profile
  /rest/v1.1/profile/profile:
    delete:
      consumes:
        - application/json
      deprecated: true
      operationId: deleteProfile2UsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: Uniquely identified collection that can store multiple profiles
          in: query
          name: collectionId
          required: true
          type: string
        - description: The profile id (provide this if you don't have the externalId
          in: query
          name: profileId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Deletes a profile and unmaps all its faces
      tags:
        - Profile
    post:
      consumes:
        - application/json
      operationId: addProfileUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: Uniquely identified collection that can store multiple profiles
          in: query
          name: collectionId
          required: true
          type: string
        - description: External reference to additional information you don’t want to share with VisageCloud
          in: query
          name: externalId
          required: false
          type: string
        - description: Human-readable label for the profile
          in: query
          name: screenName
          required: false
          type: string
        - collectionFormat: multi
          description: Allows you to do finer filtering in face recognition
          in: query
          items:
            type: string
          name: labels
          required: false
          type: array
        - description: Comma separated key:value classification attributes
          in: query
          name: classificationAttributes
          required: false
          type: string
        - description: Comma separated key:value details of profile
          in: query
          name: details
          required: false
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Creates a new profile with no faces associated to it (empty profile)
      tags:
        - Profile
  "/rest/v1.1/profile/{id}":
    delete:
      consumes:
        - application/json
      operationId: deleteProfileUsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: Uniquely identified collection that can store multiple profiles
          in: query
          name: collectionId
          required: true
          type: string
        - description: The profile id (provide this if you don't have the externalId
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Deletes a profile and unmaps all its faces
      tags:
        - Profile
    get:
      consumes:
        - application/json
      operationId: getProfileUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: Uniquely identified collection that can store multiple profiles
          in: query
          name: collectionId
          required: true
          type: string
        - default: "false"
          description: Retrieves the profile with all its associated faces
          in: query
          name: withFaces
          required: false
          type: string
        - description: The profile id (provide this if you don't have the externalId
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Retrieves a profile
      tags:
        - Profile
    patch:
      consumes:
        - application/x-www-form-urlencoded
      operationId: updateProfileUsingPATCH
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the profile that will be updated
          in: path
          name: id
          required: true
          type: string
        - description: Uniquely identified collection that can store multiple profiles
          in: query
          name: collectionId
          required: true
          type: string
        - description: External reference to additional information you don’t want to share with VisageCloud
          in: query
          name: externalId
          required: false
          type: string
        - description: Human-readable label for the profile
          in: query
          name: screenName
          required: false
          type: string
        - collectionFormat: multi
          description: Allows you to do finer filtering in face recognition
          in: query
          items:
            type: string
          name: labels
          required: false
          type: array
        - description: Comma separated key:value classification attributes
          in: query
          name: classificationAttributes
          required: false
          type: string
        - description: Comma separated key:value details of profile
          in: query
          name: details
          required: false
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Update an existing profile with a given id
      tags:
        - Profile
  /rest/v1.1/stream/all:
    get:
      consumes:
        - application/json
      operationId: streamsByAccountUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Show status of all streams from account
      tags:
        - Stream
  /rest/v1.1/stream/attendance:
    get:
      consumes:
        - application/json
      operationId: getLastNAttedanceUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - collectionFormat: multi
          description: The id of the stream for which the frames will be retrieved
          in: query
          items:
            type: string
          name: streamIds
          required: false
          type: array
        - default: 10
          description: How many frames to retrieve at a time
          format: int32
          in: query
          name: count
          required: false
          type: integer
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get last N recognized individuals from stream
      tags:
        - Stream
  /rest/v1.1/stream/cleanup:
    patch:
      consumes:
        - application/json
      operationId: cleanupStreamUsingPATCH
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream that will be stopped
          in: query
          name: streamId
          required: true
          type: string
        - description: Frames older than interval (seconds) will be cleaned up
          format: int32
          in: query
          name: interval
          required: true
          type: integer
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Cleanup frames older than specified timeframe
      tags:
        - Stream
  /rest/v1.1/stream/frameImage:
    get:
      consumes:
        - application/json
      operationId: getFrameImageUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream for which the frames will be retrieved
          in: query
          name: streamId
          required: true
          type: string
        - description: Timestamp of frame to retrieve
          format: int64
          in: query
          name: timestamp
          required: true
          type: integer
      produces:
        - image/jpeg
      responses:
        "200":
          description: OK
          schema:
            items:
              format: byte
              type: string
            type: array
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get individual frame image
      tags:
        - Stream
  /rest/v1.1/stream/frames:
    get:
      consumes:
        - application/json
      operationId: getLastNFramesUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey or readOnlyKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream for which the frames will be retrieved
          in: query
          name: streamId
          required: true
          type: string
        - default: 10
          description: How many frames to retrieve at a time
          format: int32
          in: query
          name: count
          required: false
          type: integer
        - description: The collection id you want to run recognition against
          in: query
          name: collectionId
          required: false
          type: string
        - collectionFormat: multi
          description: Labels associated with the given picture or picture URL
          in: query
          items:
            type: string
          name: labels
          required: false
          type: array
        - collectionFormat: multi
          description: Filters that will be applied on the recognition operation
          enum:
            - NO_FILTER
            - GENDER_FILTER
            - AGE_GROUP_FILTER
          in: query
          items:
            enum:
              - NO_FILTER
              - GENDER_FILTER
              - AGE_GROUP_FILTER
            type: string
          name: attributeFilters
          required: false
          type: array
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get last processed N frames from stream
      tags:
        - Stream
  /rest/v1.1/stream/start:
    patch:
      consumes:
        - application/json
      operationId: startStreamUsingPATCH
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream that will be started
          in: query
          name: streamId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Start existing stream
      tags:
        - Stream
  /rest/v1.1/stream/stop:
    patch:
      consumes:
        - application/json
      operationId: stopStreamUsingPATCH
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream that will be stopped
          in: query
          name: streamId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Stop existing stream
      tags:
        - Stream
  /rest/v1.1/stream/stream:
    post:
      consumes:
        - application/json
      operationId: addStreamUsingPOST
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The name of the stream that will be created
          in: query
          name: name
          required: true
          type: string
        - description: The url of the stream
          in: query
          name: url
          required: true
          type: string
        - default: WEBRTC_PUSH
          description: Streaming method
          enum:
            - WEBRTC_PULL
            - WEBRTC_PUSH
            - INGESTION_ENDPOINT
          in: query
          name: method
          required: false
          type: string
        - description: Username
          in: query
          name: username
          required: false
          type: string
        - description: Password
          in: query
          name: password
          required: false
          type: string
        - default: true
          description: Boolean value indicating whether you want the original picture to be stored for later retrieval
          in: query
          name: skipFramesWithNoFaces
          required: false
          type: boolean
        - default: 605000
          description: Number of seconds for frames to be kept. Default is 605000s (7 days)
          format: int32
          in: query
          name: retentionTime
          required: false
          type: integer
        - default: false
          description: Boolean value indicating whether you want the original picture to be stored for later retrieval
          in: query
          name: storeOriginalFrames
          required: false
          type: boolean
        - default: false
          description: Boolean value indicating whether you want to store permanently store faces clippings of the recognized faces
          in: query
          name: storeAttendanceFaces
          required: false
          type: boolean
        - default: false
          description: Boolean value indicating whether you want to store permanently store frames with a recognized face in them
          in: query
          name: storeAttendanceFrames
          required: false
          type: boolean
        - default: false
          description: Boolean value indicating whether the stream is currently active or not
          in: query
          name: isActive
          required: false
          type: boolean
        - collectionFormat: multi
          description: List of collection ids which will be used to measure attendance
          in: query
          items:
            type: string
          name: associatedCollections
          required: false
          type: array
        - description: Attributes of the stream
          in: query
          name: attributes
          required: false
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "201":
          description: Created
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Create new stream with given name
      tags:
        - Stream
  "/rest/v1.1/stream/{id}":
    delete:
      consumes:
        - application/json
      operationId: removeStreamUsingDELETE
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream that will be removed
          in: path
          name: id
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Delete existing stream
      tags:
        - Stream
  "/rest/v1.1/stream/{streamId}":
    get:
      consumes:
        - application/json
      operationId: getStreamUsingGET
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream for which the data will be retrieved
          in: path
          name: streamId
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
      summary: Get an existing stream with a given ID
      tags:
        - Stream
    patch:
      consumes:
        - application/x-www-form-urlencoded
      operationId: updateStreamUsingPATCH
      parameters:
        - description: The accessKey provided by VisageCloud
          in: query
          name: accessKey
          required: true
          type: string
        - description: The secretKey provided by VisageCloud
          in: query
          name: secretKey
          required: true
          type: string
        - description: The id of the stream that will be updated
          in: path
          name: streamId
          required: true
          type: string
        - description: The name of the stream that will be updated
          in: query
          name: name
          required: false
          type: string
        - description: The url of the stream
          in: query
          name: url
          required: false
          type: string
        - description: Streaming method
          enum:
            - WEBRTC_PULL
            - WEBRTC_PUSH
            - INGESTION_ENDPOINT
          in: query
          name: method
          required: false
          type: string
        - description: Username
          in: query
          name: username
          required: false
          type: string
        - description: Password
          in: query
          name: password
          required: false
          type: string
        - description: Boolean value indicating whether you want the original picture to be stored for later retrieval
          in: query
          name: skipFramesWithNoFaces
          required: false
          type: boolean
        - description: Number of seconds for frames to be kept
          format: int32
          in: query
          name: retentionTime
          required: false
          type: integer
        - description: Boolean value indicating whether you want the original picture to be stored for later retrieval
          in: query
          name: storeOriginalFrames
          required: false
          type: boolean
        - description: Boolean value indicating whether you want to store permanently store faces clippings of the recognized faces
          in: query
          name: storeAttendanceFaces
          required: false
          type: boolean
        - description: Boolean value indicating whether you want to store permanently store frames with a recognized face in them
          in: query
          name: storeAttendanceFrames
          required: false
          type: boolean
        - description: Boolean value indicating whether the stream is currently active or not
          in: query
          name: isActive
          required: false
          type: boolean
        - collectionFormat: multi
          description: List of collection ids which will be used to measure attendance
          in: query
          items:
            type: string
          name: associatedCollections
          required: false
          type: array
        - description: Attributes of the stream
          in: query
          name: attributes
          required: false
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RestResponse"
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
      summary: Update an existing stream with a given ID
      tags:
        - Stream
definitions:
  RestResponse:
    properties:
      message:
        type: string
      payload:
        type: object
      status:
        type: string
    type: object
  StreamingResponseBody:
    type: object
