api
Version:
Magical SDK generation from an OpenAPI definition 🪄
48 lines (37 loc) • 1.92 kB
Markdown
<p align="center">
<img width="400" src="https://raw.githubusercontent.com/readmeio/api/main/docs/images/logo.svg" />
</p>
<p align="center">
Magical SDK generation from an OpenAPI definition 🪄
</p>
<p align="center">
<a href="https://npm.im/api"><img src="https://img.shields.io/npm/v/api?style=for-the-badge" alt="NPM Version"></a>
<a href="https://npm.im/api"><img src="https://img.shields.io/node/v/api?style=for-the-badge" alt="Node Version"></a>
<a href="https://npm.im/api"><img src="https://img.shields.io/npm/l/api?style=for-the-badge" alt="MIT License"></a>
<a href="https://github.com/readmeio/api"><img src="https://img.shields.io/github/actions/workflow/status/readmeio/api/ci.yml?branch=main&style=for-the-badge" alt="Build status"></a>
</p>
- [Installation](https://api.readme.dev/docs/installation)
- [Usage](https://api.readme.dev/docs/usage)
- [Authentication](https://api.readme.dev/docs/authentication)
- [Parameters and Payloads](https://api.readme.dev/docs/parameters-and-payloads)
- [Making requests](https://api.readme.dev/docs/making-requests)
- [Server configurations](https://api.readme.dev/docs/server-configurations)
- [How does it work?](https://api.readme.dev/docs/how-it-works)
- [FAQ](https://api.readme.dev/docs/faq)
`api` is a library that facilitates creating an SDK from an OpenAPI definition. You can use its codegen offering to create an opinionated SDK for TypeScript or JS (+ TypeScript types).
```sh
$ npx api install https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.json
```
```js
const petstore = require('@api/petstore');
petstore.listPets().then(({ data }) => {
console.log(`My pets name is ${data[0].name}!`);
});
```
The ESM syntax is supported as well:
```js
import petstore from '@api/petstore';
petstore.listPets().then(({ data }) => {
console.log(`My pets name is ${data[0].name}!`);
});
```