Bounded contexts and the CDM
A bounded context is a business area with its own entities and vocabulary — design, library management, procurement and so on. The Altium 365 API, this reference and the Common Data Model (CDM) are organised by the same bounded contexts, so a concept you find in the CDM leads you straight to the API types and operations for it.
The bounded contexts
| Bounded context | Covers | Start here |
|---|---|---|
| Platform | Workspaces, users, organizations, apps and tokens, folders, events, notifications, solutions, knowledge graph | Overview |
| Design | Hardware projects, design data, rule checks, comparisons, releases | Overview |
| Insights | Workspace insights about parts and designs | Overview |
| Library Management | Components, component templates, parts, symbols, footprints, datasheets, reuse blocks, library search | Overview |
| Collaboration | Comments, comment threads, annotations, tasks | Overview |
| Configuration Management | Environment configuration; project, settings and sheet templates (component templates are library entities) | Overview |
| Procurement | Managed BOMs and BOM releases | Overview |
| Supply | Parts, offers, part families, reference designs, evaluation kits, solution templates | Overview |
| Customization | Extension points, scripts, workflows | Overview |
| System Design | System design documents, system models, software libraries | Overview |
| Requirements | Requirements projects and data | Overview |
| Renesas (preview) | Renesas-specific device models, software projects and tools | Overview |
| Common | Shared scalars, paging, errors, filtering and sorting types, directives | Overview |
Each context's overview page links its concepts in the CDM, lists the API types that represent CDM entities, and names the entry-point queries that look entities up by identifier.
API types and CDM entities
A CDM entity (for example Hardware Project) is represented in the API by one or more GraphQL types
(for example DesProject). The type's reference page has a
Common Data Model section that lists the entity's IRI, which links to its definition in the CDM,
and its GRID pattern. The IRI (for example https://w3id.org/altium/cdm/design/Project) is the
entity's stable identifier in the CDM; the GRID is the global resource identifier format of its
instances, such as grid:workspace:{workspace-id}:design:project/{id}.
See Identifiers and lookups for how GRIDs are used in queries.
From a concept to a query
- Find the concept in the CDM and note its bounded context.
- Open that context's overview page here and find the API type in Entities.
- Pick an operation from Entry points (lookups by identifier) or the context's queries.
- Check the fields on the type page, then write the query:
query ProjectById($id: ID!) {
desProjectById(id: $id) {
id
name
workspaceUrl
updatedAt
}
}
Coding assistants can follow the same path through llms.txt: each context has an
llms.txt with its entities, entry points and operations, and a schema.graphql slice with only that
context's part of the schema.