defineRouteMeta()
Declares OpenAPI metadata for a server route (experimental).
Syntax
defineRouteMeta({ openAPI: { ... } }) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
meta | { openAPI?: OpenAPI3Operation } | Yes | Route metadata, primarily an `openAPI` operation object (summary, parameters, responses). |
Returns
void — Compiler macro consumed by Nitro OpenAPI generation.
Examples
// server/api/users/[id].get.ts
defineRouteMeta({
openAPI: {
summary: 'Get a user by id',
parameters: [
{ name: 'id', in: 'path', required: true },
],
},
})
export default defineEventHandler((event) => {
return db.users.find(getRouterParam(event, 'id'))
})
defineRouteMeta({
openAPI: {
tags: ['posts'],
responses: { 200: { description: 'A list of posts' } },
},
})
export default defineEventHandler(() => db.posts.all())
Notes
Experimental: enable `experimental.openAPI` in `nuxt.config`. It is a
compiler macro (statically analyzed) used to enrich the auto-generated
OpenAPI schema and the Nitro `/_nitro/openapi.json` document and
Scalar UI. Does not affect runtime behavior.