# Custom Vision Training Client API

> Custom Vision Training Client API on Apizie: 48 endpoints (Get a list of the available domains., Get information about a specific domain., Get your projects., Create a project., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `dev-tools:microsoft-cognitiveservices-training`
- Category: Dev Tools
- Status: byok
- Source: https://microsoft.com
- Page: https://apizie.tech/api/dev-tools/microsoft-cognitiveservices-training
- OpenAPI: https://apizie.tech/api/dev-tools/microsoft-cognitiveservices-training/openapi.json



## Endpoints

### Get a list of the available domains.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-domains` (byok)

### Get information about a specific domain.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-domain` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| domainId | string | yes | The id of the domain to get information about. |

### Get your projects.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-projects` (byok)

### Create a project.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Name of the project. |
| description | string | no | The description of the project. |
| domainId | string | no | The id of the domain to use for this project. Defaults to General. |
| classificationType | string | no | The type of classifier to create for this project. |
| targetExportPlatforms | array | no | List of platforms the trained model is intending exporting to. |

### Imports a project.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/import-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Token generated from the export project call. |

### Get a specific project.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The id of the project to get. |

### Update a specific project.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/update-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The id of the project to update. |
| body | object | yes | JSON request body |

### Delete a specific project.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/delete-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |

### Exports a project.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/export-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id of the project to export. |

### Add the provided images to the set of training images.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-images-from-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| tagIds | array | no | The tags ids with which to tag each image. Limited to 20. |
| body | object | yes | Form fields as a JSON object |

### Delete images from the set of training images.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/delete-images` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| imageIds | array | no | Ids of the images to be deleted. Limited to 256 images per batch. |
| allImages | boolean | no | Flag to specify delete all images, specify this flag or a list of images. Using this flag will return a 202 response to indicate the… |
| allIterations | boolean | no | Removes these images from all iterations, not just the current workspace. Using this flag will return a 202 response to indicate the… |

### Add the provided batch of images to the set of training images.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-images-from-files` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| body | object | yes | JSON request body |

### Get images by id for a given project iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-images-by-ids` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| imageIds | array | no | The list of image ids to retrieve. Limited to 256. |
| iterationId | string | no | The iteration id. Defaults to workspace. |

### Add the specified predicted images to the set of training images.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-images-from-predictions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| body | object | yes | JSON request body |

### Create a set of image regions.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-image-regions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| body | object | yes | JSON request body |

### Delete a set of image regions.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/delete-image-regions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| regionIds | array | yes | Regions to delete. Limited to 64. |

### Get untagged images whose suggested tags match given tags. Returns empty array if no images are found.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/query-suggested-images` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | IterationId to use for the suggested tags and regions. |
| body | object | yes | JSON request body |

### Get count of images whose suggested tags match given tags and their probabilities are greater than or equal…
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/query-suggested-image-count` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | IterationId to use for the suggested tags and regions. |
| body | object | yes | JSON request body |

### Get tagged images for a given project iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-tagged-images` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | no | The iteration id. Defaults to workspace. |
| tagIds | array | no | A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20. |
| orderBy | string | no | The ordering. Defaults to newest. |
| take | integer | no | Maximum number of images to return. Defaults to 50, limited to 256. |
| skip | integer | no | Number of images to skip before beginning the image batch. Defaults to 0. |

### Gets the number of images tagged with the provided {tagIds}.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-tagged-image-count` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | no | The iteration id. Defaults to workspace. |
| tagIds | array | no | A list of tags ids to filter the images to count. Defaults to all tags when null. |

### Associate a set of images with a set of tags.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-image-tags` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| body | object | yes | JSON request body |

### Remove a set of tags from a set of images.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/delete-image-tags` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| imageIds | array | yes | Image ids. Limited to 64 images. |
| tagIds | array | yes | Tags to be deleted from the specified images. Limited to 20 tags. |

### Get untagged images for a given project iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-untagged-images` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | no | The iteration id. Defaults to workspace. |
| orderBy | string | no | The ordering. Defaults to newest. |
| take | integer | no | Maximum number of images to return. Defaults to 50, limited to 256. |
| skip | integer | no | Number of images to skip before beginning the image batch. Defaults to 0. |

### Gets the number of untagged images.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-untagged-image-count` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | no | The iteration id. Defaults to workspace. |

### Add the provided images urls to the set of training images.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-images-from-urls` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| body | object | yes | JSON request body |

### Get region proposals for an image. Returns empty array if no proposals are found.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-image-region-proposals` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| imageId | string | yes | The image id. |

### Get iterations for the project.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-iterations` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |

### Get a specific iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-iteration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The id of the project the iteration belongs to. |
| iterationId | string | yes | The id of the iteration to get. |

### Update a specific iteration.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/update-iteration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | Project id. |
| iterationId | string | yes | Iteration id. |
| body | object | yes | JSON request body |

### Delete a specific iteration of a project.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/delete-iteration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | The iteration id. |

### Get the list of exports for a specific iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-exports` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | The iteration id. |

### Export a trained iteration.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/export-iteration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | The iteration id. |
| platform | string | yes | The target platform. |
| flavor | string | no | The flavor of the target platform. |

### Get detailed performance information about an iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-iteration-performance` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The id of the project the iteration belongs to. |
| iterationId | string | yes | The id of the iteration to get. |
| threshold | number | no | The threshold used to determine true predictions. |
| overlapThreshold | number | no | If applicable, the bounding box overlap threshold used to determine true predictions. |

### Get image with its prediction for a given project iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-image-performances` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | The iteration id. Defaults to workspace. |
| tagIds | array | no | A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20. |
| orderBy | string | no | The ordering. Defaults to newest. |
| take | integer | no | Maximum number of images to return. Defaults to 50, limited to 256. |
| skip | integer | no | Number of images to skip before beginning the image batch. Defaults to 0. |

### Gets the number of images tagged with the provided {tagIds} that have prediction results from training for…
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-image-performance-count` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | The iteration id. Defaults to workspace. |
| tagIds | array | no | A list of tags ids to filter the images to count. Defaults to all tags when null. |

### Publish a specific iteration.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/publish-iteration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | The iteration id. |
| publishName | string | yes | The name to give the published iteration. |
| predictionId | string | yes | The id of the prediction resource to publish to. |

### Unpublish a specific iteration.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/unpublish-iteration` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | The iteration id. |

### Delete a set of predicted images and their associated prediction results.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/delete-prediction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| ids | array | yes | The prediction ids. Limited to 64. |

### Get images that were sent to your prediction endpoint.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/query-predictions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| body | object | yes | JSON request body |

### Quick test an image.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/quick-test-image` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | no | Optional. Specifies the id of a particular iteration to evaluate against. The default iteration for the project will be used when not… |
| store | boolean | no | Optional. Specifies whether or not to store the result of this prediction. The default is true, to store. |
| body | object | yes | Form fields as a JSON object |

### Quick test an image url.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/quick-test-image-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project to evaluate against. |
| iterationId | string | no | Optional. Specifies the id of a particular iteration to evaluate against. The default iteration for the project will be used when not… |
| store | boolean | no | Optional. Specifies whether or not to store the result of this prediction. The default is true, to store. |
| body | object | yes | JSON request body |

### Get the tags for a given project and iteration.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-tags` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | no | The iteration id. Defaults to workspace. |

### Create a tag for the project.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/create-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| name | string | yes | The tag name. |
| description | string | no | Optional description for the tag. |
| type | string | no | Optional type for the tag. |

### Get information about a specific tag.
`GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project this tag belongs to. |
| tagId | string | yes | The tag id. |
| iterationId | string | no | The iteration to retrieve this tag from. Optional, defaults to current training set. |

### Update a tag.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/update-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| tagId | string | yes | The id of the target tag. |
| body | object | yes | JSON request body |

### Delete a tag from the project.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/delete-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| tagId | string | yes | Id of the tag to be deleted. |

### Suggest tags and regions for an array/batch of untagged images. Returns empty array if no tags are found.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/suggest-tags-and-regions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| iterationId | string | yes | IterationId to use for tag and region suggestion. |
| imageIds | array | yes | Array of image ids tag suggestion are needed for. Use GetUntaggedImages API to get imageIds. |

### Queues project for training.
`POST https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/train-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes | The project id. |
| trainingType | string | no | The type of training to use to train the project (default: Regular). |
| reservedBudgetInHours | integer | no | The number of hours reserved as budget for training (if applicable). |
| forceTrain | boolean | no | Whether to force train even if dataset and configuration does not change (default: false). |
| notificationEmailAddress | string | no | The email address to send notification to when training finishes (default: null). |
| body | object | no | JSON request body |

## Example
```
curl "https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-domains" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Custom Vision Training Client API?
Create a free Apizie key, then send GET https://apizie.tech/v1/dev-tools:microsoft-cognitiveservices-training/get-domains with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Custom Vision Training Client API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Custom Vision Training Client itself also needs your own key from microsoft.com.

### Can AI agents use the Custom Vision Training Client API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key dev-tools:microsoft-cognitiveservices-training.

### What is the status of the Custom Vision Training Client API?
Needs your own provider key (bring your own key)
