{"openapi":"3.0.0","info":{"title":"Clips","description":"Clips APIs allow developers to interface with [Zoom Clips](https://developers.zoom.us/docs/zoom-clips/) features programmatically. Zoom Clips enables users to capture, manage, and share short video recordings, making it a valuable tool for collaboration, communication, and documentation.","termsOfService":"https://zoom.us/docs/en-us/zoom_api_license_and_tou.html","contact":{"name":"Zoom Developers","url":"https://developer.zoom.us/"},"version":"2"},"externalDocs":{"description":"Find out more about Swagger","url":"https://swagger.io"},"servers":[{"url":"https://api.zoom.us/"}],"paths":{"/clips":{"get":{"tags":["Clips"],"summary":"List all clips","description":"Returns a list of clips of the current user or a list of all clips under the account. \n\n **Required scopes** \n`clips:read:list_user_clips:admin)`\n\n**Note** \n`user_id` can intake Zoom user ID or email, which only applies when `scope = clips:read:list_user_clips:admin` or `scope=clips:read:list_user_clips:master`. Otherwise, the `user_id` can only intake `me`.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read`,`clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:list_user_clips`,`clips:read:list_user_clips:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"GetUserClips","parameters":[{"name":"user_id","in":"query","description":"The email address or user ID of the clip owner. Providing this parameter will return only the clip owned by the specified user. If set to `me`, it returns the matched clips of current user.","required":false,"schema":{"type":"string","example":"me"}},{"name":"search_key","in":"query","description":"The name of a clip. Providing this parameter enables the system to return only the matching clip. Otherwise, all clips will be returned.","required":false,"schema":{"type":"string","example":"Clip-20250303"}},{"name":"date_filter_type","in":"query","description":"The clip date filter type. Enum:\n\nCREATED_DATE - clip create date.\nMODIFIED_DATE - clip modify date.","required":false,"schema":{"type":"string","example":"MODIFIED_DATE","default":"MODIFIED_DATE","enum":["CREATED_DATE","MODIFIED_DATE"]}},{"name":"from","in":"query","description":"The queried start date and time in yyyy-MM-dd'T'HH:mm:ss'Z' UTC format for the created date range for which you would like to retrieve clips. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2024, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2024-06-30” and the value of the 'to' field will be “2024-07-01”.","required":false,"schema":{"type":"string","example":"2024-03-08T16:00:00Z"}},{"name":"to","in":"query","description":"The queried end date and time in yyyy-MM-dd'T'HH:mm:ss'Z' UTC format.","required":false,"schema":{"type":"string","example":"2024-03-08T16:00:00Z"}},{"name":"status","in":"query","description":"The status of the clips. Enum:\n\nRECORD_START - clips init status\nRECORD_FAILED - clips failed\nRECORD_END - clips can play but can't download,no thumbnail and duration\nRECORD_SUCCESS - clips can play and download\nRECORD_DELETE - clips has been delete\nSUSPENDED - clips has been suspended","required":false,"schema":{"type":"string","example":"RECORD_SUCCESS","enum":["RECORD_START","RECORD_FAILED","RECORD_END","RECORD_SUCCESS","RECORD_DELETE","SUSPENDED"]}},{"name":"page_size","in":"query","description":"The number of records returned within a single API call.","required":false,"schema":{"maximum":300,"minimum":30,"type":"integer","example":30}},{"name":"next_page_token","in":"query","description":"The next page token paginates through large result sets. A next page token returns whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.","required":false,"schema":{"type":"string","example":"IAfJX3jsOLW7w3dokmFl84zOa0MAVGyMEB2"}}],"responses":{"200":{"description":"Clips list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"The list of clips.","items":{"type":"object","properties":{"title":{"type":"string","description":"The title of the clip. ","example":"clips test title"},"description":{"type":"string","description":"The description of the clip.","example":"just for test"},"duration":{"type":"number","description":"The duration of the clip, where the unit of duration is seconds.","example":6000},"status":{"type":"string","description":"The clip status.\n\nRECORD_START - It means the clip recording has started but has not yet ended.\n\nRECORD_FAILED - It means the clip recording failed.\n\nRECORD_END - It means the clip recording has ended but the MP4 transcription is not yet complete.\n\nRECORD_SUCCESS - It means the clip recording has reached its final state and is fully complete.\n\nRECORD_DELETE - It means the clip has been soft deleted.\n\nSUSPENDED - It means the clip has been suspended by the trust & safety team.","example":"RECORD_SUCCESS","enum":["RECORD_START","RECORD_FAILED","RECORD_END","RECORD_SUCCESS","RECORD_DELETE","SUSPENDED"]},"clip_id":{"type":"string","description":"The clip's ID.","example":"A2RldhYyU08zeDNIeFJJVzBOcHFRVlZQWXlRAQ"},"owner_id":{"type":"string","description":"The owner's ID.","example":"pRof_6gpQP2YKDxmglRziA"},"file_size":{"type":"integer","description":"The clip file size in bytes","example":639229},"share_link":{"type":"string","description":"The share link of the clip.","example":"https://dev-integration.zoomdev.us/clips/share/A2RldhYyU08zeDNIeFJJVzBOcHFRVlZQWXlRAQ"},"share_link_settings":{"type":"object","properties":{"passcode":{"type":"string","description":"The passcode. It exists only when `enable_passcode=true`","example":"Dmpy*xy7"},"share_scope":{"type":"string","description":"ANYONE - Anyone with this clip link can watch it.\n\nSAME_ORGANIZATON - Only users who are in the same organization as the clip owner can watch it.\n\nINVITED_MEMBERS_ONLY - Only invited users can watch it.\n\nPRIVATE - Only the clip's owner and account administrators can watch it.","example":"ANYONE","enum":["ANYONE","SAME_ORGANIZATON","INVITED_MEMBERS_ONLY","PRIVATE"]},"enable_passcode":{"type":"boolean","description":" Whether the passcode is enabled.","example":true}},"description":"The access level, which indicates the access type of the current clips' share link."},"thumbnail_link":{"type":"string","description":" The clip thumbnail link.","example":"https://file.zoomdev.us/file/2SO3x3HxRIW0NpqQVVPYyQ?attachType=preview&filename=2SO3x3HxRIW0NpqQVVPYyQ.jpg&jwt=eyJhbGciOiJFUzI1NiIsImsiOiJLSzQxYXo3LyJ9.eyJpc3MiOiJmaWxlIiwiYXVkIjoiemZzIiwiaWljIjoiZGV2IiwiaWF0IjoxNzMwNDM4OTE2LCJvcmkiOiJtYXJ2ZWwiLCJkaWciOiI5NDhhMjIxYjU2ZTFhOWM1YTMyOTE0ODdlNjFmMGU1YjA2NzkzNTM3NTY5NDRhZWVjNzcyYmU3OTQ3ZWQ3ZTAwIiwiZXhwIjoxNzMwNDQ2MTE2LCJoZGlnIjpmYWxzZX0.Lgk1SRRKsxrxWN6F9Y9aZgfqXCSZ1mJg-UsunpVCMuRMYUR1Sf-gGn1_2_Fc1gFexkBKr0C50jT7Vo1_1YQUlQ&subType=552x310"},"created_date":{"type":"string","description":"The clip created date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2024-10-11T01:51:50.631+00:00"},"modified_date":{"type":"string","description":"The clip modified date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2024-10-31T10:06:08.460+00:00"},"tags":{"type":"array","description":"The clip's tags","items":{"type":"string","description":"tag name","example":"testTag"}}},"description":"The information about the clips list."}},"next_page_token":{"maxLength":100,"type":"string","description":"The next page token paginates through large result sets. A next page token returns whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.","example":"R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42"},"page_size":{"maximum":300,"type":"integer","description":"The number of records returned within a single API call.","example":30,"default":30},"total_records":{"type":"number","description":"The total number of records found.","example":30}}}}}},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `300` <br>\n Pagination Error <br>\n"},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:read","clips:read:admin","clips:read:list_user_clips","clips:read:list_user_clips:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read"],"x-macro-scopes":["clips:read","clips:read:admin"],"x-granular-scopes":["clips:read:list_user_clips","clips:read:list_user_clips:admin"]}}},"/clips/{clipId}/collaborators":{"get":{"tags":["Clips"],"summary":"Get collaborators of a clip","description":"Returns the list of collaborators for a clip that the current user owns or returns the list of collaborators for any clip associated with the account. \n**Required scopes** \n`clips:read:list_collaborator:admin`\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read`,`clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:list_collaborator`,`clips:read:list_collaborator:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"GetClipCollaborators","parameters":[{"name":"clipId","in":"path","description":"The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}},{"name":"page_size","in":"query","description":"The number of records returned within a single API call.","required":false,"schema":{"maximum":300,"type":"integer","example":30,"default":30}},{"name":"next_page_token","in":"query","description":"The next page token paginates through a large set of results. A next page token returns whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.","required":false,"schema":{"type":"string","example":"IAfJX3jsOLW7w3dokmFl84zOa0MAVGyMEB2"}}],"responses":{"200":{"description":"**HTTP Status Code:** `200`    Clips returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"A list of the clip's collaborators.","items":{"type":"object","properties":{"avatar":{"type":"string","description":"The avatar's URL","example":"https://filedev.zoomdev.us/p/pRof_6gpQP2YKDxmglRziA/664dcb20-5d05-40da-8fd0-ef32b6f2ee5b-3518"},"email":{"type":"string","description":"This field returns *nullable Email*. This response only returns if the type is 'EXTERNAL_USER'. If the type is not 'EXTERNAL_USER', it returns a null value.","example":"dev_victor_test_main@dispostable.com"},"type":{"type":"string","description":"A Zoom user (ZOOM_USER).\n\nEXTERNAL_USER - A non-Zoom user.\n\nCHANNEL - A channel, not a user.","example":"ZOOM_USER","enum":["ZOOM_USER","EXTERNAL_USER","CHANNEL"]},"role":{"type":"string","description":"The owner (OWNER) of the clip.\n\nVIEWER - A viewer of the clip.","example":"VIEWER","enum":["OWNER","VIEWER"]},"display_name":{"type":"string","description":"This field returns *nullable Display Name*. This response returns a value only when the type is either 'ZOOM_USER' or 'CHANNEL' and the user belongs to the same organization; otherwise, it returns a null value.","example":"dev_victor dev_lu"},"channel_id":{"type":"string","description":"This field returns *nullable Team chat channel ID*. This response only returns if the type is 'CHANNEL'. If the `collaborator_type` is not 'CHANNEL', it returns a null value.","example":"c15e84143a6949568247c2fe1e097bd2"},"user_id":{"type":"string","description":"This field returns *nullable User ID*. This response returns a value only if the type is 'ZOOM_USER' and the user belongs to the same organization. If the type is not 'ZOOM_USER' or the user does not belong to the same organization, it returns a null value.","example":"4BJ2vryWQg-VZaj0iP4p0w"}}}},"next_page_token":{"type":"string","description":"The next page token paginates through a large set of results. A next page token returns when the available results exceed the current page size. The expiration period for this token is 15 minutes.","example":"INg1ogDUtBxsvlBiDnZQ8Ik0qpK4XaCjg22"},"page_size":{"type":"number","description":" The number of records returned per page in a single API call.","example":30}}}}}},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:read","clips:read:admin","clips:read:list_collaborator","clips:read:list_collaborator:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read"],"x-macro-scopes":["clips:read","clips:read:admin"],"x-granular-scopes":["clips:read:list_collaborator","clips:read:list_collaborator:admin"]}},"post":{"tags":["Collaborator"],"summary":"Share a clip with new users","description":"Create collaborators for a clip.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:collaborators`,`clips:write:collaborators:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`\n\n**Not supported in Gov cluster** ","operationId":"CreateCollaborator","parameters":[{"name":"clipId","in":"path","description":"The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}}],"requestBody":{"description":"A list of collaborators to add to the clip. Each item must identify a user by `user_id` or `email`, or identify a channel by `channel_id`.","content":{"application/json":{"schema":{"type":"array","description":"The clip collaborators.","items":{"title":"root","type":"object","properties":{"email":{"type":"string","description":"The collaborator's email address.","example":"victor.lu@zoom.us"},"channel_id":{"type":"string","description":"The channel ID. The channel must be in the caller's contacts. Otherwise, a no permission error is returned.","example":"89ee18f39cdc4fdab327ae9ebb4ffb6b"},"user_id":{"type":"string","description":"The collaborator's user ID. The user must be in the caller's contacts. Otherwise, a no permission error is returned.","example":"oy8gcP3xQPWC0YhL8ajC8A"},"role":{"type":"string","description":"The collaborator's role. The default value is `VIEWER`. Currently, only `VIEWER` is supported.","example":"VIEWER","default":"VIEWER","enum":["VIEWER"]}}}}}}},"responses":{"201":{"description":"**HTTP Status Code:** `201`    Clip collaborators created successfully.","content":{"application/json":{"schema":{"type":"array","items":{"title":"root","type":"object","properties":{"avatar":{"type":"string","description":"The avatar's URL.","example":"https://filedev.zoomdev.us/p/pRof_6gpQP2YKDxmglRziA/664dcb20-5d05-40da-8fd0-ef32b6f2ee5b-3518"},"email":{"type":"string","description":"The collaborator's email address.","example":"victor.lu@zoom.us"},"type":{"type":"string","description":"The collaborator's type. \n\n`ZOOM_USER` — A Zoom user. \n\n`EXTERNAL_USER` — A non-Zoom user. \n\n`CHANNEL` — A channel, not a user.","example":"ZOOM_USER","enum":["ZOOM_USER","EXTERNAL_USER","CHANNEL"]},"role":{"type":"string","description":"The collaborator's role. \n\n`VIEWER` — A viewer of the clip.","example":"VIEWER","enum":["VIEWER"]},"display_name":{"type":"string","description":"The collaborator's display name. This field returns a value only when the type is `ZOOM_USER` or `CHANNEL` and the user belongs to the same organization. Otherwise, it returns a null value.","example":"dev_victor dev_lu"},"channel_id":{"type":"string","description":"The Team Chat channel ID. This field returns a value only when the type is `CHANNEL`. Otherwise, it returns a null value.","example":"c15e84143a6949568247c2fe1e097bd2"},"user_id":{"type":"string","description":"The collaborator's user ID. This field returns a value only when the type is `ZOOM_USER` and the user belongs to the same organization. Otherwise, it returns a null value.","example":"4BJ2vryWQg-VZaj0iP4p0w"}},"description":"The clip collaborator."}}}}},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate. <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin","clips:write:collaborators","clips:write:collaborators:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read","Clip:Edit"],"x-macro-scopes":["clips:write","clips:write:admin"],"x-granular-scopes":["clips:write:collaborators","clips:write:collaborators:admin"]}},"delete":{"tags":["Collaborator"],"summary":"Remove the collaborator from a clip","description":" Removes a collaborator from a clip.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:delete:collaborators`,`clips:delete:collaborators:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"DeleteCollaborator","parameters":[{"name":"clipId","in":"path","description":"The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}},{"name":"user_key","in":"query","description":"The collaborator user email or collaborator user ID.","required":false,"schema":{"type":"string","example":"devint_test_clips@dispostable.com"}},{"name":"channel_id","in":"query","description":"The channel ID.","required":false,"schema":{"type":"string","example":"89ee18f39cdc4fdab327ae9ebb4ffb6b"}}],"responses":{"204":{"description":"Clip collaborator deleted successfully."},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `1500` <br>\n Input parameter is invalid. <br>\n"},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated. <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin","clips:delete:collaborators","clips:delete:collaborators:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read","Clip:Edit"],"x-macro-scopes":["clips:write","clips:write:admin"],"x-granular-scopes":["clips:delete:collaborators","clips:delete:collaborators:admin"]}}},"/clips/{clipId}/comments":{"get":{"tags":["Comment"],"summary":"List clip comments","description":"Returns the list of comments for a clip.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read`,`clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:list_comments`,`clips:read:list_comments:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"Listclipcomments","parameters":[{"name":"clipId","in":"path","description":" The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}},{"name":"page_size","in":"query","description":" The number of records returned per page in a single API call.","required":false,"schema":{"type":"string","example":"15"}},{"name":"next_page_token","in":"query","description":" The next page token paginates through a large set of results. A next page token returns when the available results exceed the current page size. The expiration period for this token is 15 minutes.","required":false,"schema":{"type":"string","example":"ih4SkoHmPM20YD1kFMsT36FsSTe4BjxeLS2"}}],"responses":{"200":{"description":"Clip comment list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"maxItems":50,"type":"array","description":"The list of comments.","items":{"type":"object","properties":{"comment_id":{"type":"string","description":"The comment's ID.","example":"a16eb597-90ed-4e70-8475-4f1e0022c8a7"},"content":{"type":"string","description":"  The comment's content. Supports user mentions in the format: @\\[display_name](user:email).\n\n  Example: @\\[clips clips](user:victor.lu@dev.gg) @\\[victor.lu](user:devint_test_clips@dispostable.com) here it is\n\n  - display_name is the visible name shown in the comment.\n  - email is a unique identifier used to resolve the mentioned user.\n\n  Developers can extract mention info using the regex: @\\[(.*?)\\]\\(user:(.*?)\\)","example":"@[clips clips](user:victor.lu@dev.gg) @[victor.lu](user:devint_test_clips@dispostable.com) here it is"},"created_date":{"type":"string","description":"The comment created date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2023-11-16T02:50:51Z"},"modified_date":{"type":"string","description":"The comment modified date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2023-11-16T02:50:51Z"},"display_name":{"type":"string","description":"The comment owner's display name. If the owner is a Zoom user, it will display the user's name. If the owner is a guest, it will always display 'Guest'. If the owner is an invited email user (not a Zoom user), it will display the user's email address.","example":"dev_victor dev_lu"},"avatar":{"type":"string","description":"The comment owner's avatar.","example":"https://filedev.zoomdev.us/p/pRof_6gpQP2YKDxmglRziA/664dcb20-5d05-40da-8fd0-ef32b6f2ee5b-3518"},"parent_node_id":{"type":"string","description":"The comment parent node's ID.","example":"0b7cdb63-0be1-4a05-b44d-e611ac9ae86c"},"edited":{"type":"boolean","description":"Whether the comment has been modified.","example":false},"mentions":{"maxItems":1000,"type":"array","description":"The mention information in the comment, if present.","items":{"type":"object","properties":{"display_name":{"type":"string","description":"The display name of the mentioned user.","example":"clips clips"},"email":{"type":"string","description":"The email address of the mentioned user.","example":"devint_test_clips@dispostable.com"}},"description":"The mention information in the comment."}},"content_type":{"type":"string","description":"The type of the comment.\n\nTEXT_WITH_MENTION – A comment that includes a mention.\n\nTEXT – A comment without any mention.\n\nEMOJI – An emoji reaction without text.","example":"TEXT_WITH_MENTION","enum":["TEXT_WITH_MENTION","TEXT"]},"children_comments":{"maxItems":1000,"type":"array","description":"The list of comments.","items":{"type":"object","properties":{"comment_id":{"type":"string","description":"The comment's ID.","example":"a16eb597-90ed-4e70-8475-4f1e0022c8a7"},"content":{"type":"string","description":"The comment's content.","example":"test comment"},"created_date":{"type":"string","description":"The comment created date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2023-11-16T02:50:51Z"},"modified_date":{"type":"string","description":"The comment modified date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2023-11-16T02:50:51Z"},"display_name":{"type":"string","description":"The comment owner's name.","example":"dev_victor dev_lu"},"avatar":{"type":"string","description":"The comment owner's avatar.","example":"https://filedev.zoomdev.us/p/pRof_6gpQP2YKDxmglRziA/664dcb20-5d05-40da-8fd0-ef32b6f2ee5b-3518"},"parent_node_id":{"type":"string","description":"The comment parent node's ID.","example":"0b7cdb63-0be1-4a05-b44d-e611ac9ae86c"},"edited":{"type":"boolean","description":"Indicates whether the comment has been modified.","example":false},"mentions":{"maxItems":1000,"type":"array","description":"Includes mention information in the comment, if present.","items":{"type":"object","properties":{"display_name":{"type":"string","description":"The display name of the mentioned user.","example":"Lowell"},"email":{"type":"string","description":"The email address of the mentioned user.","example":"dev_clips_lowell@dispostable.com"}},"description":"Mention information in the comment."}},"content_type":{"type":"string","description":"The type of the comment.\n\nTEXT_WITH_MENTION – A comment that includes a mention.\n\nTEXT – A comment without any mention.","example":"TEXT_WITH_MENTION","enum":["TEXT_WITH_MENTION","TEXT"]}},"description":"The information about the comments list."}}},"description":"The information about the comments list."}},"next_page_token":{"type":"string","description":" The next page token paginates through a large set of results. A next page token returns when the available results exceed the current page size. The expiration period for this token is 15 minutes.","example":"d0csbC3glWlDxlBYP2YcyXox01QHyiwhPg2"},"page_size":{"type":"number","description":" The number of records returned per page in a single API call.","example":15}}}}}},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `300` <br>\n Pagination Error <br>\n"},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:read","clips:read:admin","clips:read:list_comments","clips:read:list_comments:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read"],"x-macro-scopes":["clips:read","clips:read:admin"],"x-granular-scopes":["clips:read:list_comments","clips:read:list_comments:admin"]}}},"/clips/{clipId}/comments/{commentId}":{"delete":{"tags":["Comment"],"summary":"Delete a comment","description":"Removes a comment from a clip.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:delete:comment`,`clips:delete:comment:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"Deleteacomment","parameters":[{"name":"clipId","in":"path","description":"The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}},{"name":"commentId","in":"path","description":"The clip's comment ID.","required":true,"schema":{"type":"string","example":"a16eb597-90ed-4e70-8475-4f1e00"}}],"responses":{"204":{"description":"Clip comment deleted successfully."},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n**Error Code:** `2005` <br>\n Comment does not exist: {commentId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin","clips:delete:comment","clips:delete:comment:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read","Clip:Edit"],"x-macro-scopes":["clips:write","clips:write:admin"],"x-granular-scopes":["clips:delete:comment","clips:delete:comment:admin"]}}},"/clips/{clipId}/download":{"get":{"tags":["Download"],"summary":"Download a clip","description":"Retrieves the download URL for a specific clip and redirects the client to that URL. This endpoint performs a HTTP 302 redirect to the actual download location, allowing the client to download the clip mp4 file directly.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read`,`clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:download_clip`,`clips:read:download_clip:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"downloadClip","parameters":[{"name":"clipId","in":"path","description":"The unique ID of the clip to download.","required":true,"schema":{"type":"string","example":"clip_123456"}}],"responses":{"200":{"description":"The clip file binary stream.","content":{"application/octet-stream":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `50002` <br>\n clip mp4 is not ready <br>\n**Error Code:** `50003` <br>\n download url is invalid <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `20001` <br>\n permission validate failed <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `10002` <br>\n clip not found or not ready <br>\n"}},"security":[{"openapi_oauth":["clips:read","clips:read:admin","clips:read:download_clip","clips:read:download_clip:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read"],"x-macro-scopes":["clips:read","clips:read:admin"],"x-granular-scopes":["clips:read:download_clip","clips:read:download_clip:admin"]}}},"/clips/{clipId}":{"get":{"tags":["Single"],"summary":"Get a clip","description":"Returns a clip from the current user, or returns any clips associated with the account. \n\n **Required scopes**: `clips:read:clip:admin`.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read`,`clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:clip`,`clips:read:clip:admin`","operationId":"GetClipById","parameters":[{"name":"clipId","in":"path","description":" The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}}],"responses":{"200":{"description":"Clip object returned.","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"The clip's title. ","example":"clips test title"},"description":{"type":"string","description":"The clip's description.","example":"just for test"},"duration":{"type":"number","description":"The duration of the clip, where the unit of duration is in seconds.","example":6000},"status":{"type":"string","description":"The clip's status.\n\nRECORD_START - The clip recording has started but has not yet ended.\n\nRECORD_FAILED - The clip recording failed.\n\nRECORD_END - The clip recording has ended but the MP4 transcription is not yet complete.\n\nRECORD_SUCCESS - The clip recording has reached its final state and is fully complete.\n\nRECORD_DELETE - The clip has been soft deleted.\n\nSUSPENDED - The clip has been suspended by the trust & safety team.","example":"RECORD_SUCCESS","enum":["RECORD_START","RECORD_FAILED","RECORD_END","RECORD_SUCCESS","RECORD_DELETE","SUSPENDED"]},"clip_id":{"type":"string","description":"The clip's ID.","example":"A2RldhYyU08zeDNIeFJJVzBOcHFRVlZQWXlRAQ"},"owner_id":{"type":"string","description":"The owner's ID.","example":"pRof_6gpQP2YKDxmglRziA"},"file_size":{"type":"integer","description":"The clip's file size in bytes.","example":639229},"share_link":{"type":"string","description":"The clip's share link.","example":"https://dev-integration.zoomdev.us/clips/share/A2RldhYyU08zeDNIeFJJVzBOcHFRVlZQWXlRAQ"},"share_link_settings":{"type":"object","properties":{"passcode":{"type":"string","description":"The passcode. Ir exists only when `enable_passcode=true`","example":"Dmpy*xy7"},"share_scope":{"type":"string","description":"ANYONE - Anyone with this clip link can watch it.\n\nSAME_ORGANIZATON - Only users who are in the same organization as the clip owner can watch it.\n\nINVITED_MEMBERS_ONLY - Only invited users can watch it.\n\nPRIVATE - Only the clip's owner and account administrators can watch it.","example":"ANYONE","enum":["ANYONE","SAME_ORGANIZATON","INVITED_MEMBERS_ONLY","PRIVATE"]},"enable_passcode":{"type":"boolean","description":" Whether the passcode is enabled.","example":true}},"description":"The access level, which indicates the access type of the current clips' share link."},"thumbnail_link":{"type":"string","description":" The clip thumbnail link.","example":"https://file.zoomdev.us/file/2SO3x3HxRIW0NpqQVVPYyQ?attachType=preview&filename=2SO3x3HxRIW0NpqQVVPYyQ.jpg&jwt=eyJhbGciOiJFUzI1NiIsImsiOiJLSzQxYXo3LyJ9.eyJpc3MiOiJmaWxlIiwiYXVkIjoiemZzIiwiaWljIjoiZGV2IiwiaWF0IjoxNzMwNDM4OTE2LCJvcmkiOiJtYXJ2ZWwiLCJkaWciOiI5NDhhMjIxYjU2ZTFhOWM1YTMyOTE0ODdlNjFmMGU1YjA2NzkzNTM3NTY5NDRhZWVjNzcyYmU3OTQ3ZWQ3ZTAwIiwiZXhwIjoxNzMwNDQ2MTE2LCJoZGlnIjpmYWxzZX0.Lgk1SRRKsxrxWN6F9Y9aZgfqXCSZ1mJg-UsunpVCMuRMYUR1Sf-gGn1_2_Fc1gFexkBKr0C50jT7Vo1_1YQUlQ&subType=552x310"},"created_date":{"type":"string","description":"The clip created date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2024-10-11T01:51:50.631+00:00"},"modified_date":{"type":"string","description":"The clip modified date-time in UTC/GMT. Example: \"2020-03-31T12:02:00Z\"","example":"2024-10-31T10:06:08.460+00:00"},"tags":{"type":"array","description":"the clip's tags.","items":{"type":"string","description":"The tag name.","example":"tagTest"}}}}}}},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:read","clips:read:admin","clips:read:clip","clips:read:clip:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read"],"x-macro-scopes":["clips:read","clips:read:admin"],"x-granular-scopes":["clips:read:clip","clips:read:clip:admin"]}},"delete":{"tags":["Single"],"summary":"Delete a clip(soft delete)","description":"Deletes a clip.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:delete:clip`,`clips:delete:clip:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"DeleteClip","parameters":[{"name":"clipId","in":"path","description":"The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}}],"responses":{"204":{"description":"Clip deleted successfully."},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin","clips:delete:clip","clips:delete:clip:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["Clip:Edit","ClipContent:Read"],"x-macro-scopes":["clips:write","clips:write:admin"],"x-granular-scopes":["clips:delete:clip","clips:delete:clip:admin"]}},"patch":{"tags":["Single"],"summary":"Update a clip's basic info","description":"Updates clips basic info by clip's Id, now support update title/description/tags\n\n **Required scopes**: `clips:write:clip:admin`.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:update:clip`,`clips:update:clip:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"UpdateClipById","parameters":[{"name":"clipId","in":"path","description":"The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"The clip title.","example":"test-open-api"},"description":{"type":"string","description":"The clip summary.","example":"test-open-api-desc"},"tags":{"type":"array","description":"The clip tags. The support max size is 10","items":{"type":"string","description":"The tag name.","example":"testTag"}},"thumbnail_file_id":{"type":"string","description":"The ID of the uploaded thumbnail file. This value is returned by the [Temporary file upload API for Clips](https://fileapi.zoom.us/v2/clips/files/tmp).","example":"CIHHCkTATWSzFQzipKiAHw"}}}}}},"responses":{"204":{"description":"Clip updated successfully."},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  Field 'tags' size exceeds max size 10 \n\n "},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `2000` <br>\n Clip does not exist: {clipId}. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin","clips:update:clip","clips:update:clip:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read","Clip:Edit"],"x-macro-scopes":["clips:write","clips:write:admin"],"x-granular-scopes":["clips:update:clip","clips:update:clip:admin"]}}},"/clips/{clipId}/chapters":{"get":{"tags":["Single"],"summary":"Get Clip Chapters","description":"Get the complete chapter list and chapter generation status for a clip. If the clip has no chapters, this returns an empty chapters array instead of an error.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read`,`clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:chapters`,`clips:read:chapters:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`\n\n**Not supported in Gov cluster** ","operationId":"GetClipChapters","parameters":[{"name":"clipId","in":"path","description":"The unique identifier of the clip.","required":true,"schema":{"type":"string","example":"abc123"}}],"responses":{"200":{"description":"Response of clip chapters.","content":{"application/json":{"schema":{"type":"object","properties":{"clip_id":{"type":"string","description":"The unique identifier of the clip.","example":"abc123"},"status":{"type":"string","description":"The chapter status. Allowed values: `none`, `processing`, `success`, `failed`, `manual`.","example":"manual","default":"none","enum":["processing","success","failed","manual","none"]},"chapters":{"type":"array","description":"The complete chapter list. POST requests must submit the full list.","items":{"required":["start_time","title"],"type":"object","properties":{"start_time":{"type":"string","description":"The chapter start time. Format: `HH:mm:ss.SSS`. For example, `00:02:35.000`.","example":"00:00:00.000"},"title":{"maxLength":100,"minLength":1,"type":"string","description":"The chapter title. Must be non-empty. Max length: 100.","example":"Introduction"},"summary":{"maxLength":1000,"minLength":0,"type":"string","description":"The chapter summary. Max length: 1000.","example":"The clip starts with an overview of the topic."}}}}}}}}},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n Unauthenticated. <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `20001` <br>\n Permission validation failed. <br>\n**Error Code:** `20002` <br>\n Chapter feature is disabled. <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `10002` <br>\n Clip not found. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:read","clips:read:admin","clips:read:chapters","clips:read:chapters:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":[],"x-macro-scopes":["clips:read","clips:read:admin"],"x-granular-scopes":["clips:read:chapters","clips:read:chapters:admin"]}},"post":{"tags":["Single"],"summary":"Create Clip Chapters","description":"Create or replace all chapters for a clip. The request body must include the complete chapter list. Existing chapters will be replaced by the submitted list. This API does not support appending chapters.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read`,`clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:chapters`,`clips:write:chapters:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`\n\n**Not supported in Gov cluster** ","operationId":"createClipChapters","parameters":[{"name":"clipId","in":"path","description":"The unique identifier of the clip.","required":true,"schema":{"type":"string","example":"abc123"}}],"requestBody":{"description":"The request must include the complete chapter list. The list must contain at least two chapters and no more than 50 chapters. One chapter must start at `00:00:00.000`, representing the beginning of the clip.","content":{"application/json":{"schema":{"type":"object","properties":{"chapters":{"type":"array","description":"Complete chapter list to create or replace. Must contain 2-50 chapters. The first chapter must have `start_time` set to `00:00:00.000`.","items":{"required":["start_time","title"],"type":"object","properties":{"start_time":{"type":"string","description":"The chapter start time in `HH:mm:ss.SSS` format. For example, `00:02:35.000`.","example":"00:00:00.000"},"title":{"maxLength":100,"minLength":1,"type":"string","description":"The chapter title. Must be non-empty. Max length: 100.","example":"Introduction"},"summary":{"maxLength":1000,"minLength":0,"type":"string","description":"The chapter summary. Max length: 1000.","example":"The clip starts with an overview of the topic."}}}}}}}}},"responses":{"201":{"description":"Successfully created or replaced the chapters.","content":{"application/json":{"schema":{"type":"object","properties":{"clip_id":{"type":"string","description":"The unique identifier of the clip.","example":"abc123"},"status":{"type":"string","description":"The chapter status. Allowed values: `none`, `processing`, `success`, `failed`, `manual`.","example":"manual","default":"none","enum":["processing","success","failed","manual","none"]},"chapters":{"type":"array","description":"The complete chapter list.","items":{"required":["start_time","title"],"type":"object","properties":{"start_time":{"type":"string","description":"The chapter start time in `HH:mm:ss.SSS` format. For example, `00:02:35.000`.","example":"00:00:00.000"},"title":{"maxLength":100,"minLength":1,"type":"string","description":"The chapter title. Must be non-empty. Max length: 100.","example":"Introduction"},"summary":{"maxLength":1000,"minLength":0,"type":"string","description":"The chapter summary. Max length: 1000.","example":"The clip starts with an overview of the topic."}}}}}}}}},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `10001` <br>\n Missing required field: chapters. <br>\n**Error Code:** `10001` <br>\n Missing required field: title. <br>\n**Error Code:** `10003` <br>\n Invalid field value: start_time. <br>\n**Error Code:** `10003` <br>\n Invalid field value: chapters. <br>\n**Error Code:** `10004` <br>\n Chapters list size exceeds the limit. <br>\n"},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n Unauthenticated. <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `20001` <br>\n Permission validation failed. <br>\n**Error Code:** `20002` <br>\n The chapter feature is disabled. <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `10002` <br>\n Clip not found. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:read","clips:read:admin","clips:write:chapters","clips:write:chapters:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":[],"x-macro-scopes":["clips:read","clips:read:admin"],"x-granular-scopes":["clips:write:chapters","clips:write:chapters:admin"]}}},"/clips/{clipId}/duplicate":{"post":{"tags":["Single"],"summary":"Duplicate Clips","description":"Duplicate a clip. Only the clip owner can duplicate their clips.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:admin`,`clips:write`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:duplicate`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"DuplicateClips","parameters":[{"name":"clipId","in":"path","description":"The clip ID.","required":true,"schema":{"type":"string","example":"DASDFASDasdasd"}}],"requestBody":{"description":"Request parameters for duplicating a clip.","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"The name of the duplicated clip.\nThe title's maximum length is 100 characters.","example":"testName"}},"description":"Request body for duplicating a clip."}}}},"responses":{"201":{"description":"Clip successfully duplicated.","content":{"application/json":{"schema":{"type":"object","properties":{"new_clip_id":{"type":"string","description":"The duplicated clip's ID.","example":"AkdksadSDASDkd-asd"}},"description":"Response body for duplicating a clip."}}}},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  Request parameter error. \n\n **Error Code:** `1500` <br>\n Cannot duplicate incomplete or trimming clips. <br>\n**Error Code:** `1500` <br>\n The clip's MP4 is being prepared. <br>\n**Error Code:** `1500` <br>\n The title is too long. <br>\n"},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  No permission. \n\n **Error Code:** `1003` <br>\n Permission validation failed. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write:admin","clips:write","clips:write:duplicate"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":[],"x-macro-scopes":["clips:write:admin","clips:write"],"x-granular-scopes":["clips:write:duplicate"]}}},"/clips/{clipId}/share_settings":{"patch":{"tags":["Single"],"summary":"Update clips share setting","description":"Update the clip's share settings.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clip_share_setting:write`,`clip_share_setting:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:update:share_setting`,`clips:update:share_setting:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"Updateclipssharesetting","parameters":[{"name":"clipId","in":"path","description":"The clip's ID.","required":true,"schema":{"type":"string","example":"f2ulwQDzF3hVLvzBpGqvYohp38RZIs_Uvg2ioiz-lAp3AIzsb0YPgJC-bVLSYhU5ebpJLUvb6lwEWcpSyV8ZkzWb._vWbodR6mQKTe9_g"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"share_scope":{"maxLength":100,"maxItems":1000,"type":"string","description":"The share scope of the clip.\n\n`ANYONE` - Anyone with this clip link can watch it.\n\n`SAME_ORGANIZATON` - Only users who are in the same organization as the clip owner can watch it.\n\n`INVITED_MEMBERS_ONLY` - Only invited users can watch it.\n\n`PRIVATE` - Only the clip's owner and account administrators can watch it.","example":"ANYONE","enum":["ANYONE","SAME_ORGANIZATON","INVITED_MEMBERS_ONLY","PRIVATE"]}},"description":"The access level and access type of the current clip's share link."}}}},"responses":{"204":{"description":"Successfully updated the clip's share settings."},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  The `share_scope` field is invalid.\n\n "},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1003` <br>\n Permission validation failed. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clip_share_setting:write","clip_share_setting:write:admin","clips:update:share_setting","clips:update:share_setting:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read"],"x-macro-scopes":["clip_share_setting:write","clip_share_setting:write:admin"],"x-granular-scopes":["clips:update:share_setting","clips:update:share_setting:admin"]}}},"/clips/transfers":{"post":{"tags":["Transfer"],"summary":"Transfer clips owner","description":"Transfers clip ownership to another user.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:transfer_owner:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `MEDIUM`","operationId":"Transferclipsowner","requestBody":{"content":{"application/json":{"schema":{"required":["source_owner_user_id","target_owner_user_id","transfer_type"],"type":"object","properties":{"source_owner_user_id":{"type":"string","description":"The source user ID who currently owns the clips. Optional for full transfers.","example":"user_123"},"clip_id_list":{"maxItems":50,"type":"array","description":"The list of specific clip IDs to transfer. Required for partial transfers.","items":{"type":"string","description":"The clip ID.","example":"clip_id_123"}},"target_owner_user_id":{"type":"string","description":"The target user ID to receive ownership. Must be active.","example":"user_234"},"transfer_type":{"type":"string","description":"The type of transfer event: PARTIAL_TRANSFER or FULL_TRANSFER.","example":"PARTIAL_TRANSFER","enum":["PARTIAL_TRANSFER","FULL_TRANSFER"]}}}}}},"responses":{"201":{"description":"**HTTP Status Code:** `201`    Clips transfer status.","content":{"application/json":{"schema":{"required":["task_id"],"type":"object","properties":{"task_id":{"type":"string","description":"The unique ID of this transfer request for logging/correlation.","example":"task_id_123"}}}}}},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `1007` <br>\n Clips not belong current user. <br>\n**Error Code:** `10001` <br>\n Missing field. <br>\n**Error Code:** `10003` <br>\n Invalidated field value. <br>\n**Error Code:** `10004` <br>\n When transfer type is PARTIAL_TRANSFER, clip_id_list limit size is 50. <br>\n**Error Code:** `20002` <br>\n Clips not belong sourceOwner. <br>\n**Error Code:** `30001` <br>\n Source user and target user have processing transfer task. <br>\n**Error Code:** `10002` <br>\n Can not found any clip by clip_id_list <br>\n"},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write:admin","clips:write:transfer_owner:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read","Clip:Edit"],"x-macro-scopes":["clips:write:admin"],"x-granular-scopes":["clips:write:transfer_owner:admin"]}}},"/clips/transfers/{taskId}":{"get":{"tags":["Transfer"],"summary":"Transfer task status check","description":"Transfers the task status check.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:read:transfer_task_status:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"Transfertaskstatuscheck","parameters":[{"name":"taskId","in":"path","description":"The unique ID of this transfer request for logging/correlation.","required":true,"schema":{"type":"string","example":"task_id_123"}}],"responses":{"200":{"description":"The clips transfer task status.","content":{"application/json":{"schema":{"required":["source_owner_user_id","status","target_owner_user_id","transfer_type"],"type":"object","properties":{"status":{"type":"string","description":"The current status of the transfer task.","example":"FAILED","enum":["IN_PROCESS","SUCCESS","FAILED"]},"transfer_type":{"type":"string","description":"The type of transfer operation: PARTIAL_TRANSFER or FULL_TRANSFER.","example":"PARTIAL_TRANSFER","enum":["PARTIAL_TRANSFER","FULL_TRANSFER"]},"source_owner_user_id":{"type":"string","description":"The source user ID who currently owns the clips. Optional for full transfers.","example":"user_123"},"target_owner_user_id":{"type":"string","description":"The target user ID to receive ownership. Must be an active user.","example":"user_234"},"clip_id_list":{"maxItems":50,"type":"array","description":"The list of specific clip IDs to transfer. Required for partial transfers.","items":{"type":"string","description":"The clip ID.","example":"clip_id_123"}}}}}}},"400":{"description":"**HTTP Status Code:** `400` <br>\n Bad Request  \n\n **Error Code:** `10001` <br>\n Missing field. <br>\n"},"401":{"description":"**HTTP Status Code:** `401` <br>\n Unauthorized  \n\n **Error Code:** `1002` <br>\n No authenticated. <br>\n"},"403":{"description":"**HTTP Status Code:** `403` <br>\n Forbidden  \n\n **Error Code:** `1003` <br>\n No permission to operate <br>\n"},"404":{"description":"**HTTP Status Code:** `404` <br>\n Not Found  \n\n **Error Code:** `10002` <br>\n Can not found any async task by taskId and accountId. <br>\n"},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:read:admin","clips:read:transfer_task_status:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["ClipContent:Read"],"x-macro-scopes":["clips:read:admin"],"x-granular-scopes":["clips:read:transfer_task_status:admin"]}}},"/clips/files":{"post":{"tags":["Upload"],"summary":"Upload clip file","description":"Uploads a video file to create a Zoom Clip.\n\n **Note:**  \n* Base URL: `https://fileapi.zoom.us/v2/`.  \n* The rate limit is 20 requests per second or 2,000 requests per second per IP address or 50 requests per user within a 24-hour period.\n* The caller must support HTTP 30x redirects. \n* The caller must retain the Authorization header when redirected to a different hostname. \n* Supported video formats: `.mp4`, `.webm`.\n* When your object size reaches 2 GB, you should use multipart uploads instead of uploading the object in a single operation.\n* For an **account-level** [OAuth app](https://developers.zoom.us/docs/integrations/create/), this API can only be used on behalf of a user who is assigned a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Using-role-management#:~:text=Each%20user%20in%20a%20Zoom,owner%2C%20administrator%2C%20or%20member.&amp;text=Role%2Dbased%20access%20control%20enables,needs%20to%20view%20or%20edit.) with **Edit** permission for **Zoom Clips**.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`","operationId":"UploadClipFile","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","description":"The upload file, in binary format. You can only send a maximum of two gigabytes.","format":"binary","example":"Vm1wSmQyVkhUWGxVV0docVVteHdjRlZxVGs1UFVUMDk="},"disable_auto_generate_transcript":{"type":"boolean","description":"Whether to disable automatic transcript generation. \nDefault: `false`.","example":false},"disable_auto_generate_tags":{"type":"boolean","description":"Whether to disable automatic tag generation. \nDefault: `false`.","example":false}}}}}},"responses":{"201":{"description":"**HTTP Status Code:** `201`   \n \nFile successfully uploaded.","content":{"application/json":{"schema":{"type":"object","properties":{"clip_id":{"type":"string","description":"The clip's unique ID.","example":"xBvggqyjQUal6TecwMlYwE"}}}}}},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["Clip:Edit"],"x-macro-scopes":["clips:write","clips:write:admin"]}}},"/clips/files/multipart":{"post":{"tags":["Upload"],"summary":"Upload clip multipart files","description":"Uploads a multipart file to create a Zoom Clip.\n\n **Note:** \n* The base URL for this API is `https://fileapi.zoom.us/v2/`. \n* The rate limit of this API is 20 requests per second or 2,000 requests per second per IP address, or 50 requests per user within a 24-hour period. \n* The caller must support HTTP 30x redirects. \n* The caller must retain the authorization header when redirected to a different hostname. \n* Video can be in `.mp4` or `.webm` format.\n* In general, when your object size reaches 2 GB, you should use multipart uploads instead of uploading the object in a single operation.\n* For an **account-level** [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app), this API can only be used on behalf of a user who is assigned a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Using-role-management#:~:text=Each%20user%20in%20a%20Zoom,owner%2C%20administrator%2C%20or%20member.&amp;text=Role%2Dbased%20access%20control%20enables,needs%20to%20view%20or%20edit.) that has the **Edit** permission for **Zoom Clips**. \n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`","operationId":"UploadIqMultipartClipFile","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file","part_number","upload_context"],"type":"object","properties":{"file":{"type":"string","description":"The upload file, in binary format. \n\nEach part must be at most 100 MB in size, and at least 5 MB in size, except the last part.","format":"binary","example":"VmpKMGExSXlWbk5qUldoVFltNUNhRlZxUWxaUFVUMDk="},"upload_context":{"type":"string","description":"When uploading multipart files, use the upload context to identify the multipart upload whose part is being uploaded.","example":"noNpr2pkBEv4_fTxYWDEHBsSs3pl8keRx4fPZmnyNDe.SPdodJp.3UZDaCI2xRVzkRh0xeEV6RuOrXZpJQBPutWCS424c2YnHVxVh8b9.4DNwd4VErRuD98jeJBwRCgz6rC3I4NQg5zXAtCqPFoC0g--"},"part_number":{"type":"integer","description":"When uploading multipart files, this field indicates the part number of the part being uploaded . This field is a positive integer between 1 and 100.","example":10},"disable_auto_generate_transcript":{"type":"boolean","description":"Whether to disable automatic transcript generation. \nDefault: `false`.","example":false},"disable_auto_generate_tags":{"type":"boolean","description":"Whether to disable automatic tag generation. \nDefault: `false`.","example":false}}}}}},"responses":{"201":{"description":"**HTTP Status Code:** `201`   \n \nFile successfully uploaded.","content":{"application/json":{"schema":{"type":"object","properties":{"part_number_etag":{"type":"object","properties":{"part_number":{"type":"integer","description":"The part number of the part being uploaded.","example":1},"etag":{"type":"string","description":"The etag of the part being uploaded.","example":"etag1"}},"description":"The etag part number . \n\nCollect and bring it back in the final request to complete the multipart upload request."}}}}}},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["Clip:Edit"],"x-macro-scopes":["clips:write","clips:write:admin"]}}},"/clips/files/multipart/upload_events":{"post":{"tags":["Upload"],"summary":"Initiate and complete the multipart file upload for a clip","description":"Initiates or completes a multipart upload. \n\n **Note:** \n* The base URL for this API is `https://fileapi.zoom.us/v2/`. \n* The rate limit is 20 requests per second or 2000 requests per second per IP address or 50 requests per user within a 24-hour period\n* The caller must support HTTP 30x redirects. \n* The caller must retain the authorization header when redirected to a different hostname. \n* Once initiated, the multipart upload must complete within 7 days. \n* For **account-level** [OAuth apps](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app), this API can only be used on behalf of a user who is assigned with a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Using-role-management#:~:text=Each%20user%20in%20a%20Zoom,owner%2C%20administrator%2C%20or%20member.&amp;text=Role%2Dbased%20access%20control%20enables,needs%20to%20view%20or%20edit.) with **Edit** permission for **Zoom Clips**.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:admin`,`clips:write`","operationId":"InitiateAndCompleteAClipMultipartUpload.","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The method to upload events: \n* `CreateMultipartUpload` — Create a multipart upload.","example":"CreateMultipartUpload","enum":["CreateMultipartUpload"]},"params":{"type":"object","properties":{"file_name":{"type":"string","description":"The clip file's name.","example":"file name"}},"description":"The CreateMultipartUpload parameters."}}},{"required":["method"],"type":"object","properties":{"method":{"type":"string","description":"The method to upload events: \n* `CompleteMultipartUpload` — Complete a multipart upload.","example":"CompleteMultipartUpload","enum":["CompleteMultipartUpload"]},"params":{"type":"object","properties":{"upload_context":{"type":"string","description":"The upload context that identifies the multipart upload being uploaded.","example":"noNpr2pkBEv4_fTxYWDEHBsSs3pl8keRx4fPZmnyNDe.SPdodJp.3UZDaCI2xRVzkRh0xeEV6RuOrXZpJQBPutWCS424c2YnHVxVh8b9.4DNwd4VErRuD98jeJBwRCgz6rC3I4NQg5zXAtCqPFoC0g--"},"part_number_etags":{"type":"array","description":"The part number of the etags being uploaded.","items":{"type":"object","properties":{"part_number":{"type":"integer","description":"The part number of the part being uploaded.","example":1},"etag":{"type":"string","description":"The etag of the part being uploaded.","example":"etag1"}}}}},"description":"The parameters for the complete multipart upload."}}}]}}}},"responses":{"201":{"description":"**Status Code:** `201`   \n \nSuccessfully initiate and complete a multipart upload.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"upload_context":{"type":"string","description":"The upload context. Return this field if you pass the `CreateMultipartUpload` value for the `method` field. \n\n**Note:**\nUse this upload context to associate all of the parts in the specific multipart upload. You specify this upload context in each of your subsequent upload part requests. You also include this upload context in the final request to complete the multipart upload request.","example":"noNpr2pkBEv4_fTxYWDEHBsSs3pl8keRx4fPZmnyNDe.SPdodJp.3UZDaCI2xRVzkRh0xeEV6RuOrXZpJQBPutWCS424c2YnHVxVh8b9.4DNwd4VErRuD98jeJBwRCgz6rC3I4NQg5zXAtCqPFoC0g--"}}},{"type":"object","properties":{"clip_id":{"type":"string","description":"The clip file's unique ID. \nReturn this field if you pass the `CompleteMultipartUpload` value for the `method` field.","example":"xBvggqyjQUal6TecwMlYwQ"}}}]}}}},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write:admin","clips:write"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":["Clip:Edit"],"x-macro-scopes":["clips:write:admin","clips:write"]}}},"/clips/files/tmp":{"post":{"tags":["Upload"],"summary":"Temporary file upload API for Clips","description":"Uploads temporary files for Clips.\n\n**Note**  \n* Base URL: `https://fileapi.zoom.us/v2/`.  \n* The rate limit is 20 requests per second or 2,000 requests per second per IP address or 50 requests per user within a 24-hour period.\n* The caller must support HTTP 30x redirects. \n* The caller must retain the Authorization header when redirected to a different hostname. \n* Supported file formats: `.PNG`, `.JPEG`, `.GIF`, `.JPG`.\n* The image file (including `.PNG`, `.JPEG`, `.GIF`, `.JPG`) maximum size must be less than 2 MB.\n* All files' TTL is 72 hours.\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write`,`clips:write:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clips:write:uploadTempFile`,`clips:write:uploadTempFile:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`","operationId":"TemporaryfileuploadAPIforClips","requestBody":{"description":"Upload request parameters.","content":{"application/json":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","description":"The upload file in binary format. \nIf the file type is an image file (including PNG, JPG, JPEG, GIF), the maximum size is 2 MB.","example":"Vm1wSmQyVkhUWGxVV0docVVteHdjRlZxVGs1UFVUMDk="}},"description":"The request body."}}}},"responses":{"201":{"description":"Upload response.","content":{"application/json":{"schema":{"required":["file_id"],"type":"object","properties":{"file_id":{"type":"string","description":"The uploaded file's ID.","example":"CIHHCkTATWSzFQzipKiAHw"}},"description":"The response body."}}}},"429":{"description":"**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/). \n\n "}},"security":[{"openapi_oauth":["clips:write","clips:write:admin","clips:write:uploadTempFile","clips:write:uploadTempFile:admin"],"openapi_authorization":[]}],"x-extensions":{"x-permissions":[],"x-macro-scopes":["clips:write","clips:write:admin"],"x-granular-scopes":["clips:write:uploadTempFile","clips:write:uploadTempFile:admin"]}}}},"components":{"securitySchemes":{"openapi_authorization":{"type":"apiKey","name":"Authorization","in":"header"},"openapi_oauth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/","tokenUrl":"","refreshUrl":"","scopes":{"clips:read":"clips:read","clips:read:admin":"clips:read:admin","clips:read:list_user_clips":"clips:read:list_user_clips","clips:read:list_user_clips:admin":"clips:read:list_user_clips:admin","clips:write":"clips:write","clips:write:admin":"clips:write:admin","clips:delete:collaborators":"clips:delete:collaborators","clips:delete:collaborators:admin":"clips:delete:collaborators:admin","clips:read:list_collaborator":"clips:read:list_collaborator","clips:read:list_collaborator:admin":"clips:read:list_collaborator:admin","clips:write:collaborators":"clips:write:collaborators","clips:write:collaborators:admin":"clips:write:collaborators:admin","clips:read:list_comments":"clips:read:list_comments","clips:read:list_comments:admin":"clips:read:list_comments:admin","clips:delete:comment":"clips:delete:comment","clips:delete:comment:admin":"clips:delete:comment:admin","clips:read:download_clip":"clips:read:download_clip","clips:read:download_clip:admin":"clips:read:download_clip:admin","clips:update:clip":"clips:update:clip","clips:update:clip:admin":"clips:update:clip:admin","clips:delete:clip":"clips:delete:clip","clips:delete:clip:admin":"clips:delete:clip:admin","clips:read:clip":"clips:read:clip","clips:read:clip:admin":"clips:read:clip:admin","clips:write:chapters":"clips:write:chapters","clips:write:chapters:admin":"clips:write:chapters:admin","clips:read:chapters":"clips:read:chapters","clips:read:chapters:admin":"clips:read:chapters:admin","clips:write:duplicate":"clips:write:duplicate","clip_share_setting:write":"clip_share_setting:write","clip_share_setting:write:admin":"clip_share_setting:write:admin","clips:update:share_setting":"clips:update:share_setting","clips:update:share_setting:admin":"clips:update:share_setting:admin","clips:write:transfer_owner:admin":"clips:write:transfer_owner:admin","clips:read:transfer_task_status:admin":"clips:read:transfer_task_status:admin","clips:write:uploadTempFile":"clips:write:uploadTempFile","clips:write:uploadTempFile:admin":"clips:write:uploadTempFile:admin"}}}}}}}