SQL Server / Zoom API / Cancel additional plans
Back to Collection Items
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
DECLARE @http int
-- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0
EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
DECLARE @req int
-- Use "Chilkat_9_5_0.HttpRequest" for versions of Chilkat < 10.0.0
EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @req OUT
EXEC sp_OASetProperty @req, 'HttpVerb', 'PATCH'
EXEC sp_OASetProperty @req, 'Path', '/v2/accounts/:accountId/plans/addons/status'
EXEC sp_OASetProperty @req, 'ContentType', 'multipart/form-data'
EXEC sp_OAMethod @req, 'AddParam', NULL, 'action', 'cancel'
EXEC sp_OAMethod @req, 'AddStringForUpload2', @success OUT, '', '', '', '', 'cancelcupidatat nisi'
EXEC sp_OAMethod @req, 'AddParam', NULL, 'reason', 'cancelcupidatat nisi3'
EXEC sp_OAMethod @req, 'AddParam', NULL, 'comment', 'cancelcupidatat nisi3ea est'
EXEC sp_OAMethod @req, 'AddHeader', NULL, 'Authorization', 'Bearer <access_token>'
DECLARE @resp int
EXEC sp_OAMethod @http, 'SynchronousRequest', @resp OUT, 'api.zoom.us', 443, 1, @req
EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT
IF @iTmp0 = 0
BEGIN
EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @req
RETURN
END
EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT
PRINT @iTmp0
EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @resp
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @req
END
GO
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": ""
}
]
}