> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stigg.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Grant Promotional Entitlements

Grants promotional entitlements to a customer, providing feature access outside their subscription.

## Mutation

<CodeGroup>
  ```graphql Mutation theme={null}
  mutation GrantPromotionalEntitlements($input: GrantPromotionalEntitlementsInput!) {
    grantPromotionalEntitlements(input: $input) {
      id
      status
      feature {
        refId
        displayName
      }
      hasUnlimitedUsage
      usageLimit
      endDate
    }
  }
  ```

  ```json Variables theme={null}
  {
    "input": {
      "customerId": "customer-123",
      "entitlements": [
        {
          "featureId": "feature-premium",
          "hasUnlimitedUsage": true
        },
        {
          "featureId": "feature-api-calls",
          "usageLimit": 5000,
          "hasSoftLimit": false
        }
      ],
      "endDate": "2024-12-31T23:59:59Z",
      "description": "Trial promotion"
    }
  }
  ```

  ```json Response theme={null}
  {
    "data": {
      "grantPromotionalEntitlements": [
        {
          "id": "promo-123",
          "status": "ACTIVE",
          "feature": {
            "refId": "feature-premium",
            "displayName": "Premium Features"
          },
          "hasUnlimitedUsage": true,
          "usageLimit": null,
          "endDate": "2024-12-31T23:59:59Z"
        },
        {
          "id": "promo-456",
          "status": "ACTIVE",
          "feature": {
            "refId": "feature-api-calls",
            "displayName": "API Calls"
          },
          "hasUnlimitedUsage": false,
          "usageLimit": 5000,
          "endDate": "2024-12-31T23:59:59Z"
        }
      ]
    }
  }
  ```
</CodeGroup>

## Parameters

<ParamField body="input" type="GrantPromotionalEntitlementsInput" required>
  Input for granting promotional entitlements

  <Expandable title="properties">
    <ParamField body="customerId" type="String" required>
      Customer reference ID
    </ParamField>

    <ParamField body="entitlements" type="[PromotionalEntitlementInput]" required>
      Entitlements to grant

      <Expandable title="nested properties">
        <ParamField body="featureId" type="String" required>
          Feature reference ID
        </ParamField>

        <ParamField body="hasUnlimitedUsage" type="Boolean">
          Grant unlimited usage
        </ParamField>

        <ParamField body="usageLimit" type="Float">
          Usage limit (for numeric features)
        </ParamField>

        <ParamField body="hasSoftLimit" type="Boolean">
          Soft vs hard limit
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="endDate" type="DateTime">
      When promotional access expires
    </ParamField>

    <ParamField body="description" type="String">
      Description/reason for grant
    </ParamField>

    <ParamField body="resourceId" type="String">
      Resource ID for multi-resource
    </ParamField>

    <ParamField body="environmentId" type="UUID">
      Environment ID
    </ParamField>
  </Expandable>
</ParamField>

## Return Type

Returns an array of `PromotionalEntitlement` objects.

## Common Use Cases

<AccordionGroup>
  <Accordion title="Trial extensions">
    Grant extra feature access during extended trials.
  </Accordion>

  <Accordion title="Promotional campaigns">
    Offer temporary access to premium features.
  </Accordion>

  <Accordion title="Customer support">
    Grant feature access while resolving issues.
  </Accordion>
</AccordionGroup>

## Related Operations

* [Revoke Promotional Entitlement](/api-and-sdks/api-reference/mutations/revoke-promotional-entitlement) - Remove grant
* [Get Entitlements](/api-and-sdks/api-reference/queries/get-entitlements) - Query entitlements
