diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md new file mode 100644 index 000000000000..088c16e9ecef --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md @@ -0,0 +1,78 @@ +# Cognitive Services Custom Vision SDK + +> see https://aka.ms/autorest + +Configuration for generating Custom Vision Prediction SDK. + +The current release is `release_1_0`. + +``` yaml + +tag: release_1_0 +openapi-type: data-plane +``` +# Releases + +### Release 1.0 +These settings apply only when `--tag=release_1_0` is specified on the command line. + +``` yaml $(tag) == 'release_1_0' +input-file: v1.1/Prediction.json +``` + +# Code Generation + +## Suppression +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + reason: Live service and portal doesn't use came case properties +``` + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python +``` + +## CSharp Settings +These settings apply only when `--csharp` is specified on the command line. +``` yaml $(csharp) +csharp: + sync-methods: None + license-header: MICROSOFT_MIT_NO_VERSION + azure-arm: false + namespace: Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction + output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/Vision/Generated/CustomVision/Prediction + clear-output-folder: true +``` + +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +python-mode: create +python: + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.cognitiveservices.vision.customvision.prediction + package-name: azure-cognitiveservices-vision-customvision + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision/azure/cognitiveservices/vision/customvision/prediction +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision +``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/Prediction.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/Prediction.json new file mode 100644 index 000000000000..1b6ea7933ce6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/Prediction.json @@ -0,0 +1,385 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.1", + "title": "PredictionEndpoint" + }, + "host": "southcentralus.api.cognitive.microsoft.com", + "basePath": "/customvision/v1.1/Prediction", + "schemes": [ + "https" + ], + "paths": { + "/{projectId}/url": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Predict an image url and saves the result", + "operationId": "PredictImageUrl", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageUrl", + "in": "body", + "description": "An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be evaluated", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePredictionResultModel" + } + } + }, + "x-ms-examples": { + "Successful Prediction with Url request": { + "$ref": "./examples/SuccessfulPredictionWithUrl.json" + } + } + } + }, + "/{projectId}/image": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Predict an image and saves the result", + "operationId": "PredictImage", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePredictionResultModel" + } + } + }, + "x-ms-examples": { + "Successful Prediction with Image request": { + "$ref": "./examples/SuccessfulPredictionWithImage.json" + } + } + } + }, + "/{projectId}/url/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Predict an image url without saving the result", + "operationId": "PredictImageUrlWithNoStore", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageUrl", + "in": "body", + "description": "An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be evaluated", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePredictionResultModel" + } + } + }, + "x-ms-examples": { + "Successful Prediction with Url request": { + "$ref": "./examples/SuccessfulPredictionWithUrl.json" + } + } + } + }, + "/{projectId}/image/nostore": { + "post": { + "tags": [ + "ImagePredictionApi" + ], + "summary": "Predict an image without saving the result", + "operationId": "PredictImageWithNoStore", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "name": "application", + "in": "query", + "description": "Optional. Specifies the name of application using the endpoint", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePredictionResultModel" + } + } + }, + "x-ms-examples": { + "Successful Prediction with Image request": { + "$ref": "./examples/SuccessfulPredictionWithImage.json" + } + } + } + } + }, + "definitions": { + "ImageUrl": { + "type": "object", + "properties": { + "Url": { + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImagePredictionResultModel": { + "description": "result of an image prediction request", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Project": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Iteration": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Predictions": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagPredictionModel" + }, + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageTagPredictionModel": { + "type": "object", + "properties": { + "TagId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Tag": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Probability": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + } + }, + "parameters": { + "ApiKey": { + "name": "Prediction-Key", + "in": "header", + "required": true, + "type": "string", + "x-ms-client-name": "ApiKey" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/examples/SuccessfulPredictionWithImage.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/examples/SuccessfulPredictionWithImage.json new file mode 100644 index 000000000000..9d9a1cc71a84 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/examples/SuccessfulPredictionWithImage.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "Project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "Created": "2017-12-19T14:21:41.6789561Z", + "Predictions": [ + { + "TagId": "e31ff107-5505-4753-be42-b369b21b026c", + "Tag": "Hemlock", + "Probability": 0.05149666 + }, + { + "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "Tag": "Japanese Cherry", + "Probability": 0.00 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/examples/SuccessfulPredictionWithUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/examples/SuccessfulPredictionWithUrl.json new file mode 100644 index 000000000000..f369b17a802b --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/v1.1/examples/SuccessfulPredictionWithUrl.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Prediction-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageUrl": { + "Url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "Project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "Created": "2017-12-19T14:21:41.6789561Z", + "Predictions": [ + { + "TagId": "e31ff107-5505-4753-be42-b369b21b026c", + "Tag": "Hemlock", + "Probability": 0.05149666 + }, + { + "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "Tag": "Japanese Cherry", + "Probability": 0.000193528482 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md new file mode 100644 index 000000000000..febb29a463a1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md @@ -0,0 +1,79 @@ +# Cognitive Services Custom Vision SDK + +> see https://aka.ms/autorest + +Configuration for generating Custom Vision Training SDK. + +The current release is `release_1_0`. + +``` yaml + +tag: release_1_0 +openapi-type: data-plane +``` +# Releases + +### Release 1.0 +These settings apply only when `--tag=release_1_0` is specified on the command line. + +``` yaml $(tag) == 'release_1_0' +input-file: v1.2/Training.json +``` + +# Code Generation + +## Suppression +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + reason: Live service and portal doesn't use came case properties +``` + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python +``` + +## CSharp Settings +These settings apply only when `--csharp` is specified on the command line. +``` yaml $(csharp) +csharp: + sync-methods: None + license-header: MICROSOFT_MIT_NO_VERSION + azure-arm: false + namespace: Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training + output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/Vision/Generated/CustomVision/Training + clear-output-folder: true +``` + +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +python-mode: create +python: + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.cognitiveservices.vision.customvision.training + package-name: azure-cognitiveservices-vision-customvision + clear-output-folder: true + +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision/azure/cognitiveservices/vision/customvision/training +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-cognitiveservices-vision-customvision +``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/Training.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/Training.json new file mode 100644 index 000000000000..12f674104b08 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/Training.json @@ -0,0 +1,2929 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.2", + "title": "TrainingApi" + }, + "host": "southcentralus.api.cognitive.microsoft.com", + "basePath": "/customvision/v1.2/Training", + "schemes": [ + "https" + ], + "paths": { + "/account": { + "get": { + "tags": [ + "AccountApi" + ], + "summary": "Get basic information about your account", + "operationId": "GetAccountInfo", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Account" + } + } + }, + "x-ms-examples": { + "Successful GetAccountInfo request": { + "$ref": "./examples/GetAccountInfo.json" + } + } + } + }, + "/domains": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get a list of the available domains", + "operationId": "GetDomains", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + }, + "x-nullable": true + } + } + }, + "x-ms-examples": { + "Successful GetDomains request": { + "$ref": "./examples/GetDomains.json" + } + } + } + }, + "/domains/{domainId}": { + "get": { + "tags": [ + "DomainsApi" + ], + "summary": "Get information about a specific domain", + "operationId": "GetDomain", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "domainId", + "in": "path", + "description": "The id of the domain to get information about", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + } + }, + "x-ms-examples": { + "Successful GetDomain request": { + "$ref": "./examples/GetDomain.json" + } + } + } + }, + "/projects/{projectId}/images/tagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get tagged images for a given project iteration", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.\r\nThe filtering is on an and/or relationship. For example, if the provided tag ids are for the \"Dog\" and\r\n\"Cat\" tags, then only images tagged with Dog and/or Cat will be returned", + "operationId": "GetTaggedImages", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "name": "tagIds", + "in": "query", + "description": "An list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20", + "required": false, + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ], + "x-nullable": false + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256", + "required": false, + "type": "integer", + "format": "int32", + "default": 50 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "x-nullable": true + } + } + }, + "x-ms-examples": { + "Successful GetTaggedImages request": { + "$ref": "./examples/GetTaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images/untagged": { + "get": { + "tags": [ + "ImageApi" + ], + "summary": "Get untagged images for a given project iteration", + "description": "This API supports batching and range selection. By default it will only return first 50 images matching images.\r\nUse the {take} and {skip} parameters to control how many images to return in a given batch.", + "operationId": "GetUntaggedImages", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "name": "orderBy", + "in": "query", + "description": "The ordering. Defaults to newest", + "required": false, + "type": "string", + "enum": [ + "Newest", + "Oldest" + ], + "x-nullable": false + }, + { + "name": "take", + "in": "query", + "description": "Maximum number of images to return. Defaults to 50, limited to 256", + "required": false, + "type": "integer", + "format": "int32", + "default": 50 + }, + { + "name": "skip", + "in": "query", + "description": "Number of images to skip before beginning the image batch. Defaults to 0", + "required": false, + "type": "integer", + "format": "int32", + "default": 0 + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "x-nullable": true + } + } + }, + "x-ms-examples": { + "Successful GetUntaggedImages request": { + "$ref": "./examples/GetUntaggedImages.json" + } + } + } + }, + "/projects/{projectId}/images": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images to the set of training images", + "description": "This API accepts body content as multipart/form-data and application/octet-stream. When using multipart\r\nmultiple image files can be sent at once, with a maximum of 64 files", + "operationId": "CreateImagesFromData", + "consumes": [ + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagIds", + "in": "query", + "description": "The tags ids with which to tag each image. Limited to 20", + "required": false, + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + } + }, + + "x-ms-examples": { + + "Successful CreateImagesFromData request": { + + "$ref": "./examples/CreateImagesFromData.json" + + } } + + + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Delete images from the set of training images", + "operationId": "DeleteImages", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Ids of the images to be deleted. Limted to 256 images per batch", + "required": true, + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Successful DeleteImages request": { + "$ref": "./examples/DeleteImages.json" + } + } + } + }, + "/projects/{projectId}/images/files": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided batch of images to the set of training images", + "operationId": "CreateImagesFromFiles", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "The batch of image files to add. Limited to 64 images and 20 tags per batch", + "required": true, + "schema": { + "$ref": "#/definitions/ImageFileCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromFiles request": { + "$ref": "./examples/CreateImagesFromFiles.json" + } + } + } + }, + "/projects/{projectId}/images/urls": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the provided images urls to the set of training images", + "operationId": "CreateImagesFromUrls", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image urls and tag ids. Limited to 64 images and 20 tags per batch", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrlCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromUrls request": { + "$ref": "./examples/CreateImagesFromUrls.json" + } + } + } + }, + "/projects/{projectId}/images/predictions": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Add the specified predicted images to the set of training images", + "operationId": "CreateImagesFromPredictions", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Image and tag ids. Limted to 64 images and 20 tags per batch", + "required": true, + "schema": { + "$ref": "#/definitions/ImageIdCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageCreateSummary" + } + } + }, + "x-ms-examples": { + "Successful CreateImagesFromPredictions request": { + "$ref": "./examples/CreateImagesFromPredictions.json" + } + } + } + }, + "/projects/{projectId}/images/tags": { + "post": { + "tags": [ + "ImageApi" + ], + "summary": "Associate a set of images with a set of tags", + "operationId": "PostImageTags", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "batch", + "in": "body", + "description": "Batch of image tags. Limited to 128 tags per batch", + "required": true, + "schema": { + "$ref": "#/definitions/ImageTagCreateBatch" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTagCreateSummary" + } + } + }, + "x-ms-examples": { + "Successful PostImageTags request": { + "$ref": "./examples/PostImageTags.json" + } + } + }, + "delete": { + "tags": [ + "ImageApi" + ], + "summary": "Remove a set of tags from a set of images", + "operationId": "DeleteImageTags", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageIds", + "in": "query", + "description": "Image ids. Limited to 64 images", + "required": true, + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "name": "tagIds", + "in": "query", + "description": "Tags to be deleted from the specified images. Limted to 20 tags", + "required": true, + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Successful DeleteImageTags request": { + "$ref": "./examples/DeleteImageTags.json" + } + } + } + }, + "/projects/{projectId}/predictions/query": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Get images that were sent to your prediction endpoint", + "operationId": "QueryPredictionResults", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "query", + "in": "body", + "description": "Parameters used to query the predictions. Limited to combining 2 tags", + "required": true, + "schema": { + "$ref": "#/definitions/PredictionQueryToken" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PredictionQuery" + } + } + }, + "x-ms-examples": { + "Successful QueryPredictionResults request": { + "$ref": "./examples/QueryPredictionResults.json" + } + } + } + }, + "/projects/{projectId}/predictions": { + "delete": { + "tags": [ + "PredictionsApi" + ], + "summary": "Delete a set of predicted images and their associated prediction results", + "operationId": "DeletePrediction", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "ids", + "in": "query", + "description": "The prediction ids. Limited to 64", + "required": true, + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "collectionFormat": "csv", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Successful DeletePrediction request": { + "$ref": "./examples/DeletePrediction.json" + } + } + } + }, + "/projects/{projectId}/quicktest/url": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image url", + "operationId": "QuickTestImageUrl", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project to evaluate against", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "imageUrl", + "in": "body", + "description": "An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be evaluated", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePredictionResult" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImageUrl request": { + "$ref": "./examples/QuickTestImageUrl.json" + } + } + } + }, + "/projects/{projectId}/quicktest/image": { + "post": { + "tags": [ + "PredictionsApi" + ], + "summary": "Quick test an image", + "operationId": "QuickTestImage", + "consumes": [ + "application/json", + "multipart/form-data", + "application/octet-stream" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "Optional. Specifies the id of a particular iteration to evaluate against.\r\n The default iteration for the project will be used when not specified.", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "name": "imageData", + "in": "formData", + "required": true, + "type": "file" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImagePredictionResult" + } + } + }, + "x-ms-examples": { + "Successful QuickTestImage request": { + "$ref": "./examples/QuickTestImage.json" + } + } + } + }, + "/projects": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get your projects", + "operationId": "GetProjects", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Project" + }, + "x-nullable": true + } + } + }, + "x-ms-examples": { + "Successful GetProjects request": { + "$ref": "./examples/GetProjects.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Create a project", + "operationId": "CreateProject", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "name", + "in": "query", + "description": "Name of the project", + "required": true, + "type": "string", + "x-nullable": true + }, + { + "name": "description", + "in": "query", + "description": "The description of the project", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "name": "domainId", + "in": "query", + "description": "The id of the domain to use for this project. Defaults to General", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + } + }, + "x-ms-examples": { + "Successful CreateProject request": { + "$ref": "./examples/CreateProject.json" + } + } + } + }, + "/projects/{projectId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific project", + "operationId": "GetProject", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to get", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + } + }, + "x-ms-examples": { + "Successful GetProject request": { + "$ref": "./examples/GetProject.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific project", + "operationId": "DeleteProject", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Successful DeleteProject request": { + "$ref": "./examples/DeleteProject.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific project", + "operationId": "UpdateProject", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project to update", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedProject", + "in": "body", + "description": "The updated project model", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Project" + } + } + }, + "x-ms-examples": { + "Successful UpdateProject request": { + "$ref": "./examples/UpdateProject.json" + } + } + } + }, + "/projects/{projectId}/train": { + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Queues project for training", + "operationId": "TrainProject", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + } + }, + "x-ms-examples": { + "Successful TrainProject request": { + "$ref": "./examples/TrainProject.json" + } + } + } + }, + "/projects/{projectId}/iterations": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get iterations for the project", + "operationId": "GetIterations", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Iteration" + }, + "x-nullable": true + } + } + }, + "x-ms-examples": { + "Successful GetIterations request": { + "$ref": "./examples/GetIterations.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get a specific iteration", + "operationId": "GetIteration", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The id of the project the iteration belongs to", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the iteration to get", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + } + }, + "x-ms-examples": { + "Successful GetIteration request": { + "$ref": "./examples/GetIteration.json" + } + } + }, + "delete": { + "tags": [ + "ProjectApi" + ], + "summary": "Delete a specific iteration of a project", + "operationId": "DeleteIteration", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Successful DeleteIteration request": { + "$ref": "./examples/DeleteIteration.json" + } + } + }, + "patch": { + "tags": [ + "ProjectApi" + ], + "summary": "Update a specific iteration", + "operationId": "UpdateIteration", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "Iteration id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedIteration", + "in": "body", + "description": "The updated iteration model", + "required": true, + "schema": { + "$ref": "#/definitions/Iteration" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Iteration" + } + } + }, + "x-ms-examples": { + "Successful UpdateIteration request": { + "$ref": "./examples/UpdateIteration.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/performance": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get detailed performance information about a trained iteration", + "operationId": "GetIterationPerformance", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The id of the trained iteration", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "threshold", + "in": "query", + "description": "The 0 to 1 threshold to determine positive prediction", + "required": true, + "type": "number", + "format": "float" + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IterationPerformance" + } + } + }, + "x-ms-examples": { + "Successful GetIterationPerformance request": { + "$ref": "./examples/GetIterationPerformance.json" + } + } + } + }, + "/projects/{projectId}/iterations/{iterationId}/export": { + "get": { + "tags": [ + "ProjectApi" + ], + "summary": "Get the list of exports for a specific iteration", + "operationId": "GetExports", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Export" + }, + "x-nullable": true + } + } + }, + "x-ms-examples": { + "Successful GetExports request": { + "$ref": "./examples/GetExports.json" + } + } + }, + "post": { + "tags": [ + "ProjectApi" + ], + "summary": "Export a trained iteration", + "operationId": "ExportIteration", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "path", + "description": "The iteration id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "platform", + "in": "query", + "description": "The target platform (coreml or tensorflow)", + "required": true, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Export" + } + } + }, + "x-ms-examples": { + "Successful ExportIteration request": { + "$ref": "./examples/ExportIteration.json" + } + } + } + }, + "/projects/{projectId}/tags": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get the tags for a given project and iteration", + "operationId": "GetTags", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration id. Defaults to workspace", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TagList" + } + } + }, + "x-ms-examples": { + "Successful GetTags request": { + "$ref": "./examples/GetTags.json" + } + } + }, + "post": { + "tags": [ + "TagsApi" + ], + "summary": "Create a tag for the project", + "operationId": "CreateTag", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "name", + "in": "query", + "description": "The tag name", + "required": true, + "type": "string", + "x-nullable": true + }, + { + "name": "description", + "in": "query", + "description": "Optional description for the tag", + "required": false, + "type": "string", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + } + }, + "x-ms-examples": { + "Successful CreateTag request": { + "$ref": "./examples/CreateTag.json" + } + } + } + }, + "/projects/{projectId}/tags/{tagId}": { + "get": { + "tags": [ + "TagsApi" + ], + "summary": "Get information about a specific tag", + "operationId": "GetTag", + "consumes": [], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project this tag belongs to", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The tag id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "iterationId", + "in": "query", + "description": "The iteration to retrieve this tag from. Optional, defaults to current training set", + "required": false, + "type": "string", + "format": "uuid", + "x-nullable": true + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + } + }, + "x-ms-examples": { + "Successful GetTag request": { + "$ref": "./examples/GetTag.json" + } + } + }, + "delete": { + "tags": [ + "TagsApi" + ], + "summary": "Delete a tag from the project", + "operationId": "DeleteTag", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "Id of the tag to be deleted", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Successful DeleteTag request": { + "$ref": "./examples/DeleteTag.json" + } + } + }, + "patch": { + "tags": [ + "TagsApi" + ], + "summary": "Update a tag", + "operationId": "UpdateTag", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "The project id", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "tagId", + "in": "path", + "description": "The id of the target tag", + "required": true, + "type": "string", + "format": "uuid", + "x-nullable": false + }, + { + "name": "updatedTag", + "in": "body", + "description": "The updated tag model", + "required": true, + "schema": { + "$ref": "#/definitions/Tag" + } + }, + { + "$ref": "#/parameters/ApiKey" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Tag" + } + } + }, + "x-ms-examples": { + "Successful UpdateTag request": { + "$ref": "./examples/UpdateTag.json" + } + } + } + } + }, + "definitions": { + "Account": { + "description": "Represents a user account", + "type": "object", + "properties": { + "UserName": { + "description": "Gets the name of the account owner", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Email": { + "description": "Gets the email associated with this account", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Keys": { + "$ref": "#/definitions/ApiKeys", + "description": "Gets the api keys associated with this account", + "readOnly": true + }, + "Quotas": { + "$ref": "#/definitions/AccountQuota", + "description": "Gets the quotas associated with this account", + "readOnly": true + } + }, + "x-nullable": true + }, + "ApiKeys": { + "type": "object", + "properties": { + "TrainingKeys": { + "$ref": "#/definitions/KeyPair" + }, + "PredictionKeys": { + "$ref": "#/definitions/KeyPair" + } + }, + "x-nullable": true + }, + "AccountQuota": { + "description": "Represents a set of quotas assocated with an account", + "type": "object", + "properties": { + "Tier": { + "description": "Gets the tier of user", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Projects": { + "$ref": "#/definitions/Quota", + "description": "Gets the project quota", + "readOnly": true + }, + "Predictions": { + "$ref": "#/definitions/Quota", + "description": "Gets the prediction quota", + "readOnly": true + }, + "PerProject": { + "description": "Gets a list of quotas that apply per-project for each project", + "type": "array", + "items": { + "$ref": "#/definitions/PerProjectQuota" + }, + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "KeyPair": { + "type": "object", + "properties": { + "PrimaryKey": { + "type": "string", + "x-nullable": true + }, + "SecondaryKey": { + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "Quota": { + "description": "Represents a quota", + "type": "object", + "properties": { + "Total": { + "format": "int32", + "description": "The total allowable amount in the quota", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "Used": { + "format": "int32", + "description": "The amount of quota that has currently been used", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "TimeUntilReset": { + "format": "duration", + "description": "Gets the time remaining until the quota resets. Null if this quota does not reset.", + "type": "string", + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "PerProjectQuota": { + "description": "Represents a set of quotas for a given project", + "type": "object", + "properties": { + "ProjectId": { + "format": "uuid", + "description": "Gets the project id of the project this quota applies to", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Iterations": { + "$ref": "#/definitions/Quota", + "description": "Gets the iteration quota for the project", + "readOnly": true + }, + "Images": { + "$ref": "#/definitions/Quota", + "description": "Gets the image quota for the project", + "readOnly": true + }, + "Tags": { + "$ref": "#/definitions/Quota", + "description": "Gets the tag quota for the project", + "readOnly": true + } + }, + "x-nullable": true + }, + "Domain": { + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Name": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Exportable": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "Image": { + "description": "Image model to be sent as JSON", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Width": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "Height": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "ImageUri": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "ThumbnailUri": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTag" + }, + "readOnly": true, + "x-nullable": true + }, + "Predictions": { + "type": "array", + "items": { + "$ref": "#/definitions/PredictionTag" + }, + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageTag": { + "type": "object", + "properties": { + "TagId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "PredictionTag": { + "type": "object", + "properties": { + "TagId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Tag": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Probability": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageCreateSummary": { + "type": "object", + "properties": { + "IsBatchSuccessful": { + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "Images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageCreateResult" + }, + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageCreateResult": { + "type": "object", + "properties": { + "SourceUrl": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Status": { + "enum": [ + "OK", + "OKDuplicate", + "ErrorSource", + "ErrorImageFormat", + "ErrorImageSize", + "ErrorStorage", + "ErrorLimitExceed", + "ErrorTagLimitExceed", + "ErrorUnknown" + ], + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Image": { + "$ref": "#/definitions/Image", + "readOnly": true + } + }, + "x-nullable": true + }, + "ImageFileCreateBatch": { + "type": "object", + "properties": { + "Images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageFileCreateEntry" + }, + "x-nullable": true + }, + "TagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageFileCreateEntry": { + "type": "object", + "properties": { + "Name": { + "type": "string", + "x-nullable": true + }, + "Contents": { + "format": "byte", + "type": "string", + "x-nullable": true + }, + "TagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageUrlCreateBatch": { + "type": "object", + "properties": { + "Images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageUrlCreateEntry" + }, + "x-nullable": true + }, + "TagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageUrlCreateEntry": { + "type": "object", + "properties": { + "Url": { + "type": "string", + "x-nullable": true + }, + "TagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageIdCreateBatch": { + "type": "object", + "properties": { + "Images": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageIdCreateEntry" + }, + "x-nullable": true + }, + "TagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageIdCreateEntry": { + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "TagIds": { + "type": "array", + "items": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageTagCreateBatch": { + "type": "object", + "properties": { + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageTagCreateEntry": { + "type": "object", + "properties": { + "ImageId": { + "format": "uuid", + "type": "string", + "x-nullable": false + }, + "TagId": { + "format": "uuid", + "type": "string", + "x-nullable": false + } + }, + "x-nullable": true + }, + "ImageTagCreateSummary": { + "type": "object", + "properties": { + "Created": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "x-nullable": true + }, + "Duplicated": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "x-nullable": true + }, + "Exceeded": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagCreateEntry" + }, + "x-nullable": true + } + }, + "x-nullable": true + }, + "PredictionQueryToken": { + "type": "object", + "properties": { + "Session": { + "type": "string", + "x-nullable": true + }, + "Continuation": { + "type": "string", + "x-nullable": true + }, + "MaxCount": { + "format": "int32", + "type": "integer", + "x-nullable": false + }, + "OrderBy": { + "enum": [ + "Newest", + "Oldest", + "Suggested" + ], + "type": "string", + "x-nullable": false + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/PredictionQueryTag" + }, + "x-nullable": true + }, + "IterationId": { + "format": "uuid", + "type": "string", + "x-nullable": true + }, + "StartTime": { + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "EndTime": { + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "Application": { + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "PredictionQueryTag": { + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "MinThreshold": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "MaxThreshold": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "PredictionQuery": { + "type": "object", + "properties": { + "Results": { + "type": "array", + "items": { + "$ref": "#/definitions/Prediction" + }, + "readOnly": true, + "x-nullable": true + }, + "Token": { + "$ref": "#/definitions/PredictionQueryToken", + "readOnly": true + } + }, + "x-nullable": true + }, + "Prediction": { + "description": "result of an image classification request", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Project": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Iteration": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Predictions": { + "type": "array", + "items": { + "$ref": "#/definitions/PredictionTag" + }, + "readOnly": true, + "x-nullable": true + }, + "ImageUri": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "ThumbnailUri": { + "type": "string", + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageUrl": { + "type": "object", + "properties": { + "Url": { + "type": "string", + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImagePredictionResult": { + "description": "result of an image prediction request", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Project": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Iteration": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Created": { + "format": "date-time", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Predictions": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTagPrediction" + }, + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ImageTagPrediction": { + "type": "object", + "properties": { + "TagId": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Tag": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Probability": { + "format": "float", + "type": "number", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "Project": { + "description": "Represents a project", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "description": "Gets the project id", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Name": { + "description": "Gets or sets the name of the project", + "type": "string", + "x-nullable": true + }, + "Description": { + "description": "Gets or sets the description of the project", + "type": "string", + "x-nullable": true + }, + "Settings": { + "$ref": "#/definitions/ProjectSettings", + "description": "Gets or sets the project settings" + }, + "CurrentIterationId": { + "format": "uuid", + "description": "Gets the current iteration id", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Created": { + "format": "date-time", + "description": "Gets the date this project was created", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "LastModified": { + "format": "date-time", + "description": "Gets the date this project was last modifed", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "ThumbnailUri": { + "description": "Gets the thumbnail url representing the image", + "type": "string", + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "ProjectSettings": { + "description": "Represents settings associated with a project", + "type": "object", + "properties": { + "DomainId": { + "format": "uuid", + "description": "Gets or sets the id of the Domain to use with this project", + "type": "string", + "x-nullable": false + } + }, + "x-nullable": true + }, + "Iteration": { + "description": "Iteration model to be sent over JSON", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "description": "Gets the id of the iteration", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Name": { + "description": "Gets or sets the name of the iteration", + "type": "string", + "x-nullable": true + }, + "IsDefault": { + "description": "Gets or sets a value indicating whether the iteration is the default iteration for the project", + "type": "boolean", + "x-nullable": false + }, + "Status": { + "description": "Gets the current iteration status", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Created": { + "format": "date-time", + "description": "Gets the time this iteration was completed", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "LastModified": { + "format": "date-time", + "description": "Gets the time this iteration was last modified", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "TrainedAt": { + "format": "date-time", + "description": "Gets the time this iteration was last modified", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "ProjectId": { + "format": "uuid", + "description": "Gets the project id of the iteration", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Exportable": { + "description": "Whether the iteration can be exported to another format for download", + "type": "boolean", + "readOnly": true, + "x-nullable": false + }, + "DomainId": { + "format": "uuid", + "description": "Get or sets a guid of the domain the iteration has been trained on", + "type": "string", + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "IterationPerformance": { + "description": "Represents the detailed performance data for a trained iteration", + "type": "object", + "properties": { + "PerTagPerformance": { + "description": "Gets the per-tag performance details for this iteration", + "type": "array", + "items": { + "$ref": "#/definitions/TagPerformance" + }, + "readOnly": true, + "x-nullable": true + }, + "Precision": { + "format": "double", + "description": "Gets the precision", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "PrecisionStdDeviation": { + "format": "double", + "description": "Gets the standard deviation for the precision", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "Recall": { + "format": "double", + "description": "Gets the recall", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "RecallStdDeviation": { + "format": "double", + "description": "Gets the standard deviation for the recall", + "type": "number", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "TagPerformance": { + "description": "Represents performance data for a particular tag in a trained iteration", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Name": { + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "Precision": { + "format": "double", + "description": "Gets the precision", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "PrecisionStdDeviation": { + "format": "double", + "description": "Gets the standard deviation for the precision", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "Recall": { + "format": "double", + "description": "Gets the recall", + "type": "number", + "readOnly": true, + "x-nullable": false + }, + "RecallStdDeviation": { + "format": "double", + "description": "Gets the standard deviation for the recall", + "type": "number", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "Export": { + "type": "object", + "properties": { + "Platform": { + "enum": [ + "CoreML", + "TensorFlow" + ], + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Status": { + "enum": [ + "Exporting", + "Failed", + "Done" + ], + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "DownloadUri": { + "type": "string", + "readOnly": true, + "x-nullable": true + } + }, + "x-nullable": true + }, + "TagList": { + "type": "object", + "properties": { + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "readOnly": true, + "x-nullable": true + }, + "TotalTaggedImages": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + }, + "TotalUntaggedImages": { + "format": "int32", + "type": "integer", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + }, + "Tag": { + "description": "Represents a Tag", + "type": "object", + "properties": { + "Id": { + "format": "uuid", + "description": "Gets the Tag ID", + "type": "string", + "readOnly": true, + "x-nullable": false + }, + "Name": { + "description": "Gets or sets the name of the tag", + "type": "string", + "x-nullable": true + }, + "Description": { + "description": "Gets or sets the description of the tag", + "type": "string", + "x-nullable": true + }, + "ImageCount": { + "format": "int32", + "description": "Gets the number of images with this tag", + "type": "integer", + "readOnly": true, + "x-nullable": false + } + }, + "x-nullable": true + } + }, + "parameters": { + "ApiKey": { + "name": "Training-Key", + "in": "header", + "required": true, + "type": "string", + "x-ms-client-name": "ApiKey" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromData.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromData.json new file mode 100644 index 000000000000..8586988f96d9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromData.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ], + "imageData": "multipart data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "IsBatchSuccessful": true, + "Images": [ + { + "SourceUrl": "\"hemlock_10.jpg\"", + "Status": "OK", + "Image": { + "Id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "Created": "2017-12-19T15:56:10.65Z", + "Width": 1095, + "Height": 900, + "ImageUri": "{Image Uri}", + "ThumbnailUri": "{Thumbnail Uri}", + "Tags": [ + { + "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "Created": "2017-12-19T15:56:09.6105895Z" + } + ] + } + }, + { + "SourceUrl": "\"hemlock_6.jpg\"", + "Status": "OK", + "Image": { + "Id": "f1855a92-b873-47e7-b513-f07a667ceda1", + "Created": "2017-12-19T15:56:10.57Z", + "Width": 900, + "Height": 1531, + "ImageUri": "{Image Uri}", + "ThumbnailUri": "{Thumbnail Uri}", + "Tags": [ + { + "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "Created": "2017-12-19T15:56:09.5168568Z" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromFiles.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromFiles.json new file mode 100644 index 000000000000..de26daed03b0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromFiles.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "Images": [ + { + "Name": "hemlock_10.jpg", + "Contents": "{image contents}" + } + ], + "TagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "IsBatchSuccessful": true, + "Images": [ + { + "SourceUrl": "\"hemlock_10.jpg\"", + "Status": "OK", + "Image": { + "Id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "Created": "2017-12-19T15:56:10.65Z", + "Width": 1095, + "Height": 900, + "ImageUri": "{Image Uri}", + "ThumbnailUri": "{Thumbnail Uri}", + "Tags": [ + { + "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "Created": "2017-12-19T15:56:09.6105895Z" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromPredictions.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromPredictions.json new file mode 100644 index 000000000000..fb0b1cd2e38d --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromPredictions.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "Images": [ + { + "Id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9" + } + ], + "TagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "IsBatchSuccessful": true, + "Images": [ + { + "SourceUrl": "\"hemlock_10.jpg\"", + "Status": "OK", + "Image": { + "Id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "Created": "2017-12-19T15:56:10.65Z", + "Width": 1095, + "Height": 900, + "ImageUri": "{Image Uri}", + "ThumbnailUri": "{Thumbnail Uri}", + "Tags": [ + { + "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "Created": "2017-12-19T15:56:09.6105895Z" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromUrls.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromUrls.json new file mode 100644 index 000000000000..9334979f0071 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateImagesFromUrls.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "tagIds": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "batch": { + "Images": [ + { + "Url": "{url to image}" + } + ], + "TagIds": [ + "b607964f-7bd6-4a3b-a869-6791fb6aab87" + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "IsBatchSuccessful": true, + "Images": [ + { + "SourceUrl": "{url to image}", + "Status": "OK", + "Image": { + "Id": "4d6eb844-42ee-42bc-bd6f-c32455ef07c9", + "Created": "2017-12-19T15:56:10.65Z", + "Width": 1095, + "Height": 900, + "ImageUri": "{Image Uri}", + "ThumbnailUri": "{Thumbnail Uri}", + "Tags": [ + { + "TagId": "b607964f-7bd6-4a3b-a869-6791fb6aab87", + "Created": "2017-12-19T15:56:09.6105895Z" + } + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateProject.json new file mode 100644 index 000000000000..1bb1cae15f71 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateProject.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "name": "My New Project", + "description": "A test project", + "domainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "Name": "My New Project", + "Description": "A test project", + "Settings": { + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c", + "Created": "2017-12-18T05:43:18.08Z", + "LastModified": "2017-12-18T05:43:18.0962423Z", + "ThumbnailUri": null + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateTag.json new file mode 100644 index 000000000000..0ab8558b7498 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/CreateTag.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "name": "Tag1", + "description": "Description of Tag1", + "body": "" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "Name": "Tag1", + "Description": "Description of Tag1", + "ImageCount": 0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteImageTags.json new file mode 100644 index 000000000000..518da817475e --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteImageTags.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ], + "tagIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteImages.json new file mode 100644 index 000000000000..145476cdc56d --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteImages.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "imageIds": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteIteration.json new file mode 100644 index 000000000000..e8485f9861ca --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteIteration.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeletePrediction.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeletePrediction.json new file mode 100644 index 000000000000..4d32761fe2ee --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeletePrediction.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "ids": [ + "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + ] + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteProject.json new file mode 100644 index 000000000000..df01ee93a164 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteProject.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteTag.json new file mode 100644 index 000000000000..a0ec1fcd1899 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/DeleteTag.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "204": { + "headers": {}, + "body": "" + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/ExportIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/ExportIteration.json new file mode 100644 index 000000000000..b6d9687804ee --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/ExportIteration.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "platform": "tensorflow" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Platform": "TensorFlow", + "Status": "Exporting", + "DownloadUri": null + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetAccountInfo.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetAccountInfo.json new file mode 100644 index 000000000000..8efef30fd54a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetAccountInfo.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "UserName": "User Name", + "Email": "User@email.com", + "Keys": { + "TrainingKeys": { + "PrimaryKey": "{API Key}", + "SecondaryKey": "{API Key}" + }, + "PredictionKeys": { + "PrimaryKey": "{API Key}", + "SecondaryKey": "{API Key}" + } + }, + "Quotas": { + "Tier": "Free", + "Projects": { + "Total": 20, + "Used": 9 + }, + "Predictions": { + "Total": 1000, + "Used": 0 + }, + "PerProject": [ + { + "ProjectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "Iterations": { + "Total": 20, + "Used": 0 + }, + "Images": { + "Total": 1000, + "Used": 0 + }, + "Tags": { + "Total": 50, + "Used": 2 + } + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetDomain.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetDomain.json new file mode 100644 index 000000000000..21638cd4413e --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetDomain.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "domainId": "b30a91ae-e3c1-4f73-a81e-c270bff27c39" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "Name": "Retail", + "Exportable": false + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetDomains.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetDomains.json new file mode 100644 index 000000000000..bfb0e025d9b2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetDomains.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Id": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "Name": "General", + "Exportable": false + }, + { + "Id": "c151d5b5-dd07-472a-acc8-15d29dea8518", + "Name": "Food", + "Exportable": false + }, + { + "Id": "ca455789-012d-4b50-9fec-5bb63841c793", + "Name": "Landmarks", + "Exportable": false + }, + { + "Id": "b30a91ae-e3c1-4f73-a81e-c270bff27c39", + "Name": "Retail", + "Exportable": false + }, + { + "Id": "45badf75-3591-4f26-a705-45678d3e9f5f", + "Name": "Adult", + "Exportable": false + }, + { + "Id": "0732100f-1a38-4e49-a514-c9b44c697ab5", + "Name": "General (compact)", + "Exportable": true + }, + { + "Id": "b5cfd229-2ac7-4b2b-8d0a-2b0661344894", + "Name": "Landmarks (compact)", + "Exportable": true + }, + { + "Id": "6b4faeda-8396-481b-9f8b-177b9fa3097f", + "Name": "Retail (compact)", + "Exportable": true + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetExports.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetExports.json new file mode 100644 index 000000000000..54ea2e5ac9b2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetExports.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Platform": "TensorFlow", + "Status": "Done", + "DownloadUri": "{Download URI" + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIteration.json new file mode 100644 index 000000000000..6e94014acfd1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIteration.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "Name": "Iteration 2", + "IsDefault": false, + "Status": "Completed", + "Created": "2017-12-18T22:40:36.9066667Z", + "LastModified": "2017-12-19T15:47:02.9511889Z", + "TrainedAt": "2017-12-19T15:47:02.9511889Z", + "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Exportable": false, + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIterationPerformance.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIterationPerformance.json new file mode 100644 index 000000000000..65774776e4f3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIterationPerformance.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "threshold": 0.9 + }, + "responses": { + "200": { + "headers": {}, + "body": { + "PerTagPerformance": [ + { + "Id": "e31ff107-5505-4753-be42-b369b21b026c", + "Name": "Hemlock", + "Precision": 1.0, + "PrecisionStdDeviation": 0.0, + "Recall": 1.0, + "RecallStdDeviation": 0.0 + }, + { + "Id": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "Name": "Japanese Cherry", + "Precision": 1.0, + "PrecisionStdDeviation": 0.0, + "Recall": 1.0, + "RecallStdDeviation": 0.0 + } + ], + "Precision": 1.0, + "PrecisionStdDeviation": 0.0, + "Recall": 1.0, + "RecallStdDeviation": 0.0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIterations.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIterations.json new file mode 100644 index 000000000000..605c84ca26c7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetIterations.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Id": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "Name": "Iteration 1", + "IsDefault": true, + "Status": "Completed", + "Created": "2017-12-18T22:40:29.7304213Z", + "LastModified": "2017-12-18T22:40:41.3173903Z", + "TrainedAt": "2017-12-18T22:40:41.0058589Z", + "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Exportable": false, + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + { + "Id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "Name": "Iteration 2", + "IsDefault": false, + "Status": "Completed", + "Created": "2017-12-18T22:40:36.9066667Z", + "LastModified": "2017-12-19T15:47:02.9511889Z", + "TrainedAt": "2017-12-19T15:47:02.9511889Z", + "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Exportable": false, + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + { + "Id": "3adaf7b2-18fc-4376-9da4-b5ea160a7cf5", + "Name": "Iteration 3", + "IsDefault": false, + "Status": "New", + "Created": "2017-12-19T15:46:59.2533333Z", + "LastModified": "2017-12-19T15:46:59.2699369Z", + "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Exportable": false, + "DomainId": null + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetProject.json new file mode 100644 index 000000000000..7bef04cddce3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetProject.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "Name": "My New Project", + "Description": "A test project", + "Settings": { + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c", + "Created": "2017-12-18T05:43:18.08Z", + "LastModified": "2017-12-18T05:43:18.0962423Z", + "ThumbnailUri": null + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetProjects.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetProjects.json new file mode 100644 index 000000000000..a681f0e41be2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetProjects.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "Id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "Name": "My New Project", + "Description": "", + "Settings": { + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c", + "Created": "2017-12-18T05:43:18.08Z", + "LastModified": "2017-12-18T05:43:18.0962423Z", + "ThumbnailUri": null + } + ] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTag.json new file mode 100644 index 000000000000..f6c3f7f1bb19 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTag.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "Name": "Tag1", + "Description": "Description of Tag1", + "ImageCount": 0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTaggedImages.json new file mode 100644 index 000000000000..b4074dc03914 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTaggedImages.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTags.json new file mode 100644 index 000000000000..710ba35167bc --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetTags.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Tags": [ + { + "Id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "Name": "Tag1", + "Description": "Description of Tag1", + "ImageCount": 0 + } + ], + "TotalTaggedImages": 0, + "TotalUntaggedImages": 0 + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetUntaggedImages.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetUntaggedImages.json new file mode 100644 index 000000000000..b4074dc03914 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/GetUntaggedImages.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "iterationId": "cf0f83fb-ebaa-4b25-8e34-613a6a0b8a12" + }, + "responses": { + "200": { + "headers": {}, + "body": [] + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/PostImageTags.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/PostImageTags.json new file mode 100644 index 000000000000..9b847879781a --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/PostImageTags.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "batch": { + "Tags": [ + { + "ImageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Created": [ + { + "ImageId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a" + } + ], + "Duplicated": null, + "Exceeded": null + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QueryPredictionResults.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QueryPredictionResults.json new file mode 100644 index 000000000000..927e0e9910db --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QueryPredictionResults.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "query": { + "OrderBy": "Newest", + "Tags": [ + { + "Id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "MinThreshold": 0.9 + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Results": [ + { + "Id": "dfd2d346-3ed5-4e1e-857d-af4e32cec042", + "Project": "8988643a-ae70-447d-9a22-15c4255e5ecb", + "Iteration": "b7b9d99c-a2c6-4658-9900-a98d2ff5bc66", + "Created": "2018-01-31T20:18:26.5806336Z", + "Predictions": [ + { + "TagId": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "Tag": "Tag 1", + "Probability": 1.0 + }, + { + "TagId": "45619cda-d1c9-4bc8-a3e1-87c5d81adbc3", + "Tag": "Tag 2", + "Probability": 3.60627153E-12 + } + ], + "ImageUri": "", + "ThumbnailUri": "" + } + ], + "Token": { + "Session": "1:286613", + "Continuation": null, + "MaxCount": 0, + "OrderBy": "Newest", + "Tags": [ + { + "Id": "b5f7e6a2-a481-49a6-afec-a7cef1af3544", + "MinThreshold": 0.9, + "MaxThreshold": 1.0 + } + ], + "IterationId": null, + "StartTime": null, + "EndTime": null, + "Application": null + } + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QuickTestImage.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QuickTestImage.json new file mode 100644 index 000000000000..9acd750814f9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QuickTestImage.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageData": "multipart-form-data" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "Project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "Created": "2017-12-19T14:21:41.6789561Z", + "Predictions": [ + { + "TagId": "e31ff107-5505-4753-be42-b369b21b026c", + "Tag": "Hemlock", + "Probability": 0.05149666 + }, + { + "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "Tag": "Japanese Cherry", + "Probability": 0.00 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QuickTestImageUrl.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QuickTestImageUrl.json new file mode 100644 index 000000000000..504e20d5f4e3 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/QuickTestImageUrl.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "imageUrl": { + "Url": "{Image URL}" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "951098b2-9b69-427b-bddb-d5cb618874e3", + "Project": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Iteration": "fe1e83c4-6f50-4899-9544-6bb08cf0e15a", + "Created": "2017-12-19T14:21:41.6789561Z", + "Predictions": [ + { + "TagId": "e31ff107-5505-4753-be42-b369b21b026c", + "Tag": "Hemlock", + "Probability": 0.05149666 + }, + { + "TagId": "349d72ac-0948-4d51-b1e4-c14a1f9b848a", + "Tag": "Japanese Cherry", + "Probability": 0.000193528482 + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/TrainProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/TrainProject.json new file mode 100644 index 000000000000..b4d68b58a7f8 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/TrainProject.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "Name": "Iteration 2", + "IsDefault": false, + "Status": "Training", + "Created": "2017-12-18T22:40:36.9066667Z", + "LastModified": "2017-12-19T15:46:58.197323Z", + "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Exportable": false, + "DomainId": null + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateIteration.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateIteration.json new file mode 100644 index 000000000000..6aaad490dc74 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateIteration.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "iterationId": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "updatedIteration": { + "Name": "Best Iteration" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "e31a14ab-5d78-4f7b-a267-3a1e4fd8a758", + "Name": "Best Iteration", + "IsDefault": false, + "Status": "Completed", + "Created": "2017-12-18T22:40:36.9066667Z", + "LastModified": "2017-12-19T15:53:07.8782881Z", + "TrainedAt": "2017-12-19T15:47:02.9511889Z", + "ProjectId": "64b822c5-8082-4b36-a426-27225f4aa18c", + "Exportable": false, + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateProject.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateProject.json new file mode 100644 index 000000000000..3bd413f960fb --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateProject.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "updatedProject": { + "Name": "New Project Name", + "Description": "A new Description" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "Name": "New Project Name", + "Description": "A new Description", + "Settings": { + "DomainId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31" + }, + "CurrentIterationId": "a2a64ff1-22e6-418b-aeea-75e3b43f122c", + "Created": "2017-12-18T05:43:18.08Z", + "LastModified": "2017-12-18T05:43:18.0962423Z", + "ThumbnailUri": null + } + } + } +} \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateTag.json b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateTag.json new file mode 100644 index 000000000000..1cb8052da178 --- /dev/null +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/v1.2/examples/UpdateTag.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "Content-Type": "application/json", + "Training-Key": "{API Key}", + "projectId": "bc3f7dad-5544-468c-8573-3ef04d55463e", + "tagId": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "updatedTag": { + "Name": "Better Tag Name", + "Description": "Better description" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "Id": "9e27bc1b-7ae7-4e3b-a4e5-36153479dc01", + "Name": "Better Tag Name", + "Description": "Better description", + "ImageCount": 0 + } + } + } +} \ No newline at end of file