UNPKG

@unkey/api

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@unkey/api* API.

78 lines 3.86 kB
import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; export declare class Apis extends ClientSDK { /** * Create API namespace * * @remarks * Create an API namespace for organizing keys by environment, service, or product. * * Use this to separate production from development keys, isolate different services, or manage multiple products. Each API gets a unique identifier and dedicated infrastructure for secure key operations. * * **Important**: API names must be unique within your workspace and cannot be changed after creation. * * **Required Permissions** * * Your root key must have one of the following permissions: * - `api.*.create_api` (to create APIs in any workspace) */ createApi(request: components.V2ApisCreateApiRequestBody, options?: RequestOptions): Promise<components.V2ApisCreateApiResponseBody>; /** * Delete API namespace * * @remarks * Permanently delete an API namespace and immediately invalidate all associated keys. * * Use this for cleaning up development environments, retiring deprecated services, or removing unused resources. * All keys in the namespace are immediately marked as deleted and will fail verification with `code=NOT_FOUND`. * * **Important**: This operation is immediate and permanent. Verify you have the correct API ID before deletion. * If delete protection is enabled, disable it first through the dashboard or API configuration. * * **Required Permissions** * * Your root key must have one of the following permissions: * - `api.*.delete_api` (to delete any API) * - `api.<api_id>.delete_api` (to delete a specific API) */ deleteApi(request: components.V2ApisDeleteApiRequestBody, options?: RequestOptions): Promise<components.V2ApisDeleteApiResponseBody>; /** * Get API namespace * * @remarks * Retrieve basic information about an API namespace including its ID and name. * * Use this to verify an API exists before performing operations, get the human-readable name when you only have the API ID, or confirm access to a specific namespace. For detailed key information, use the `listKeys` endpoint instead. * * **Required Permissions** * * Your root key must have one of the following permissions: * - `api.*.read_api` (to read any API) * - `api.<api_id>.read_api` (to read a specific API) */ getApi(request: components.V2ApisGetApiRequestBody, options?: RequestOptions): Promise<components.V2ApisGetApiResponseBody>; /** * List API keys * * @remarks * Retrieve a paginated list of API keys for dashboard and administrative interfaces. * * Use this to build key management dashboards, filter keys by user with `externalId`, or retrieve key details for administrative purposes. Each key includes status, metadata, permissions, and usage limits. * * **Important**: Set `decrypt: true` only in secure contexts to retrieve plaintext key values from recoverable keys. * * **Required Permissions** * * Your root key must have one of the following permissions for basic key listing: * - `api.*.read_key` (to read keys from any API) * - `api.<api_id>.read_key` (to read keys from a specific API) * * Additionally, you need read access to the API itself: * - `api.*.read_api` or `api.<api_id>.read_api` * * Additional permission required for decrypt functionality: * - `api.*.decrypt_key` or `api.<api_id>.decrypt_key` */ listKeys(request: components.V2ApisListKeysRequestBody, options?: RequestOptions): Promise<components.V2ApisListKeysResponseBody>; } //# sourceMappingURL=apis.d.ts.map