naftiko: 1.0.0-alpha2 info: label: Microsoft Azure TrainingApi — ImageApi description: 'Microsoft Azure TrainingApi — ImageApi. 14 operations. Lead operation: Microsoft Azure Add The Provided Images To The Set Of Training Images. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - ImageApi created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: trainingapi-imageapi baseUri: https://southcentralus.api.cognitive.microsoft.com/customvision/v2.1/Training description: Microsoft Azure TrainingApi — ImageApi business capability. Self-contained, no shared references. resources: - name: projects-projectId-images path: /projects/{projectId}/images operations: - name: microsoftazurecreateimagesfromdata method: POST description: Microsoft Azure Add The Provided Images To The Set Of Training Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: tagIds in: query type: array description: The tags ids with which to tag each image. Limited to 20 - name: imageData in: formData type: file required: true - name: microsoftazuredeleteimages method: DELETE description: Microsoft Azure Delete Images From The Set Of Training Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: imageIds in: query type: array description: Ids of the images to be deleted. Limited to 256 images per batch required: true - name: projects-projectId-images-files path: /projects/{projectId}/images/files operations: - name: microsoftazurecreateimagesfromfiles method: POST description: Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: batch in: body type: string description: The batch of image files to add. Limited to 64 images and 20 tags per batch required: true - name: projects-projectId-images-id path: /projects/{projectId}/images/id operations: - name: microsoftazuregetimagesbyids method: GET description: Microsoft Azure Get Images By Id For A Given Project Iteration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: imageIds in: query type: array description: The list of image ids to retrieve. Limited to 256 - name: iterationId in: query type: string description: The iteration id. Defaults to workspace - name: projects-projectId-images-predictions path: /projects/{projectId}/images/predictions operations: - name: microsoftazurecreateimagesfrompredictions method: POST description: Microsoft Azure Add The Specified Predicted Images To The Set Of Training Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: batch in: body type: string description: Image and tag ids. Limited to 64 images and 20 tags per batch required: true - name: projects-projectId-images-regions path: /projects/{projectId}/images/regions operations: - name: microsoftazurecreateimageregions method: POST description: Microsoft Azure Create A Set Of Image Regions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: batch in: body type: string description: Batch of image regions which include a tag and bounding box. Limited to 64 required: true - name: microsoftazuredeleteimageregions method: DELETE description: Microsoft Azure Delete A Set Of Image Regions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: regionIds in: query type: array description: Regions to delete. Limited to 64 required: true - name: projects-projectId-images-tagged path: /projects/{projectId}/images/tagged operations: - name: microsoftazuregettaggedimages method: GET description: Microsoft Azure Get Tagged Images For A Given Project Iteration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: iterationId in: query type: string description: The iteration id. Defaults to workspace - name: tagIds in: query type: array description: A list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20 - name: orderBy in: query type: string description: The ordering. Defaults to newest - name: take in: query type: integer description: Maximum number of images to return. Defaults to 50, limited to 256 - name: skip in: query type: integer description: Number of images to skip before beginning the image batch. Defaults to 0 - name: projects-projectId-images-tagged-count path: /projects/{projectId}/images/tagged/count operations: - name: microsoftazuregettaggedimagecount method: GET description: Microsoft Azure Gets The Number Of Images Tagged With The Provided {tagids} outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: iterationId in: query type: string description: The iteration id. Defaults to workspace - name: tagIds in: query type: array description: A list of tags ids to filter the images to count. Defaults to all tags when null. - name: projects-projectId-images-tags path: /projects/{projectId}/images/tags operations: - name: microsoftazurecreateimagetags method: POST description: Microsoft Azure Associate A Set Of Images With A Set Of Tags outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: batch in: body type: string description: Batch of image tags. Limited to 128 tags per batch required: true - name: microsoftazuredeleteimagetags method: DELETE description: Microsoft Azure Remove A Set Of Tags From A Set Of Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: imageIds in: query type: array description: Image ids. Limited to 64 images required: true - name: tagIds in: query type: array description: Tags to be deleted from the specified images. Limited to 20 tags required: true - name: projects-projectId-images-untagged path: /projects/{projectId}/images/untagged operations: - name: microsoftazuregetuntaggedimages method: GET description: Microsoft Azure Get Untagged Images For A Given Project Iteration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: iterationId in: query type: string description: The iteration id. Defaults to workspace - name: orderBy in: query type: string description: The ordering. Defaults to newest - name: take in: query type: integer description: Maximum number of images to return. Defaults to 50, limited to 256 - name: skip in: query type: integer description: Number of images to skip before beginning the image batch. Defaults to 0 - name: projects-projectId-images-untagged-count path: /projects/{projectId}/images/untagged/count operations: - name: microsoftazuregetuntaggedimagecount method: GET description: Microsoft Azure Gets The Number Of Untagged Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: iterationId in: query type: string description: The iteration id. Defaults to workspace - name: projects-projectId-images-urls path: /projects/{projectId}/images/urls operations: - name: microsoftazurecreateimagesfromurls method: POST description: Microsoft Azure Add The Provided Images Urls To The Set Of Training Images outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: projectId in: path type: string description: The project id required: true - name: batch in: body type: string description: Image urls and tag ids. Limited to 64 images and 20 tags per batch required: true exposes: - type: rest namespace: trainingapi-imageapi-rest port: 8080 description: REST adapter for Microsoft Azure TrainingApi — ImageApi. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/projects/{projectid}/images name: projects-projectid-images description: REST surface for projects-projectId-images. operations: - method: POST name: microsoftazurecreateimagesfromdata description: Microsoft Azure Add The Provided Images To The Set Of Training Images call: trainingapi-imageapi.microsoftazurecreateimagesfromdata with: projectId: rest.projectId tagIds: rest.tagIds imageData: rest.imageData outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuredeleteimages description: Microsoft Azure Delete Images From The Set Of Training Images call: trainingapi-imageapi.microsoftazuredeleteimages with: projectId: rest.projectId imageIds: rest.imageIds outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/files name: projects-projectid-images-files description: REST surface for projects-projectId-images-files. operations: - method: POST name: microsoftazurecreateimagesfromfiles description: Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images call: trainingapi-imageapi.microsoftazurecreateimagesfromfiles with: projectId: rest.projectId batch: rest.batch outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/id name: projects-projectid-images-id description: REST surface for projects-projectId-images-id. operations: - method: GET name: microsoftazuregetimagesbyids description: Microsoft Azure Get Images By Id For A Given Project Iteration call: trainingapi-imageapi.microsoftazuregetimagesbyids with: projectId: rest.projectId imageIds: rest.imageIds iterationId: rest.iterationId outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/predictions name: projects-projectid-images-predictions description: REST surface for projects-projectId-images-predictions. operations: - method: POST name: microsoftazurecreateimagesfrompredictions description: Microsoft Azure Add The Specified Predicted Images To The Set Of Training Images call: trainingapi-imageapi.microsoftazurecreateimagesfrompredictions with: projectId: rest.projectId batch: rest.batch outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/regions name: projects-projectid-images-regions description: REST surface for projects-projectId-images-regions. operations: - method: POST name: microsoftazurecreateimageregions description: Microsoft Azure Create A Set Of Image Regions call: trainingapi-imageapi.microsoftazurecreateimageregions with: projectId: rest.projectId batch: rest.batch outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuredeleteimageregions description: Microsoft Azure Delete A Set Of Image Regions call: trainingapi-imageapi.microsoftazuredeleteimageregions with: projectId: rest.projectId regionIds: rest.regionIds outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/tagged name: projects-projectid-images-tagged description: REST surface for projects-projectId-images-tagged. operations: - method: GET name: microsoftazuregettaggedimages description: Microsoft Azure Get Tagged Images For A Given Project Iteration call: trainingapi-imageapi.microsoftazuregettaggedimages with: projectId: rest.projectId iterationId: rest.iterationId tagIds: rest.tagIds orderBy: rest.orderBy take: rest.take skip: rest.skip outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/tagged/count name: projects-projectid-images-tagged-count description: REST surface for projects-projectId-images-tagged-count. operations: - method: GET name: microsoftazuregettaggedimagecount description: Microsoft Azure Gets The Number Of Images Tagged With The Provided {tagids} call: trainingapi-imageapi.microsoftazuregettaggedimagecount with: projectId: rest.projectId iterationId: rest.iterationId tagIds: rest.tagIds outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/tags name: projects-projectid-images-tags description: REST surface for projects-projectId-images-tags. operations: - method: POST name: microsoftazurecreateimagetags description: Microsoft Azure Associate A Set Of Images With A Set Of Tags call: trainingapi-imageapi.microsoftazurecreateimagetags with: projectId: rest.projectId batch: rest.batch outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuredeleteimagetags description: Microsoft Azure Remove A Set Of Tags From A Set Of Images call: trainingapi-imageapi.microsoftazuredeleteimagetags with: projectId: rest.projectId imageIds: rest.imageIds tagIds: rest.tagIds outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/untagged name: projects-projectid-images-untagged description: REST surface for projects-projectId-images-untagged. operations: - method: GET name: microsoftazuregetuntaggedimages description: Microsoft Azure Get Untagged Images For A Given Project Iteration call: trainingapi-imageapi.microsoftazuregetuntaggedimages with: projectId: rest.projectId iterationId: rest.iterationId orderBy: rest.orderBy take: rest.take skip: rest.skip outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/untagged/count name: projects-projectid-images-untagged-count description: REST surface for projects-projectId-images-untagged-count. operations: - method: GET name: microsoftazuregetuntaggedimagecount description: Microsoft Azure Gets The Number Of Untagged Images call: trainingapi-imageapi.microsoftazuregetuntaggedimagecount with: projectId: rest.projectId iterationId: rest.iterationId outputParameters: - type: object mapping: $. - path: /v1/projects/{projectid}/images/urls name: projects-projectid-images-urls description: REST surface for projects-projectId-images-urls. operations: - method: POST name: microsoftazurecreateimagesfromurls description: Microsoft Azure Add The Provided Images Urls To The Set Of Training Images call: trainingapi-imageapi.microsoftazurecreateimagesfromurls with: projectId: rest.projectId batch: rest.batch outputParameters: - type: object mapping: $. - type: mcp namespace: trainingapi-imageapi-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure TrainingApi — ImageApi. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-add-provided-images description: Microsoft Azure Add The Provided Images To The Set Of Training Images hints: readOnly: false destructive: false idempotent: false call: trainingapi-imageapi.microsoftazurecreateimagesfromdata with: projectId: tools.projectId tagIds: tools.tagIds imageData: tools.imageData outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-images-set description: Microsoft Azure Delete Images From The Set Of Training Images hints: readOnly: false destructive: true idempotent: true call: trainingapi-imageapi.microsoftazuredeleteimages with: projectId: tools.projectId imageIds: tools.imageIds outputParameters: - type: object mapping: $. - name: microsoft-azure-add-provided-batch description: Microsoft Azure Add The Provided Batch Of Images To The Set Of Training Images hints: readOnly: false destructive: false idempotent: false call: trainingapi-imageapi.microsoftazurecreateimagesfromfiles with: projectId: tools.projectId batch: tools.batch outputParameters: - type: object mapping: $. - name: microsoft-azure-get-images-id description: Microsoft Azure Get Images By Id For A Given Project Iteration hints: readOnly: true destructive: false idempotent: true call: trainingapi-imageapi.microsoftazuregetimagesbyids with: projectId: tools.projectId imageIds: tools.imageIds iterationId: tools.iterationId outputParameters: - type: object mapping: $. - name: microsoft-azure-add-specified-predicted description: Microsoft Azure Add The Specified Predicted Images To The Set Of Training Images hints: readOnly: false destructive: false idempotent: false call: trainingapi-imageapi.microsoftazurecreateimagesfrompredictions with: projectId: tools.projectId batch: tools.batch outputParameters: - type: object mapping: $. - name: microsoft-azure-create-set-image description: Microsoft Azure Create A Set Of Image Regions hints: readOnly: false destructive: false idempotent: false call: trainingapi-imageapi.microsoftazurecreateimageregions with: projectId: tools.projectId batch: tools.batch outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-set-image description: Microsoft Azure Delete A Set Of Image Regions hints: readOnly: false destructive: true idempotent: true call: trainingapi-imageapi.microsoftazuredeleteimageregions with: projectId: tools.projectId regionIds: tools.regionIds outputParameters: - type: object mapping: $. - name: microsoft-azure-get-tagged-images description: Microsoft Azure Get Tagged Images For A Given Project Iteration hints: readOnly: true destructive: false idempotent: true call: trainingapi-imageapi.microsoftazuregettaggedimages with: projectId: tools.projectId iterationId: tools.iterationId tagIds: tools.tagIds orderBy: tools.orderBy take: tools.take skip: tools.skip outputParameters: - type: object mapping: $. - name: microsoft-azure-gets-number-images description: Microsoft Azure Gets The Number Of Images Tagged With The Provided {tagids} hints: readOnly: true destructive: false idempotent: true call: trainingapi-imageapi.microsoftazuregettaggedimagecount with: projectId: tools.projectId iterationId: tools.iterationId tagIds: tools.tagIds outputParameters: - type: object mapping: $. - name: microsoft-azure-associate-set-images description: Microsoft Azure Associate A Set Of Images With A Set Of Tags hints: readOnly: false destructive: false idempotent: false call: trainingapi-imageapi.microsoftazurecreateimagetags with: projectId: tools.projectId batch: tools.batch outputParameters: - type: object mapping: $. - name: microsoft-azure-remove-set-tags description: Microsoft Azure Remove A Set Of Tags From A Set Of Images hints: readOnly: false destructive: true idempotent: true call: trainingapi-imageapi.microsoftazuredeleteimagetags with: projectId: tools.projectId imageIds: tools.imageIds tagIds: tools.tagIds outputParameters: - type: object mapping: $. - name: microsoft-azure-get-untagged-images description: Microsoft Azure Get Untagged Images For A Given Project Iteration hints: readOnly: true destructive: false idempotent: true call: trainingapi-imageapi.microsoftazuregetuntaggedimages with: projectId: tools.projectId iterationId: tools.iterationId orderBy: tools.orderBy take: tools.take skip: tools.skip outputParameters: - type: object mapping: $. - name: microsoft-azure-gets-number-untagged description: Microsoft Azure Gets The Number Of Untagged Images hints: readOnly: true destructive: false idempotent: true call: trainingapi-imageapi.microsoftazuregetuntaggedimagecount with: projectId: tools.projectId iterationId: tools.iterationId outputParameters: - type: object mapping: $. - name: microsoft-azure-add-provided-images-2 description: Microsoft Azure Add The Provided Images Urls To The Set Of Training Images hints: readOnly: false destructive: false idempotent: false call: trainingapi-imageapi.microsoftazurecreateimagesfromurls with: projectId: tools.projectId batch: tools.batch outputParameters: - type: object mapping: $.