@unkey/api
Version:
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@unkey/api* API.
53 lines (47 loc) • 1.56 kB
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
export type V2KeysAddPermissionsRequestBody = {
/**
* Specifies which key receives the additional permissions using the database identifier returned from `keys.createKey`.
*
* @remarks
* Do not confuse this with the actual API key string that users include in requests.
*/
keyId: string;
/**
* Grants additional permissions to the key through direct assignment or automatic creation.
*
* @remarks
* Duplicate permissions are ignored automatically, making this operation idempotent.
*
* Adding permissions never removes existing permissions or role-based permissions.
*
* Any permissions that do not exist will be auto created if the root key has permissions, otherwise this operation will fail with a 403 error.
*/
permissions: Array<string>;
};
/** @internal */
export type V2KeysAddPermissionsRequestBody$Outbound = {
keyId: string;
permissions: Array<string>;
};
/** @internal */
export const V2KeysAddPermissionsRequestBody$outboundSchema: z.ZodType<
V2KeysAddPermissionsRequestBody$Outbound,
z.ZodTypeDef,
V2KeysAddPermissionsRequestBody
> = z.object({
keyId: z.string(),
permissions: z.array(z.string()),
});
export function v2KeysAddPermissionsRequestBodyToJSON(
v2KeysAddPermissionsRequestBody: V2KeysAddPermissionsRequestBody,
): string {
return JSON.stringify(
V2KeysAddPermissionsRequestBody$outboundSchema.parse(
v2KeysAddPermissionsRequestBody,
),
);
}