"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
import pydantic
from typing import List
from typing_extensions import Annotated, TypedDict
from unkey.py.types import BaseModel


class V2KeysRemovePermissionsRequestBodyTypedDict(TypedDict):
    key_id: str
    r"""Specifies which key to remove permissions from using the database identifier returned from `keys.createKey`.
    Do not confuse this with the actual API key string that users include in requests.

    """
    permissions: List[str]
    r"""Removes direct permissions from the key without affecting role-based permissions.

    You can either use a permission slug, or the permission ID.

    After removal, verification checks for these permissions will fail unless granted through roles.

    """


class V2KeysRemovePermissionsRequestBody(BaseModel):
    key_id: Annotated[str, pydantic.Field(alias="keyId")]
    r"""Specifies which key to remove permissions from using the database identifier returned from `keys.createKey`.
    Do not confuse this with the actual API key string that users include in requests.

    """

    permissions: List[str]
    r"""Removes direct permissions from the key without affecting role-based permissions.

    You can either use a permission slug, or the permission ID.

    After removal, verification checks for these permissions will fail unless granted through roles.

    """
