# Autogenerating Beeminder API clients

**URL:** <https://forum.beeminder.com/t/autogenerating-beeminder-api-clients/10511>\
**Category:** Tech\
**Created:** [August 23, 2022, 6:15pm UTC](https://forum.beeminder.com/t/autogenerating-beeminder-api-clients/10511 "2022-08-23T18:15:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![are](https://avatars.discourse-cdn.com/v4/letter/a/d07c76/32.png) [@are](https://forum.beeminder.com/u/are)\
**Post date:** [August 23, 2022, 6:15pm UTC](https://forum.beeminder.com/t/autogenerating-beeminder-api-clients/10511/1 "2022-08-23T18:15:03Z")

</div>

I wanted to understand Swagger and [the OpenAPI spec](https://spec.openapis.org/oas/v3.0.1), so I wrote an OpenAPI spec for the Beeminder API. You can use this spec to auto-generate OpenAPI clients in [any supported language](https://openapi-generator.tech/docs/generators/).

Check it out on Github ([.yaml](https://github.com/bvtujo/beeminder-openapi/blob/main/spec/3.0.1/beeminder.yaml), [readme](https://github.com/bvtujo/beeminder-openapi)).

I hope this is useful for folks who might want to write wrappers around the API but don’t want to do the bootstrapping/boilerplate to set up an HTTP client from scratch in their language of choice.

I’m extra keen for tips on OpenAPI spec hygiene (specifically things like fields which I haven’t filled in but should for better doc generation, object naming conventions, etc.)

And please, @dreev, let me know if this isn’t kosher and I’ll take it down posthaste.

---

<div class="post-metadata">

**Author:** ![narthur](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/narthur/32/5113_2.png) [@narthur](https://forum.beeminder.com/u/narthur)\
**Post date:** [August 23, 2022, 7:08pm UTC](https://forum.beeminder.com/t/autogenerating-beeminder-api-clients/10511/2 "2022-08-23T19:08:50Z")

</div>

Nice!! Could you submit a or to [wiki.beeminder.com](http://wiki.beeminder.com) documenting this?

---

<div class="post-metadata">

**Author:** ![are](https://avatars.discourse-cdn.com/v4/letter/a/d07c76/32.png) [@are](https://forum.beeminder.com/u/are)\
**Post date:** [August 23, 2022, 7:24pm UTC](https://forum.beeminder.com/t/autogenerating-beeminder-api-clients/10511/3 "2022-08-23T19:24:05Z")

</div>

Done: [add openapi spec repo link by bvtujo · Pull Request #10 · narthur/beeminder-wiki · GitHub](https://github.com/narthur/beeminder-wiki/pull/10)
