# Autorest Swagger c# client

**URL:** <https://devforum.zoom.us/t/autorest-swagger-c-client/7650>\
**Category:** API and Webhooks\
**Created:** [January 23, 2020, 2:57am UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650 "2020-01-23T02:57:15Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![kiesel.dennis](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kiesel.dennis/32/3007_2.png) [@kiesel.dennis](https://devforum.zoom.us/u/kiesel.dennis)\
**Post date:** [January 23, 2020, 2:57am UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/1 "2020-01-23T02:57:15Z")

</div>

**Description**  
We are having a hard time generating a C# client based on your swagger json using Autorest. Autorest is reporting the same errors as [https://editor.swagger.io/](https://editor.swagger.io/) regarding additionalProperty: oneOf

**Error**  
Structural error at paths./accounts/{accountId}/settings.get.responses.200.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 3415  
Structural error at paths./accounts/{accountId}/settings.patch.parameters.1.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 4071  
Structural error at paths./accounts/{accountId}/plans/addons.post.parameters.1.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 6038  
Structural error at paths./users/{userId}/settings.get.responses.200.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 23069  
Structural error at paths./users/{userId}/settings.patch.parameters.1.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 23718  
Structural error at paths./groups/{groupId}/settings.get.responses.200.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 32347  
Structural error at paths./groups/{groupId}/settings.patch.parameters.1.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 32915  
Structural error at paths./rooms/account\_settings.get.responses.200.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 35754  
Structural error at paths./rooms/account\_settings.patch.parameters.0.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 36045  
Structural error at paths./rooms/locations/{locationId}/settings.get.responses.200.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 36686  
Structural error at paths./rooms/locations/{locationId}/settings.patch.parameters.0.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 36995  
Structural error at paths./rooms/{roomId}/settings.get.responses.200.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 37600  
Structural error at paths./rooms/{roomId}/settings.patch.parameters.1.schema  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 37907  
Structural error at definitions.AccountSettingsAuthenticationUpdate  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 56358  
Structural error at definitions.AccountSettingsAuthentication  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 56502  
Structural error at definitions.GroupUserSettingsAuthenticationUpdate  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 56598  
Structural error at definitions.GroupUserSettingsAuthentication  
should NOT have additional properties  
additionalProperty: oneOf  
Jump to line 56699

**How To Reproduce (If applicable)**

1. Upload swagger json to [https://editor.swagger.io/](https://editor.swagger.io/)
2. See validation errors

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [January 23, 2020, 5:35pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/2 "2020-01-23T17:35:29Z")

</div>

Hey @kiesel.dennis, thanks for posting and using Zoom!

You will have to [convert the JSON to Open API 3](https://editor.swagger.io/) and then it will work.

![Screen Shot 2020-01-23 at 10.34.56 AM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/d/de33986accc818d9ea71939bec8c2f1012283c83.png)

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![kiesel.dennis](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kiesel.dennis/32/3007_2.png) [@kiesel.dennis](https://devforum.zoom.us/u/kiesel.dennis)\
**Post date:** [January 24, 2020, 5:13pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/3 "2020-01-24T17:13:16Z")

</div>

It doesn’t seem like we will be able to auto generate a c# client, even using the converted swagger. Autorest throws errors about the structure and generating the client using Swagger Editor created a client that is not buildable, with many errors.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [January 24, 2020, 5:18pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/4 "2020-01-24T17:18:10Z")

</div>

Hey @kiesel.dennis,

We also have these, but they in beta and not up to date with our latest releases.

[https://drive.google.com/drive/folders/1JfxC7Ybla3wc0xTpPAXMvO\_g5n6m\_TZM?usp=sharing](https://drive.google.com/drive/folders/1JfxC7Ybla3wc0xTpPAXMvO_g5n6m_TZM?usp=sharing)

In the meantime, we are working to improve our client libraries.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![kiesel.dennis](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kiesel.dennis/32/3007_2.png) [@kiesel.dennis](https://devforum.zoom.us/u/kiesel.dennis)\
**Post date:** [January 24, 2020, 7:55pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/5 "2020-01-24T19:55:31Z")

</div>

@tommy,

Thanks for your help. I think we are going to manually create a client library. The beta client fails to build as well.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [January 24, 2020, 8:32pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/6 "2020-01-24T20:32:22Z")

</div>

Thanks for letting me know @kiesel.dennis,

We will improve our Client Libraries.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![samf](https://avatars.discourse-cdn.com/v4/letter/s/22d042/32.png) [@samf](https://devforum.zoom.us/u/samf)\
**Post date:** [March 22, 2020, 9:40am UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/7 "2020-03-22T09:40:38Z")

</div>

With a rough conversion pass through [https://www.apimatic.io/](https://www.apimatic.io/) and a little massaging I was able to generate a working configuration for autorest.

[https://filebin.ca/5GTeHw3txVpX/ZoomAPI.oas2.json-Swagger20.json](https://filebin.ca/5GTeHw3txVpX/ZoomAPI.oas2.json-Swagger20.json)

Due to some design eccentricities in many api endpoints there is a pretty heavy load of object duplication. As long as you don’t mind binding to objects named things like body18 due to missing descriptions this client looks pretty functional.

zoom: Any thoughts as to a timeline on updating your specs to be fully compliant?

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [March 23, 2020, 6:10pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/8 "2020-03-23T18:10:30Z")

</div>

Hey @samf, thanks for providing a working configuration! 🙂

Currently no timeline, but we are doing our best to get a long term solution soon.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![alan.chen](https://avatars.discourse-cdn.com/v4/letter/a/e9bcb4/32.png) [@alan.chen](https://devforum.zoom.us/u/alan.chen)\
**Post date:** [April 9, 2020, 1:31am UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/9 "2020-04-09T01:31:26Z")

</div>

Thanks samf, this is json is much better

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 9, 2020, 9:55pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/10 "2020-04-09T21:55:04Z")

</div>

Glad you found samf’s JSON helpful! 🙂

-Tommy

---

<div class="post-metadata">

**Author:** ![DeveloperBot](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/developerbot/32/12632_2.png) [@DeveloperBot](https://devforum.zoom.us/u/DeveloperBot)\
**Post date:** [August 21, 2020, 8:15pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/11 "2020-08-21T20:15:18Z")

</div>



---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [January 22, 2025, 7:25pm UTC](https://devforum.zoom.us/t/autorest-swagger-c-client/7650/12 "2025-01-22T19:25:45Z")

</div>

Hey everyone,

Recently we launched **Zoom Rivet for Node.js**. Zoom Rivet is **Zoom’s Official API Library and API Wrapper**.

We currently support Node.js. Java, Python, GO, C#, and other languages are coming soon or being considered.

[Zoom Rivet](https://developers.zoom.us/docs/rivet/javascript/get-started/) is available on [npm](https://www.npmjs.com/package/@zoom/rivet) and can be used to automatically handle [OAuth](https://developers.zoom.us/docs/rivet/javascript/authorization/) and easily call [Zoom APIs](https://developers.zoom.us/docs/api/) like [Meetings](https://developers.zoom.us/docs/api/meetings/), [Phone](https://developers.zoom.us/docs/api/phone/), [Users](https://developers.zoom.us/docs/api/users/), [Team Chat](https://developers.zoom.us/docs/api/team-chat/), [Chatbot](https://developers.zoom.us/docs/api/chatbot/), [Accounts](https://developers.zoom.us/docs/api/accounts/), [Video SDK](https://developers.zoom.us/docs/api/video-sdk/), and more. It even includes a Webhook server to easily receive Zoom [Webhooks](https://developers.zoom.us/docs/api/webhooks/).

```auto
npm install @zoom/rivet

```

Example that handles OAuth and calls a Meeting API and listens to a webhook event:

```js
import { MeetingsS2SAuthClient } from "@zoom/rivet/meetings";

(async () => {
   const meetingsClient = new MeetingsS2SAuthClient({
      clientId: process.env.CLIENT_ID,
      clientSecret: process.env.CLIENT_SECRET,
      webhooksSecretToken: process.env.WEBHOOKS_SECRET_TOKEN,
      accountId: process.env.ACCOUNT_ID
   });

   // Rivet Events and Endpoints Go Here

   meetingsClient.endpoints.meetings.getMeeting({
      path: { meetingId: "MEETINGID" }
   }).then((response) => {
      console.log(response)
   });

   meetingsClient.webEventConsumer.event("meeting.started", (response) => {
      console.log(response.payload);
   })

   const server = await meetingsClient.start();

   console.log(`Zoom Rivet Events Server running on: ${JSON.stringify(server.address())}`);
})();

```

NPM:

> **[@zoom/rivet](https://www.npmjs.com/package/@zoom/rivet)**
>
> Zoom Rivet is a comprehensive toolkit built to help developers quickly integrate and manage server-side applications within the Zoom ecosystem. This tool currently supports Node.js, offering core functionalities like authentication, API wrappers, and...

Docs:

> **[Get started - Zoom Developers](https://developers.zoom.us/docs/rivet/javascript/get-started/)**
>
> The Zoom Developer Platform is an open platform that allows third-party developers to build applications and integrations upon Zoom’s video-first unified communications platform.

Sample App:

> **[GitHub - zoom/rivet-javascript-sample: Standup Bot sample app for Zoom Rivet for...](https://github.com/zoom/rivet-javascript-sample)**
>
> Standup Bot sample app for Zoom Rivet for JavaScript

For feedback, requests, or questions please refer to the Rivet Devforum Category:

> **[Zoom Rivet](https://devforum.zoom.us/c/rivet/90)**
>
> Zoom Rivet helps quickly integrate server-side applications with Zoom. Built-in authentication, API wrappers and event subscriptions let you focus on business logic, not infrastructure.

Best,  
Tommy
