naftiko: 1.0.0-alpha2 info: label: ArchiMate Model Exchange API — Models description: 'ArchiMate Model Exchange API — Models. 4 operations. Lead operation: ArchiMate List Models. Self-contained Naftiko capability covering one Archimate business surface.' tags: - Archimate - Models created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ARCHIMATE_API_KEY: ARCHIMATE_API_KEY capability: consumes: - type: http namespace: model-exchange-models baseUri: https://api.archimate-tools.com/v1 description: ArchiMate Model Exchange API — Models business capability. Self-contained, no shared references. resources: - name: models path: /models operations: - name: listmodels method: GET description: ArchiMate List Models outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Maximum number of models to return - name: offset in: query type: integer description: Pagination offset - name: importmodel method: POST description: ArchiMate Import Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: models-modelId path: /models/{modelId} operations: - name: getmodel method: GET description: ArchiMate Get Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier required: true - name: format in: query type: string description: Output format (json or xml for AMEFF) - name: deletemodel method: DELETE description: ArchiMate Delete Model outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: modelId in: path type: string description: Model identifier required: true authentication: type: bearer token: '{{env.ARCHIMATE_API_KEY}}' exposes: - type: rest namespace: model-exchange-models-rest port: 8080 description: REST adapter for ArchiMate Model Exchange API — Models. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/models name: models description: REST surface for models. operations: - method: GET name: listmodels description: ArchiMate List Models call: model-exchange-models.listmodels with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: importmodel description: ArchiMate Import Model call: model-exchange-models.importmodel with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/models/{modelid} name: models-modelid description: REST surface for models-modelId. operations: - method: GET name: getmodel description: ArchiMate Get Model call: model-exchange-models.getmodel with: modelId: rest.modelId format: rest.format outputParameters: - type: object mapping: $. - method: DELETE name: deletemodel description: ArchiMate Delete Model call: model-exchange-models.deletemodel with: modelId: rest.modelId outputParameters: - type: object mapping: $. - type: mcp namespace: model-exchange-models-mcp port: 9090 transport: http description: MCP adapter for ArchiMate Model Exchange API — Models. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: archimate-list-models description: ArchiMate List Models hints: readOnly: true destructive: false idempotent: true call: model-exchange-models.listmodels with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: archimate-import-model description: ArchiMate Import Model hints: readOnly: false destructive: false idempotent: false call: model-exchange-models.importmodel with: body: tools.body outputParameters: - type: object mapping: $. - name: archimate-get-model description: ArchiMate Get Model hints: readOnly: true destructive: false idempotent: true call: model-exchange-models.getmodel with: modelId: tools.modelId format: tools.format outputParameters: - type: object mapping: $. - name: archimate-delete-model description: ArchiMate Delete Model hints: readOnly: false destructive: true idempotent: true call: model-exchange-models.deletemodel with: modelId: tools.modelId outputParameters: - type: object mapping: $.