# Retrieve resource-wise shortfall breakdown for license limits Returns a per-resource shortfall breakdown when license limits are exceeded. Typically called after [Get License Meta](https://www.manageengine.com/products/desktop-central/help/api/cloud/get-license-meta.html) reports a limit reached. Super-admin access required; non-super-admins receive HTTP 401. ## Endpoint `GET /dcapi/license/shortfall` ## Request ### Request URL https://[{serverurl}](https://www.manageengine.com/products/desktop-central/help/api/cloud/oauth-authentication-endpoint-domain.html)/dcapi/license/shortfall ### Scope `DesktopCentralCloud.Admin.READ` ### Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers - **Accept** `string` — **Mandatory** - `application/licenseShortfallStatus.v1+json` ### Sample Request ```curl curl --request GET \ --url https://appdomains/dcapi/license/shortfall \ --header 'Accept: application/licenseShortfallStatus.v1+json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP 200 **Response Body:** `application/json` - `countDetails` `JSON Array` - Array of per-resource shortfall entries with type, purchased, managed, and shortfall counts. Present only when shortfall exists. - `product` `JSON Object` - Product migration context showing the edition transition (from/to) and product details. - `isDowngrade` `boolean` - True when the license edition has been downgraded (e.g. UEM to Enterprise, Enterprise to Professional). Present only when a downgrade has occurred. - `licenseUpgradeStatus` `boolean` - True when no shortfall blocks the upgrade/migration flow; false when shortfall exists and must be resolved first. #### Sample Response: Shortfall with endpoint/server/user count details ```json { "product": { "from": { "productDisplayName": "Endpoint Central Cloud", "edition": "Enterprise", "productName": "DCODEE" }, "to": { "productDisplayName": "Endpoint Central Cloud", "edition": "Free", "productName": "DCODEE" }, "type": "INTERNAL" }, "countDetails": [ { "shortfall": 20, "purchased": 100, "managed": 120, "type": "endpoints" }, { "shortfall": 5, "purchased": 10, "managed": 15, "type": "servers" }, { "shortfall": 2, "purchased": 5, "managed": 7, "type": "users" } ], "isDowngrade": true, "licenseUpgradeStatus": false } ``` #### Sample Response: No shortfall ```json { "product": { "from": { "productDisplayName": "Endpoint Central Cloud", "edition": "Enterprise", "productName": "DCODEE" }, "to": { "productDisplayName": "Endpoint Central Cloud", "edition": "Enterprise", "productName": "DCODEE" }, "type": "INTERNAL" }, "licenseUpgradeStatus": true } ``` ### HTTP 401 **Response Body:** `application/json` - `responseStatus` `string` - Message describing why access was denied. Returned when the caller is not a super admin. - `errorCode` `string` - Stable error code for the client to switch on. Only super admins can access shortfall data. #### Sample Response: Caller is not a super admin ```json { "errorCode": "BUY_LICENSE_SUPER_ADMIN", "responseStatus": "Please contact your Super Admin to buy your License." } ``` ### HTTP 500 **Response Body:** `application/json` - `error_code` `integer` - Error code. 1001 indicates an unexpected failure while fetching shortfall details. - `error_description` `string` - Human-readable error message describing the failure. #### Sample Response: Unexpected server error ```json { "error_description": "An internal error occurred while processing the request.", "error_code": 1001 } ``` ## Rate Limit ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 30 | **Lock period:** 5 minutes Duration - Time window for the threshold. Threshold - Number of API calls allowed within the specified duration. Lock Period - Wait time before consecutive API requests.