POST/v1/customers/{external_id}/usage/{usage_id}:cancel
Cancel usage
Cancels recorded usage, returning its amount to the meter. A repeat reports the cancellation again, and an unknown ID is refused. Needs customers:write.
curl -X POST 'https://api.entitler.co/v1/customers/ada/usage/<usage_id>:cancel' \
-H "Authorization: Bearer $ENTITLER_KEY" \
-H "Content-Type: application/json" \
-d '{"reason":"reason","target":{"environmentId":"environmentId","projectId":"projectId","teamId":"teamId"}}'Credentials
Send any one of these:
- Bearer token
Path parameters
| Name | Type | Description |
|---|---|---|
external_idrequired | string | The customer's external ID, or me for the customer a customer token or identity token names. |
usage_idrequired | string |
Request body
object
reasonstringtargetProductTargetenvironmentIdstringprojectIdstringteamIdstring
Responses
200The CancelUsageResponse message.
CancelUsageResponse
resultUsageResultasOfintegerrequiredat least 0; at most 18446744073709552000
catalogueCustomerCataloguechannelCatalogueChannelidstringrequirednamestringrequired
draftIdstringnoneNoCataloguereleaseCatalogueReleaseidstringrequirednumberintegerrequiredat least 0; at most 18446744073709552000
customerEntitledCustomercustomerIdstringexternalIdstringrequired
entitlementEntitlementcoveragePercentThousandthsinteger (int64)at least 0; at most 4294967295
currencystringrequireddecimalsinteger (int64)requiredat least 0; at most 4294967295
entitledbooleanrequiredfeatureKeystringrequiredhomeZonesarray of ZonedEntitlementrequiredentitledbooleanrequiredremainingcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
valuecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequiredcoveragePercentThousandthsinteger (int64)at least 0; at most 4294967295
enabledbooleanfeatureKeystringrequiredgroupcommon.GroupValuemeteredcommon.Limitmoneycommon.MarketLimitssettingcommon.SettingValuewaitingPeriodcommon.WaitingPeriod
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequiredlimitcommon.LimitmarketIdstringrequired
settingcommon.SettingValuechoicestringnumbercommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
textstring
zonestringrequired
hoursEntitledHoursclosesAtintegerat least 0; at most 18446744073709552000
opensAtintegerat least 0; at most 18446744073709552000
withinAccessHoursbooleanrequired
kindEntitledFeatureKindrequiredOne of
ENTITLED_FEATURE_KIND_UNSPECIFIED,ENTITLED_FEATURE_KIND_BOOLEAN,ENTITLED_FEATURE_KIND_METERED,ENTITLED_FEATURE_KIND_SETTING,ENTITLED_FEATURE_KIND_GROUP.memberMeterMeterremainingcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
reservedintegerrequiredat least 0; at most 18446744073709552000
resetsAtintegerat least 0; at most 18446744073709552000
rolledOverintegerrequiredat least 0; at most 18446744073709552000
topUpLeftintegerrequiredat least 0; at most 18446744073709552000
topUpSpentintegerrequiredat least 0; at most 18446744073709552000
usedintegerrequiredat least 0; at most 18446744073709552000
meterMeterremainingcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
reservedintegerrequiredat least 0; at most 18446744073709552000
resetsAtintegerat least 0; at most 18446744073709552000
rolledOverintegerrequiredat least 0; at most 18446744073709552000
topUpLeftintegerrequiredat least 0; at most 18446744073709552000
topUpSpentintegerrequiredat least 0; at most 18446744073709552000
usedintegerrequiredat least 0; at most 18446744073709552000
perMemberValuecommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
perUseLimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
pooledBystringpooledLimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
sourcesarray of EntitlementSourcerequiredaddOnAddOnSourceplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredquantityinteger (int64)requiredat least 0; at most 4294967295
throughFeatureKeystringvaluecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequired
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
versionNumberintegerrequiredat least 0; at most 18446744073709552000
defaultPlanDefaultPlanSourceplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredproductIdstringthroughFeatureKeystringversionNumberintegerrequiredat least 0; at most 18446744073709552000
grantGrantSourcegrantIdstringrequiredthroughFeatureKeystringuntilintegerat least 0; at most 18446744073709552000
valuecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequired
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
groupGroupSourcefeatureKeysarray of stringrequired
planPlanSourceplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredproductIdstringthroughFeatureKeystringvaluecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequired
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
versionNumberintegerrequiredat least 0; at most 18446744073709552000
segmentKeystring
uncountedZonesarray of stringrequiredupgradesarray of UpgraderequiredactionUpgradeActionrequiredOne of
UPGRADE_ACTION_UNSPECIFIED,UPGRADE_ACTION_BUY,UPGRADE_ACTION_CONTACT.kindUpgradeKindrequiredOne of
UPGRADE_KIND_UNSPECIFIED,UPGRADE_KIND_PLAN,UPGRADE_KIND_ADD_ON.planIdstringrequiredplanKeystringrequiredplanNamestringrequiredproductIdstringtypeUpgradeTyperequiredOne of
UPGRADE_TYPE_UNSPECIFIED,UPGRADE_TYPE_SUBSCRIBE,UPGRADE_TYPE_UPGRADE,UPGRADE_TYPE_CROSSGRADE,UPGRADE_TYPE_ADD,UPGRADE_TYPE_REPLACE.
valuecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequiredcoveragePercentThousandthsinteger (int64)at least 0; at most 4294967295
enabledbooleanfeatureKeystringrequiredgroupcommon.GroupValuemeteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
waitingPeriodcommon.WaitingPeriodcountinteger (int64)requiredat least 0; at most 4294967295
unitcommon.WaitingPeriodUnitrequiredOne of
WAITING_PERIOD_UNIT_UNSPECIFIED,WAITING_PERIOD_UNIT_DAYS,WAITING_PERIOD_UNIT_MONTHS.
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequiredlimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
marketIdstringrequired
settingcommon.SettingValuechoicestringnumbercommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
textstring
waitingUntilintegerat least 0; at most 18446744073709552000
memberEntitledMemberexternalIdstringrequiredmemberIdstringrequired
sharedEntitlementcoveragePercentThousandthsinteger (int64)at least 0; at most 4294967295
currencystringrequireddecimalsinteger (int64)requiredat least 0; at most 4294967295
entitledbooleanrequiredfeatureKeystringrequiredhomeZonesarray of ZonedEntitlementrequiredentitledbooleanrequiredremainingcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
valuecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequiredcoveragePercentThousandthsinteger (int64)at least 0; at most 4294967295
enabledbooleanfeatureKeystringrequiredgroupcommon.GroupValuemeteredcommon.Limitmoneycommon.MarketLimitssettingcommon.SettingValuewaitingPeriodcommon.WaitingPeriod
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequiredlimitcommon.LimitmarketIdstringrequired
settingcommon.SettingValuechoicestringnumbercommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
textstring
zonestringrequired
hoursEntitledHoursclosesAtintegerat least 0; at most 18446744073709552000
opensAtintegerat least 0; at most 18446744073709552000
withinAccessHoursbooleanrequired
kindEntitledFeatureKindrequiredOne of
ENTITLED_FEATURE_KIND_UNSPECIFIED,ENTITLED_FEATURE_KIND_BOOLEAN,ENTITLED_FEATURE_KIND_METERED,ENTITLED_FEATURE_KIND_SETTING,ENTITLED_FEATURE_KIND_GROUP.memberMeterMeterremainingcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
reservedintegerrequiredat least 0; at most 18446744073709552000
resetsAtintegerat least 0; at most 18446744073709552000
rolledOverintegerrequiredat least 0; at most 18446744073709552000
topUpLeftintegerrequiredat least 0; at most 18446744073709552000
topUpSpentintegerrequiredat least 0; at most 18446744073709552000
usedintegerrequiredat least 0; at most 18446744073709552000
meterMeterremainingcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
reservedintegerrequiredat least 0; at most 18446744073709552000
resetsAtintegerat least 0; at most 18446744073709552000
rolledOverintegerrequiredat least 0; at most 18446744073709552000
topUpLeftintegerrequiredat least 0; at most 18446744073709552000
topUpSpentintegerrequiredat least 0; at most 18446744073709552000
usedintegerrequiredat least 0; at most 18446744073709552000
perMemberValuecommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
perUseLimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
pooledBystringpooledLimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
sourcesarray of EntitlementSourcerequiredaddOnAddOnSourceplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredquantityinteger (int64)requiredat least 0; at most 4294967295
throughFeatureKeystringvaluecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequired
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
versionNumberintegerrequiredat least 0; at most 18446744073709552000
defaultPlanDefaultPlanSourceplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredproductIdstringthroughFeatureKeystringversionNumberintegerrequiredat least 0; at most 18446744073709552000
grantGrantSourcegrantIdstringrequiredthroughFeatureKeystringuntilintegerat least 0; at most 18446744073709552000
valuecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequired
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
groupGroupSourcefeatureKeysarray of stringrequired
planPlanSourceplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredproductIdstringthroughFeatureKeystringvaluecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequired
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
versionNumberintegerrequiredat least 0; at most 18446744073709552000
segmentKeystring
uncountedZonesarray of stringrequiredupgradesarray of UpgraderequiredactionUpgradeActionrequiredOne of
UPGRADE_ACTION_UNSPECIFIED,UPGRADE_ACTION_BUY,UPGRADE_ACTION_CONTACT.kindUpgradeKindrequiredOne of
UPGRADE_KIND_UNSPECIFIED,UPGRADE_KIND_PLAN,UPGRADE_KIND_ADD_ON.planIdstringrequiredplanKeystringrequiredplanNamestringrequiredproductIdstringtypeUpgradeTyperequiredOne of
UPGRADE_TYPE_UNSPECIFIED,UPGRADE_TYPE_SUBSCRIBE,UPGRADE_TYPE_UPGRADE,UPGRADE_TYPE_CROSSGRADE,UPGRADE_TYPE_ADD,UPGRADE_TYPE_REPLACE.
valuecommon.FeatureValueenabledbooleangroupcommon.GroupValuemembersarray of common.GroupMemberrequiredcoveragePercentThousandthsinteger (int64)at least 0; at most 4294967295
enabledbooleanfeatureKeystringrequiredgroupcommon.GroupValuemeteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequired
settingcommon.SettingValuechoicestringnumbercommon.Limittextstring
waitingPeriodcommon.WaitingPeriodcountinteger (int64)requiredat least 0; at most 4294967295
unitcommon.WaitingPeriodUnitrequiredOne of
WAITING_PERIOD_UNIT_UNSPECIFIED,WAITING_PERIOD_UNIT_DAYS,WAITING_PERIOD_UNIT_MONTHS.
meteredcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
moneycommon.MarketLimitslimitsarray of common.MarketLimitrequiredlimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
marketIdstringrequired
settingcommon.SettingValuechoicestringnumbercommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
textstring
waitingUntilintegerat least 0; at most 18446744073709552000
usageUsageOutcomeDetailsamountintegerrequiredat least 0; at most 18446744073709552000
cappedbooleanrequiredcappedByCappedByOne of
CAPPED_BY_UNSPECIFIED,CAPPED_BY_FEATURE,CAPPED_BY_MEMBER,CAPPED_BY_SHARED,CAPPED_BY_SHARED_MEMBER.costintegerat least 0; at most 18446744073709552000
countedbooleanrequiredcoveragePercentThousandthsinteger (int64)at least 0; at most 4294967295
denialReasonDenialReasonOne of
DENIAL_REASON_UNSPECIFIED,DENIAL_REASON_NOT_ENTITLED,DENIAL_REASON_OVER_ALLOWANCE,DENIAL_REASON_NOT_COVERED,DENIAL_REASON_WAITING,DENIAL_REASON_OUTSIDE_HOURS,DENIAL_REASON_OVER_PER_USE,DENIAL_REASON_MEMBER_OVER_ALLOWANCE,DENIAL_REASON_SHARED_OVER_ALLOWANCE.expiresAtMsintegerat least 0; at most 18446744073709552000
holdIdstringlatebooleanrequiredmemberOverByintegerrequiredat least 0; at most 18446744073709552000
meterChangeinteger (int64)requiredmodeUsageModerequiredOne of
USAGE_MODE_UNSPECIFIED,USAGE_MODE_ENFORCE,USAGE_MODE_RECORD_ONLY.occurredAtMsintegerat least 0; at most 18446744073709552000
opensAtintegerat least 0; at most 18446744073709552000
outcomeUsageOutcomerequiredOne of
USAGE_OUTCOME_UNSPECIFIED,USAGE_OUTCOME_RECORDED,USAGE_OUTCOME_DENIED,USAGE_OUTCOME_DUPLICATE,USAGE_OUTCOME_CANCELLED,USAGE_OUTCOME_HELD,USAGE_OUTCOME_SETTLED,USAGE_OUTCOME_RELEASED,USAGE_OUTCOME_ADJUSTED.overByintegerrequiredat least 0; at most 18446744073709552000
perUseLimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
perUseOverByintegerrequiredat least 0; at most 18446744073709552000
replayedbooleanrequiredsaturatedbooleanrequiredsharedOverByintegerrequiredat least 0; at most 18446744073709552000
usageIdstringwaitingUntilintegerat least 0; at most 18446744073709552000
ErrorA refusal, with the HTTP status of its gRPC code.
Error
errorobjectrequiredcodestringrequiredparametersobjectrequiredEach value: string
reasonstringor nullrequired