Asset Versions | MuleSoft Documentation
# Asset Versions
Each asset in Exchange is versioned. You can manage which versions are visible by deprecating a version to hide it, and delete versions if needed. All versions of an asset always have the same type.
APIs also have a consumer-facing API version that appears in an asset’s detail screen. API providers define this version.
Exchange asset versions follow the Semantic Versioning model of major, minor, and patch releases. For example, if an asset is version 2.4.6, then its major version is 2.x.x, its minor version is 2.4.x, and its patch version is 2.4.6.
To select a minor version of an asset, use the menu next to the asset name at the top of the asset portal. To select a patch version of an asset, use the version list at the right.
RAML versions are automatically generated for all OAS assets published since January 12, 2019. OAS 2.0 versions are automatically generated for all RAML assets published since that date.
## Asset Limits
An asset’s version format must use semantic versioning. Asset fields have these length limits:
Field | Maximum Length | Minimum Length  
---|---|---  
`versionGroup`  
Combined `groupId`, `assetId`, and `version`  
Exchange prevents resource exhaustion attacks by limiting the number of asset versions that can be published.
The limit is 500 assets for root organizations with trial accounts, and 100,000 (one hundred thousand) assets for root organizations with all other account types.
The limit of dependencies for an asset is 100. For example, in Anypoint API Designer a RAML is limited to 100 RAML Fragment dependencies, and in Anypoint API Manager an API Group is limited to 100 REST API dependencies.
This asset count does not include deleted assets or assets generated by Exchange such as Mule 3 and Mule 4 connectors generated automatically from APIs.
When a root organization reaches 80% of its asset limit, Exchange shows a warning.
When a root organization reaches its asset limit, Exchange shows an error. Also, using the **Publish new asset** button on the home page or the **Add new version** button on the asset detail page shows an error explaining that the limit is reached and no more assets can be added.
Check the limit of your root organization with a curl command like this:
```
  curl -X GET \
   https://anypoint.mulesoft.com/exchange/api/v1/organizations/ROOT_ORGANIZATION_ID/limits \
   -H 'Authorization: bearer ANYPOINT_TOKEN'
```

Replace `ROOT_ORGANIZATION_ID` with your root organization ID, and replace `ANYPOINT_TOKEN` with the authorization token that has permissions for the root organization.
Get lists of assets with a curl command like this:
```
  curl -X POST \
   https://anypoint.mulesoft.com/graph/api/v1/graphql \
   -H 'content-type: application/json' \
   -H 'Authorization: bearer ANYPOINT_TOKEN' \
   -d '{"query":"{assets(query: { rootOrganizationId:\"ROOT_ORGANIZATION_ID\", limit: 20, offset: 10 }) {groupId assetId version}}"}'
```

Replace `ROOT_ORGANIZATION_ID` with your root organization ID, and replace `ANYPOINT_TOKEN` with the authorization token that has permissions for the root organization. Vary the `limit` and `offset` values as needed.
See Search Using the Graph API for more information about searching for assets.