@unkey/api
`@unkey/api` is a TypeScript client for Unkey. If you prefer a typed experience over calling HTTP endpoints directly, this SDK is for you.
Currently the latest version on npm is v2.0.0-alpha.x, which was released on the main channel by accident. Due to npm’s policy, we can not take it back down.
v2 is coming, but it’s not ready yet and lacks some api methods. Please install @unkey/api@0.35 for now.
Installation
npm install @unkey/api@0.35
Quickstart
- Create a new Unkey Root Key in the settings.
- Use the root key to initialize the client:
import { Unkey } from "@unkey/api";
const unkey = new Unkey({ rootKey: "<UNKEY_ROOT_KEY>" });
Important: Always keep your root key safe and reset it if you suspect it has been compromised.
Usage
Verifying a Key
import { verifyKey } from "@unkey/api";
const { result, error } = await verifyKey("key_123");
if (error) {
console.error(error.message);
return;
}
if (!result.valid) {
return;
}
console.log(result);
Response Format
All methods return either an error
or a result
field, never both and never none. This approach helps with proper error handling.
Success Response
{
result: T;
}
Error Response
{
error: {
message: string;
docs: string;
}
}
Configuration Options
Base URL
You can customize the base URL for all requests:
const unkey = new Unkey({
rootKey: "<UNKEY_ROOT_KEY>",
baseUrl: "https://my.domain",
});
Retries
Configure retry behavior for network errors:
const unkey = new Unkey({
rootKey: "<UNKEY_ROOT_KEY>",
retry: {
attempts: 3,
backoff: (retryCount) => retryCount * 1000,
},
});
Disable Telemetry
To opt out of anonymous telemetry data collection:
const unkey = new Unkey({
rootKey: "<UNKEY_ROOT_KEY>",
disableTelemetry: true,
});
Documentation
Read the full documentation