Manage subscriptions
Once your customer has a zone provisioned, you can add zone and account-level subscriptions.
Zone subscriptions
Create zone subscription
To create a zone subscription, typically used to upgrade a zone’s plan from PARTNERS_FREE
to a paid Zone plan, send a POST request to the /zones/{zone_id}/subscription
endpoint and include the following values:
rate_plan
object
- Contains the zone plan corresponding to what customers would order in the dashboard. For a list of available values, refer to Zone subscriptions.
component_values
array
- Additional services depending on your reseller agreement, such as additional
page_rules
.
- Additional services depending on your reseller agreement, such as additional
frequency
string
- How often the subscription is renewed automatically (defaults to
"monthly"
).
- How often the subscription is renewed automatically (defaults to
Request (without `component_values`)curl 'https://api.cloudflare.com/client/v4/zones/{zone_id}/subscription' \
--header "x-auth-email: <EMAIL>" \
--header "x-auth-key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{ "rate_plan": { "id": "<RATE_PLAN>" }, "frequency": "annual"}'
Request (with `component_values`)curl 'https://api.cloudflare.com/client/v4/zones/{zone_id}/subscription' \
--header "x-auth-email: <EMAIL>" \
--header "x-auth-key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{ "rate_plan": { "id": "PARTNERS_BIZ" }, "component_values": [ { "name": "page_rules", "value": 50 } ]
}
Get zone subscription details
To get the details of a zone subscription, send a GET
request to the /zones/<ZONE_ID>/subscription
endpoint.
Update zone subscription
To update a subscription on a zone, typically used to update an existing subscription’s ‘component_values’ or to downgrade a zone’s subscription, send a PUT
request to the /zones/<ZONE_ID>/subscription
endpoint.
Account subscriptions
Depending on your agreement, you may be allowed to resell other add-on services. These are provisioned as account-level subscriptions.
Create account subscription
To create an account subscription, send a POST request to the /accounts/{account_id}/subscriptions
endpoint and include the following values:
rate_plan
object
- Contains the account subscription corresponding to a specific add-on service. For a list of available values, refer to Available subscriptions.
component_values
array
- Additional services depending on your reseller agreement, such as additional endpoints for load balancing or additional seats for Cloudflare Zero Trust. If not included, the subscription includes the default values associated with each purchase.
frequency
string
- How often the subscription is renewed automatically (defaults to
"monthly"
).
- How often the subscription is renewed automatically (defaults to
Requestcurl 'https://api.cloudflare.com/client/v4/accounts/{account_id}/subscriptions' \
--header "x-auth-email: <EMAIL>" \
--header "x-auth-key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{ "rate_plan": { "id": "<RATE_PLAN_NAME>" }}'
Get account subscription details
To get all subscriptions for an account, send a GET
request to the /accounts/<ACCOUNT_ID>/subscriptions
endpoint.
Update account subscription
To update a subscription on an account, send a PUT
request to the /accounts/<ACCOUNT_ID>/subscriptions/<SUBSCRIPTION_ID>
endpoint.
Delete account subscription
To delete a subscription on an account, send a DELETE
request to the /accounts/<ACCOUNT_ID>/subscriptions/<SUBSCRIPTION_ID>
endpoint.