API Integration·

Introduction to Autodesk Entitlement API & Plugin Licensing

A high-level overview of the Entitlement API, its role in plugin licensing, and key concepts for managing licenses in AutoCAD.

Ahmed Elsayed
By Ahmed Elsayed
2 min readBeginner

Autodesk’s Entitlement API lets you control license checks, activation flows, and usage tracking directly within your AutoCAD plugin. In this post, we’ll cover what the Entitlement API is, why it’s critical for professional plugins, and the core licensing concepts you need to know before diving into code.

Diagram of Entitlement API flow

What is the Entitlement API?

The Entitlement API is a REST‑based service provided by Autodesk that allows your plugin to:

  1. Validate whether a user holds a valid license or subscription for your plugin.
  2. Activate or deactivate licenses on‑demand (e.g., for floating‑seat scenarios).
  3. Track usage metrics and reporting back to Autodesk.

By calling these endpoints from your C#/.NET code, you ensure only authorized users can load your plugin and access its features.

Why Use the Entitlement API in AutoCAD Plugins?

  • Security: Prevent unauthorized usage and piracy by enforcing server‑side checks.
  • Flexibility: Implement trial periods, floating licenses, and offline modes.
  • Analytics: Gather telemetry on license consumption, enabling data‑driven decisions.

Most out‑of‑the‑box licensing approaches are static or rely on simple key files. The Entitlement API gives you a dynamic, cloud‑managed way to govern access.

Core Licensing Concepts

Before coding, familiarize yourself with these terms:

  • Entitlement Record: A tenant’s grant of permission for a user or seat.
  • License Token: A time‑limited JWT you pass to your plugin for authorization.
  • Activation: The process of binding a token to a specific machine or user.
  • Floating Seat: A pool of licenses that users check out at runtime.
  • Trial License: A temporary, time‑bound entitlement for evaluation.
Plugin.cs
// Example: Initialize and validate entitlement at plugin startup
public void Initialize(IExtensionApplication app)
{
    var api = new EntitlementApiClient("https://api.autodesk.com/entitlement/v1");
    var token = File.ReadAllText("license.token");
    var result = api.ValidateTokenAsync(token).GetAwaiter().GetResult();
    if (!result.IsValid)
        throw new UnauthorizedAccessException("Invalid or expired license token.");
}
💡 Tip: Never commit your raw license tokens or client secrets to source control. Use secure vaults or environment variables.

Getting Started with C#/.NET

Step‑by‑step guide to integrate Entitlement API into your plugin.

Preparing Test Data

Craft realistic entitlement records and user profiles for testing.

Lisp & .NET Hybrid

Embed Entitlement calls in AutoLISP scripts.

ObjectARX & C++

Native C++ integration examples.

Official Entitlement API PDF

The official Autodesk Entitlement API reference for desktop applications.

For complete reference and deeper understanding, refer to the official Autodesk Entitlement API PDF documentation.

Next Steps

In Post #2 we’ll dive into a full code walkthrough—integrating and configuring the Entitlement API in a C#/.NET AutoCAD plugin. Stay tuned!

Install-Package Autodesk.EntitlementApi
linksrequired
Link[]

The description can be set as prop or in the default slot with full markdown support.

Field definitions for navigation and related resources.

Leave a Comment