# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 1.3.0
    Contact: info@mixpeek.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class KeyStatus(str, Enum):
    """
    Lifecycle state of an API key.  Status determines whether an API key can be used for authentication:  - ACTIVE: Key is valid and can be used for API requests. Last_used_at timestamp   is updated on each successful authentication. - REVOKED: Key has been manually revoked by an admin or user. Cannot be   reactivated. A new key must be created instead. - EXPIRED: Key has passed its expires_at timestamp. Automatically set by the   authentication system. Cannot be reactivated.
    """

    """
    allowed enum values
    """
    ACTIVE = 'active'
    REVOKED = 'revoked'
    EXPIRED = 'expired'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of KeyStatus from a JSON string"""
        return cls(json.loads(json_str))


