Common Data Model
IRI: https://w3id.org/altium/cdm/
Common Data Model (longer description)
Bounded Contexts
collaboration
TBD
| Class | Description | Platform API |
|---|---|---|
| Comment | TBD | DesComment |
| Comment Thread | Comment Thread represents a structured discussion linked to a specific design object, document, or workspace item, capturing feedback, decisions, and context directly within the collaborative design environment. | DesCommentThread |
| Task | Task represents a discrete unit of work assigned to a user or team within the design workflow, used to track progress, responsibility, and completion status for design, review, or management activities. | DesTask |
configuration
TBD
| Class | Description | Platform API |
|---|---|---|
| Environment Configuration | TBD | |
| Schematic Template | TBD | |
| Schematic Template Revision | TBD |
customization
TBD
| Class | Description | Platform API |
|---|---|---|
| Script | TBD | GloScrScript |
| Script Execution | TBD | GloScrScriptExecution |
| Script Execution Completed | TBD | |
| Script Version | TBD | GloScrScriptVersion |
| Workflow | TBD | DesWorkflowDefinition |
design
Provides a comprehensive environment for schematic capture, PCB layout, and simulation. It enables engineers to create, analyze, and optimize electronic designs with seamless integration into the broader Altium ecosystem.
| Class | Description | Platform API |
|---|---|---|
| Harness Project | Harness Project defines the design of a cable and wiring harness as a standalone yet integrable artifact, capturing connectors, wires, splices, and pin-to-pin mappings required to implement electrical interconnects between boards and system elements. | DesProject |
| Manufacturing Package | A read-only package that contains a subset of Project Release artifacts that is typically shared with an external party for the purposes of manufacturing the board (e.g. Manufacturing Package may contain fabrication/assembly files required by the factories, but not the sources of the project) | |
| Multiboard Project | Multiboard Project represents the coordinated design of multiple interconnected PCB projects assembled into a single system, capturing both their logical interconnects and physical arrangements. | DesProject |
| Hardware Project | TBD | DesProject |
| Project Parameter | TBD | DesProjectParameter |
| Hardware Project Release | Project Release captures an immutable snapshot of a PCB design project at a specific point in its lifecycle, packaging all design data, outputs, and metadata required for manufacturing, assembly, and downstream processes. | DesRelease |
| Project Template | A project template includes document configurations and settings that you know you will frequently apply to various projects. | DesProjectTemplate |
| Project Template Revision | An immutable revision of a project template. | DesProjectTemplateRevision |
| Hardware Project Variant | TBD | DesWipVariant |
deviceModel
Provides a comprehensive representation of embedded hardware, including peripherals, pin multiplexing, and memory maps. This subset defines the constraints necessary to model valid hardware configurations and perform feasibility analysis—ensuring a device's physical resources can satisfy specific application use-cases.
| Class | Description | Platform API |
|---|---|---|
| AddressBlock | Address block with start, size, and optional registers and peripherals. | DmAddressBlock |
| AddressMap | Address map for the device including memory and peripheral regions. | DmAddressMap |
| AddressSegment | A contiguous region of the device's memory map. Each segment can represent either a memory or a peripheral region. | DmAddressSegment |
| ConfiguredDeviceModel | A digital twin of an embedded hardware device as configured for a specific use-case. It exposes the device model filtered to specific device configuration. | DmConfiguredDeviceModel |
| FieldEnum | An enumerated value for a register field. | DmFieldEnum |
| FullStackDeviceModel | A digital twin of an embedded hardware device. It exposes the full device model, including interfaces, peripherals, and ports. | DmFullStackDeviceModel |
| Memory | A memory entry within an address block. | DmMemory |
| Peripheral | A single peripheral definition, including its instances and properties. | DmPeripheral |
| PeripheralConfiguration | A concrete configuration for a peripheral role, containing pin multiplexing details. | DmPeripheralConfiguration |
| PeripheralInstance | A concrete instance of a peripheral (e.g., SCI0), including available modes. | DmPeripheralInstance |
| PeripheralMode | A specific mode that a peripheral instance can fulfill, | DmPeripheralMode |
| PeripheralParameter | A paramter associated with peripheral instance configuration. | DmPeripheralParameters |
| PeripheralPinConfig | A specific pin multiplexing configuration within peripheral configuration. | DmPeripheralPinConfig |
| PeripheralPinDependencyConfig | A pin dependency to port mapping entry within peripheral configuration. | DmPeripheralPinDependencyConfig |
| Pin | A physical pin on the device. | DmPin |
| Port | A physical port on the device, with its functions, configurations, and connections. | DmPort |
| PortConfiguration | A specific configuration for a port. | DmPortConfiguration |
| PortConfigurationDependency | A dependency describing how a configuration value maps to GPIO or alternate function usage. | DmPortConfigurationDependency |
| PortConfigurationEnumValue | An enumerated value for a port configuration. | DmPortConfigurationEnumValue |
| PortConnection | A connection from this port to another component or signal. | DmPortConnection |
| PortFunction | A specific function that a port can perform. | DmPortFunction |
| Processor | Represents a physical processing core. Defining endianness and clock frequency allows the system to determine if the hardware can meet the computational and data-ordering requirements of a use-case. | DmProcessor |
| Register | A hardware register within an address block. | DmRegister |
| RegisterField | A bit field within a register. | DmRegisterField |
insights
TBD
| Class | Description | Platform API |
|---|---|---|
| Part Insight | TBD | DesWorkspaceInsInsight |
library
Ensures centralized control, organization, and standardization of component data, including symbols, footprints, and parameters. It enables seamless collaboration, versioning, and accessibility of design assets across teams within Altium 365.
| Class | Description | Platform API |
|---|---|---|
| Component | Component represents a uniquely identifiable electronic part, defined by both its abstract design intent and its concrete realizations in manufacturing and supply. | |
| Component Parameter | TBD | DesComponentParameter |
| Component Template | Component Template defines a reusable blueprint for creating and managing electronic components with consistent parameters, metadata, and lifecycle policies. | |
| Component Template Revision | TBD | |
| Component Revision | Revision of a Component. | DesComponent |
| Datasheet | Datasheet represents a technical document associated with a Component or Part, providing authoritative specifications, electrical characteristics, and manufacturer information. | DesDatasheet |
| Footprint | Footprint represents the physical layout definition of a Component on a PCB, specifying pad geometry, land patterns, and mechanical clearances required for assembly and manufacturing. | |
| Footprint Revision | TBD | DesFootprint |
| Managed Sheet | TBD | |
| Managed Sheet Revision | TBD | |
| Part | TBD | DesPart |
| Part Choice | TBD | |
| Part Choice List | TBD | |
| Part Request | Part Request represents a formal demand from a designer to introduce a new Component or Part into the managed library, typically triggered when an item is not yet available in the workspace. | |
| PCB Snippet | TBD | |
| PCB Snippet Revision | TBD | |
| Reuse Block | TBD | DesReuseBlock |
| Reuse Block Revision | TBD | DesReuseBlockRevision |
| SCH Snippet | TBD | |
| SCH Snippet Revision | TBD | |
| Symbol | Symbol represents the logical schematic view of a Component, defining its electrical interface, pins, and attributes used to express circuit intent in design schematics. | |
| Symbol Revision | TBD | DesSymbol |
ota
Over the Air (OTA) related entities
| Class | Description | Platform API |
|---|---|---|
| Device | TBD | |
| Fleet | TBD | |
| Package | TBD |
platform
TBD
| Class | Description | Platform API |
|---|---|---|
| Application | TBD | GloApp |
| User Group | A way to group multiple users together (e.g. for the purposes of SCIM syncrhonization). User may be a member of multiple groups. | GloUserGroup |
| Lifecycle Definition | Defines the set of states that an entity can transition through in its lifecycle. This definition clarifies what stage a revision of an entity has reached in its 'life' and what it can be safely used for. Different entities can have different lifecycle definitions assigned to them. | DesLifeCycleDefinition |
| Lifecycle Stage | TBD | DesLifeCycleStage |
| Lifecycle State | TBD | DesLifeCycleState |
| Revision Naming Scheme | TBD | DesRevisionNamingScheme |
| Organization | TBD | GloOrganization |
| Solution | TBD | SolSolution |
| Solution Release | Release of the Solution. This is a formal immutable artifact, representing a specific state of the Solution at the time of release. | |
| Subscription | TBD | GloEvtSubscription |
| User | TBD | GloUser |
| Workspace | The top-level entity that plays a role of a closed environment for other entities (members, projects, components, etc.). | DesWorkspace |
| Workspace Group | Workspace Group represents a logical collection of users within a workspace, used to manage access control, permissions, and collaboration roles across projects and data assets. | DesWorkspaceGroup |
| Workspace User | TBD | DesWorkspaceUser |
procurement
Streamlines the transition from design to sourcing by providing structured BOM management, supplier integration, and real-time component availability and pricing. It ensures that purchasing decisions are optimized, traceable, and seamlessly connected to the design process within Altium 365.
| Class | Description | Platform API |
|---|---|---|
| BOM Issue | TBD | BomIssue |
| BOM Item | TBD | BomItem |
| BOM Item Alternate | Alternate is a global replacement of a part by another in all BOMs where it's used. | BomItemAlternate |
| BOM Item Substitute | Substitute is a replacement of a part by another within an individual BOM. | BomItemSubstitute |
| BOM Release | TBD | BomRelease |
| Consolidated BOM | Consolidated BOM represents the aggregated bill of materials across one or more Projects or variants, combining all required Parts into a single, unified view for procurement and manufacturing. | BomWip |
| Managed BOM | Managed BOM represents a version-controlled, workspace-stored bill of materials derived from a specific Project, preserving all Part selections, metadata, and supply chain links at a fixed point in time. | BomWip |
requirements
Captures behavioral, performance, compliance, and process expectations that govern solutions throughout conception, design, verification, and release lifecycle milestones.
| Class | Description | Platform API |
|---|---|---|
| Requirement Artifact | None | |
| Requirements Project | The orchestration space for capturing, evolving, and validating requirements scoped to a product, program increment, or regulatory engagement. | |
| Requirement | A single, testable statement of intent or constraint that governs a solution or process outcome. | |
| Requirement Baseline | A version-managed release of a specification or subset of requirements approved for execution. | |
| Requirement Change Request | Structured workflow item proposing additions, updates, or removals of requirements. | |
| Requirement Revision | An immutable snapshot of a requirement statement at a specific revision. | |
| Requirement Specification | A curated collection of requirements scoped to a program, domain, or release horizon. | |
| Verification Case | A planned verification procedure or test that produces objective evidence against requirements. |
software
TBD
| Class | Description | Platform API |
|---|---|---|
| AI Model | AI model artifact in context of a workspace | |
| Build Artifact | TBD | |
| Device Configuration | TBD | SftDevCfgDeviceConfiguration |
| Device Configuration Revision | TBD | SftDevCfgDeviceConfigurationRevision |
| Device pin assgnment | TBD | |
| Device pin assgnment | TBD | |
| Software Project | TBD | SftSoftwareProject |
| Software Release | TBD |
supply
Focuses on providing reliable access to component sourcing, availability, pricing, and lifecycle data, integrating resources like Octopart to support informed procurement decisions. It enables engineers and procurement teams to seamlessly connect design choices with real-world supply chain constraints within the Altium ecosystem.
| Class | Description | Platform API |
|---|---|---|
| Company | Supply Company represents an organization that provides Parts to the market, acting as a supplier, distributor, or reseller within the electronics supply chain. | |
| Evaluation Kit | TBD | SupEvalKit |
| Offer | Supply Offer represents a specific commercial listing of a Part from a supplier, detailing price breaks, stock availability, lead times, and ordering conditions at a given point in time. | SupOffer |
| Part | Supply Part represents a market-available instance of a manufactured Part, providing aggregated sourcing data such as pricing, stock levels, and supplier offers. | SupPart |
| Part Family | TBD | SupPartFamily |
| Part Group | TBD | SupPartGroup |
| Reference Design | TBD | SupReferenceDesign |
| Software Project | TBD | SupSoftwareProject |
| Solution Template | TBD | SupSolutionTemplate |
system
Facilitates high-level design planning by defining system architecture, functional relationships, and design constraints. It helps engineers structure complex projects by integrating requirements management with schematic and PCB design workflows within Altium 365.
| Class | Description | Platform API |
|---|---|---|
| Connection | TBD | |
| Endpoint | TBD | |
| ESD Document | TBD | SysEsdDocument |
| Functional Block | Represents a logical block within a PCB design (e.g., MCU subsystem, LED driver block), including parameters, key components, ports, and associations. | |
| Hardware Project | TBD | |
| Key Component | TBD | |
| Parameter | Name–value parameter associated with functional blocks, ports, or other system design resources. | |
| Port | TBD | |
| Port Association | TBD | |
| Software Component | Functional in nature, abstracted from but connected to logical implementation. | |
| Software Project | TBD |
system-sdm
TBD
| Class | Description | Platform API |
|---|---|---|
| Domain Metadata | Captures metadata specific to a particular client (e.g., ESD, AD, E2Studio). | |
| Connection | Represents a connection between functional blocks. | SysSdmConnection |
| Device Model | Represents a device model within the system design. | SysSdmDeviceModel |
| Endpoint | Represents an endpoint of a connection. | SysSdmEndpoint |
| Functional Block | Represents a logical block within a system functional model. | SysSdmFunctionalBlock |
| Functional Model | Captures the functional aspects of the system design, focusing on the behavior and interactions of functional blocks. | SysSdmFunctionalModel |
| Hardware Component | Represents a hardware component / part. | SysSdmHardwareComponent |
| Hardware Model | Captures the hardware components and their interactions within the system design. | SysSdmHardwareModel |
| Port | Represents a port within a system design. | SysSdmPort |
| Software Component | Represents a software component instance and its dependencies. | SysSdmSoftwareComponent |
| Software Model | Captures the software components and their interactions within the system design. | SysSdmSoftwareModel |
| Software Specification | The "blueprint" for a software component. Captures the identity and classification of the software independently of any specific instance. | SysSdmSoftwareSpecification |
| Software Stack Instance | Represents a software stack instance and its dependencies. | SysSdmSoftwareStackInstance |
| System Model | A high-level system model that captures the overall system architecture, crossing boundary between functional and logical domains (e.g., hardware and software). | SysSdmSystemModel |
| System Model Version | A specific version of a system model, capturing the state of the system design at a particular point in time. | SysSdmSystemModelVersion |
GRIDs
| BC | Class | GRID |
|---|---|---|
| collaboration | Comment Thread | grid:workspace:{workspace-id}:collaboration:comment-thread/{id} |
| collaboration | Task | grid:workspace:{workspace-id}:collaboration:task/{id} |
| configuration | Environment Configuration | None |
| configuration | Schematic Template | None |
| configuration | Schematic Template Revision | None |
| customization | Script | grid:workspace:{workspace-id}:scripts:script/{id} |
| customization | Script Execution | grid:workspace:{workspace-id}:scripts:script-execution/{id} |
| customization | Script Version | grid:workspace:{workspace-id}:scripts:script-version/{id} |
| customization | Workflow | grid:workspace:{workspace-id}:customization:workflow/{id} |
| design | Manufacturing Package | grid:workspace:{workspace-id}:design:manufacturing-package/{id} |
| design | Hardware Project | grid:workspace:{workspace-id}:design:project/{id} |
| design | Hardware Project Release | grid:workspace:{workspace-id}:design:project-release/{id} |
| design | Project Template | grid:workspace:{workspace-id}:design:project-template/{id} |
| design | Project Template Revision | grid:workspace:{workspace-id}:design:project-template-revision/{id} |
| deviceModel | FullStackDeviceModel | grid:global::device-model:fullstack-dm/{id} |
| insights | Part Insight | grid:workspace:{workspace-id}:insights:insight/{id} |
| library | Component | grid:workspace:{workspace-id}:library:component/{id} |
| library | Component Template | grid:workspace:{workspace-id}:library:component-template/{id} |
| library | Component Template Revision | grid:workspace:{workspace-id}:library:component-template-revision/{id} |
| library | Component Revision | grid:workspace:{workspace-id}:library:component-revision/{id} |
| library | Datasheet | grid:workspace:{workspace-id}:library:datasheet/{id} |
| library | Footprint | grid:workspace:{workspace-id}:library:footprint/{id} |
| library | Footprint Revision | grid:workspace:{workspace-id}:library:footprint-revision/{id} |
| library | Managed Sheet | grid:workspace:{workspace-id}:library:managed-sheet/{id} |
| library | Managed Sheet Revision | grid:workspace:{workspace-id}:library:managed-sheet-revision/{id} |
| library | Part | grid:workspace:{workspace-id}:library:part/{id} |
| library | Part Request | grid:workspace:{workspace-id}:library:part-request/{id} |
| library | Reuse Block | grid:workspace:{workspace-id}:library:reuse-block/{id} |
| library | Reuse Block Revision | grid:workspace:{workspace-id}:library:reuse-block-revision/{id} |
| library | Symbol | grid:workspace:{workspace-id}:library:symbol/{id} |
| library | Symbol Revision | grid:workspace:{workspace-id}:library:symbol-revision/{id} |
| ota | Device | grid:workspace:{workspace-id}:ota:device/{id} |
| ota | Fleet | grid:workspace:{workspace-id}:ota:fleet/{id} |
| ota | Package | grid:workspace:{workspace-id}:ota:package/{id} |
| platform | Application | grid:global::platform:application/{id} |
| platform | User Group | grid:global::platform:group/{id} |
| platform | Lifecycle Definition | grid:workspace:{workspace-id}:platform:lifecycle-definition/{id} |
| platform | Revision Naming Scheme | grid:workspace:{workspace-id}:platform:revision-naming-scheme/{id} |
| platform | Organization | grid:global::platform:organization/{id} |
| platform | Solution | grid:workspace:{workspace-id}:platform:solution/{id} |
| platform | Solution Release | grid:workspace:{workspace-id}:platform:solution-release/{id} |
| platform | Subscription | grid:global::events:subscription/{id} |
| platform | User | grid:global::platform:user/{id} |
| platform | Workspace | grid:global::platform:workspace/{id} |
| platform | Workspace Group | grid:workspace:{workspace-id}:team:group/{id} |
| platform | Workspace User | grid:workspace:{workspace-id}:team:user/{id} |
| procurement | BOM Release | grid:workspace:{workspace-id}:procurement:bom-release/{id} |
| procurement | Consolidated BOM | grid:workspace:{workspace-id}:procurement:bom/{id} |
| procurement | Managed BOM | grid:workspace:{workspace-id}:procurement:bom/{id} |
| requirements | Requirements Project | grid:workspace:{workspace-id}:requirements:project/{id} |
| requirements | Requirement | grid:workspace:{workspace-id}:requirements:requirement/{id} |
| requirements | Requirement Baseline | grid:workspace:{workspace-id}:requirements:baseline/{id} |
| requirements | Requirement Change Request | grid:workspace:{workspace-id}:requirements:change-request/{id} |
| requirements | Requirement Revision | grid:workspace:{workspace-id}:requirements:requirement-revision/{id} |
| requirements | Requirement Specification | grid:workspace:{workspace-id}:requirements:specification/{id} |
| requirements | Verification Case | grid:workspace:{workspace-id}:requirements:verification-case/{id} |
| software | AI Model | grid:workspace:{workspace-id}:software:ai-model/{id} |
| software | Device Configuration | grid:workspace:{workspace-id}:software:device-configuration/{id} |
| software | Device Configuration Revision | grid:workspace:{workspace-id}:software:device-configuration-revision/{id} |
| software | Software Project | grid:workspace:{workspace-id}:software:software-project/{id} |
| software | Software Release | grid:workspace:{workspace-id}:software:software-release/{id} |
| supply | Company | grid:supply::platform:company/{id} |
| supply | Evaluation Kit | grid:supply::platform:eval-kit/{id} |
| supply | Offer | grid:supply::platform:part/{id}/offer/{offerID} |
| supply | Part | grid:supply::platform:part/{id} |
| supply | Part Family | grid:supply::platform:part-family/{id} |
| supply | Part Group | grid:supply::platform:part-group/{id} |
| supply | Reference Design | grid:supply::platform:ref-design/{id} |
| supply | Software Project | grid:supply::platform:software-project/{id} |
| supply | Solution Template | grid:supply::platform:solution-template/{id} |
| system | ESD Document | grid:workspace:{workspace-id}:system-design:esd/{id} |
| system-sdm | System Model | grid:workspace:{workspace-id}:system-design:sdm/{id} |
| system-sdm | System Model Version | grid:workspace:{workspace-id}:system-design:sdm-version/{id} |