Unkey

SDK development

Information for Unkey SDK developers

Telemetry

Unkey collects anonymous telemetry data to help us understand usage of the framework. If you're authoring an SDK, you should record usage information and send it via Upstash-Telemetry headers.

Typescript libraries

The Unkey Typescript library @unkey/api is already set up to collect telemetry data. If you're writing a new SDK for a framework that makes use of that library under the hood, you just need to enable the user to disable telemetry; otherwise, pass it in the constructor. You can see an example of this via the Next.js SDK here.

Telemetry request headers

Unkey records telemetry data via three headers. You can see an example of how this is used in the Typescript SDK here

Unkey-Telemetry-SDK

Comma-separated list of strings recording SDKs. Can be multiple SDKs; for instance, the Next.js SDK will record both the Next.js SDK version and Typescript SDK version.

Unkey-Telemetry-Platform

Referring to the platform where the calling application is deployed.

For example: Vercel, Cloudflare, AWS, Deno

Unkey-Telemetry-Runtime

Referring to the programming runtime.

For example: edge-light, node@18, node@20.0.1

curl -XPOST 'https://api.unkey.dev/v1/keys.verifyKey' \
  -H "Content-Type: application/json" \
  -H "Unkey-Telemetry-SDK: @unkey/api@1.10.0" \
  -H "Unkey-Telemetry-Platform: Vercel" \
  -H "Unkey-Telemetry-Runtime: edge-light" \
  -d '{ "key": "<...>" }'
Edit on GitHub

Last updated on

On this page