OpenAPI Specification
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: <model>...</model>
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