## Update Subscription `client.Accounts.Subscriptions.Update(ctx, subscriptionIdentifier, params) (*Subscription, error)` **put** `/accounts/{account_id}/subscriptions/{subscription_identifier}` Updates an account subscription. ### Parameters - `subscriptionIdentifier string` Subscription identifier tag. - `params SubscriptionUpdateParams` - `AccountID param.Field[string]` Path param: Identifier - `Subscription param.Field[Subscription]` Body param ### Returns - `type Subscription struct{…}` - `ID string` Subscription identifier tag. - `Currency string` The monetary unit in which pricing information is displayed. - `CurrentPeriodEnd Time` The end of the current period and also when the next billing is due. - `CurrentPeriodStart Time` When the current billing period started. May match initial_period_start if this is the first period. - `Frequency SubscriptionFrequency` How often the subscription is renewed automatically. - `const SubscriptionFrequencyWeekly SubscriptionFrequency = "weekly"` - `const SubscriptionFrequencyMonthly SubscriptionFrequency = "monthly"` - `const SubscriptionFrequencyQuarterly SubscriptionFrequency = "quarterly"` - `const SubscriptionFrequencyYearly SubscriptionFrequency = "yearly"` - `Price float64` The price of the subscription that will be billed, in US dollars. - `RatePlan RatePlan` The rate plan applied to the subscription. - `ID RatePlanID` The ID of the rate plan. - `const RatePlanIDFree RatePlanID = "free"` - `const RatePlanIDLite RatePlanID = "lite"` - `const RatePlanIDPro RatePlanID = "pro"` - `const RatePlanIDProPlus RatePlanID = "pro_plus"` - `const RatePlanIDBusiness RatePlanID = "business"` - `const RatePlanIDEnterprise RatePlanID = "enterprise"` - `const RatePlanIDPartnersFree RatePlanID = "partners_free"` - `const RatePlanIDPartnersPro RatePlanID = "partners_pro"` - `const RatePlanIDPartnersBusiness RatePlanID = "partners_business"` - `const RatePlanIDPartnersEnterprise RatePlanID = "partners_enterprise"` - `Currency string` The currency applied to the rate plan subscription. - `ExternallyManaged bool` Whether this rate plan is managed externally from Cloudflare. - `IsContract bool` Whether a rate plan is enterprise-based (or newly adopted term contract). - `PublicName string` The full name of the rate plan. - `Scope string` The scope that this rate plan applies to. - `Sets []string` The list of sets this rate plan applies to. Returns array of strings. - `State SubscriptionState` The state that the subscription is in. - `const SubscriptionStateTrial SubscriptionState = "Trial"` - `const SubscriptionStateProvisioned SubscriptionState = "Provisioned"` - `const SubscriptionStatePaid SubscriptionState = "Paid"` - `const SubscriptionStateAwaitingPayment SubscriptionState = "AwaitingPayment"` - `const SubscriptionStateCancelled SubscriptionState = "Cancelled"` - `const SubscriptionStateFailed SubscriptionState = "Failed"` - `const SubscriptionStateExpired SubscriptionState = "Expired"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/accounts" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/shared" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) subscription, err := client.Accounts.Subscriptions.Update( context.TODO(), "506e3185e9c882d175a2d0cb0093d9f2", accounts.SubscriptionUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Subscription: shared.SubscriptionParam{ }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ```