DeactivateEntitlementDefinition

Deactivates an entitlement definition, preventing new grants.

Syntax

DeactivateEntitlementDefinition(entitlementDefinitionId)

Parameters

  • entitlementDefinitionId (string): The GUID of the entitlement definition to deactivate

Returns

  • boolean: true if deactivated successfully, false otherwise

Description

Sets an entitlement definition’s IsActive flag to false, preventing new entitlement instances from being granted to organizations. Existing entitlement instances are not affected - organizations that already have this entitlement will retain it.

Use this instead of DeleteEntitlementDefinition when you want to stop granting an entitlement but preserve the definition and existing grants.

Examples

# Deactivate an entitlement definition
var success = DeactivateEntitlementDefinition("9a862217-e2b6-4b31-a9c0-38de0d8f5e3b")

if success then
    Log("Information", "Entitlement definition is now inactive")
else
    Log("Error", "Failed to deactivate entitlement definition")
end
# Deactivate by name
var entDef = GetEntitlementDefinitionByName("Legacy Plan")

if entDef != null then
    if entDef.isActive then
        var deactivated = DeactivateEntitlementDefinition(entDef.id)
        if deactivated then
            Log("Information", "Deactivated entitlement: " + entDef.name)
        end
    else
        Log("Information", "Entitlement is already inactive")
    end
end
# Deactivate trial after promotion ends
var trialDef = GetEntitlementDefinitionByName("Summer Promotion Trial")

if trialDef != null and trialDef.isActive then
    DeactivateEntitlementDefinition(trialDef.id)
    Log("Information", "Summer promotion trial has ended")

    # Notify admins
    BroadcastNotification(
        "Promotion Ended",
        "The Summer Promotion Trial entitlement is no longer available for new grants.",
        "Info",
        null,
        true
    )
end
# Sunset a feature by deactivating its entitlement
var featureDef = GetEntitlementDefinitionByName("Deprecated Feature X")

if featureDef != null then
    # Deactivate to prevent new grants
    DeactivateEntitlementDefinition(featureDef.id)

    # Log which organizations still have it
    var allOrgs = GetAllOrganizations()
    foreach org in allOrgs do
        var instance = GetOrganizationEntitlementInstanceByName(org.id, "Deprecated Feature X")
        if instance != null then
            Log("Information", "Organization " + org.name + " still has deprecated feature")
        end
    end
end

See Also


Back to top

Copyright © Globetrotter. All rights reserved.