VisageCloud icon

VisageCloud

Face search, recognition & classification API

COMMUNITYNO AUTH0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "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",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "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"
    }
  }
}