Get Elements At Revision
API Name
API Name: Revision – Get Elements at Revision
Overview
This API returns the state of given elements at a specific revision.
It provides a snapshot of elements as they existed at revisionId.
MBSE Core uses this API when:
Field-level diff is not provided by the Revision – Diff API.
Full element reconstruction is required.
Snapshot-based synchronization is implemented.
Connector responsibility:
This API is not mandatory if detailed property/tag diff is already provided in the Revision – Diff API.
If detailed diff is not provided, connector must implement this API.
Connector must return element state exactly as it existed at the specified revision.
API URI
Path Parameters
revisionId
True
String
ID of the revision at which element state must be retrieved.
URI Parameters
projectId
True
String
ID of the project.
elementIds
True
List
List of element IDs whose state is required.
branchId
False
String
ID of the branch. If omitted, default branch behavior of the end system should apply.
expand
False
List
Controls which additional information should be included in the response. Possible values: PROPERTIES, TAGS, FILES, RELATIONS.
tags
False
List
List of tag IDs to be included in the response. Applicable only if TAGS is included in expand.
properties
False
List
List of property IDs to be included in the response. Applicable only if PROPERTIES is included in expand.
Expand Parameter Behavior
The expand parameter determines which additional fields are included:
PROPERTIESInclude element properties.
If
propertiesparameter is provided, return only those properties.If not provided, return all properties.
TAGSInclude tagged values.
If
tagsparameter is provided, return only those tags.If not provided, return all tags.
FILESInclude files attached to the element.
RELATIONSInclude relations of the element.
If expand is omitted, only base element metadata must be returned.
Behavior Rules
Element state must reflect the exact state at
revisionId.Only elements specified in
elementIdsmust be returned.If an element does not exist at the specified revision, it must not be returned.
Filtering by
propertiesandtagsmust be respected when provided.If
expandis not specified, properties, tags, files, and relations must not be returned.Response must not include data beyond what is requested.
Response Payload
The API returns a list of element objects.
Sample Response
Element Object Structure
elementId
True
String
Unique identifier of the element.
name
False
String
Name of the element.
elementTypeId
True
String
ID of the element type.
qualifiedName
False
String
Fully qualified name of the element.
projectId
True
String
Project ID.
createdBy
False
String
User who created the element.
updatedBy
False
String
User who last updated the element.
createdDate
False
String (ISO-8601)
Creation timestamp.
updatedDate
False
String (ISO-8601)
Last modification timestamp.
parentElementId
False
String
Parent element ID.
properties
False
Map<String,Object>
Element properties (if expanded).
tags
False
Map<String,Object>
Tagged values (if expanded).
relations
False
List
Element relations (if expanded).
files
False
List
Files attached to element (if expanded).
Relation Object Structure
relationType
True
String
Type of relation (association, dependency, realization, etc.).
targetElementId
True
String
Target element ID.
targetElementTypeId
True
String
Target element type ID.
projectId
True
String
Project ID.
author
False
String
Creator of the relation.
createdDate
False
String
Relation creation timestamp (ISO-8601).
File Object Structure
fileId
True
String
Unique file identifier.
fileName
True
String
Name of the file.
filePath
False
String
Path of the file.
downloadUrl
False
String
URL to download the file.
label
False
String
File label.
contentType
False
String
MIME type.
contentLength
False
Long
File size in bytes.
author
False
String
User who uploaded the file.
fileType
False
String
Type/category of the file.
lastModifiedDate
False
String
Last modification timestamp (ISO-8601).
Example Use Case
Get Elements at Specific Revision with Properties and Tags
Implementation Guidelines
If detailed property/tag diff is already provided in Revision – Diff API, this API does not need to be implemented.
If diff is not provided, connector must:
Retrieve full element state at revision.
Return only requested elements.
Connector must ensure:
Revision-consistent state.
No mixing of data from other revisions.
Accurate filtering of properties and tags.
Design Rationale
This API enables snapshot-based synchronization when:
Field-level diff is unavailable.
File-based systems do not support granular diff.
Full element reconstruction is required.
This keeps the revision layer clean and separates:
Revision metadata retrieval
Element-level change detection
Element snapshot reconstruction
Last updated

