diff --git a/duniterpy/documents/peer.py b/duniterpy/documents/peer.py
index 2b548c6fc621277bf1a682fc607507f96c364625..323125bb3e28a2ccb4b548bde9c92777acfbba84 100644
--- a/duniterpy/documents/peer.py
+++ b/duniterpy/documents/peer.py
@@ -91,11 +91,7 @@ Endpoints:
 
 
 def endpoint(value):
-    if isinstance(value, UnknownEndpoint):
-        return value
-    elif isinstance(value, BMAEndpoint):
-        return value
-    elif isinstance(value, WS2PEndpoint):
+    if issubclass(type(value), Endpoint):
         return value
     elif isinstance(value, str):
         for api, cls in MANAGED_API.items():