@itentialopensource/adapter-zoom
Version:
This adapter integrates with system described as: zoom.
1,321 lines (1,320 loc) • 481 kB
JSON
{
"swagger": "2.0",
"x-explorer-enabled": false,
"info": {
"title": "Zoom API",
"description": "API Description",
"contact": {
"name": "Zoom Developers",
"url": "https://developer.zoom.us/",
"email": "developer@zoom.us"
},
"license": {
"name": "MIT",
"url": "https://opensource.org/licenses/MIT"
},
"version": "2.0.0"
},
"host": "api.zoom.us",
"basePath": "/v2",
"schemes": [
"https"
],
"consumes": [
"application/json",
"multipart/form-data"
],
"produces": [
"application/json",
"application/xml"
],
"paths": {
"/accounts": {
"get": {
"summary": "List sub accounts",
"description": "List all the sub accounts under the master account",
"tags": [
"Accounts"
],
"operationId": "accounts",
"parameters": [
{
"$ref": "#/parameters/PageSize"
},
{
"$ref": "#/parameters/PageNumber"
}
],
"responses": {
"200": {
"description": "Account list returned",
"schema": {
"$ref": "#/definitions/AccountList"
}
}
}
},
"post": {
"summary": "Create a sub account",
"description": "Create a sub account under the master account. <aside>Your account must be a master account and have this privilege to create sub account. Zoom only assigns this privilege to trusted partners. The created user will not receive a confirmation email.</aside>.",
"tags": [
"Accounts"
],
"operationId": "accountCreate",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"description": "Account",
"schema": {
"$ref": "#/definitions/Account"
}
}
],
"responses": {
"201": {
"description": "Account Created",
"headers": {
"Content-Location": {
"description": "Location of created Account",
"type": "string"
}
},
"schema": {
"properties": {
"id": {
"type": "string",
"description": "Account ID"
},
"owner_id": {
"type": "string",
"description": "Account Owner ID"
},
"owner_email": {
"type": "string",
"description": "Account owner email"
},
"created_at": {
"type": "string",
"description": "Account created date time"
}
}
}
},
"409": {
"description": "Account with that email already exists"
}
}
}
},
"/accounts/{accountId}": {
"get": {
"summary": "Retrieve a sub account",
"description": "Retrieve a sub account under the master account. <aside>Your account must be a master account and have this privilege to read sub accounts. Zoom only assigns this privilege to trusted partners</aside>.",
"tags": [
"Accounts"
],
"operationId": "account",
"parameters": [
{
"$ref": "#/parameters/AccountId"
}
],
"responses": {
"200": {
"description": "Account object returned",
"schema": {
"properties": {
"id": {
"type": "string",
"description": "Account ID"
},
"owner_id": {
"type": "string",
"description": "Account Owner ID"
},
"owner_email": {
"type": "string",
"description": "Account Owner email"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Account creation date/time"
},
"options": {
"$ref": "#/definitions/AccountOptions"
},
"vanity_url": {
"type": "string",
"description": "Account Vanity URL"
}
}
}
},
"404": {
"description": "User not found"
}
}
},
"delete": {
"summary": "Disassociate an account",
"description": "Disassociate a sub account from the master account. This will leave the account intact but the sub account will not longer be associated with the master account.",
"tags": [
"Accounts"
],
"operationId": "accountDisassociate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
}
],
"responses": {
"204": {
"description": "Account deleted"
},
"404": {
"description": "Account not found"
}
}
}
},
"/accounts/{accountId}/options": {
"patch": {
"summary": "Update a sub account's options",
"description": "Update a sub account's options under the master account",
"tags": [
"Accounts"
],
"operationId": "accountOptionsUpdate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AccountOptions"
}
}
],
"responses": {
"204": {
"description": "Account options updated"
},
"404": {
"description": "Account not found"
}
}
}
},
"/accounts/{accountId}/settings": {
"get": {
"summary": "Retrieve a sub account's settings",
"description": "Retrieve a sub account's settings under the master account",
"tags": [
"Accounts"
],
"operationId": "accountSettings",
"parameters": [
{
"$ref": "#/parameters/AccountId"
}
],
"responses": {
"200": {
"description": "Account settings returned",
"schema": {
"$ref": "#/definitions/AccountSettings"
}
},
"404": {
"description": "Account not found"
}
}
},
"patch": {
"summary": "Update a sub account's settings",
"description": "Update a sub account's settings under the master account",
"tags": [
"Accounts"
],
"operationId": "accountSettingsUpdate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AccountSettings"
}
}
],
"responses": {
"204": {
"description": "Account settings updated"
},
"404": {
"description": "Account not found"
}
}
}
},
"/accounts/{accountId}/managed_domains": {
"get": {
"summary": "Retrieve a sub account's managed domains",
"description": "Retrieve a sub account's managed domains under the master account",
"tags": [
"Accounts"
],
"operationId": "accountManagedDomain",
"parameters": [
{
"$ref": "#/parameters/AccountId"
}
],
"responses": {
"200": {
"description": "Account managed domains returned",
"schema": {
"$ref": "#/definitions/DomainsList"
}
},
"404": {
"description": "Account not found"
}
}
}
},
"/accounts/{accountId}/billing": {
"get": {
"summary": "Retrieve billing information for a sub account",
"description": "Retrieve billing information for a sub account under the master account",
"tags": [
"Billing"
],
"operationId": "accountBilling",
"parameters": [
{
"$ref": "#/parameters/AccountId"
}
],
"responses": {
"200": {
"description": "Account billing contact information returned",
"schema": {
"$ref": "#/definitions/BillingContactRequired"
}
},
"404": {
"description": "Account not found"
}
}
},
"patch": {
"summary": "Update billing information for a sub account",
"description": "Update billing information for a sub account under the master account <aside>Only for the sub account which is a paid account and paid by master account</aside>",
"tags": [
"Billing"
],
"operationId": "accountBillingUpdate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/BillingContact"
}
}
],
"responses": {
"204": {
"description": "Account billing contact information updated"
},
"404": {
"description": "Account not found"
}
}
}
},
"/accounts/{accountId}/plans": {
"get": {
"summary": "Retrieve plan information for a sub account",
"description": "Retrieve plan information for a sub account under the master account <aside>Only for the sub account which is paid by master account</aside>",
"tags": [
"Billing"
],
"operationId": "accountPlans",
"parameters": [
{
"$ref": "#/parameters/AccountId"
}
],
"responses": {
"200": {
"description": "Account plans returned",
"schema": {
"$ref": "#/definitions/AccountPlans"
}
},
"404": {
"description": "Account not fond"
}
}
},
"post": {
"summary": "Subscribe plans for a sub account",
"description": "Subscribe plans for a sub account of the master account <aside>Can only subscribe plans for the sub account which is a free account and paid by master account</aside>",
"tags": [
"Billing"
],
"operationId": "accountPlanCreate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"contact": {
"$ref": "#/definitions/BillingContactRequired"
}
}
},
{
"$ref": "#/definitions/AccountPlans"
}
]
}
}
],
"responses": {
"201": {
"description": "Account plans updated",
"schema": {
"$ref": "#/definitions/AccountPlans"
}
}
}
}
},
"/accounts/{accountId}/plans/base": {
"put": {
"summary": "Update a base plan for a sub account",
"description": "Update a base plan for a sub account <aside>Can only update a base plan for the sub account which is a paid account and paid by master account</aside>",
"tags": [
"Billing"
],
"operationId": "accountPlanBaseUpdate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AccountPlanBaseRequired"
}
}
],
"responses": {
"204": {
"description": "Account plans updated"
}
}
}
},
"/accounts/{accountId}/plans/addons": {
"post": {
"summary": "Add an additional plan for sub account",
"description": "Add an additional plan for sub account <aside>Can only add an Additional plan for the sub account which is a paid account and paid by master account</aside>",
"tags": [
"Billing"
],
"operationId": "accountPlanAddonCreate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AccountPlanRequired"
}
}
],
"responses": {
"201": {
"description": "Account plans updated"
}
}
},
"put": {
"summary": "Update an additional plan for sub account",
"description": "Update an additional plan for sub account<aside>Can only update an Additional plan for the sub account which is a paid account and paid by master account</aside>",
"tags": [
"Billing"
],
"operationId": "accountPlanAddonUpdate",
"parameters": [
{
"$ref": "#/parameters/AccountId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AccountPlanRequired"
}
}
],
"responses": {
"204": {
"description": "Account plans updated"
}
}
}
},
"/groups": {
"get": {
"summary": "List groups",
"description": "List groups under your account",
"tags": [
"Groups"
],
"parameters": [],
"operationId": "groups",
"responses": {
"200": {
"description": "List of groups returned",
"schema": {
"$ref": "#/definitions/GroupList"
}
}
}
},
"post": {
"summary": "Create a group",
"description": "Create a group under your account",
"tags": [
"Groups"
],
"operationId": "groupCreate",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"properties": {
"name": {
"type": "string",
"description": "Group name"
}
}
}
}
],
"responses": {
"201": {
"description": "Group created",
"headers": {
"Content-Location": {
"description": "Location of created group",
"type": "string"
}
},
"schema": {
"properties": {
"id": {
"type": "string",
"description": "Group ID"
},
"name": {
"type": "string",
"description": "Group name"
},
"total_members": {
"type": "integer",
"description": "Group member count"
}
}
}
}
}
}
},
"/groups/{groupId}": {
"get": {
"summary": "Retrieve a group",
"description": "Retrieve a group under your account",
"tags": [
"Groups"
],
"operationId": "group",
"parameters": [
{
"$ref": "#/parameters/GroupId"
}
],
"responses": {
"200": {
"description": "Group object returned",
"schema": {
"allOf": [
{
"properties": {
"id": {
"type": "string",
"description": "Group ID"
}
}
},
{
"$ref": "#/definitions/Group"
}
]
}
},
"404": {
"description": "Group not found"
}
}
},
"patch": {
"summary": "Update a group",
"description": "Update a group under your account",
"tags": [
"Groups"
],
"operationId": "groupUpdate",
"parameters": [
{
"$ref": "#/parameters/GroupId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"properties": {
"name": {
"type": "string",
"description": "Group name. Must be unique in one account. Character length is less than 128."
}
}
}
}
],
"responses": {
"204": {
"description": "Group updated"
},
"404": {
"description": "Group not found"
}
}
},
"delete": {
"summary": "Delete a group",
"description": "Delete a group under your account",
"tags": [
"Groups"
],
"operationId": "groupDelete",
"parameters": [
{
"$ref": "#/parameters/GroupId"
}
],
"responses": {
"204": {
"description": "Group deleted"
},
"404": {
"description": "Group not found"
}
}
}
},
"/groups/{groupId}/members": {
"get": {
"summary": "List a group's members",
"description": "List a group's members under your account",
"tags": [
"Groups"
],
"operationId": "groupMembers",
"parameters": [
{
"$ref": "#/parameters/GroupId"
},
{
"$ref": "#/parameters/PageSize"
},
{
"$ref": "#/parameters/PageNumber"
}
],
"responses": {
"200": {
"description": "Group member list returned",
"schema": {
"$ref": "#/definitions/GroupMemberList"
}
},
"404": {
"description": "Group not found"
}
}
},
"post": {
"summary": "Add group members",
"description": "Add members to a group under your account",
"tags": [
"Groups"
],
"operationId": "groupMembersCreate",
"parameters": [
{
"$ref": "#/parameters/GroupId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"properties": {
"members": {
"type": "array",
"description": "List of Group members",
"maximum": 30,
"items": {
"properties": {
"id": {
"type": "string",
"description": "User ID"
},
"email": {
"type": "string",
"description": "User email. If ID given, email is ignored."
}
}
}
}
}
}
}
],
"responses": {
"201": {
"description": "Member added",
"schema": {
"properties": {
"ids": {
"type": "string"
},
"added_at": {
"type": "string",
"format": "date-time"
}
}
}
},
"404": {
"description": "Group not found"
}
}
}
},
"/groups/{groupId}/members/{memberId}": {
"delete": {
"summary": "Delete a group member",
"description": "Delete a member from a group under your account",
"tags": [
"Groups"
],
"operationId": "groupMembersDelete",
"parameters": [
{
"$ref": "#/parameters/GroupId"
},
{
"$ref": "#/parameters/MemberId"
}
],
"responses": {
"204": {
"description": "Group member deleted"
},
"404": {
"description": "Group or Group member not found"
}
}
}
},
"/h323/devices": {
"get": {
"summary": "List H.323/SIP Devices.",
"description": "List H.323/SIP Devices on your Zoom account.",
"tags": [
"Devices"
],
"parameters": [],
"operationId": "deviceList",
"responses": {
"200": {
"description": "List of H.323/SIP Devices returned.",
"schema": {
"$ref": "#/definitions/DeviceList"
}
}
}
},
"post": {
"summary": "Create a H.323/SIP Device",
"description": "Create a H.323/SIP Device on your Zoom account",
"tags": [
"Devices"
],
"operationId": "deviceCreate",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"description": "H.323/SIP Device",
"schema": {
"$ref": "#/definitions/Device"
}
}
],
"responses": {
"201": {
"description": "H.323/SIP Device created",
"headers": {
"Content-Location": {
"description": "Location of created device",
"type": "string"
}
},
"schema": {
"allOf": [
{
"properties": {
"id": {
"type": "string",
"description": "Device ID"
}
}
},
{
"$ref": "#/definitions/Device"
}
]
}
}
}
}
},
"/h323/devices/{deviceId}": {
"patch": {
"summary": "Update a H.323/SIP Device",
"description": "Update a H.323/SIP Device on your Zoom account",
"tags": [
"Devices"
],
"operationId": "deviceUpdate",
"parameters": [
{
"$ref": "#/parameters/DeviceId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Device"
}
}
],
"responses": {
"204": {
"description": "H.323/SIP Device updated"
},
"404": {
"description": "H.323/SIP Device not found"
}
}
},
"delete": {
"summary": "Delete a H.323/SIP Device",
"description": "Delete a H.323/SIP Device on your Zoom account",
"tags": [
"Devices"
],
"operationId": "deviceDelete",
"parameters": [
{
"$ref": "#/parameters/DeviceId"
}
],
"responses": {
"204": {
"description": "H.323/SIP Device deleted"
},
"404": {
"description": "H.323/SIP Device not found"
}
}
}
},
"/v2/tracking_fields": {
"get": {
"summary": "List Tracking Fields.",
"description": "List Tracking Fields on your Zoom account.",
"tags": [
"TrackingField"
],
"parameters": [],
"operationId": "trackingfieldList",
"responses": {
"200": {
"description": "List of Tracking Fields returned.",
"schema": {
"$ref": "#/definitions/TrackingFieldList"
}
}
}
},
"post": {
"summary": "Create a Tracking Field",
"description": "Create a Tracking Field on your Zoom account",
"tags": [
"TrackingField"
],
"operationId": "trackingfieldCreate",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"description": "Tracking Field",
"schema": {
"$ref": "#/definitions/TrackingField"
}
}
],
"responses": {
"201": {
"description": "Tracking Field created",
"headers": {
"Content-Location": {
"description": "Location of created tracking field",
"type": "string"
}
},
"schema": {
"allOf": [
{
"properties": {
"id": {
"type": "string",
"description": "Tracking Field ID"
}
}
},
{
"$ref": "#/definitions/TrackingField"
}
]
}
}
}
}
},
"/v2/tracking_fields/{fieldId}": {
"get": {
"summary": "Retrieve a tracking field",
"description": "Retrieve a tracking field",
"tags": [
"TrackingField"
],
"operationId": "trackingfieldGet",
"parameters": [
{
"in": "path",
"name": "fieldId",
"description": "The Tracking Field ID",
"type": "string",
"required": true
}
],
"responses": {
"200": {
"description": "Tracking Field object returned",
"schema": {
"allOf": [
{
"properties": {
"id": {
"type": "string",
"description": "Tracking Field ID"
}
}
},
{
"$ref": "#/definitions/TrackingField"
}
]
}
},
"404": {
"description": "Tracking Field not found"
}
}
},
"patch": {
"summary": "Update a Tracking Field",
"description": "Update a Tracking Field on your Zoom account",
"tags": [
"TrackingField"
],
"operationId": "trackingfieldUpdate",
"parameters": [
{
"in": "path",
"name": "fieldId",
"description": "The Tracking Field ID",
"type": "string",
"required": true
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/TrackingField"
}
}
],
"responses": {
"204": {
"description": "Tracking Field updated"
},
"404": {
"description": "Tracking Field not found"
}
}
},
"delete": {
"summary": "Delete a Tracking Field",
"description": "Delete a Tracking Field on your Zoom account",
"tags": [
"TrackingField"
],
"operationId": "trackingfieldDelete",
"parameters": [
{
"in": "path",
"name": "fieldId",
"description": "The Tracking Field ID",
"type": "string",
"required": true
}
],
"responses": {
"204": {
"description": "Tracking Field deleted"
},
"404": {
"description": "Tracking Field not found"
}
}
}
},
"/im/groups": {
"get": {
"summary": "List IM Groups",
"description": "List IM groups under your account",
"tags": [
"IM Groups"
],
"operationId": "imGroups",
"parameters": [],
"responses": {
"200": {
"description": "List of IM Groups returned",
"schema": {
"$ref": "#/definitions/IMGroupList"
}
}
}
},
"post": {
"summary": "Create an IM Group",
"description": "Create a IM Group under your account",
"tags": [
"IM Groups"
],
"operationId": "imGroupCreate",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"properties": {
"name": {
"type": "string",
"description": "Group name, must be unique in one account",
"maxLength": 128
},
"type": {
"type": "string",
"description": "IM Group type",
"default": "normal",
"enum": [
"normal",
"shared",
"restricted"
],
"x-enum-descriptions": [
"Only members can see the group automatically. Other people can search members in the group.",
"All people in the account can see the group and members automatically",
"Nobody can see the group or search members except the members in the group"
]
},
"search_by_domain": {
"type": "boolean",
"description": "Members can search others in the same email domain"
},
"search_by_account": {
"type": "boolean",
"description": "Members can search others under same account"
},
"search_by_ma_account": {
"type": "boolean",
"description": "Members can search others under same master account, including all sub accounts"
}
}
}
}
],
"responses": {
"201": {
"description": "IM Group created",
"headers": {
"Content-Location": {
"description": "Location of created IM Group",
"type": "string"
}
},
"schema": {
"properties": {
"id": {
"type": "string",
"description": "Group ID"
},
"name": {
"type": "string",
"description": "Group name"
},
"total_members": {
"type": "integer",
"description": "Group member count"
},
"search_by_domain": {
"type": "boolean",
"description": "Members can search others in the same email domain"
},
"search_by_account": {
"type": "boolean",
"description": "Members can search others under same account"
},
"search_by_ma_account": {
"type": "boolean",
"description": "Members can search others under same master account, including all sub accounts"
}
}
}
}
}
}
},
"/im/groups/{groupId}": {
"get": {
"summary": "Retrieve an IM Group",
"description": "Retrieve an IM Group under your account",
"tags": [
"IM Groups"
],
"operationId": "imGroup",
"parameters": [
{
"$ref": "#/parameters/GroupId"
}
],
"responses": {
"200": {
"description": "IM Group object returned",
"schema": {
"allOf": [
{
"properties": {
"id": {
"type": "string",
"description": "Group ID"
}
}
},
{
"$ref": "#/definitions/IMGroup"
}
]
}
},
"404": {
"description": "IM Group not found"
}
}
},
"patch": {
"summary": "Update an IM Group",
"description": "Update an IM Group under your account",
"tags": [
"IM Groups"
],
"operationId": "imGroupUpdate",
"parameters": [
{
"$ref": "#/parameters/GroupId"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"properties": {
"name": {
"type": "string",
"description": "Group name, must be unique in one account",
"maxLength": 128
},
"type": {
"type": "string",
"description": "IM Group type",
"enum": [
"normal",
"shared",
"restricted"
],
"x-enum-descriptions": [
"Only members can see the group automatically. Other people can search members in the group.",
"All people in the account can see the group and members automatically",
"Nobody can see the group or search members except the members in the group"
]
},
"search_by_domain": {
"type": "boolean",
"description": "Members can search others in the same email domain"
},
"search_by_account": {
"type": "boolean",
"description": "Members can search others under same account"
},
"search_by_ma_account": {
"type": "boolean",
"description": "Members can search others under same master account, including all sub accounts"
}
}
}
}
],
"responses": {
"204": {
"description": "IM Group updated"
},
"404": {
"description": "IM Group not found"
}
}
},
"delete": {
"summary": "Delete an IM Group",
"description": "Delete an IM Group under your account",
"tags": [
"IM Groups"
],
"operationId": "imGroupDelete",
"parameters": [
{
"$ref": "#/parameters/GroupId"
}
],
"responses": {
"204": {
"description": "IM Group deleted"
},
"404": {
"description": "IM Group not found"
}
}
}
},
"/im/groups/{groupId}/members": {
"get": {
"summary": "List an IM Group's members",
"description": "List an IM Group's members under your account",
"tags": [
"IM Groups"
],
"operationId": "imGroupMembers",
"parameters": [
{
"$ref": "#/parameters/GroupId"
},
{
"$ref": "#/parameters/PageSize"
},
{
"$ref": "#/parameters/PageNumber"
}
],
"responses": {
"200": {
"description": "IM Group member list returned",
"schema": {
"$ref": "#/definitions/GroupMemberList"
}
},
"404": {
"description": "IM Group not found"
}
}
},
"post": {
"summary": "Add IM Group members",
"description": "Add members to an IM Group under your account",
"tags": [