# System Design — Altium 365 API > Electronic system design documents, system models and software libraries. Concepts: [system](https://altiumdeveloper.github.io/cdm/subsets/system/), [system-sdm](https://altiumdeveloper.github.io/cdm/subsets/system-sdm/). Schema slice: [schema.graphql](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/schema.graphql) (~4679 tokens). Overview: [overview](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/overview.md). ## Entities - [SysEsdDocument](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-esd-document.md): ESD Document — A system-level block diagram document used in a Renesas 365 solution (listed there as a System Design project) to describe the architecture of the system at a functional level. GRID `grid:workspace:{workspace-id}:system-design:esd/{id}`. Via: sysEsdDocumentById, sysEsdDocumentsByIds, sysEsdDocuments, SolSolution.esdDocuments - [SysSdmConnection](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-connection.md): Connection — Represents a connection between functional blocks. Via: SysSdmFunctionalModel.connections - [SysSdmDeviceModel](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-device-model.md): Device Model — Represents a device model within the system design. Via: SysSdmSystemModelVersion.deviceModels - [SysSdmEndpoint](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-endpoint.md): Endpoint — Represents an endpoint of a connection. - [SysSdmFunctionalBlock](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-functional-block.md): Functional Block — Represents a logical block within a system functional model. Via: SysSdmFunctionalModel.functionalBlocks - [SysSdmFunctionalModel](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-functional-model.md): Functional Model — Captures the functional aspects of the system design, focusing on the behavior and interactions of functional blocks. Via: SysSdmSystemModelVersion.functionalModel - [SysSdmHardwareComponent](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-hardware-component.md): Hardware Component — Represents a hardware component / part. Via: SysSdmHardwareModel.hardwareComponents - [SysSdmHardwareModel](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-hardware-model.md): Hardware Model — Captures the hardware components and their interactions within the system design. Via: SysSdmSystemModelVersion.hardwareModels - [SysSdmPort](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-port.md): Port — Represents a port within a system design. Via: SysSdmFunctionalBlock.ports - [SysSdmSoftwareComponent](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-software-component.md): Software Component — Represents a software component instance and its dependencies. Via: SysSdmSoftwareModel.softwareComponents - [SysSdmSoftwareModel](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-software-model.md): Software Model — Captures the software components and their interactions within the system design. Via: SysSdmSystemModelVersion.softwareModels - [SysSdmSoftwareSpecification](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-software-specification.md): Software Specification — The "blueprint" for a software component. Via: SysSdmSoftwareStackInstance.specification - [SysSdmSoftwareStackInstance](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-software-stack-instance.md): Software Stack Instance — Represents a software stack instance and its dependencies. Via: SysSdmSoftwareModel.softwareStackInstances - [SysSdmSystemModel](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-system-model.md): 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). GRID `grid:workspace:{workspace-id}:system-design:sdm/{id}`. Via: sysSdmSystemModelById, sysSdmSystemModelsByIds, SolSolution.systemDataModel - [SysSdmSystemModelVersion](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types/objects/sys-sdm-system-model-version.md): System Model Version — A specific version of a system model, capturing the state of the system design at a particular point in time. GRID `grid:workspace:{workspace-id}:system-design:sdm-version/{id}`. Via: sysSdmSystemModelVersionById, SysSdmSystemModel.latestVersion, SysSdmSystemModel.versions ## Entry points - [sysEsdDocumentById](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-esd-document-by-id.md): Gets ESD Document by identifier. - [sysEsdDocumentsByIds](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-esd-documents-by-ids.md): Gets ESD Document by identifiers. - [sysLibSoftwareComponentById](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-lib-software-component-by-id.md): Retrieves a software component [EXPERIMENTAL] - [sysSdmSystemModelById](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-sdm-system-model-by-id.md): Retrieves a system model [EXPERIMENTAL] - [sysSdmSystemModelsByIds](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-sdm-system-models-by-ids.md): Retrieves a list of system models [EXPERIMENTAL] - [sysSdmSystemModelVersionById](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-sdm-system-model-version-by-id.md): Retrieves a system model version [EXPERIMENTAL] - [sysEsdDocuments](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-esd-documents.md) (list): Gets all available ESD Documents. ## Queries - [sysLibSoftwareComponents](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-lib-software-components.md): Retrieves all available software components [EXPERIMENTAL] - [sysLibSoftwareLibraryDownloads](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-lib-software-library-downloads.md): Resolves uploaded user libraries to presigned archive download urls [EXPERIMENTAL] - [sysSdmSchemaVersionRegistry](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/queries/sys-sdm-schema-version-registry.md): Retrieves all available schema versions [EXPERIMENTAL] ## Mutations - [sysEsdCreateDocument](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-esd-create-document.md): Creates new ESD Document. - [sysEsdDeleteDocument](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-esd-delete-document.md): Deletes ESD Document by identifier. - [sysEsdExportDocument](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-esd-export-document.md): Exports new ESD Document. - [sysEsdImportDocument](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-esd-import-document.md): Imports new ESD Document. - [sysEsdUpdateDocument](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-esd-update-document.md): Updates the ESD Document. - [sysLibDeleteSoftwareLibrary](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-lib-delete-software-library.md): Delete an uploaded user software library [EXPERIMENTAL] - [sysLibUploadSoftwareLibrary](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-lib-upload-software-library.md): Upload a user software library archive, or replace one by libraryId [EXPERIMENTAL] - [sysSdmCreateSystemModelVersion](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/operations/mutations/sys-sdm-create-system-model-version.md): Add new system model [EXPERIMENTAL] ## Optional - [All types in System Design](https://altiumdeveloper.github.io/platform-api-docs/reference/system-design/types.txt): one line per type (~2071 tokens)