@apirelio/nuxt
v0.2.1
Published
Fail-safe asynchronous API analytics for Nuxt and Nitro.
Maintainers
Readme
@apirelio/nuxt
Documentation · npm · Apirelio
Connect Nuxt and Nitro API errors, latency and releases to the affected customers without capturing request or response payloads.
Asynchronous, privacy-safe API analytics for Nuxt 3/4 and Nitro server routes.
Install
npm install @apirelio/nuxt @apirelio/core// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@apirelio/nuxt'],
apirelio: {
service: 'billing-api',
environment: 'production',
metadataKeys: ['region'],
includeRoutes: ['/api/**'],
excludeRoutes: ['/api/health', '/api/internal/**'],
},
})Keep the project key in private runtime config:
NUXT_APIRELIO_API_KEY=aprl_live_...The module captures server route templates, methods, status codes, latency, request/response sizes and explicitly allowed headers. Custom metadata is retained only when its key is listed in metadataKeys. It never captures request or response payloads, cookies, authorization headers or query values.
Nuxt tracks only /api/** by default. Patterns are exact paths or prefixes ending in /**, and
excludeRoutes always wins. Set includeRoutes: [] explicitly if the application intentionally
needs analytics for every Nitro server route.
Customer context
Set integration context from your server authentication middleware. The module reads it after the response finishes.
import { setApirelioContext } from '@apirelio/nuxt/runtime'
export default defineEventHandler((event) => {
setApirelioContext(event, {
customer: { id: 'cus_123', plan: 'pro' },
application: { id: 'shopify', name: 'Shopify' },
metadata: { region: 'eu' },
})
})All delivery is fail-safe and uses the bounded asynchronous queue from @apirelio/core. Pending events are flushed when Nitro shuts down.
