POST /subscriptions/{subscription-id}/entitlement_overrides

Upserts or removes a set of entitlement_overrides for a subscription depending on the action specified. The API returns the upserted or deleted entitlement_overrides after successfully completing the operation. The operation returns an error when the first entitlement_override fails to be processed. Either all the entitlement_overrides provided in the request are processed or none.

Servers

Path parameters

Name Type Required Description
subscription-id String Yes

Request headers

Name Type Required Description
chargebee-request-origin-device String No

The device from which the customer has made the request

Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

chargebee-event-webhook String No

skip only webhooks

Valid values:

  • "all-disabled"
chargebee-business-entity-id String No

If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation.

chargebee-event-actions String No

skip all actions to be done on the events

Valid values:

  • "all-disabled"
chargebee-request-origin-user String No

The email address of your customer/user. Use this when the email address has only ASCII characters.

chargebee-request-origin-ip String No

The IP address of the customer where the request originated

chargebee-request-origin-user-encoded String No

The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.

chargebee-event-email String No

skip only emails

Valid values:

  • "all-disabled"

Request body fields

Name Type Required Description
action String No

The action to perform for each entitlement_override specified in the entitlement_overrides array.

* upsert -

If the entitlement_override for the subscription_id, feature_id, and entity_id combination already exists, the value of the entitlement_override is updated. If it doesn't exist, a new entitlement_override is created.

* remove -

Deletes the entitlement_override for the subscription_id, feature_id, and entity_id combination, if it exists.

Valid values:

  • "remove"
  • "upsert"
entitlement_overrides Object No

Parameters for entitlement_overrides.

entitlement_overrides.entity_id[] Array No

The id of the entity at whose level the entitlement override is being set for the subscription. If the entity_id is not currently a part of the subscription, the entitlement_override takes effect as soon as the entity is added to the subscription.

entitlement_overrides.effective_from[] Array No

The starting date and time for the entitlement override. It indicates when the override becomes effective.

Constraints

  • Applicable only for subscription-level entitlement overrides. i.e. Not applicable when entity_id and entity_type are set.
  • The action must be upsert.
  • Must be a value in the future.
entitlement_overrides.value[] Array No

The level of entitlement that the item has towards the feature. The possible values depend on the value of feature.type :

  • When feature.type is quantity and:

  • If feature.levels[is_unlimited] is not true for any one of feature.levels[], then the value can be any one of feature.levels[value][].

  • If feature.levels[is_unlimited] is true for one of the feature.levels[], then the value can also be:

    • any one of feature.levels[value][]
    • or it can be unlimited (case-insensitive), indicating unlimited entitlement.
  • When type is range and:

  • If feature.levels[is_unlimited] is not true for any one of feature.levels[], then the value can be any whole number between levels[value][0] and levels[value][1] (inclusive).

  • If feature.levels[is_unlimited] is true for one of the feature.levels[], then the value can be:

    • any whole number equal to or greater than levels[value][0]
    • or it can be unlimited (case-insensitive), indicating unlimited entitlement.
  • When type is custom, then the value can be any one of feature.levels[value][].

  • When type is switch, then the value is set as true if the feature is available; it is set as false when the feature is unavailable.

entitlement_overrides.feature_id[] Array Yes

The id of the feature for which the entitlement override is being set.

entitlement_overrides.is_enabled[] Array No
entitlement_overrides.entity_type[] Array No
entitlement_overrides.expires_at[] Array No

The expiry date for the entitlement_override. The entitlement_override object is no longer returned after this date has passed.

Constraints

  • Applicable only for subscription-level entitlement overrides. i.e. Not applicable when entity_id and entity_type are set.
  • The action must be upsert.
  • Must be a value in the future.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.