keycloak.exceptions
===================

.. py:module:: keycloak.exceptions

.. autoapi-nested-parse::

   Keycloak custom exceptions module.



Attributes
----------

.. autoapisummary::

   keycloak.exceptions.HTTP_OK
   keycloak.exceptions.HTTP_CREATED
   keycloak.exceptions.HTTP_ACCEPTED
   keycloak.exceptions.HTTP_NO_CONTENT
   keycloak.exceptions.HTTP_BAD_REQUEST
   keycloak.exceptions.HTTP_UNAUTHORIZED
   keycloak.exceptions.HTTP_FORBIDDEN
   keycloak.exceptions.HTTP_NOT_FOUND
   keycloak.exceptions.HTTP_NOT_ALLOWED
   keycloak.exceptions.HTTP_CONFLICT


Exceptions
----------

.. autoapisummary::

   keycloak.exceptions.KeycloakError
   keycloak.exceptions.KeycloakAuthenticationError
   keycloak.exceptions.KeycloakConnectionError
   keycloak.exceptions.KeycloakOperationError
   keycloak.exceptions.KeycloakDeprecationError
   keycloak.exceptions.KeycloakGetError
   keycloak.exceptions.KeycloakPostError
   keycloak.exceptions.KeycloakPutError
   keycloak.exceptions.KeycloakDeleteError
   keycloak.exceptions.KeycloakSecretNotFound
   keycloak.exceptions.KeycloakRPTNotFound
   keycloak.exceptions.KeycloakAuthorizationConfigError
   keycloak.exceptions.KeycloakInvalidTokenError
   keycloak.exceptions.KeycloakPermissionFormatError
   keycloak.exceptions.PermissionDefinitionError


Functions
---------

.. autoapisummary::

   keycloak.exceptions.raise_error_from_response


Module Contents
---------------

.. py:data:: HTTP_OK
   :value: 200


.. py:data:: HTTP_CREATED
   :value: 201


.. py:data:: HTTP_ACCEPTED
   :value: 202


.. py:data:: HTTP_NO_CONTENT
   :value: 204


.. py:data:: HTTP_BAD_REQUEST
   :value: 400


.. py:data:: HTTP_UNAUTHORIZED
   :value: 401


.. py:data:: HTTP_FORBIDDEN
   :value: 403


.. py:data:: HTTP_NOT_FOUND
   :value: 404


.. py:data:: HTTP_NOT_ALLOWED
   :value: 405


.. py:data:: HTTP_CONFLICT
   :value: 409


.. py:exception:: KeycloakError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`Exception`


   Base class for custom Keycloak errors.

   :param error_message: The error message
   :type error_message: str
   :param response_code: The response status code
   :type response_code: int


   .. py:attribute:: response_code
      :value: None



   .. py:attribute:: response_body
      :value: None



   .. py:attribute:: error_message
      :value: ''



   .. py:method:: __str__() -> str

      Str method.

      :returns: String representation of the object
      :rtype: str



.. py:exception:: KeycloakAuthenticationError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakError`


   Keycloak authentication error exception.


.. py:exception:: KeycloakConnectionError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakError`


   Keycloak connection error exception.


.. py:exception:: KeycloakOperationError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakError`


   Keycloak operation error exception.


.. py:exception:: KeycloakDeprecationError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakError`


   Keycloak deprecation error exception.


.. py:exception:: KeycloakGetError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak request get error exception.


.. py:exception:: KeycloakPostError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak request post error exception.


.. py:exception:: KeycloakPutError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak request put error exception.


.. py:exception:: KeycloakDeleteError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak request delete error exception.


.. py:exception:: KeycloakSecretNotFound(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak secret not found exception.


.. py:exception:: KeycloakRPTNotFound(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak RPT not found exception.


.. py:exception:: KeycloakAuthorizationConfigError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak authorization config exception.


.. py:exception:: KeycloakInvalidTokenError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak invalid token exception.


.. py:exception:: KeycloakPermissionFormatError(error_message: str = '', response_code: int | None = None, response_body: bytes | None = None)

   Bases: :py:obj:`KeycloakOperationError`


   Keycloak permission format exception.


.. py:exception:: PermissionDefinitionError

   Bases: :py:obj:`Exception`


   Keycloak permission definition exception.


.. py:function:: raise_error_from_response(response: requests.Response | httpx.Response, error: dict | Exception, expected_codes: list[int] | None = None, skip_exists: bool = False) -> bytes | dict | list

   Raise an exception for the response.

   :param response: The response object
   :type response: Response
   :param error: Error object to raise
   :type error: dict or Exception
   :param expected_codes: Set of expected codes, which should not raise the exception
   :type expected_codes: Sequence[int]
   :param skip_exists: Indicates whether the response on already existing object should be ignored
   :type skip_exists: bool

   :returns: Content of the response message
   :type: bytes or dict
   :raises KeycloakError: In case of unexpected status codes


