There is an introductory briefing on Entitlement API by Daniel.
For reading brevity, I will give simple statement what it brings to the table.
Entitlement API is a rest enabled API, allows you to check if the user is entitled to access your app i.e., user has bought the app from Autodesk App Store
We have examples on .NET, C++ and now on Lisp
.NET
Please check - https://github.com/MadhukarMoogala/Entitlement/blob/9ee757fefa9be4369a0503396b8dc1b774056182/ACAD_EntitilementApi/Plugin.cs#L36
C++
Please check
https://adndevblog.typepad.com/autocad/2020/07/using-entitlement-api-within-objectarx-c.html
Lisp
For lisp we will be using IXMLHTTPRequest which provides client-side protocol support for communication with HTTP servers.
The members of the API can be found here
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms760305(v=vs.85)
(defun c:IsEntitled (/ http response) (setq appId (getstring "Enter AppId ")) (setq userId (getvar "ONLINEUSERID")) (setq url (strcat "https://apps.autodesk.com/webservices/checkentitlement?userid=" userId "&appid=" appId ) ) ;https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms759148(v=vs.85) (if (setq http (vlax-create-object "MSXML2.XMLHTTP")) (progn (vlax-invoke-method http 'open "get" url :vlax-false) (if (not (vl-catch-all-error-p (vl-catch-all-apply 'vlax-invoke (list http 'send))) ) (setq response (vlax-get http 'responseText)) ) (vlax-release-object http) ) ) (cond ((> (vl-string-search "true" response) 0) (princ "\nTrue")) (t (princ "\nFalse")) ) (princ) );defun