POST/v1/customers/{external_id}/subscription:renewNow
Renew a subscription now
Starts a new period of the plan the customer holds at once. Requires idempotencyKey; productId is optional. Needs customers:write or billing:self.
curl -X POST 'https://api.entitler.co/v1/customers/ada/subscription:renewNow' \
-H "Authorization: Bearer $ENTITLER_KEY" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":{"value":1},"idempotencyKey":"idempotencyKey","productId":"productId","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. |
Request body
object
expectedRevisioncommon.Revision-Inputvalueintegerat least 0; at most 18446744073709552000
idempotencyKeystringproductIdstringreasonstringtargetProductTargetenvironmentIdstringprojectIdstringteamIdstring
Responses
200The RenewNowResponse message.
RenewNowResponse
resultChangeResultchangePlanChangeatintegerrequiredat least 0; at most 18446744073709552000
changedbooleanrequiredeffectiveEffectiverequiredOne of
EFFECTIVE_UNSPECIFIED,EFFECTIVE_NOW,EFFECTIVE_RENEWAL.planSubscriptionPlanbillingConnectionIdstringcohortIdstringcohortNumberintegerat least 0; at most 18446744073709552000
moneyCustomerMoneyrequiredOne of
CUSTOMER_MONEY_UNSPECIFIED,CUSTOMER_MONEY_REAL,CUSTOMER_MONEY_TEST.periodIdstringplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredpriceLockedUntilintegerat least 0; at most 18446744073709552000
purchaseSourcestringversionNumberintegerrequiredat least 0; at most 18446744073709552000
policySubscriptionMovePolicyrequiredOne of
SUBSCRIPTION_MOVE_POLICY_UNSPECIFIED,SUBSCRIPTION_MOVE_POLICY_UPGRADE,SUBSCRIPTION_MOVE_POLICY_DOWNGRADE,SUBSCRIPTION_MOVE_POLICY_CROSSGRADE,SUBSCRIPTION_MOVE_POLICY_LONGER,SUBSCRIPTION_MOVE_POLICY_SHORTER.productIdstringquantityinteger (int64)at least 0; at most 4294967295
untilintegerat least 0; at most 18446744073709552000
customerIdstringrequiredgrantsarray of GrantrequiredfeatureKeystringrequiredfromintegerrequiredat least 0; at most 18446744073709552000
grantedBycommon.Actoridstringrequiredtypecommon.ActorTyperequiredOne of
ACTOR_TYPE_UNSPECIFIED,ACTOR_TYPE_USER,ACTOR_TYPE_KEY,ACTOR_TYPE_SYSTEM.
idstringrequiredreasonstringrequiredrevokeReasonstringrevokedAtintegerat least 0; at most 18446744073709552000
revokedBycommon.Actoridstringrequiredtypecommon.ActorTyperequiredOne of
ACTOR_TYPE_UNSPECIFIED,ACTOR_TYPE_USER,ACTOR_TYPE_KEY,ACTOR_TYPE_SYSTEM.
untilintegerat least 0; at most 18446744073709552000
valueGrantValuelimitcommon.Limitcountintegerat least 0; at most 18446744073709552000
unlimitedcommon.Unlimited
onSwitchOn
moneyCustomerMoneyrequiredOne of
CUSTOMER_MONEY_UNSPECIFIED,CUSTOMER_MONEY_REAL,CUSTOMER_MONEY_TEST.overLimitsarray of OverLimitrequiredfeatureKeystringrequiredkindOverLimitKindrequiredOne of
OVER_LIMIT_KIND_UNSPECIFIED,OVER_LIMIT_KIND_FEATURE,OVER_LIMIT_KIND_MEMBERS.limitintegerrequiredat least 0; at most 18446744073709552000
usedintegerrequiredat least 0; at most 18446744073709552000
revisionintegerrequiredat least 0; at most 18446744073709552000
subscriptionSubscriptionaddOnsarray of SubscriptionAddOnrequiredaddedAtintegerrequiredat least 0; at most 18446744073709552000
billingConnectionIdstringcohortIdstringcohortNumberintegerat least 0; at most 18446744073709552000
moneyCustomerMoneyrequiredOne of
CUSTOMER_MONEY_UNSPECIFIED,CUSTOMER_MONEY_REAL,CUSTOMER_MONEY_TEST.planIdstringrequiredplanKeystringrequiredplanNamestringrequiredpriceLockedUntilintegerat least 0; at most 18446744073709552000
purchaseSourcestringquantityinteger (int64)requiredat least 0; at most 4294967295
requiredbooleanrequiredscheduledPlanIdstringversionNumberintegerrequiredat least 0; at most 18446744073709552000
amountDueAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
amountOverdueAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
billedBilledPlanbillingConnectionIdstringcohortIdstringperiodIdstringplanIdstringrequiredsinceintegerrequiredat least 0; at most 18446744073709552000
versionNumberintegerrequiredat least 0; at most 18446744073709552000
billingSubscriptionBillingrequiredOne of
SUBSCRIPTION_BILLING_UNSPECIFIED,SUBSCRIPTION_BILLING_RECURRING,SUBSCRIPTION_BILLING_ONE_TIME.cancellationCancellationdiscountClawbackAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
earlyTerminationFeeAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
endsAtintegerrequiredat least 0; at most 18446744073709552000
cancelsAtintegerat least 0; at most 18446744073709552000
collectionSubscriptionCollectionrequiredOne of
SUBSCRIPTION_COLLECTION_UNSPECIFIED,SUBSCRIPTION_COLLECTION_PROVIDER,SUBSCRIPTION_COLLECTION_BUSINESS,SUBSCRIPTION_COLLECTION_NOT_CHARGED.contractStartedAtintegerat least 0; at most 18446744073709552000
contractTermContractTermendsAtintegerrequiredat least 0; at most 18446744073709552000
thenTermThenrequiredOne of
TERM_THEN_UNSPECIFIED,TERM_THEN_RENEW,TERM_THEN_ROLLING,TERM_THEN_END.
coolingOffEndsAtintegerat least 0; at most 18446744073709552000
discountsarray of AppliedDiscountrequiredamountAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
appliedbooleanrequiredfeesarray of OfferFeerequiredfeeKeystringrequiredplanIdstringrequired
givenAtintegerrequiredat least 0; at most 18446744073709552000
givenByDiscountGivenByrequiredOne of
DISCOUNT_GIVEN_BY_UNSPECIFIED,DISCOUNT_GIVEN_BY_BUSINESS,DISCOUNT_GIVEN_BY_CUSTOMER,DISCOUNT_GIVEN_BY_CODE,DISCOUNT_GIVEN_BY_SEGMENT,DISCOUNT_GIVEN_BY_REFERRAL.minimumStayMonthsinteger (int64)at least 0; at most 4294967295
offerIdstringrequiredofferKeystringrequiredofferNamestringrequiredpayerIdstringpercentThousandthsinteger (int64)at least 0; at most 4294967295
periodIdsarray of stringrequiredperiodsLeftinteger (int64)at least 0; at most 4294967295
planIdsarray of stringrequiredstartsAtintegerat least 0; at most 18446744073709552000
untilintegerat least 0; at most 18446744073709552000
instalmentsInstalmentPlanamountLeftAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
paidinteger (int64)requiredat least 0; at most 4294967295
totalinteger (int64)requiredat least 0; at most 4294967295
onDefaultPlanbooleanrequiredoverduePeriodsinteger (int64)requiredat least 0; at most 4294967295
paidOffAtintegerat least 0; at most 18446744073709552000
paidUntilintegerat least 0; at most 18446744073709552000
pausePausedaysLeftThisYearinteger (int64)at least 0; at most 4294967295
endsAtintegerrequiredat least 0; at most 18446744073709552000
startedAtintegerrequiredat least 0; at most 18446744073709552000
payersarray of SubscriptionPayerrequiredaddedAtintegerrequiredat least 0; at most 18446744073709552000
customerIdstringrequiredendsAtintegerat least 0; at most 18446744073709552000
externalIdstringrequiredofferKeysarray of stringrequiredpayerIdstringrequiredsharePayerShareamountAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
percentThousandthsinteger (int64)at least 0; at most 4294967295
startsAtintegerat least 0; at most 18446744073709552000
untilintegerat least 0; at most 18446744073709552000
paymentDueAtintegerat least 0; at most 18446744073709552000
paymentTermsPaymentTermsdaysUntilDueinteger (int64)requiredat least 0; at most 4294967295
suspensionSuspensionperiodsWhileSuspendedPeriodsWhileSuspendedrequiredOne of
PERIODS_WHILE_SUSPENDED_UNSPECIFIED,PERIODS_WHILE_SUSPENDED_STOP,PERIODS_WHILE_SUSPENDED_CONTINUE.suspendAfterDaysinteger (int64)requiredat least 0; at most 4294967295
planSubscriptionPlanbillingConnectionIdstringcohortIdstringcohortNumberintegerat least 0; at most 18446744073709552000
moneyCustomerMoneyrequiredOne of
CUSTOMER_MONEY_UNSPECIFIED,CUSTOMER_MONEY_REAL,CUSTOMER_MONEY_TEST.periodIdstringplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredpriceLockedUntilintegerat least 0; at most 18446744073709552000
purchaseSourcestringversionNumberintegerrequiredat least 0; at most 18446744073709552000
prepaidPeriodsinteger (int64)requiredat least 0; at most 4294967295
productIdstringrenewsAtintegerat least 0; at most 18446744073709552000
scheduledChangeScheduledChangeatintegerrequiredat least 0; at most 18446744073709552000
cancellationScheduledCancellationplanChangeScheduledPlanChangeperiodIdstringplanIdstringrequiredstartsNewContractbooleanrequireduntilintegerat least 0; at most 18446744073709552000
scheduledVersionChangesarray of ScheduledVersionChangerequiredacceptanceRequiredbooleanrequiredacceptedbooleanrequiredamountAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
effectiveAtintegerrequiredat least 0; at most 18446744073709552000
planIdstringrequiredrolloutIdstringrequiredversionNumberintegerrequiredat least 0; at most 18446744073709552000
startedAtintegerat least 0; at most 18446744073709552000
statusSubscriptionStatusrequiredOne of
SUBSCRIPTION_STATUS_UNSPECIFIED,SUBSCRIPTION_STATUS_ACTIVE,SUBSCRIPTION_STATUS_TRIALING,SUBSCRIPTION_STATUS_INCOMPLETE,SUBSCRIPTION_STATUS_SUSPENDED,SUBSCRIPTION_STATUS_PAUSED,SUBSCRIPTION_STATUS_PAID_OFF.suspendedAtintegerat least 0; at most 18446744073709552000
suspensionEndsAtintegerat least 0; at most 18446744073709552000
trialTrialconvertedAtintegerat least 0; at most 18446744073709552000
endsAtintegerrequiredat least 0; at most 18446744073709552000
fallsBackToPlanIdstring
trialEndsAtintegerat least 0; at most 18446744073709552000
untilintegerat least 0; at most 18446744073709552000
subscriptionsarray of SubscriptionrequiredaddOnsarray of SubscriptionAddOnrequiredaddedAtintegerrequiredat least 0; at most 18446744073709552000
billingConnectionIdstringcohortIdstringcohortNumberintegerat least 0; at most 18446744073709552000
moneyCustomerMoneyrequiredOne of
CUSTOMER_MONEY_UNSPECIFIED,CUSTOMER_MONEY_REAL,CUSTOMER_MONEY_TEST.planIdstringrequiredplanKeystringrequiredplanNamestringrequiredpriceLockedUntilintegerat least 0; at most 18446744073709552000
purchaseSourcestringquantityinteger (int64)requiredat least 0; at most 4294967295
requiredbooleanrequiredscheduledPlanIdstringversionNumberintegerrequiredat least 0; at most 18446744073709552000
amountDueAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
amountOverdueAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
billedBilledPlanbillingConnectionIdstringcohortIdstringperiodIdstringplanIdstringrequiredsinceintegerrequiredat least 0; at most 18446744073709552000
versionNumberintegerrequiredat least 0; at most 18446744073709552000
billingSubscriptionBillingrequiredOne of
SUBSCRIPTION_BILLING_UNSPECIFIED,SUBSCRIPTION_BILLING_RECURRING,SUBSCRIPTION_BILLING_ONE_TIME.cancellationCancellationdiscountClawbackAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
earlyTerminationFeeAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
endsAtintegerrequiredat least 0; at most 18446744073709552000
cancelsAtintegerat least 0; at most 18446744073709552000
collectionSubscriptionCollectionrequiredOne of
SUBSCRIPTION_COLLECTION_UNSPECIFIED,SUBSCRIPTION_COLLECTION_PROVIDER,SUBSCRIPTION_COLLECTION_BUSINESS,SUBSCRIPTION_COLLECTION_NOT_CHARGED.contractStartedAtintegerat least 0; at most 18446744073709552000
contractTermContractTermendsAtintegerrequiredat least 0; at most 18446744073709552000
thenTermThenrequiredOne of
TERM_THEN_UNSPECIFIED,TERM_THEN_RENEW,TERM_THEN_ROLLING,TERM_THEN_END.
coolingOffEndsAtintegerat least 0; at most 18446744073709552000
discountsarray of AppliedDiscountrequiredamountAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
appliedbooleanrequiredfeesarray of OfferFeerequiredfeeKeystringrequiredplanIdstringrequired
givenAtintegerrequiredat least 0; at most 18446744073709552000
givenByDiscountGivenByrequiredOne of
DISCOUNT_GIVEN_BY_UNSPECIFIED,DISCOUNT_GIVEN_BY_BUSINESS,DISCOUNT_GIVEN_BY_CUSTOMER,DISCOUNT_GIVEN_BY_CODE,DISCOUNT_GIVEN_BY_SEGMENT,DISCOUNT_GIVEN_BY_REFERRAL.minimumStayMonthsinteger (int64)at least 0; at most 4294967295
offerIdstringrequiredofferKeystringrequiredofferNamestringrequiredpayerIdstringpercentThousandthsinteger (int64)at least 0; at most 4294967295
periodIdsarray of stringrequiredperiodsLeftinteger (int64)at least 0; at most 4294967295
planIdsarray of stringrequiredstartsAtintegerat least 0; at most 18446744073709552000
untilintegerat least 0; at most 18446744073709552000
instalmentsInstalmentPlanamountLeftAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
paidinteger (int64)requiredat least 0; at most 4294967295
totalinteger (int64)requiredat least 0; at most 4294967295
onDefaultPlanbooleanrequiredoverduePeriodsinteger (int64)requiredat least 0; at most 4294967295
paidOffAtintegerat least 0; at most 18446744073709552000
paidUntilintegerat least 0; at most 18446744073709552000
pausePausedaysLeftThisYearinteger (int64)at least 0; at most 4294967295
endsAtintegerrequiredat least 0; at most 18446744073709552000
startedAtintegerrequiredat least 0; at most 18446744073709552000
payersarray of SubscriptionPayerrequiredaddedAtintegerrequiredat least 0; at most 18446744073709552000
customerIdstringrequiredendsAtintegerat least 0; at most 18446744073709552000
externalIdstringrequiredofferKeysarray of stringrequiredpayerIdstringrequiredsharePayerShareamountAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
percentThousandthsinteger (int64)at least 0; at most 4294967295
startsAtintegerat least 0; at most 18446744073709552000
untilintegerat least 0; at most 18446744073709552000
paymentDueAtintegerat least 0; at most 18446744073709552000
paymentTermsPaymentTermsdaysUntilDueinteger (int64)requiredat least 0; at most 4294967295
suspensionSuspensionperiodsWhileSuspendedPeriodsWhileSuspendedrequiredOne of
PERIODS_WHILE_SUSPENDED_UNSPECIFIED,PERIODS_WHILE_SUSPENDED_STOP,PERIODS_WHILE_SUSPENDED_CONTINUE.suspendAfterDaysinteger (int64)requiredat least 0; at most 4294967295
planSubscriptionPlanbillingConnectionIdstringcohortIdstringcohortNumberintegerat least 0; at most 18446744073709552000
moneyCustomerMoneyrequiredOne of
CUSTOMER_MONEY_UNSPECIFIED,CUSTOMER_MONEY_REAL,CUSTOMER_MONEY_TEST.periodIdstringplanIdstringrequiredplanKeystringrequiredplanNamestringrequiredpriceLockedUntilintegerat least 0; at most 18446744073709552000
purchaseSourcestringversionNumberintegerrequiredat least 0; at most 18446744073709552000
prepaidPeriodsinteger (int64)requiredat least 0; at most 4294967295
productIdstringrenewsAtintegerat least 0; at most 18446744073709552000
scheduledChangeScheduledChangeatintegerrequiredat least 0; at most 18446744073709552000
cancellationScheduledCancellationplanChangeScheduledPlanChangeperiodIdstringplanIdstringrequiredstartsNewContractbooleanrequireduntilintegerat least 0; at most 18446744073709552000
scheduledVersionChangesarray of ScheduledVersionChangerequiredacceptanceRequiredbooleanrequiredacceptedbooleanrequiredamountAmountamountintegerrequiredat least 0; at most 18446744073709552000
currencystringrequireddisplaystringrequired
effectiveAtintegerrequiredat least 0; at most 18446744073709552000
planIdstringrequiredrolloutIdstringrequiredversionNumberintegerrequiredat least 0; at most 18446744073709552000
startedAtintegerat least 0; at most 18446744073709552000
statusSubscriptionStatusrequiredOne of
SUBSCRIPTION_STATUS_UNSPECIFIED,SUBSCRIPTION_STATUS_ACTIVE,SUBSCRIPTION_STATUS_TRIALING,SUBSCRIPTION_STATUS_INCOMPLETE,SUBSCRIPTION_STATUS_SUSPENDED,SUBSCRIPTION_STATUS_PAUSED,SUBSCRIPTION_STATUS_PAID_OFF.suspendedAtintegerat least 0; at most 18446744073709552000
suspensionEndsAtintegerat least 0; at most 18446744073709552000
trialTrialconvertedAtintegerat least 0; at most 18446744073709552000
endsAtintegerrequiredat least 0; at most 18446744073709552000
fallsBackToPlanIdstring
trialEndsAtintegerat least 0; at most 18446744073709552000
untilintegerat least 0; at most 18446744073709552000
ErrorA refusal, with the HTTP status of its gRPC code.
Error
errorobjectrequiredcodestringrequiredparametersobjectrequiredEach value: string
reasonstringor nullrequired