@scalar/fastify-api-reference

v1.15.5
a fastify plugin to render an API reference from an OpenAPI file
api documentation fastify openapi swagger

Scalar for Fastify

Version Downloads License Discord

This plugin provides an easy way to render a beautiful API reference based on a OpenAPI/Swagger file with Fastify.

Screenshot of an API Reference

Installation

npm install @scalar/fastify-api-reference

And then register it with Fastify:

await fastify.register(require('@scalar/fastify-api-reference'), {
  routePrefix: '/reference',
})

Usage

If you have a OpenAPI/Swagger file already, you can pass an URL to the plugin:

// Render an API reference for a given OpenAPI/Swagger spec URL
fastify.register(require('@scalar/fastify-api-reference'), {
  routePrefix: '/reference',
  configuration: {
    title: 'Our API Reference',
    spec: {
      url: '/openapi.json',
    },
  },
})

With @fastify/swagger you can even generate your OpenAPI documents from the registered routes and directly pass it to the plugin:

await fastify.register(require('@scalar/fastify-api-reference'), {
  routePrefix: '/reference',
  configuration: {
    spec: {
      content: () => fastify.swagger(),
    },
  },
})

Actually, we’re picking it up automatically, so this would be enough:

await fastify.register(require('@scalar/fastify-api-reference'), {
  routePrefix: '/reference',
})

Or, if you just have a static OpenAPI spec, you can directly pass it, too:

await fastify.register(require('@scalar/fastify-api-reference'), {
  routePrefix: '/reference',
  configuration: {
    spec: {
      content: { … }
    },
  },
})

We wrote a detailed integration guide for Fastify.

The fastify plugin takes our universal configuration object, read more about configuration in the core package README.

Themes

By default, we’re using a custom Fastify theme and it’s beautiful. But you can choose one of our other themes, too:

await fastify.register(require('@scalar/fastify-api-reference'), {
  routePrefix: '/reference',
  configuration: {
    theme: 'purple',
  },
})

Community

We are API nerds. You too? Let’s chat on Discord: https://discord.gg/scalar

License

The source code in this repository is licensed under MIT.

npm i @scalar/[email protected]

Metadata

  • MIT
  • >=18
  • Scalar
  • released 2/9/2024

Downloads