naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Form Recognizer Client — Custom description: 'Microsoft Azure Form Recognizer Client — Custom. 8 operations. Lead operation: Microsoft Azure Train Custom Model. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Custom 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: form-recognizer-client-custom baseUri: '' description: Microsoft Azure Form Recognizer Client — Custom business capability. Self-contained, no shared references. resources: - name: custom-models path: /custom/models operations: - name: microsoftazuretraincustommodelasync method: POST description: Microsoft Azure Train Custom Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: trainRequest in: body type: string description: Training request parameters. required: true - name: custom-models-copyAuthorization path: /custom/models/copyAuthorization operations: - name: microsoftazuregeneratemodelcopyauthorization method: POST description: Microsoft Azure Generate Copy Authorization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: custom-models-modelId path: /custom/models/{modelId} operations: - name: microsoftazuregetcustommodel method: GET description: Microsoft Azure Get Custom Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier. required: true - name: includeKeys in: query type: boolean description: Include list of extracted keys in model information. - name: microsoftazuredeletecustommodel method: DELETE description: Microsoft Azure Delete Custom Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier. required: true - name: custom-models-modelId-analyze path: /custom/models/{modelId}/analyze operations: - name: microsoftazureanalyzewithcustommodel method: POST description: Microsoft Azure Analyze Form outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier. required: true - name: includeTextDetails in: query type: boolean description: Include text lines and element references in the result. - name: custom-models-modelId-analyzeResults-resultId path: /custom/models/{modelId}/analyzeResults/{resultId} operations: - name: microsoftazuregetanalyzeformresult method: GET description: Microsoft Azure Get Analyze Form Result outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier. required: true - name: resultId in: path type: string description: Analyze operation result identifier. required: true - name: custom-models-modelId-copy path: /custom/models/{modelId}/copy operations: - name: microsoftazurecopycustommodel method: POST description: Microsoft Azure Copy Custom Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier. required: true - name: copyRequest in: body type: string description: Copy request parameters. required: true - name: custom-models-modelId-copyResults-resultId path: /custom/models/{modelId}/copyResults/{resultId} operations: - name: microsoftazuregetcustommodelcopyresult method: GET description: Microsoft Azure Get Custom Model Copy Result outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier. required: true - name: resultId in: path type: string description: Copy operation result identifier. required: true exposes: - type: rest namespace: form-recognizer-client-custom-rest port: 8080 description: REST adapter for Microsoft Azure Form Recognizer Client — Custom. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/custom/models name: custom-models description: REST surface for custom-models. operations: - method: POST name: microsoftazuretraincustommodelasync description: Microsoft Azure Train Custom Model call: form-recognizer-client-custom.microsoftazuretraincustommodelasync with: trainRequest: rest.trainRequest outputParameters: - type: object mapping: $. - path: /v1/custom/models/copyauthorization name: custom-models-copyauthorization description: REST surface for custom-models-copyAuthorization. operations: - method: POST name: microsoftazuregeneratemodelcopyauthorization description: Microsoft Azure Generate Copy Authorization call: form-recognizer-client-custom.microsoftazuregeneratemodelcopyauthorization outputParameters: - type: object mapping: $. - path: /v1/custom/models/{modelid} name: custom-models-modelid description: REST surface for custom-models-modelId. operations: - method: GET name: microsoftazuregetcustommodel description: Microsoft Azure Get Custom Model call: form-recognizer-client-custom.microsoftazuregetcustommodel with: modelId: rest.modelId includeKeys: rest.includeKeys outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuredeletecustommodel description: Microsoft Azure Delete Custom Model call: form-recognizer-client-custom.microsoftazuredeletecustommodel with: modelId: rest.modelId outputParameters: - type: object mapping: $. - path: /v1/custom/models/{modelid}/analyze name: custom-models-modelid-analyze description: REST surface for custom-models-modelId-analyze. operations: - method: POST name: microsoftazureanalyzewithcustommodel description: Microsoft Azure Analyze Form call: form-recognizer-client-custom.microsoftazureanalyzewithcustommodel with: modelId: rest.modelId includeTextDetails: rest.includeTextDetails outputParameters: - type: object mapping: $. - path: /v1/custom/models/{modelid}/analyzeresults/{resultid} name: custom-models-modelid-analyzeresults-resultid description: REST surface for custom-models-modelId-analyzeResults-resultId. operations: - method: GET name: microsoftazuregetanalyzeformresult description: Microsoft Azure Get Analyze Form Result call: form-recognizer-client-custom.microsoftazuregetanalyzeformresult with: modelId: rest.modelId resultId: rest.resultId outputParameters: - type: object mapping: $. - path: /v1/custom/models/{modelid}/copy name: custom-models-modelid-copy description: REST surface for custom-models-modelId-copy. operations: - method: POST name: microsoftazurecopycustommodel description: Microsoft Azure Copy Custom Model call: form-recognizer-client-custom.microsoftazurecopycustommodel with: modelId: rest.modelId copyRequest: rest.copyRequest outputParameters: - type: object mapping: $. - path: /v1/custom/models/{modelid}/copyresults/{resultid} name: custom-models-modelid-copyresults-resultid description: REST surface for custom-models-modelId-copyResults-resultId. operations: - method: GET name: microsoftazuregetcustommodelcopyresult description: Microsoft Azure Get Custom Model Copy Result call: form-recognizer-client-custom.microsoftazuregetcustommodelcopyresult with: modelId: rest.modelId resultId: rest.resultId outputParameters: - type: object mapping: $. - type: mcp namespace: form-recognizer-client-custom-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Form Recognizer Client — Custom. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-train-custom-model description: Microsoft Azure Train Custom Model hints: readOnly: false destructive: false idempotent: false call: form-recognizer-client-custom.microsoftazuretraincustommodelasync with: trainRequest: tools.trainRequest outputParameters: - type: object mapping: $. - name: microsoft-azure-generate-copy-authorization description: Microsoft Azure Generate Copy Authorization hints: readOnly: false destructive: false idempotent: false call: form-recognizer-client-custom.microsoftazuregeneratemodelcopyauthorization outputParameters: - type: object mapping: $. - name: microsoft-azure-get-custom-model description: Microsoft Azure Get Custom Model hints: readOnly: true destructive: false idempotent: true call: form-recognizer-client-custom.microsoftazuregetcustommodel with: modelId: tools.modelId includeKeys: tools.includeKeys outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-custom-model description: Microsoft Azure Delete Custom Model hints: readOnly: false destructive: true idempotent: true call: form-recognizer-client-custom.microsoftazuredeletecustommodel with: modelId: tools.modelId outputParameters: - type: object mapping: $. - name: microsoft-azure-analyze-form description: Microsoft Azure Analyze Form hints: readOnly: false destructive: false idempotent: false call: form-recognizer-client-custom.microsoftazureanalyzewithcustommodel with: modelId: tools.modelId includeTextDetails: tools.includeTextDetails outputParameters: - type: object mapping: $. - name: microsoft-azure-get-analyze-form description: Microsoft Azure Get Analyze Form Result hints: readOnly: true destructive: false idempotent: true call: form-recognizer-client-custom.microsoftazuregetanalyzeformresult with: modelId: tools.modelId resultId: tools.resultId outputParameters: - type: object mapping: $. - name: microsoft-azure-copy-custom-model description: Microsoft Azure Copy Custom Model hints: readOnly: false destructive: false idempotent: false call: form-recognizer-client-custom.microsoftazurecopycustommodel with: modelId: tools.modelId copyRequest: tools.copyRequest outputParameters: - type: object mapping: $. - name: microsoft-azure-get-custom-model-2 description: Microsoft Azure Get Custom Model Copy Result hints: readOnly: true destructive: false idempotent: true call: form-recognizer-client-custom.microsoftazuregetcustommodelcopyresult with: modelId: tools.modelId resultId: tools.resultId outputParameters: - type: object mapping: $.