VisageCloud
Face search, recognition & classification API
COMMUNITYNO AUTH0 INSTALLS
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"
}
}
}