# Canonical data models with CIM and fragments

*MuleSoft Platform Integration Architect Study Guide · Designing and developing Mule applications · Last updated November 13, 2026 · https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect/designing-and-developing-mule-applications/canonical-data-models-with-cim-and-fragments*

Why a canonical model limits transformation between API layers, how the Cloud Information Model for MuleSoft Accelerators is organized and shipped as RAML libraries with JSON schemas, how canonical types are shared through Exchange fragments, and how CIM treats identifiers, discriminators, composition and extensions.

- Certification: Salesforce MuleSoft Platform Integration Architect
- Exam section: Designing and developing Mule applications
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect

**Official exam objective:**

> Design Mule applications and integration solutions using a Common/Canonical Data Model.

## What the exam expects

- Explain what a canonical data model buys an API-led design and what it does not remove.
- Use the CIM libraries' JSON schemas for Studio metadata types and message validation.
- Share canonical types across specifications as Exchange fragment dependencies, knowing which formats Exchange supports for that.
- Apply CIM identifier rules for Process and System APIs, and route polymorphic items by their discriminator.
- Recognize CIM's composition, naming and extension rules.

**Canonical data model:** one shared definition of business entities used across APIs. **CIM:** the Cloud Information Model for MuleSoft Accelerators, an application-agnostic model. **API spec fragment:** a reusable part of an API specification. **Discriminator:** a property whose value names an object's concrete type. **externalIds:** the CIM property holding identifiers from other systems ([CIM overview](https://docs.mulesoft.com/accelerators-cim/latest/), [Asset Types](https://docs.mulesoft.com/exchange/asset-types), [CIM usage](https://docs.mulesoft.com/accelerators-cim/latest/cim-usage-guide)).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Canonical model benefit | Limits transformation logic between Experience, Process and System layers | [CIM overview](https://docs.mulesoft.com/accelerators-cim/latest/) |
| CIM packaging | RAML library fragments: core per subject area plus vertical extensions | [CIM overview](https://docs.mulesoft.com/accelerators-cim/latest/) |
| CIM JSON schemas | Studio metadata types or message schema validation | [CIM overview](https://docs.mulesoft.com/accelerators-cim/latest/) |
| Subject areas | Finance, Fulfill, Market, Produce, Sell, Setup | [CIM Subject Areas](https://docs.mulesoft.com/accelerators-cim/latest/cim-subject-areas) |
| Exchange dependencies | RAML fragments fully supported; OAS 3.x components not | [Creating an Asset](https://docs.mulesoft.com/exchange/to-create-an-asset) |
| Process API id | Global identifier | [CIM usage](https://docs.mulesoft.com/accelerators-cim/latest/cim-usage-guide) |
| System API id | That system's identifier; global one in externalIds (GLOBAL or MDM) | [CIM usage](https://docs.mulesoft.com/accelerators-cim/latest/cim-usage-guide) |
| Discriminator values | Actual type names; list grows with child types | [CIM usage](https://docs.mulesoft.com/accelerators-cim/latest/cim-usage-guide) |
| Extension naming | Ext suffix on type and added properties; added properties optional | [CIM Design Elements](https://docs.mulesoft.com/accelerators-cim/latest/cim-design-elements) |

## Check yourself

- Why are CIM objects with a mandatory id property made nillable?
- Why does CIM limit type composition to a single library file?
- When a CIM property represents a decimal value, what does its name end with?
- Where in a CIM object definition do the audit properties usually appear?

## Sources

- [Cloud Information Model for MuleSoft Accelerators](https://docs.mulesoft.com/accelerators-cim/latest/)
- [CIM Usage Guidelines](https://docs.mulesoft.com/accelerators-cim/latest/cim-usage-guide)
- [CIM Design Elements](https://docs.mulesoft.com/accelerators-cim/latest/cim-design-elements)
- [CIM Subject Areas](https://docs.mulesoft.com/accelerators-cim/latest/cim-subject-areas)
- [Creating an Asset](https://docs.mulesoft.com/exchange/to-create-an-asset)
- [Asset Types](https://docs.mulesoft.com/exchange/asset-types)
- [Anypoint Exchange Overview](https://docs.mulesoft.com/exchange/)
- [Validating Documents Against a JSON Schema with the JSON Module](https://docs.mulesoft.com/json-module/latest/json-schema-validation)
- [Create a Metadata Class](https://docs.mulesoft.com/studio/create-metadata-class-task)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 4 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Platform Integration Architect pack (USD $19): https://www.certifyforce.com/practice-exams
