{"_rev":"7-2ff3a7a68d18503cfc760508c8197749","time":{"created":"2026-02-16T21:49:31.155Z","modified":"2026-02-16T21:49:31.557Z","1.0.0":"2026-02-16T01:12:58.763Z","1.1.0":"2026-02-16T02:34:30.332Z","1.1.1":"2026-02-16T08:49:14.594Z","1.1.2":"2026-02-16T19:39:15.108Z","2.0.0":"2026-02-16T21:49:31.385Z"},"_id":"@apinator/server","name":"@apinator/server","dist-tags":{"latest":"2.0.0"},"versions":{"2.0.0":{"name":"@apinator/server","version":"2.0.0","description":"Node.js server SDK for Apinator","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup","lint":"tsc --noEmit","test":"vitest run","test:coverage":"vitest run --coverage","test:watch":"vitest","typecheck":"tsc --noEmit"},"engines":{"node":">=18.0.0"},"keywords":["apinator","realtime","websocket","pubsub","channels","presence","server","sdk"],"author":{"name":"Apinator","email":"dev@apinator.io","url":"https://apinator.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/apinator-io/sdk-node.git"},"bugs":{"url":"https://github.com/apinator-io/sdk-node/issues"},"homepage":"https://github.com/apinator-io/sdk-node#readme","devDependencies":{"@types/node":"^20.0.0","@vitest/coverage-v8":"^2.1.9","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^2.0.0"},"_id":"@apinator/server@2.0.0","gitHead":"a2363600748c49f81af74ead68f1ddee5693d8fd","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-2iTzbiFagsm2C1jxaMdRNpBI0MfMv5NxI2I3fiPQoDvNLaHO7PXV9j944N21+6Rx3FR7lSD2aeL9NBoIAtbToQ==","shasum":"a248dec3c900a1b0cb388c1d0a84f6725d360af9","tarball":"https://registry.npmjs.org/@apinator/server/-/server-2.0.0.tgz","fileCount":12,"unpackedSize":109294,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDqwtvaiidYaeQluoPoCHOtYbg7zfLLyL0fscqS/pTetQIhAIhNq912yUZCQOTjKSy5InqnSSlpcAEx55bo/Z7l/dvn"}]},"_npmUser":{"name":"apinator","email":"hello@apinator.io"},"directories":{},"maintainers":[{"name":"apinator","email":"hello@apinator.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/server_2.0.0_1771278571229_0.9894759546707474"},"_hasShrinkwrap":false}},"maintainers":[{"name":"apinator","email":"hello@apinator.io"}],"description":"Node.js server SDK for Apinator","homepage":"https://github.com/apinator-io/sdk-node#readme","keywords":["apinator","realtime","websocket","pubsub","channels","presence","server","sdk"],"repository":{"type":"git","url":"git+https://github.com/apinator-io/sdk-node.git"},"author":{"name":"Apinator","email":"dev@apinator.io","url":"https://apinator.io"},"bugs":{"url":"https://github.com/apinator-io/sdk-node/issues"},"license":"MIT","readme":"# @apinator/server\n\n[![npm version](https://img.shields.io/npm/v/@apinator/server.svg)](https://www.npmjs.com/package/@apinator/server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![CI](https://img.shields.io/github/actions/workflow/status/apinator-io/sdk-node/test.yml?label=CI)](https://github.com/apinator-io/sdk-node/actions/workflows/test.yml)\n\nNode.js server SDK for [Apinator](https://apinator.io).\n\nUse this package to:\n- trigger events to channels\n- generate private/presence channel auth payloads\n- verify webhook signatures\n\n## Installation\n\n```bash\nnpm install @apinator/server\n```\n\n## Quick Start\n\n```ts\nimport { Apinator } from \"@apinator/server\";\n\nconst client = new Apinator({\n  appId: process.env.APINATOR_APP_ID!,\n  key: process.env.APINATOR_KEY!,\n  secret: process.env.APINATOR_SECRET!,\n  cluster: \"eu\", // or \"us\"\n});\n\nawait client.trigger({\n  name: \"order-created\",\n  channel: \"orders\",\n  data: JSON.stringify({ orderId: \"ord_123\" }),\n});\n```\n\n## Channel Auth (Private/Presence)\n\n```ts\nimport { Apinator } from \"@apinator/server\";\n\nconst client = new Apinator({\n  appId: process.env.APINATOR_APP_ID!,\n  key: process.env.APINATOR_KEY!,\n  secret: process.env.APINATOR_SECRET!,\n  cluster: \"eu\", // or \"us\"\n});\n\nconst channelData = JSON.stringify({\n  user_id: \"user-1\",\n  user_info: { name: \"Alice\" },\n});\n\nconst auth = client.authenticateChannel(\n  \"12345.67890\",\n  \"presence-chat\",\n  channelData\n);\n```\n\n## API\n\n- `trigger({ name, channel?, channels?, data, socketId? }): Promise<void>`\n- `authenticateChannel(socketId, channelName, channelData?): { auth, channel_data? }`\n- `getChannels(prefix?): Promise<ChannelInfo[]>`\n- `getChannel(channelName): Promise<ChannelInfo>`\n- `verifyWebhook(headers, body, maxAge?): boolean`\n\nSee:\n- [API Reference](docs/api-reference.md)\n- [Quickstart](docs/quickstart.md)\n\n## License\n\nMIT - see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}