@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.
Installation
npm install @unkey/api
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