---
title: "Revoke promotional entitlement"
method: DELETE
path: "/api/v1/customers/{id}/promotional-entitlements/{featureId}"
tags: ["Promotional Entitlements"]
---

# Revoke promotional entitlement

`DELETE /api/v1/customers/{id}/promotional-entitlements/{featureId}`

## Request

- Base URL: `https://api.stigg.io`
- URL: `https://api.stigg.io/api/v1/customers/{id}/promotional-entitlements/{featureId}`
- Auth: API key in header `X-API-KEY`

Revokes a previously granted promotional entitlement from a customer for a specific feature.

## Path parameters

- `id` string, required
- `featureId` string, required

## Headers

- `X-ACCOUNT-ID` string
- `X-ENVIRONMENT-ID` string

## Response `200`

The revoked promotional entitlement object.

- PromotionalEntitlementResponseDto: Response object
  - `data` object, required: Granted feature entitlement
    - `id` string, uuid, required: Unique identifier for the entity
    - `description` string, nullable, required: The description of the entitlement
    - `featureId` string, uuid, required: The unique identifier of the entitlement feature
    - `createdAt` string, date-time, required: Timestamp of when the record was created
    - `updatedAt` string, date-time, required: Timestamp of when the record was last updated
    - `startDate` string, date-time, required: The start date of the entitlement
    - `endDate` string, date-time, nullable, required: The end date of the promotional entitlement
    - `isVisible` boolean, required: Whether the entitlement is visible
    - `usageLimit` number, nullable, required: The usage limit of the entitlement
    - `hasSoftLimit` boolean, nullable, required: Whether the entitlement has a soft limit
    - `hasUnlimitedUsage` boolean, nullable, required: Whether the entitlement has an unlimited usage
    - `status` 'Active' | 'Expired' | 'Paused', required: The status of the entitlement
    - `period` '1 week' | '1 month' | '6 month' | '1 year' | 'lifetime' | 'custom', required: The grant period of the promotional entitlement
    - `resetPeriod` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR', nullable, required: The reset period of the entitlement
    - `resetPeriodConfiguration` union, required: The reset period configuration of the entitlement
      - object: Yearly reset configuration
        - `accordingTo` 'SubscriptionStart', required: Reset anchor (SubscriptionStart)
      - object: Monthly reset configuration
        - `accordingTo` 'SubscriptionStart' | 'StartOfTheMonth', required: Reset anchor (SubscriptionStart or StartOfTheMonth)
      - object: Weekly reset configuration
        - `accordingTo` 'SubscriptionStart' | 'EverySunday' | 'EveryMonday' | 'EveryTuesday' | 'EveryWednesday' | 'EveryThursday' | 'EveryFriday' | 'EverySaturday', required: Reset anchor (SubscriptionStart or specific day)
    - `environmentId` string, uuid, required: The unique identifier for the environment
    - `enumValues` string[], nullable, required: The enum values of the entitlement
    - `featureGroupIds` string[], nullable, required: Feature group IDs associated with this entitlement

## Other responses

- `400`: bad request.
- `401`: User is not authenticated.
- `403`: User is not allowed to access this resource.
- `404`: Promotional Entitlement not found.
- `429`: Too many requests.

## Changes

- **2026-07-28** `913f273cc2f7`: 1 warning
  - added the new `ContractNotFound` enum value to the `code` response property for the response status `404`
- **2026-07-26** `b876edd1a4fc`: 5 warning
  - added the new `CreditOveragePriceCurrencyNotFound` enum value to the `code` response property for the response status `400`
  - added the new `InvalidCreditOverageBillingModel` enum value to the `code` response property for the response status `400`
  - added the new `InvoicePreviewNotAvailableForDraftContract` enum value to the `code` response property for the response status `400`
  - added the new `OveragePriceNotSupportedOnAddon` enum value to the `code` response property for the response status `400`
  - …1 more
- **2026-07-11** `58bb216ff8ce`: 1 warning
  - added the new `GovernanceNotEnabled` enum value to the `code` response property for the response status `403`
- **2026-06-08** `3acd63d6c861`: 2 info
  - added the new optional `header` request parameter `X-ACCOUNT-ID`
  - added the new optional `header` request parameter `X-ENVIRONMENT-ID`
- **2026-06-04** `4fa87d66426d`: 1 warning
  - added the new `PricingModelNotSupportedByBillingIntegration` enum value to the `code` response property for the response status `400`

[Operation history](https://skmtc.dev/stiggio/apis/stigg-api/changes/api/v1/customers/:id/promotional-entitlements/:featureId/delete.md)

---

[API](https://skmtc.dev/stiggio/apis/stigg-api.md) - [All operations](https://skmtc.dev/stiggio/apis/stigg-api/llms.txt) - [OpenAPI document](https://skmtc.dev/stiggio/apis/stigg-api/revisions/3e2c8cfcd035?raw)
