Skip to content
EntitlerDocs

GET/v1/customers/{external_id}/entitlements/{feature_key}

Check a feature

Returns whether the customer is entitled to one feature, with its value, usage and sources. asOf answers as of a time on a test environment. Needs entitlements:read.

curl 'https://api.entitler.co/v1/customers/ada/entitlements/priority_support' \
  -H "Authorization: Bearer $ENTITLER_KEY"

Credentials

Send any one of these:

  • Bearer token

Path parameters

NameTypeDescription
external_idrequiredstringThe customer's external ID, or me for the customer a customer token or identity token names.
feature_keyrequiredstring

Query parameters

NameTypeDescription
target.team_idstring
target.project_idstring
target.environment_idstring
as_ofinteger
zonestring
member_idstring

Responses

200The CheckFeatureResponse message.

CheckFeatureResponse

  • asOfintegerrequired

    at least 0; at most 18446744073709552000

  • customerEntitledCustomer
    • customerIdstring
    • externalIdstringrequired
  • entitlementEntitlement
    • benefitThousandthsinteger (int64)

      at least 0; at most 4294967295

    • currencystringrequired
    • decimalsinteger (int64)required

      at least 0; at most 4294967295

    • entitledbooleanrequired
    • featureKeystringrequired
    • homeZonesarray of ZonedEntitlementrequired
      • entitledbooleanrequired
      • remainingcommon.Limit
        • countinteger

          at least 0; at most 18446744073709552000

        • unlimitedcommon.Unlimited
      • valuecommon.FeatureValue
        • groupcommon.GroupValue
          • membersarray of common.GroupMemberrequired
            • benefitThousandthsinteger (int64)

              at least 0; at most 4294967295

            • featureKeystringrequired
            • groupcommon.GroupValue
            • meteredcommon.Limit
              • countinteger

                at least 0; at most 18446744073709552000

              • unlimitedcommon.Unlimited
            • moneycommon.MarketLimits
              • limitsarray of common.MarketLimitrequired
            • settingcommon.SettingValue
              • choicestring
              • numbercommon.Limit
              • textstring
            • switchboolean
            • waitcommon.Wait
              • countinteger (int64)required

                at least 0; at most 4294967295

              • unitcommon.WaitUnitrequired

                One of WAIT_UNIT_UNSPECIFIED, WAIT_UNIT_DAYS, WAIT_UNIT_MONTHS.

        • meteredcommon.Limit
          • countinteger

            at least 0; at most 18446744073709552000

          • unlimitedcommon.Unlimited
        • moneycommon.MarketLimits
          • limitsarray of common.MarketLimitrequired
            • limitcommon.Limit
              • countinteger

                at least 0; at most 18446744073709552000

              • unlimitedcommon.Unlimited
            • marketIdstringrequired
        • settingcommon.SettingValue
          • choicestring
          • numbercommon.Limit
            • countinteger

              at least 0; at most 18446744073709552000

            • unlimitedcommon.Unlimited
          • textstring
        • switchboolean
      • zonestringrequired
    • hoursEntitledHours
      • closesAtinteger

        at least 0; at most 18446744073709552000

      • openbooleanrequired
      • opensAtinteger

        at least 0; at most 18446744073709552000

    • kindEntitledFeatureKindrequired

      One of ENTITLED_FEATURE_KIND_UNSPECIFIED, ENTITLED_FEATURE_KIND_SWITCH, ENTITLED_FEATURE_KIND_METERED, ENTITLED_FEATURE_KIND_SETTING, ENTITLED_FEATURE_KIND_GROUP.

    • memberMeterMeter
      • bankedintegerrequired

        at least 0; at most 18446744073709552000

      • heldintegerrequired

        at least 0; at most 18446744073709552000

      • remainingcommon.Limit
        • countinteger

          at least 0; at most 18446744073709552000

        • unlimitedcommon.Unlimited
      • resetsAtinteger

        at least 0; at most 18446744073709552000

      • topUpLeftintegerrequired

        at least 0; at most 18446744073709552000

      • topUpSpentintegerrequired

        at least 0; at most 18446744073709552000

      • usedintegerrequired

        at least 0; at most 18446744073709552000

    • memberValuecommon.Limit
      • countinteger

        at least 0; at most 18446744073709552000

      • unlimitedcommon.Unlimited
    • meterMeter
      • bankedintegerrequired

        at least 0; at most 18446744073709552000

      • heldintegerrequired

        at least 0; at most 18446744073709552000

      • remainingcommon.Limit
        • countinteger

          at least 0; at most 18446744073709552000

        • unlimitedcommon.Unlimited
      • resetsAtinteger

        at least 0; at most 18446744073709552000

      • topUpLeftintegerrequired

        at least 0; at most 18446744073709552000

      • topUpSpentintegerrequired

        at least 0; at most 18446744073709552000

      • usedintegerrequired

        at least 0; at most 18446744073709552000

    • perUsecommon.Limit
      • countinteger

        at least 0; at most 18446744073709552000

      • unlimitedcommon.Unlimited
    • sharedBystring
    • sharedValuecommon.Limit
      • countinteger

        at least 0; at most 18446744073709552000

      • unlimitedcommon.Unlimited
    • sourcesarray of EntitlementSourcerequired
      • addOnAddOnSource
        • planIdstringrequired
        • planKeystringrequired
        • planNamestringrequired
        • quantityinteger (int64)required

          at least 0; at most 4294967295

        • throughFeatureKeystring
        • valuecommon.FeatureValue
          • groupcommon.GroupValue
            • membersarray of common.GroupMemberrequired
              • benefitThousandthsinteger (int64)

                at least 0; at most 4294967295

              • featureKeystringrequired
              • groupcommon.GroupValue
              • meteredcommon.Limit
              • moneycommon.MarketLimits
              • settingcommon.SettingValue
              • switchboolean
              • waitcommon.Wait
          • meteredcommon.Limit
            • countinteger

              at least 0; at most 18446744073709552000

            • unlimitedcommon.Unlimited
          • moneycommon.MarketLimits
            • limitsarray of common.MarketLimitrequired
              • limitcommon.Limit
              • marketIdstringrequired
          • settingcommon.SettingValue
            • choicestring
            • numbercommon.Limit
              • countinteger

                at least 0; at most 18446744073709552000

              • unlimitedcommon.Unlimited
            • textstring
          • switchboolean
        • versionNumberintegerrequired

          at least 0; at most 18446744073709552000

      • defaultPlanDefaultPlanSource
        • planIdstringrequired
        • planKeystringrequired
        • planNamestringrequired
        • productIdstring
        • throughFeatureKeystring
        • versionNumberintegerrequired

          at least 0; at most 18446744073709552000

      • grantGrantSource
        • grantIdstringrequired
        • throughFeatureKeystring
        • untilinteger

          at least 0; at most 18446744073709552000

        • valuecommon.FeatureValue
          • groupcommon.GroupValue
            • membersarray of common.GroupMemberrequired
              • benefitThousandthsinteger (int64)

                at least 0; at most 4294967295

              • featureKeystringrequired
              • groupcommon.GroupValue
              • meteredcommon.Limit
              • moneycommon.MarketLimits
              • settingcommon.SettingValue
              • switchboolean
              • waitcommon.Wait
          • meteredcommon.Limit
            • countinteger

              at least 0; at most 18446744073709552000

            • unlimitedcommon.Unlimited
          • moneycommon.MarketLimits
            • limitsarray of common.MarketLimitrequired
              • limitcommon.Limit
              • marketIdstringrequired
          • settingcommon.SettingValue
            • choicestring
            • numbercommon.Limit
              • countinteger

                at least 0; at most 18446744073709552000

              • unlimitedcommon.Unlimited
            • textstring
          • switchboolean
      • groupGroupSource
        • featureKeysarray of stringrequired
      • planPlanSource
        • planIdstringrequired
        • planKeystringrequired
        • planNamestringrequired
        • productIdstring
        • throughFeatureKeystring
        • valuecommon.FeatureValue
          • groupcommon.GroupValue
            • membersarray of common.GroupMemberrequired
              • benefitThousandthsinteger (int64)

                at least 0; at most 4294967295

              • featureKeystringrequired
              • groupcommon.GroupValue
              • meteredcommon.Limit
              • moneycommon.MarketLimits
              • settingcommon.SettingValue
              • switchboolean
              • waitcommon.Wait
          • meteredcommon.Limit
            • countinteger

              at least 0; at most 18446744073709552000

            • unlimitedcommon.Unlimited
          • moneycommon.MarketLimits
            • limitsarray of common.MarketLimitrequired
              • limitcommon.Limit
              • marketIdstringrequired
          • settingcommon.SettingValue
            • choicestring
            • numbercommon.Limit
              • countinteger

                at least 0; at most 18446744073709552000

              • unlimitedcommon.Unlimited
            • textstring
          • switchboolean
        • versionNumberintegerrequired

          at least 0; at most 18446744073709552000

      • segmentKeystring
    • uncountedZonesarray of stringrequired
    • upgradesarray of Upgraderequired
      • actionUpgradeActionrequired

        One of UPGRADE_ACTION_UNSPECIFIED, UPGRADE_ACTION_BUY, UPGRADE_ACTION_CONTACT.

      • kindUpgradeKindrequired

        One of UPGRADE_KIND_UNSPECIFIED, UPGRADE_KIND_PLAN, UPGRADE_KIND_ADD_ON.

      • moveUpgradeMoverequired

        One of UPGRADE_MOVE_UNSPECIFIED, UPGRADE_MOVE_SUBSCRIBE, UPGRADE_MOVE_UPGRADE, UPGRADE_MOVE_SWITCH, UPGRADE_MOVE_ADD, UPGRADE_MOVE_REPLACE.

      • planIdstringrequired
      • planKeystringrequired
      • planNamestringrequired
      • productIdstring
    • valuecommon.FeatureValue
      • groupcommon.GroupValue
        • membersarray of common.GroupMemberrequired
          • benefitThousandthsinteger (int64)

            at least 0; at most 4294967295

          • featureKeystringrequired
          • groupcommon.GroupValue
          • meteredcommon.Limit
            • countinteger

              at least 0; at most 18446744073709552000

            • unlimitedcommon.Unlimited
          • moneycommon.MarketLimits
            • limitsarray of common.MarketLimitrequired
              • limitcommon.Limit
              • marketIdstringrequired
          • settingcommon.SettingValue
            • choicestring
            • numbercommon.Limit
              • countinteger

                at least 0; at most 18446744073709552000

              • unlimitedcommon.Unlimited
            • textstring
          • switchboolean
          • waitcommon.Wait
            • countinteger (int64)required

              at least 0; at most 4294967295

            • unitcommon.WaitUnitrequired

              One of WAIT_UNIT_UNSPECIFIED, WAIT_UNIT_DAYS, WAIT_UNIT_MONTHS.

      • meteredcommon.Limit
        • countinteger

          at least 0; at most 18446744073709552000

        • unlimitedcommon.Unlimited
      • moneycommon.MarketLimits
        • limitsarray of common.MarketLimitrequired
          • limitcommon.Limit
            • countinteger

              at least 0; at most 18446744073709552000

            • unlimitedcommon.Unlimited
          • marketIdstringrequired
      • settingcommon.SettingValue
        • choicestring
        • numbercommon.Limit
          • countinteger

            at least 0; at most 18446744073709552000

          • unlimitedcommon.Unlimited
        • textstring
      • switchboolean
    • waitingUntilinteger

      at least 0; at most 18446744073709552000

  • memberEntitledMember
    • externalIdstringrequired
    • memberIdstringrequired
  • nextChangeAtinteger

    at least 0; at most 18446744073709552000

  • servedServedCatalogue
    • changeIdstring
    • nothingNothingServed
    • releaseServedRelease
      • idstringrequired
      • numberintegerrequired

        at least 0; at most 18446744073709552000

    • trackServedTrack
      • idstringrequired
      • namestringrequired
  • zonestring

ErrorA refusal, with the HTTP status of its gRPC code.

Error

  • errorobjectrequired
    • codestringrequired
    • parametersobjectrequired

      Each value: string

    • reasonstringor nullrequired