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