# SDK Generation Guide

VBAPI is fully compatible with **OpenAPI Generator**, allowing you to create client SDKs in more than 50 programming languages.
This guide walks you through generating a client from our published OpenAPI specification.

## 📚 Generate Client SDKs

Follow these steps to produce a typed, ready-to-use client for your preferred language.

### 1. Install OpenAPI Generator

You can install it via Homebrew, npm, Docker, or direct JAR download.
Official installation instructions:
https://openapi-generator.tech/docs/installation/

### 2. Download the VBAPI OpenAPI Specification

Use the published specification included in the repository:

```
https://vbapi-docs.vbasoftware.com/_bundle/openapi/vbasoftware/vbasoftware.api.yaml?download
```

### 3. Generate Your Client

Run the following command, replacing the generator (`-g`) and output path (`-o`) as needed:

```
openapi-generator generate \
  -i vbasoftware.api.yaml \
  -g python \
  -o ./vba-python-client
```

### Example Languages

You can generate SDKs for:

- C# (.NET Core)
- TypeScript / Node
- Python
- Java
- Go
- Ruby
- PHP
- Swift
- Kotlin
- Rust
- Dart
- and many more


See the full list of supported generators:
`https://openapi-generator.tech/docs/generators/`

## Tips for Using Your Generated SDK

- Regenerate on version updates to stay aligned with new endpoints.
- Check in your SDK to your codebase if you need strict versioning.
- Automate generation as part of your CI pipeline for clean, reproducible builds.
- Use `--additional-properties` to customize package names, prefixes, enums, and other codegen behaviors.