---
title: "POST /projects/{projectId}/train"
method: POST
path: "/projects/{projectId}/train"
---

# POST /projects/{projectId}/train

`POST /projects/{projectId}/train`

Queues project for training.

## Path parameters

- `projectId` string, uuid, required

## Query parameters

- `trainingType` 'Regular' | 'Advanced'
- `reservedBudgetInHours` integer
- `forceTrain` boolean
- `notificationEmailAddress` string

## Request body

- TrainingParameters — Parameters used for training.
  - `selectedTags` string[] — List of tags selected for this training session, other tags in the project will be ignored.

## Response `200`

OK

- Iteration — Iteration model to be sent over JSON.
  - `id` string, uuid — Gets the id of the iteration.
  - `name` string, required — Gets or sets the name of the iteration.
  - `status` string — Gets the current iteration status.
  - `created` string, date-time — Gets the time this iteration was completed.
  - `lastModified` string, date-time — Gets the time this iteration was last modified.
  - `trainedAt` string, date-time, nullable — Gets the time this iteration was last modified.
  - `projectId` string, uuid — Gets the project id of the iteration.
  - `exportable` boolean — Whether the iteration can be exported to another format for download.
  - `exportableTo` string[] — A set of platforms this iteration can export to.
  - `domainId` string, uuid, nullable — Get or sets a guid of the domain the iteration has been trained on.
  - `classificationType` 'Multiclass' | 'Multilabel', nullable — Gets the classification type of the project.
  - `trainingType` 'Regular' | 'Advanced' — Gets the training type of the iteration.
  - `reservedBudgetInHours` integer — Gets the reserved advanced training budget for the iteration.
  - `trainingTimeInMinutes` integer — Gets the training time for the iteration.
  - `publishName` string — Name of the published model.
  - `originalPublishResourceId` string — Resource Provider Id this iteration was originally published to.

## Other responses

- `default` — Error response

## Changes

- **2026-07-13** `e873dad2a189` — 1 warning, 2 info
  - deleted the `header` request parameter `Training-Key`
  - api operation id `TrainProject` removed and replaced with `Projects_Train`
  - api tag `ProjectApi` removed
- **2026-07-13** `82dfb72c78fa` — 2 info
  - api operation id `Projects_Train` removed and replaced with `TrainProject`
  - api tag `ProjectApi` added
- **2026-07-13** `46146cbce9ff` — 4 info
  - added the new optional `query` request parameter `forceTrain`
  - added the new optional `query` request parameter `notificationEmailAddress`
  - added the new optional `query` request parameter `reservedBudgetInHours`
  - added the new optional `query` request parameter `trainingType`
- **2018-02-03** `8feb7cde15fc` — 1 breaking, 4 warning
  - added the new required `header` request parameter `Training-Key`
  - deleted the `query` request parameter `forceTrain`
  - deleted the `query` request parameter `notificationEmailAddress`
  - deleted the `query` request parameter `reservedBudgetInHours`
  - …1 more

[Change history](https://skmtc.dev/azure/apis/cognitiveservices-customvision-training/changes/projects/:projectId/train/post.md)

---

[API](https://skmtc.dev/azure/apis/cognitiveservices-customvision-training.md) · [All operations](https://skmtc.dev/azure/apis/cognitiveservices-customvision-training/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/cognitiveservices-customvision-training/revisions/e873dad2a189/schema)
