SDK Fabric

An open infrastructure to automatically generate SDKs.

Sign up Login

Frequently asked questions

Everything you need to know about SDK Fabric, how the SDKs are generated and how you can contribute.

Basics

What is SDK Fabric?

SDK Fabric is an open service which automatically generates and maintains SDKs (client libraries) for popular APIs like OpenAI, Slack, Discord or Twilio. Instead of writing HTTP requests by hand, you install the SDK for your programming language and call the API through typed classes and methods.

All SDKs are generated from the same specification, so the SDK for every language is structured the same way and always covers the same endpoints.

What problem does SDK Fabric solve?

Integrating an external API is often more work than it should be. Every service ships its own SDK with different conventions, and many APIs have no official SDK for your language at all. In that case you have to rely on community libraries, which are often incomplete, outdated or abandoned.

SDK Fabric fixes this by describing each API once in a specification and generating the SDKs for all supported languages from it. When the API changes, only the specification needs to be updated and all SDKs are regenerated automatically.

Which programming languages are supported?

We currently generate SDKs for C#, Go, Java, JavaScript, PHP and Python.

Your language is missing? We add new languages based on demand, so please let us know which language you need.

How are the SDKs generated?
  1. Every API is described by a specification which is maintained at the sdk-fabric/specs repository.
  2. SDK Fabric uses the SDKgen code generator to create the client code for every supported language.
  3. The generated code is pushed to a dedicated GitHub repository for each language, e.g. twilio-php or twilio-python.

This means the SDK repositories only contain generated code and are kept up to date automatically.

Using the SDKs

How do I use an SDK?

Search for the service on our projects overview and click on the language you need. This brings you to the GitHub repository of the SDK, where the README describes how to install the package and how to make your first call.

How do I report an issue with a generated SDK?

If you encounter a bug or unexpected behavior in a generated SDK, please open an issue in our GitHub repository. For private inquiries or security concerns, you can reach us via our contact form.

Contributing

An endpoint is missing or wrong, can I fix it directly in the SDK repository?

Please don't. The SDK repositories only contain generated code, so every manual change is overwritten on the next generation run.

Instead, update the specification of the service at the sdk-fabric/specs repository. Once your change is merged, the SDKs for all languages are regenerated automatically, so your fix is available in every language at once.

How can I add an SDK for a new service?

Add a new specification for the service to the sdk-fabric/specs repository and open a pull request. Once it is merged, SDK Fabric generates the SDKs for all supported languages.

How can I support the project?
  • Use the SDKs in your projects and star the repositories on GitHub.
  • Improve the existing specifications or add new ones at the specs repository.
  • Support us financially through GitHub Sponsors.

For companies

Can I use SDK Fabric for my own API?

Yes. Create an account, log in to the dashboard and register your project. SDK Fabric then generates the SDKs for your API and keeps them in sync across all supported languages. If you need help with the setup, feel free to contact us.

How does SDK Fabric update my SDK repositories?

You add a sync.yml GitHub Action to each of your SDK repositories and register the repository in the SDK Fabric app together with a Personal Access Token (PAT). SDK Fabric then triggers this workflow whenever there is something to update, e.g. a changed specification, dependency updates, code improvements or security patches.

Are you open to partnerships or collaboration?

Yes! We are actively growing the SDK Fabric ecosystem. If you have ideas for an integration, a partnership or any other kind of collaboration, please get in touch.

Still have questions?

Join our community on Discord or get in touch with us directly.

part of the Apioo-Project