C / Zoom API / Cancel additional plans
Back to Collection Items
#include <C_CkHttp.h>
#include <C_CkHttpRequest.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
HCkHttp http;
BOOL success;
HCkHttpRequest req;
HCkHttpResponse resp;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
req = CkHttpRequest_Create();
CkHttpRequest_putHttpVerb(req,"PATCH");
CkHttpRequest_putPath(req,"/v2/accounts/:accountId/plans/addons/status");
CkHttpRequest_putContentType(req,"multipart/form-data");
CkHttpRequest_AddParam(req,"action","cancel");
CkHttpRequest_AddStringForUpload2(req,"","","","","cancelcupidatat nisi");
CkHttpRequest_AddParam(req,"reason","cancelcupidatat nisi3");
CkHttpRequest_AddParam(req,"comment","cancelcupidatat nisi3ea est");
CkHttpRequest_AddHeader(req,"Authorization","Bearer <access_token>");
resp = CkHttp_SynchronousRequest(http,"api.zoom.us",443,TRUE,req);
if (CkHttp_getLastMethodSuccess(http) == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
return;
}
printf("%d\n",CkHttpResponse_getStatusCode(resp));
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttpResponse_Dispose(resp);
CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
}
Curl Command
curl -X PATCH
-H "Authorization: Bearer <access_token>"
-H "Content-Type: multipart/form-data"
--form 'action=cancel'
--form 'type=cancelcupidatat nisi'
--form 'reason=cancelcupidatat nisi3'
--form 'comment=cancelcupidatat nisi3ea est'
https://api.zoom.us/v2/accounts/:accountId/plans/addons/status
Postman Collection Item JSON
{
"name": "Cancel additional plans",
"request": {
"auth": {
"type": "oauth2"
},
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "multipart/form-data"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "action",
"value": "cancel",
"description": "The action that needs to be taken for this sub account. Value must be set to \"cancel\". (This can only be one of cancel)",
"type": "text"
},
{
"key": "type",
"value": "cupidatat nisi",
"description": "Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).",
"type": "text"
},
{
"key": "reason",
"value": "3",
"description": "The reason for the cancellation of plan. Reason options:<br>`1` - I am no longer working remote.<br>`2` - I had challenges getting the support I needed.<br>`3` - Features in the Basic Free Plan are sufficient.<br>`4` - The expense is too high.<br>`5` - I purchased the wrong product.<br> `6` - Paid purchase not needed right now, will repurchase in the future. (This can only be one of 1,2,3,4,5,6)",
"type": "text"
},
{
"key": "comment",
"value": "ea est",
"description": "Additional comments about the cancellation decision.",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/accounts/:accountId/plans/addons/status",
"host": [
"{{baseUrl}}"
],
"path": [
"accounts",
":accountId",
"plans",
"addons",
"status"
],
"variable": [
{
"key": "accountId"
}
]
},
"description": "[Cancel additional plan](https://support.zoom.us/hc/en-us/articles/203634215-How-Do-I-Cancel-My-Subscription-) of a sub account. The cancellation does not provide refund for the current subscription. The service remains active for the current session.\n\nThis API can only be used by master accounts that pay all billing charges of their associated Pro or higher sub accounts. Zoom allows only [approved partners](https://marketplace.zoom.us/docs/api-reference/master-account-apis) to use master APIs and manage sub accounts' subscriptions. Email the partner programs team at **partner-success@zoom.us** for more details.<br><br>\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`<br>\n\n**Prerequisites:**<br>\n* Pro or a higher plan with master account option enabled.\n* The sub account must be a paid account.<br>\n**Scope:** `billing:master`<br>\n "
},
"response": [
{
"name": "**Error Code:** `200`<br>\nYou cannot cancel plan for a sub account that is under a free plan.<br>\nYou cannot perform this action because you do not have a Zoom Phone subscription for this account.<br>\nFree trial and VIP accounts can not cancel plans of a ",
"originalRequest": {
"method": "PATCH",
"header": [
{
"description": "Added as a part of security scheme: oauth2",
"key": "Authorization",
"value": "<token>"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "action",
"value": "cancel",
"description": "The action that needs to be taken for this sub account. Value must be set to \"cancel\". (This can only be one of cancel)",
"type": "text"
},
{
"key": "type",
"value": "cupidatat nisi",
"description": "Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).",
"type": "text"
},
{
"key": "reason",
"value": "3",
"description": "The reason for the cancellation of plan. Reason options:<br>`1` - I am no longer working remote.<br>`2` - I had challenges getting the support I needed.<br>`3` - Features in the Basic Free Plan are sufficient.<br>`4` - The expense is too high.<br>`5` - I purchased the wrong product.<br> `6` - Paid purchase not needed right now, will repurchase in the future. (This can only be one of 1,2,3,4,5,6)",
"type": "text"
},
{
"key": "comment",
"value": "ea est",
"description": "Additional comments about the cancellation decision.",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/accounts/:accountId/plans/addons/status",
"host": [
"{{baseUrl}}"
],
"path": [
"accounts",
":accountId",
"plans",
"addons",
"status"
],
"variable": [
{
"key": "accountId"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "**HTTP Status Code:** `204`<br>\nPlan cancelled successfully. ",
"originalRequest": {
"method": "PATCH",
"header": [
{
"description": "Added as a part of security scheme: oauth2",
"key": "Authorization",
"value": "<token>"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "action",
"value": "cancel",
"description": "The action that needs to be taken for this sub account. Value must be set to \"cancel\". (This can only be one of cancel)",
"type": "text"
},
{
"key": "type",
"value": "cupidatat nisi",
"description": "Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).",
"type": "text"
},
{
"key": "reason",
"value": "3",
"description": "The reason for the cancellation of plan. Reason options:<br>`1` - I am no longer working remote.<br>`2` - I had challenges getting the support I needed.<br>`3` - Features in the Basic Free Plan are sufficient.<br>`4` - The expense is too high.<br>`5` - I purchased the wrong product.<br> `6` - Paid purchase not needed right now, will repurchase in the future. (This can only be one of 1,2,3,4,5,6)",
"type": "text"
},
{
"key": "comment",
"value": "ea est",
"description": "Additional comments about the cancellation decision.",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/accounts/:accountId/plans/addons/status",
"host": [
"{{baseUrl}}"
],
"path": [
"accounts",
":accountId",
"plans",
"addons",
"status"
],
"variable": [
{
"key": "accountId"
}
]
}
},
"status": "No Content",
"code": 204,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{}"
},
{
"name": "**Error Code:** `300`<br>\nPlan type is required.",
"originalRequest": {
"method": "PATCH",
"header": [
{
"description": "Added as a part of security scheme: oauth2",
"key": "Authorization",
"value": "<token>"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "action",
"value": "cancel",
"description": "The action that needs to be taken for this sub account. Value must be set to \"cancel\". (This can only be one of cancel)",
"type": "text"
},
{
"key": "type",
"value": "cupidatat nisi",
"description": "Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).",
"type": "text"
},
{
"key": "reason",
"value": "3",
"description": "The reason for the cancellation of plan. Reason options:<br>`1` - I am no longer working remote.<br>`2` - I had challenges getting the support I needed.<br>`3` - Features in the Basic Free Plan are sufficient.<br>`4` - The expense is too high.<br>`5` - I purchased the wrong product.<br> `6` - Paid purchase not needed right now, will repurchase in the future. (This can only be one of 1,2,3,4,5,6)",
"type": "text"
},
{
"key": "comment",
"value": "ea est",
"description": "Additional comments about the cancellation decision.",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/accounts/:accountId/plans/addons/status",
"host": [
"{{baseUrl}}"
],
"path": [
"accounts",
":accountId",
"plans",
"addons",
"status"
],
"variable": [
{
"key": "accountId"
}
]
}
},
"status": "Multiple Choices",
"code": 300,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "**HTTP Status Code:** `400`<br> \n**Error Code:** `2100`<br>\nThis sub account is on self pay mode.<br>\nYou cannot make cancellation requests for a bundle plan. Contact the Zoom Support team for details.<br>\nMaster accounts with bulk licenses cannot provisi",
"originalRequest": {
"method": "PATCH",
"header": [
{
"description": "Added as a part of security scheme: oauth2",
"key": "Authorization",
"value": "<token>"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "action",
"value": "cancel",
"description": "The action that needs to be taken for this sub account. Value must be set to \"cancel\". (This can only be one of cancel)",
"type": "text"
},
{
"key": "type",
"value": "cupidatat nisi",
"description": "Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).",
"type": "text"
},
{
"key": "reason",
"value": "3",
"description": "The reason for the cancellation of plan. Reason options:<br>`1` - I am no longer working remote.<br>`2` - I had challenges getting the support I needed.<br>`3` - Features in the Basic Free Plan are sufficient.<br>`4` - The expense is too high.<br>`5` - I purchased the wrong product.<br> `6` - Paid purchase not needed right now, will repurchase in the future. (This can only be one of 1,2,3,4,5,6)",
"type": "text"
},
{
"key": "comment",
"value": "ea est",
"description": "Additional comments about the cancellation decision.",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/accounts/:accountId/plans/addons/status",
"host": [
"{{baseUrl}}"
],
"path": [
"accounts",
":accountId",
"plans",
"addons",
"status"
],
"variable": [
{
"key": "accountId"
}
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "**HTTP Status Code:** `404`<br>\n**Error Code:** `1001`<br>\nUser does not exist.<br>\n**Error Code:** `2001`<br> \nAccount does not exist: {subAccountId}.\n\n",
"originalRequest": {
"method": "PATCH",
"header": [
{
"description": "Added as a part of security scheme: oauth2",
"key": "Authorization",
"value": "<token>"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "action",
"value": "cancel",
"description": "The action that needs to be taken for this sub account. Value must be set to \"cancel\". (This can only be one of cancel)",
"type": "text"
},
{
"key": "type",
"value": "cupidatat nisi",
"description": "Plan [type](https://marketplace.zoom.us/docs/api-reference/other-references/plans).",
"type": "text"
},
{
"key": "reason",
"value": "3",
"description": "The reason for the cancellation of plan. Reason options:<br>`1` - I am no longer working remote.<br>`2` - I had challenges getting the support I needed.<br>`3` - Features in the Basic Free Plan are sufficient.<br>`4` - The expense is too high.<br>`5` - I purchased the wrong product.<br> `6` - Paid purchase not needed right now, will repurchase in the future. (This can only be one of 1,2,3,4,5,6)",
"type": "text"
},
{
"key": "comment",
"value": "ea est",
"description": "Additional comments about the cancellation decision.",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/accounts/:accountId/plans/addons/status",
"host": [
"{{baseUrl}}"
],
"path": [
"accounts",
":accountId",
"plans",
"addons",
"status"
],
"variable": [
{
"key": "accountId"
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}