diff --git a/canvasapi/account.py b/canvasapi/account.py
index d9b5524..d03cea3 100644
--- a/canvasapi/account.py
+++ b/canvasapi/account.py
@@ -642,6 +642,26 @@ class Account(CanvasObject):
             "accounts/{}/outcome_group_links".format(self.id),
         )
 
+    def get_authentication_events(self, **kwargs):
+        """
+        List authentication events for a given account.
+
+        :calls: `GET /api/v1/audit/authentication/accounts/:account_id \
+        <https://canvas.instructure.com/doc/api/authentications_log.html#method.authentication_audit_api.for_account>`_
+
+        :rtype: :class:`canvasapi.paginated_list.PaginatedList` of
+                :class:`canvasapi.authentication_event.AuthenticationEvent`
+        """
+        from canvasapi.authentication_event import AuthenticationEvent
+
+        return PaginatedList(
+            AuthenticationEvent,
+            self._requester,
+            "GET",
+            "audit/authentication/accounts/{}".format(self.id),
+            _kwargs=combine_kwargs(**kwargs),
+        )
+
     def get_authentication_provider(self, authentication_provider, **kwargs):
         """
         Get the specified authentication provider
diff --git a/canvasapi/authentication_event.py b/canvasapi/authentication_event.py
new file mode 100644
index 0000000..4ba6286
--- /dev/null
+++ b/canvasapi/authentication_event.py
@@ -0,0 +1,11 @@
+from __future__ import absolute_import, division, print_function, unicode_literals
+
+from six import python_2_unicode_compatible
+
+from canvasapi.canvas_object import CanvasObject
+
+
+@python_2_unicode_compatible
+class AuthenticationEvent(CanvasObject):
+    def __str__(self):
+        return "{} {} ({})".format(self.created_at, self.event_type, self.pseudonym_id)
diff --git a/canvasapi/login.py b/canvasapi/login.py
index e43659e..d937e3f 100644
--- a/canvasapi/login.py
+++ b/canvasapi/login.py
@@ -3,6 +3,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera
 from six import python_2_unicode_compatible
 
 from canvasapi.canvas_object import CanvasObject
+from canvasapi.paginated_list import PaginatedList
 from canvasapi.util import combine_kwargs
 
 
@@ -40,3 +41,23 @@ class Login(CanvasObject):
             _kwargs=combine_kwargs(**kwargs),
         )
         return Login(self._requester, response.json())
+
+    def get_authentication_events(self, **kwargs):
+        """
+        List authentication events for a given login.
+
+        :calls: `GET /api/v1/audit/authentication/logins/:login_id \
+        <https://canvas.instructure.com/doc/api/authentications_log.html#method.authentication_audit_api.for_login>`_
+
+        :rtype: :class:`canvasapi.paginated_list.PaginatedList` of
+                :class:`canvasapi.authentication_event.AuthenticationEvent`
+        """
+        from canvasapi.authentication_event import AuthenticationEvent
+
+        return PaginatedList(
+            AuthenticationEvent,
+            self._requester,
+            "GET",
+            "audit/authentication/logins/{}".format(self.id),
+            _kwargs=combine_kwargs(**kwargs),
+        )
diff --git a/canvasapi/user.py b/canvasapi/user.py
index d560c72..92ee93a 100644
--- a/canvasapi/user.py
+++ b/canvasapi/user.py
@@ -185,6 +185,26 @@ class User(CanvasObject):
             _kwargs=combine_kwargs(**kwargs),
         )
 
+    def get_authentication_events(self, **kwargs):
+        """
+        List authentication events for a given user.
+
+        :calls: `GET /api/v1/audit/authentication/users/:user_id \
+        <https://canvas.instructure.com/doc/api/authentications_log.html#method.authentication_audit_api.for_user>`_
+
+        :rtype: :class:`canvasapi.paginated_list.PaginatedList` of
+                :class:`canvasapi.authentication_event.AuthenticationEvent`
+        """
+        from canvasapi.authentication_event import AuthenticationEvent
+
+        return PaginatedList(
+            AuthenticationEvent,
+            self._requester,
+            "GET",
+            "audit/authentication/users/{}".format(self.id),
+            _kwargs=combine_kwargs(**kwargs),
+        )
+
     def get_avatars(self):
         """
         Retrieve the possible user avatar options that can be set with the user update endpoint.
diff --git a/docs/authentication-event-ref.rst b/docs/authentication-event-ref.rst
new file mode 100644
index 0000000..6b28072
--- /dev/null
+++ b/docs/authentication-event-ref.rst
@@ -0,0 +1,6 @@
+===================
+AuthenticationEvent
+===================
+
+.. autoclass:: canvasapi.authentication_event.AuthenticationEvent
+    :members:
diff --git a/docs/class-reference.rst b/docs/class-reference.rst
index 6ef8966..319b81c 100644
--- a/docs/class-reference.rst
+++ b/docs/class-reference.rst
@@ -7,6 +7,7 @@ Class Reference
     account-ref
     appointment-group-ref
     assignment-ref
+    authentication-event-ref
     authentication-provider-ref
     avatar-ref
     blueprint-ref

Authentications Log
**What resource needs additional coverage?**
Authentications Log

**What endpoints need to be covered?**
https://canvas.instructure.com/doc/api/authentications_log.html

 - [ ] Query by login
 - [ ] Query by account
 - [ ] Query by user

_New to working on CanvasAPI? Check out our [contributing guide](https://github.com/ucfopen/canvasapi/blob/develop/.github/CONTRIBUTING.md)!_
diff --git a/tests/fixtures/account.json b/tests/fixtures/account.json
index 1c4302f..0d05a81 100644
--- a/tests/fixtures/account.json
+++ b/tests/fixtures/account.json
@@ -1330,7 +1330,7 @@
         	"path": "/api/v1/users/self/course_nicknames/:course_id",
         	"scope": "url:GET|/api/v1/users/self/course_nicknames/:course_id",
         	"resource": "users",
-        	"resource_name": "Users"	
+        	"resource_name": "Users"
 		}
 	],
 	"status_code": 200
@@ -1732,5 +1732,22 @@
 			"state": "on"
 		},
 		"status_code": 200
+	},
+	"get_authentication_events": {
+		"method": "GET",
+		"endpoint": "audit/authentication/accounts/1?per_page=100",
+		"data": [
+			{
+				"created_at": "2012-07-19T15:00:00-06:00",
+				"event_type": "login",
+				"pseudonym_id": 9478
+			},
+			{
+				"created_at": "2012-07-20T15:00:00-06:00",
+				"event_type": "logout",
+				"pseudonym_id": 9478
+			}
+		],
+		"status_code": 200
 	}
 }
diff --git a/tests/fixtures/login.json b/tests/fixtures/login.json
index 8942470..53ffe6d 100644
--- a/tests/fixtures/login.json
+++ b/tests/fixtures/login.json
@@ -7,7 +7,7 @@
 			"id": 101,
 			"unique_id": "belieber@example.com",
 			"user_id": 1
-		}, 
+		},
 		"status_code": 200
 	},
 	"list_user_logins": {
@@ -62,5 +62,22 @@
 			"unique_id": "belieber@example.com",
 			"user_id": 1
 		}
+	},
+	"get_authentication_events": {
+		"method": "GET",
+		"endpoint": "audit/authentication/logins/101",
+		"data": [
+			{
+				"created_at": "2012-07-19T15:00:00-06:00",
+				"event_type": "login",
+				"pseudonym_id": 9478
+			},
+			{
+				"created_at": "2012-07-20T15:00:00-06:00",
+				"event_type": "logout",
+				"pseudonym_id": 9478
+			}
+		],
+		"status_code": 200
 	}
 }
diff --git a/tests/fixtures/user.json b/tests/fixtures/user.json
index 6c4129a..bf40e1e 100644
--- a/tests/fixtures/user.json
+++ b/tests/fixtures/user.json
@@ -918,5 +918,22 @@
 			"state": "allowed"
 		},
 		"status_code": 200
+	},
+	"get_authentication_events": {
+		"method": "GET",
+		"endpoint": "audit/authentication/users/1",
+		"data": [
+			{
+				"created_at": "2012-07-19T15:00:00-06:00",
+				"event_type": "login",
+				"pseudonym_id": 9478
+			},
+			{
+				"created_at": "2012-07-20T15:00:00-06:00",
+				"event_type": "logout",
+				"pseudonym_id": 9478
+			}
+		],
+		"status_code": 200
 	}
 }
diff --git a/tests/test_account.py b/tests/test_account.py
index 098d6e5..e79d275 100644
--- a/tests/test_account.py
+++ b/tests/test_account.py
@@ -16,6 +16,7 @@ from canvasapi.account import (
     SSOSettings,
 )
 from canvasapi.authentication_provider import AuthenticationProvider
+from canvasapi.authentication_event import AuthenticationEvent
 from canvasapi.course import Course
 from canvasapi.enrollment import Enrollment
 from canvasapi.enrollment_term import EnrollmentTerm
@@ -1332,6 +1333,23 @@ class TestAccount(unittest.TestCase):
         with self.assertRaises(RequiredFieldMissing):
             self.AccountNotification.update_global_notification(notif)
 
+    # get_authentication_events()
+    def test_get_authentication_events(self, m):
+        register_uris({"account": ["get_authentication_events"]}, m)
+
+        authentication_event = self.account.get_authentication_events()
+        event_list = [event for event in authentication_event]
+
+        self.assertEqual(len(event_list), 2)
+
+        self.assertIsInstance(event_list[0], AuthenticationEvent)
+        self.assertEqual(event_list[0].event_type, "login")
+        self.assertEqual(event_list[0].pseudonym_id, 9478)
+
+        self.assertIsInstance(event_list[1], AuthenticationEvent)
+        self.assertEqual(event_list[1].created_at, "2012-07-20T15:00:00-06:00")
+        self.assertEqual(event_list[1].event_type, "logout")
+
 
 @requests_mock.Mocker()
 class TestAccountNotification(unittest.TestCase):
diff --git a/tests/test_authentication_event.py b/tests/test_authentication_event.py
new file mode 100644
index 0000000..2849060
--- /dev/null
+++ b/tests/test_authentication_event.py
@@ -0,0 +1,39 @@
+from __future__ import absolute_import, division, print_function, unicode_literals
+import unittest
+
+import requests_mock
+
+from canvasapi import Canvas
+from tests import settings
+from tests.util import register_uris
+
+
+@requests_mock.Mocker()
+class TestAuthenticationEvent(unittest.TestCase):
+    def setUp(self):
+        self.canvas = Canvas(settings.BASE_URL, settings.API_KEY)
+
+        with requests_mock.Mocker() as m:
+            requires = {
+                "account": ["get_by_id", "get_authentication_events"],
+                "login": ["create_user_login", "get_authentication_events"],
+                "user": ["get_by_id", "get_authentication_events"],
+            }
+            register_uris(requires, m)
+
+            self.account = self.canvas.get_account(1)
+            self.login = self.account.create_user_login(
+                user={"id": 1}, login={"unique_id": "belieber@example.com"}
+            )
+            self.user = self.canvas.get_user(1)
+
+            self.authentication_event_account = self.account.get_authentication_events()[
+                0
+            ]
+            self.authentication_event_login = self.login.get_authentication_events()[0]
+            self.authentication_event_user = self.user.get_authentication_events()[0]
+
+    # __str__()
+    def test__str__(self, m):
+        string = str(self.authentication_event_account)
+        self.assertIsInstance(string, str)
diff --git a/tests/test_login.py b/tests/test_login.py
index 2921481..d74198b 100644
--- a/tests/test_login.py
+++ b/tests/test_login.py
@@ -4,6 +4,7 @@ import unittest
 import requests_mock
 
 from canvasapi import Canvas
+from canvasapi.authentication_event import AuthenticationEvent
 from canvasapi.login import Login
 from tests import settings
 from tests.util import register_uris
@@ -49,3 +50,20 @@ class TestLogin(unittest.TestCase):
     def test__str__(self, m):
         string = str(self.login)
         self.assertIsInstance(string, str)
+
+    # get_authentication_events()
+    def test_get_authentication_events(self, m):
+        register_uris({"login": ["get_authentication_events"]}, m)
+
+        authentication_event = self.login.get_authentication_events()
+        event_list = [event for event in authentication_event]
+
+        self.assertEqual(len(event_list), 2)
+
+        self.assertIsInstance(event_list[0], AuthenticationEvent)
+        self.assertEqual(event_list[0].event_type, "login")
+        self.assertEqual(event_list[0].pseudonym_id, 9478)
+
+        self.assertIsInstance(event_list[1], AuthenticationEvent)
+        self.assertEqual(event_list[1].created_at, "2012-07-20T15:00:00-06:00")
+        self.assertEqual(event_list[1].event_type, "logout")
diff --git a/tests/test_user.py b/tests/test_user.py
index 5c0d29e..6a32251 100644
--- a/tests/test_user.py
+++ b/tests/test_user.py
@@ -7,6 +7,7 @@ import requests_mock
 
 from canvasapi import Canvas
 from canvasapi.assignment import Assignment
+from canvasapi.authentication_event import AuthenticationEvent
 from canvasapi.avatar import Avatar
 from canvasapi.calendar_event import CalendarEvent
 from canvasapi.communication_channel import CommunicationChannel
@@ -563,6 +564,23 @@ class TestUser(unittest.TestCase):
         self.assertIsInstance(feature_flag, FeatureFlag)
         self.assertEqual(feature_flag.feature, "high_contrast")
 
+    # get_authentication_events()
+    def test_get_authentication_events(self, m):
+        register_uris({"user": ["get_authentication_events"]}, m)
+
+        authentication_event = self.user.get_authentication_events()
+        event_list = [event for event in authentication_event]
+
+        self.assertEqual(len(event_list), 2)
+
+        self.assertIsInstance(event_list[0], AuthenticationEvent)
+        self.assertEqual(event_list[0].event_type, "login")
+        self.assertEqual(event_list[0].pseudonym_id, 9478)
+
+        self.assertIsInstance(event_list[1], AuthenticationEvent)
+        self.assertEqual(event_list[1].created_at, "2012-07-20T15:00:00-06:00")
+        self.assertEqual(event_list[1].event_type, "logout")
+
 
 @requests_mock.Mocker()
 class TestUserDisplay(unittest.TestCase):

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
apt-get update apt-get install -y gcc
3.7
requirements.txt dev_requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
alabaster==0.7.13
Babel==2.14.0
black==23.3.0
-e git+https://github.com/ucfopen/canvasapi.git@3eea63c969fc4dae39a61e77a7556d07f7d05b6e#egg=canvasapi
certifi @ file:///croot/certifi_1671487769961/work/certifi
cfgv==3.3.1
charset-normalizer==3.4.1
click==8.1.8
coverage==7.2.7
distlib==0.3.9
docutils==0.15.2
exceptiongroup==1.2.2
filelock==3.12.2
flake8==5.0.4
identify==2.5.24
idna==3.10
imagesize==1.4.1
importlib-metadata==4.2.0
iniconfig==2.0.0
Jinja2==3.1.6
MarkupSafe==2.1.5
mccabe==0.7.0
mypy-extensions==1.0.0
nodeenv==1.9.1
packaging==24.0
pathspec==0.11.2
platformdirs==2.6.2
pluggy==1.2.0
pre-commit==2.21.0
pycodestyle==2.9.1
pyflakes==2.5.0
Pygments==2.17.2
pytest==7.4.4
pytz==2025.2
PyYAML==6.0.1
requests==2.31.0
requests-mock==1.12.1
six==1.17.0
snowballstemmer==2.2.0
Sphinx==4.3.2
sphinx-rtd-theme==1.3.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jquery==4.1
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
tomli==2.0.1
typed-ast==1.5.5
typing_extensions==4.7.1
urllib3==2.0.7
virtualenv==20.16.2
zipp==3.15.0

name: canvasapi
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - alabaster==0.7.13
      - babel==2.14.0
      - black==23.3.0
      - cfgv==3.3.1
      - charset-normalizer==3.4.1
      - click==8.1.8
      - coverage==7.2.7
      - distlib==0.3.9
      - docutils==0.15.2
      - exceptiongroup==1.2.2
      - filelock==3.12.2
      - flake8==5.0.4
      - identify==2.5.24
      - idna==3.10
      - imagesize==1.4.1
      - importlib-metadata==4.2.0
      - iniconfig==2.0.0
      - jinja2==3.1.6
      - markupsafe==2.1.5
      - mccabe==0.7.0
      - mypy-extensions==1.0.0
      - nodeenv==1.9.1
      - packaging==24.0
      - pathspec==0.11.2
      - platformdirs==2.6.2
      - pluggy==1.2.0
      - pre-commit==2.21.0
      - pycodestyle==2.9.1
      - pyflakes==2.5.0
      - pygments==2.17.2
      - pytest==7.4.4
      - pytz==2025.2
      - pyyaml==6.0.1
      - requests==2.31.0
      - requests-mock==1.12.1
      - six==1.17.0
      - snowballstemmer==2.2.0
      - sphinx==4.3.2
      - sphinx-rtd-theme==1.3.0
      - sphinxcontrib-applehelp==1.0.2
      - sphinxcontrib-devhelp==1.0.2
      - sphinxcontrib-htmlhelp==2.0.0
      - sphinxcontrib-jquery==4.1
      - sphinxcontrib-jsmath==1.0.1
      - sphinxcontrib-qthelp==1.0.3
      - sphinxcontrib-serializinghtml==1.1.5
      - tomli==2.0.1
      - typed-ast==1.5.5
      - typing-extensions==4.7.1
      - urllib3==2.0.7
      - virtualenv==20.16.2
      - zipp==3.15.0
prefix: /opt/conda/envs/canvasapi

tests/test_account.py::TestAccount::test__str__ tests/test_account.py::TestAccount::test_abort_sis_imports_pending tests/test_account.py::TestAccount::test_abort_sis_imports_pending_blank tests/test_account.py::TestAccount::test_abort_sis_imports_pending_false tests/test_account.py::TestAccount::test_activate_role tests/test_account.py::TestAccount::test_add_authentication_providers tests/test_account.py::TestAccount::test_add_grading_standards tests/test_account.py::TestAccount::test_add_grading_standards_empty_list tests/test_account.py::TestAccount::test_add_grading_standards_missing_name_key tests/test_account.py::TestAccount::test_add_grading_standards_missing_value_key tests/test_account.py::TestAccount::test_add_grading_standards_non_dict_list tests/test_account.py::TestAccount::test_close_notification_for_user_id tests/test_account.py::TestAccount::test_create_account tests/test_account.py::TestAccount::test_create_admin tests/test_account.py::TestAccount::test_create_content_migration tests/test_account.py::TestAccount::test_create_content_migration_bad_migration_type tests/test_account.py::TestAccount::test_create_content_migration_migrator tests/test_account.py::TestAccount::test_create_course tests/test_account.py::TestAccount::test_create_course_missing_field tests/test_account.py::TestAccount::test_create_enrollment_term tests/test_account.py::TestAccount::test_create_external_tool tests/test_account.py::TestAccount::test_create_group_category tests/test_account.py::TestAccount::test_create_notification tests/test_account.py::TestAccount::test_create_notification_missing_field tests/test_account.py::TestAccount::test_create_report tests/test_account.py::TestAccount::test_create_role tests/test_account.py::TestAccount::test_create_sis_import tests/test_account.py::TestAccount::test_create_sis_import_binary tests/test_account.py::TestAccount::test_create_sis_import_ioerror tests/test_account.py::TestAccount::test_create_subaccount tests/test_account.py::TestAccount::test_create_user tests/test_account.py::TestAccount::test_create_user_login tests/test_account.py::TestAccount::test_create_user_login_fail_on_login_unique_id tests/test_account.py::TestAccount::test_create_user_login_fail_on_user_id tests/test_account.py::TestAccount::test_create_user_missing_field tests/test_account.py::TestAccount::test_deactivate_role tests/test_account.py::TestAccount::test_delete tests/test_account.py::TestAccount::test_delete_grading_periods tests/test_account.py::TestAccount::test_delete_report tests/test_account.py::TestAccount::test_delete_root_account tests/test_account.py::TestAccount::test_delete_user_id tests/test_account.py::TestAccount::test_delete_user_obj tests/test_account.py::TestAccount::test_get_admins tests/test_account.py::TestAccount::test_get_authentication_events tests/test_account.py::TestAccount::test_get_authentication_provider tests/test_account.py::TestAccount::test_get_authentication_providers tests/test_account.py::TestAccount::test_get_content_migration tests/test_account.py::TestAccount::test_get_content_migrations tests/test_account.py::TestAccount::test_get_courses tests/test_account.py::TestAccount::test_get_department_level_grade_data_completed tests/test_account.py::TestAccount::test_get_department_level_grade_data_current tests/test_account.py::TestAccount::test_get_department_level_grade_data_with_given_term tests/test_account.py::TestAccount::test_get_department_level_participation_data_completed tests/test_account.py::TestAccount::test_get_department_level_participation_data_current tests/test_account.py::TestAccount::test_get_department_level_participation_data_with_given_term tests/test_account.py::TestAccount::test_get_department_level_statistics_completed tests/test_account.py::TestAccount::test_get_department_level_statistics_current tests/test_account.py::TestAccount::test_get_department_level_statistics_with_given_term tests/test_account.py::TestAccount::test_get_enrollment tests/test_account.py::TestAccount::test_get_enrollment_terms tests/test_account.py::TestAccount::test_get_external_tool tests/test_account.py::TestAccount::test_get_external_tools tests/test_account.py::TestAccount::test_get_global_notification tests/test_account.py::TestAccount::test_get_grading_periods tests/test_account.py::TestAccount::test_get_grading_standards tests/test_account.py::TestAccount::test_get_group_categories tests/test_account.py::TestAccount::test_get_groups tests/test_account.py::TestAccount::test_get_index_of_reports tests/test_account.py::TestAccount::test_get_migration_systems tests/test_account.py::TestAccount::test_get_outcome_group tests/test_account.py::TestAccount::test_get_outcome_groups_in_context tests/test_account.py::TestAccount::test_get_outcome_import_status tests/test_account.py::TestAccount::test_get_outcome_import_status_latest tests/test_account.py::TestAccount::test_get_outcome_links_in_context tests/test_account.py::TestAccount::test_get_report tests/test_account.py::TestAccount::test_get_reports tests/test_account.py::TestAccount::test_get_role tests/test_account.py::TestAccount::test_get_roles tests/test_account.py::TestAccount::test_get_root_outcome_group tests/test_account.py::TestAccount::test_get_rubric tests/test_account.py::TestAccount::test_get_rubrics tests/test_account.py::TestAccount::test_get_scopes tests/test_account.py::TestAccount::test_get_single_grading_standard tests/test_account.py::TestAccount::test_get_sis_import tests/test_account.py::TestAccount::test_get_sis_imports tests/test_account.py::TestAccount::test_get_sis_imports_running tests/test_account.py::TestAccount::test_get_subaccounts tests/test_account.py::TestAccount::test_get_user_logins tests/test_account.py::TestAccount::test_get_user_notifications_id tests/test_account.py::TestAccount::test_get_user_notifications_obj tests/test_account.py::TestAccount::test_get_users tests/test_account.py::TestAccount::test_import_outcome_binary tests/test_account.py::TestAccount::test_import_outcome_filepath tests/test_account.py::TestAccount::test_import_outcome_id tests/test_account.py::TestAccount::test_import_outcome_ioerror tests/test_account.py::TestAccount::test_show_account_auth_settings tests/test_account.py::TestAccount::test_update tests/test_account.py::TestAccount::test_update_account_auth_settings tests/test_account.py::TestAccount::test_update_fail tests/test_account.py::TestAccount::test_update_global_notification tests/test_account.py::TestAccount::test_update_global_notification_missing_field tests/test_account.py::TestAccount::test_update_role tests/test_account.py::TestAccountNotification::test__str__ tests/test_account.py::TestAccountReport::test__str__ tests/test_account.py::TestAccountReport::test_get_enabled_features tests/test_account.py::TestAccountReport::test_get_feature_flag tests/test_account.py::TestAccountReport::test_get_features tests/test_authentication_event.py::TestAuthenticationEvent::test__str__ tests/test_login.py::TestLogin::test__str__ tests/test_login.py::TestLogin::test_delete_user_login tests/test_login.py::TestLogin::test_edit_user_login tests/test_login.py::TestLogin::test_get_authentication_events tests/test_user.py::TestUser::test__str__ tests/test_user.py::TestUser::test_add_observee tests/test_user.py::TestUser::test_add_observee_with_credentials tests/test_user.py::TestUser::test_create_communication_channels tests/test_user.py::TestUser::test_create_content_migration tests/test_user.py::TestUser::test_create_content_migration_bad_migration_type tests/test_user.py::TestUser::test_create_content_migration_migrator tests/test_user.py::TestUser::test_create_folder tests/test_user.py::TestUser::test_edit tests/test_user.py::TestUser::test_export_content tests/test_user.py::TestUser::test_get_authentication_events tests/test_user.py::TestUser::test_get_avatars tests/test_user.py::TestUser::test_get_calendar_events_for_user tests/test_user.py::TestUser::test_get_color tests/test_user.py::TestUser::test_get_colors tests/test_user.py::TestUser::test_get_communication_channels tests/test_user.py::TestUser::test_get_content_migration tests/test_user.py::TestUser::test_get_content_migrations tests/test_user.py::TestUser::test_get_courses tests/test_user.py::TestUser::test_get_enabled_features tests/test_user.py::TestUser::test_get_enrollments tests/test_user.py::TestUser::test_get_feature_flag tests/test_user.py::TestUser::test_get_features tests/test_user.py::TestUser::test_get_file tests/test_user.py::TestUser::test_get_files tests/test_user.py::TestUser::test_get_folder tests/test_user.py::TestUser::test_get_folders tests/test_user.py::TestUser::test_get_migration_systems tests/test_user.py::TestUser::test_get_missing_submissions tests/test_user.py::TestUser::test_get_observees tests/test_user.py::TestUser::test_get_page_views tests/test_user.py::TestUser::test_get_profile tests/test_user.py::TestUser::test_get_user_logins tests/test_user.py::TestUser::test_list_calendar_events_for_user tests/test_user.py::TestUser::test_list_communication_channels tests/test_user.py::TestUser::test_list_content_exports tests/test_user.py::TestUser::test_list_files tests/test_user.py::TestUser::test_list_folders tests/test_user.py::TestUser::test_list_observees tests/test_user.py::TestUser::test_list_user_logins tests/test_user.py::TestUser::test_merge_into_id tests/test_user.py::TestUser::test_merge_into_user tests/test_user.py::TestUser::test_remove_observee tests/test_user.py::TestUser::test_show_content_export tests/test_user.py::TestUser::test_show_observee tests/test_user.py::TestUser::test_update_color tests/test_user.py::TestUser::test_update_color_no_hashtag tests/test_user.py::TestUser::test_update_settings tests/test_user.py::TestUser::test_upload tests/test_user.py::TestUser::test_user_get_assignments tests/test_user.py::TestUserDisplay::test__str__
tests/test_account.py::TestAccount::test_list_authentication_providers tests/test_account.py::TestAccount::test_list_enrollment_terms tests/test_account.py::TestAccount::test_list_group_categories tests/test_account.py::TestAccount::test_list_groups tests/test_account.py::TestAccount::test_list_roles tests/test_account.py::TestAccount::test_list_rubrics tests/test_account.py::TestAccount::test_list_user_logins
canvasapi/user.py canvasapi/account.py canvasapi/authentication_event.py canvasapi/login.py docs/authentication-event-ref.rst docs/class-reference.rst
canvasapi/user.py canvasapi/account.py canvasapi/authentication_event.py canvasapi/login.py docs/authentication-event-ref.rst docs/class-reference.rst