## Update Subscription `accounts.subscriptions.update(strsubscription_identifier, SubscriptionUpdateParams**kwargs) -> Subscription` **put** `/accounts/{account_id}/subscriptions/{subscription_identifier}` Updates an account subscription. ### Parameters - `account_id: str` Identifier - `subscription_identifier: str` Subscription identifier tag. - `frequency: Optional[Literal["weekly", "monthly", "quarterly", "yearly"]]` How often the subscription is renewed automatically. - `"weekly"` - `"monthly"` - `"quarterly"` - `"yearly"` - `rate_plan: Optional[RatePlan]` The rate plan applied to the subscription. - `id: Optional[Literal["free", "lite", "pro", 7 more]]` The ID of the rate plan. - `"free"` - `"lite"` - `"pro"` - `"pro_plus"` - `"business"` - `"enterprise"` - `"partners_free"` - `"partners_pro"` - `"partners_business"` - `"partners_enterprise"` - `currency: Optional[str]` The currency applied to the rate plan subscription. - `externally_managed: Optional[bool]` Whether this rate plan is managed externally from Cloudflare. - `is_contract: Optional[bool]` Whether a rate plan is enterprise-based (or newly adopted term contract). - `public_name: Optional[str]` The full name of the rate plan. - `scope: Optional[str]` The scope that this rate plan applies to. - `sets: Optional[List[str]]` The list of sets this rate plan applies to. Returns array of strings. ### Returns - `class Subscription: …` - `id: Optional[str]` Subscription identifier tag. - `currency: Optional[str]` The monetary unit in which pricing information is displayed. - `current_period_end: Optional[datetime]` The end of the current period and also when the next billing is due. - `current_period_start: Optional[datetime]` When the current billing period started. May match initial_period_start if this is the first period. - `frequency: Optional[Literal["weekly", "monthly", "quarterly", "yearly"]]` How often the subscription is renewed automatically. - `"weekly"` - `"monthly"` - `"quarterly"` - `"yearly"` - `price: Optional[float]` The price of the subscription that will be billed, in US dollars. - `rate_plan: Optional[RatePlan]` The rate plan applied to the subscription. - `id: Optional[Literal["free", "lite", "pro", 7 more]]` The ID of the rate plan. - `"free"` - `"lite"` - `"pro"` - `"pro_plus"` - `"business"` - `"enterprise"` - `"partners_free"` - `"partners_pro"` - `"partners_business"` - `"partners_enterprise"` - `currency: Optional[str]` The currency applied to the rate plan subscription. - `externally_managed: Optional[bool]` Whether this rate plan is managed externally from Cloudflare. - `is_contract: Optional[bool]` Whether a rate plan is enterprise-based (or newly adopted term contract). - `public_name: Optional[str]` The full name of the rate plan. - `scope: Optional[str]` The scope that this rate plan applies to. - `sets: Optional[List[str]]` The list of sets this rate plan applies to. Returns array of strings. - `state: Optional[Literal["Trial", "Provisioned", "Paid", 4 more]]` The state that the subscription is in. - `"Trial"` - `"Provisioned"` - `"Paid"` - `"AwaitingPayment"` - `"Cancelled"` - `"Failed"` - `"Expired"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) subscription = client.accounts.subscriptions.update( subscription_identifier="506e3185e9c882d175a2d0cb0093d9f2", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(subscription.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "506e3185e9c882d175a2d0cb0093d9f2", "currency": "USD", "current_period_end": "2014-03-31T12:20:00Z", "current_period_start": "2014-05-11T12:20:00Z", "frequency": "monthly", "price": 20, "rate_plan": { "id": "free", "currency": "USD", "externally_managed": false, "is_contract": false, "public_name": "Business Plan", "scope": "zone", "sets": [ "string" ] }, "state": "Paid" }, "success": true } ```