openapi: 3.0.3 info: title: ArchiMate Model Exchange Elements Models API description: The ArchiMate Model Exchange API provides capabilities for importing, exporting, and managing ArchiMate enterprise architecture models using the Open Group ArchiMate Model Exchange File Format (AMEFF). Enables interoperability between EA tools implementing the ArchiMate 3.x standard. version: '3.2' x-generated-from: documentation contact: name: The Open Group ArchiMate Forum url: https://www.opengroup.org/archimate-forum email: archimate-forum@opengroup.org license: name: Open Group License url: https://www.opengroup.org/archimate-forum/archimate-standard servers: - url: https://api.archimate-tools.com/v1 description: ArchiMate API Server security: - bearerAuth: [] tags: - name: Models description: ArchiMate model management paths: /models: get: operationId: listModels summary: ArchiMate List Models description: List all ArchiMate models in the repository. tags: - Models parameters: - name: limit in: query description: Maximum number of models to return schema: type: integer default: 20 example: 20 - name: offset in: query description: Pagination offset schema: type: integer default: 0 example: 0 responses: '200': description: List of ArchiMate models content: application/json: schema: $ref: '#/components/schemas/ModelList' examples: ListModels200Example: summary: Default listModels 200 response x-microcks-default: true value: models: - id: model-001 name: Enterprise Architecture Baseline version: '2025.1' language: ArchiMate 3.2 totalCount: 5 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - bearerAuth: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: importModel summary: ArchiMate Import Model description: Import an ArchiMate model from AMEFF XML format. tags: - Models requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/ModelImportRequest' application/json: schema: $ref: '#/components/schemas/ModelImportRequest' responses: '201': description: Model imported successfully content: application/json: schema: $ref: '#/components/schemas/Model' '400': description: Invalid model format content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - bearerAuth: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /models/{modelId}: get: operationId: getModel summary: ArchiMate Get Model description: Retrieve a specific ArchiMate model with all its elements and relationships. tags: - Models parameters: - name: modelId in: path required: true description: Model identifier schema: type: string example: model-001 - name: format in: query description: Output format (json or xml for AMEFF) schema: type: string enum: - json - xml example: json responses: '200': description: ArchiMate model content: application/json: schema: $ref: '#/components/schemas/ModelDetail' examples: GetModel200Example: summary: Default getModel 200 response x-microcks-default: true value: id: model-001 name: Enterprise Architecture Baseline version: '2025.1' language: ArchiMate 3.2 elementCount: 85 relationshipCount: 120 viewCount: 12 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Model not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - bearerAuth: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteModel summary: ArchiMate Delete Model description: Delete an ArchiMate model from the repository. tags: - Models parameters: - name: modelId in: path required: true description: Model identifier schema: type: string example: model-001 responses: '204': description: Model deleted '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Model not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - bearerAuth: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: ModelDetail: type: object properties: id: type: string description: Unique model identifier example: model-001 name: type: string description: Model name example: Enterprise Architecture Baseline version: type: string description: Model version example: '2025.1' language: type: string description: ArchiMate language version example: ArchiMate 3.2 elementCount: type: integer description: Number of elements in the model example: 85 relationshipCount: type: integer description: Number of relationships in the model example: 120 viewCount: type: integer description: Number of views in the model example: 12 ModelList: type: object properties: models: type: array items: $ref: '#/components/schemas/Model' totalCount: type: integer description: Total number of models example: 5 ModelImportRequest: type: object properties: name: type: string description: Model name example: Imported Architecture Model content: type: string description: AMEFF XML or JSON model content example: ... ErrorResponse: type: object properties: message: type: string description: Error message example: Unauthorized code: type: integer description: Error code example: 401 Model: type: object properties: id: type: string description: Unique model identifier example: model-001 name: type: string description: Model name example: Enterprise Architecture Baseline version: type: string description: Model version example: '2025.1' language: type: string description: ArchiMate language version example: ArchiMate 3.2 createdAt: type: string format: date-time description: Model creation timestamp example: '2026-01-15T10:00:00Z' modifiedAt: type: string format: date-time description: Last modification timestamp example: '2026-04-19T10:00:00Z' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: Bearer token for ArchiMate repository access