@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Custom Vision Training Client
@base https://southcentralus.api.cognitive.microsoft.com/customvision/v3.2/training
@version 3.2
@auth ApiKey Training-Key in header
@endpoints 48
@hint download_for_search
@toc domains(2), projects(46)

@group domains
@endpoint GET /domains
@returns(200)

@endpoint GET /domains/{domainId}
@required {domainId: any}
@returns(200)

@endgroup

@group projects
@endpoint GET /projects
@returns(200)

@endpoint POST /projects
@required {name: any}
@optional {description: any, domainId: any, classificationType: any, targetExportPlatforms: any}
@returns(200)

@endpoint GET /projects/{projectId}
@required {projectId: any}
@returns(200)

@endpoint DELETE /projects/{projectId}
@required {projectId: any}
@returns(204)

@endpoint PATCH /projects/{projectId}
@required {projectId: any, updatedProject: map}
@returns(200)

@endpoint GET /projects/{projectId}/export
@required {projectId: any}
@returns(200)

@endpoint POST /projects/{projectId}/images
@required {projectId: any, imageData: any}
@optional {tagIds: any}
@returns(200)

@endpoint DELETE /projects/{projectId}/images
@required {projectId: any}
@optional {imageIds: any, allImages: any, allIterations: any}
@returns(202)
@returns(204)

@endpoint POST /projects/{projectId}/images/{imageId}/regionproposals
@required {projectId: any, imageId: any}
@returns(200)

@endpoint POST /projects/{projectId}/images/files
@required {projectId: any, batch: map}
@returns(200)

@endpoint GET /projects/{projectId}/images/id
@required {projectId: any}
@optional {imageIds: any, iterationId: any}
@returns(200)

@endpoint POST /projects/{projectId}/images/predictions
@required {projectId: any, batch: map}
@returns(200)

@endpoint POST /projects/{projectId}/images/regions
@required {projectId: any, batch: map}
@returns(200)

@endpoint DELETE /projects/{projectId}/images/regions
@required {projectId: any, regionIds: any}
@returns(204)

@endpoint POST /projects/{projectId}/images/suggested
@required {projectId: any, iterationId: any, query: map}
@returns(200)

@endpoint POST /projects/{projectId}/images/suggested/count
@required {projectId: any, iterationId: any, query: map}
@returns(200)

@endpoint GET /projects/{projectId}/images/tagged
@required {projectId: any}
@optional {iterationId: any, tagIds: any, orderBy: any, take: any, skip: any}
@returns(200)

@endpoint GET /projects/{projectId}/images/tagged/count
@required {projectId: any}
@optional {iterationId: any, tagIds: any}
@returns(200)

@endpoint POST /projects/{projectId}/images/tags
@required {projectId: any, batch: map}
@returns(200)

@endpoint DELETE /projects/{projectId}/images/tags
@required {projectId: any, imageIds: any, tagIds: any}
@returns(204)

@endpoint GET /projects/{projectId}/images/untagged
@required {projectId: any}
@optional {iterationId: any, orderBy: any, take: any, skip: any}
@returns(200)

@endpoint GET /projects/{projectId}/images/untagged/count
@required {projectId: any}
@optional {iterationId: any}
@returns(200)

@endpoint POST /projects/{projectId}/images/urls
@required {projectId: any, batch: map}
@returns(200)

@endpoint GET /projects/{projectId}/iterations
@required {projectId: any}
@returns(200)

@endpoint GET /projects/{projectId}/iterations/{iterationId}
@required {projectId: any, iterationId: any}
@returns(200)

@endpoint DELETE /projects/{projectId}/iterations/{iterationId}
@required {projectId: any, iterationId: any}
@returns(204)

@endpoint PATCH /projects/{projectId}/iterations/{iterationId}
@required {projectId: any, iterationId: any, updatedIteration: map}
@returns(200)

@endpoint GET /projects/{projectId}/iterations/{iterationId}/export
@required {projectId: any, iterationId: any}
@returns(200)

@endpoint POST /projects/{projectId}/iterations/{iterationId}/export
@required {projectId: any, iterationId: any, platform: any}
@optional {flavor: any}
@returns(200)

@endpoint GET /projects/{projectId}/iterations/{iterationId}/performance
@required {projectId: any, iterationId: any}
@optional {threshold: any, overlapThreshold: any}
@returns(200)

@endpoint GET /projects/{projectId}/iterations/{iterationId}/performance/images
@required {projectId: any, iterationId: any}
@optional {tagIds: any, orderBy: any, take: any, skip: any}
@returns(200)

@endpoint GET /projects/{projectId}/iterations/{iterationId}/performance/images/count
@required {projectId: any, iterationId: any}
@optional {tagIds: any}
@returns(200)

@endpoint POST /projects/{projectId}/iterations/{iterationId}/publish
@required {projectId: any, iterationId: any, publishName: any, predictionId: any}
@returns(200)

@endpoint DELETE /projects/{projectId}/iterations/{iterationId}/publish
@required {projectId: any, iterationId: any}
@returns(204)

@endpoint DELETE /projects/{projectId}/predictions
@required {projectId: any, ids: any}
@returns(204)

@endpoint POST /projects/{projectId}/predictions/query
@required {projectId: any, query: map}
@returns(200)

@endpoint POST /projects/{projectId}/quicktest/image
@required {projectId: any, imageData: any}
@optional {iterationId: any, store: any}
@returns(200)

@endpoint POST /projects/{projectId}/quicktest/url
@required {projectId: any, imageUrl: map}
@optional {iterationId: any, store: any}
@returns(200)

@endpoint GET /projects/{projectId}/tags
@required {projectId: any}
@optional {iterationId: any}
@returns(200)

@endpoint POST /projects/{projectId}/tags
@required {projectId: any, name: any}
@optional {description: any, type: any}
@returns(200)

@endpoint GET /projects/{projectId}/tags/{tagId}
@required {projectId: any, tagId: any}
@optional {iterationId: any}
@returns(200)

@endpoint DELETE /projects/{projectId}/tags/{tagId}
@required {projectId: any, tagId: any}
@returns(204)

@endpoint PATCH /projects/{projectId}/tags/{tagId}
@required {projectId: any, tagId: any, updatedTag: map}
@returns(200)

@endpoint POST /projects/{projectId}/tagsandregions/suggestions
@required {projectId: any, iterationId: any, imageIds: any}
@returns(200)

@endpoint POST /projects/{projectId}/train
@required {projectId: any}
@optional {trainingType: any, reservedBudgetInHours: any, forceTrain: any, notificationEmailAddress: any, trainingParameters: map}
@returns(200)

@endpoint POST /projects/import
@required {token: any}
@returns(200)

@endgroup

@end
