rootaccessd-client 1.0.0
RootAccess CTF API
License: Apache 2.0
Requires Python: >=3.9
Keywords: OpenAPI, OpenAPI-Generator, RootAccess CTF API

# rootaccessd-client
This is the backend API for the RootAccess CTF Platform.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 1.0.0
- Generator version: 7.20.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://github.com/Uttam-Mahata/RootAccess/issues](https://github.com/Uttam-Mahata/RootAccess/issues)

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:
```python
import rootaccessd_client
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import rootaccessd_client
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import rootaccessd_client
from rootaccessd_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to http://localhost:8080
# See configuration.py for a list of all supported configuration parameters.
configuration = rootaccessd_client.Configuration(
    host = "http://localhost:8080"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: ApiKeyAuth
configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer'


# Enter a context with an instance of the API client
with rootaccessd_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = rootaccessd_client.AchievementsApi(api_client)

    try:
        # Get user achievements
        api_response = api_instance.achievements_me_get()
        print("The response of AchievementsApi->achievements_me_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AchievementsApi->achievements_me_get: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *http://localhost:8080*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AchievementsApi* | [**achievements_me_get**](docs/AchievementsApi.md#achievements_me_get) | **GET** /achievements/me | Get user achievements
*ActivityApi* | [**activity_me_get**](docs/ActivityApi.md#activity_me_get) | **GET** /activity/me | Get user activity
*AdminChallengesApi* | [**admin_challenges_export_get**](docs/AdminChallengesApi.md#admin_challenges_export_get) | **GET** /admin/challenges/export | Export all challenges
*AdminChallengesApi* | [**admin_challenges_id_duplicate_post**](docs/AdminChallengesApi.md#admin_challenges_id_duplicate_post) | **POST** /admin/challenges/{id}/duplicate | Duplicate a challenge
*AdminChallengesApi* | [**admin_challenges_import_post**](docs/AdminChallengesApi.md#admin_challenges_import_post) | **POST** /admin/challenges/import | Import challenges in bulk
*AdminContestApi* | [**admin_contest_get**](docs/AdminContestApi.md#admin_contest_get) | **GET** /admin/contest | Get contest configuration
*AdminContestApi* | [**admin_contest_put**](docs/AdminContestApi.md#admin_contest_put) | **PUT** /admin/contest | Update contest configuration
*AdminNotificationsApi* | [**admin_notifications_get**](docs/AdminNotificationsApi.md#admin_notifications_get) | **GET** /admin/notifications | Get all notifications
*AdminNotificationsApi* | [**admin_notifications_id_delete**](docs/AdminNotificationsApi.md#admin_notifications_id_delete) | **DELETE** /admin/notifications/{id} | Delete notification
*AdminNotificationsApi* | [**admin_notifications_id_put**](docs/AdminNotificationsApi.md#admin_notifications_id_put) | **PUT** /admin/notifications/{id} | Update notification
*AdminNotificationsApi* | [**admin_notifications_id_toggle_post**](docs/AdminNotificationsApi.md#admin_notifications_id_toggle_post) | **POST** /admin/notifications/{id}/toggle | Toggle notification status
*AdminNotificationsApi* | [**admin_notifications_post**](docs/AdminNotificationsApi.md#admin_notifications_post) | **POST** /admin/notifications | Create notification
*AdminTeamsApi* | [**admin_teams_get**](docs/AdminTeamsApi.md#admin_teams_get) | **GET** /admin/teams | List all teams
*AdminTeamsApi* | [**admin_teams_id_delete**](docs/AdminTeamsApi.md#admin_teams_id_delete) | **DELETE** /admin/teams/{id} | Delete team (admin)
*AdminTeamsApi* | [**admin_teams_id_get**](docs/AdminTeamsApi.md#admin_teams_id_get) | **GET** /admin/teams/{id} | Get team (admin)
*AdminTeamsApi* | [**admin_teams_id_leader_put**](docs/AdminTeamsApi.md#admin_teams_id_leader_put) | **PUT** /admin/teams/{id}/leader | Change team leader
*AdminTeamsApi* | [**admin_teams_id_members_member_id_delete**](docs/AdminTeamsApi.md#admin_teams_id_members_member_id_delete) | **DELETE** /admin/teams/{id}/members/{memberId} | Remove team member (admin)
*AdminTeamsApi* | [**admin_teams_id_put**](docs/AdminTeamsApi.md#admin_teams_id_put) | **PUT** /admin/teams/{id} | Update team (admin)
*AdminUsersApi* | [**admin_users_get**](docs/AdminUsersApi.md#admin_users_get) | **GET** /admin/users | List all users
*AdminUsersApi* | [**admin_users_id_delete**](docs/AdminUsersApi.md#admin_users_id_delete) | **DELETE** /admin/users/{id} | Delete user (admin)
*AdminUsersApi* | [**admin_users_id_get**](docs/AdminUsersApi.md#admin_users_id_get) | **GET** /admin/users/{id} | Get user (admin)
*AdminUsersApi* | [**admin_users_id_role_put**](docs/AdminUsersApi.md#admin_users_id_role_put) | **PUT** /admin/users/{id}/role | Update user role
*AdminUsersApi* | [**admin_users_id_status_put**](docs/AdminUsersApi.md#admin_users_id_status_put) | **PUT** /admin/users/{id}/status | Update user status
*AdminWriteupsApi* | [**admin_writeups_get**](docs/AdminWriteupsApi.md#admin_writeups_get) | **GET** /admin/writeups | Get all writeups
*AdminWriteupsApi* | [**admin_writeups_id_delete**](docs/AdminWriteupsApi.md#admin_writeups_id_delete) | **DELETE** /admin/writeups/{id} | Delete writeup
*AdminWriteupsApi* | [**admin_writeups_id_status_put**](docs/AdminWriteupsApi.md#admin_writeups_id_status_put) | **PUT** /admin/writeups/{id}/status | Update writeup status
*AnalyticsApi* | [**admin_analytics_get**](docs/AnalyticsApi.md#admin_analytics_get) | **GET** /admin/analytics | Get platform analytics
*AuditApi* | [**admin_audit_logs_get**](docs/AuditApi.md#admin_audit_logs_get) | **GET** /admin/audit-logs | Get audit logs
*AuthApi* | [**auth_discord_callback_get**](docs/AuthApi.md#auth_discord_callback_get) | **GET** /auth/discord/callback | Discord OAuth callback
*AuthApi* | [**auth_discord_get**](docs/AuthApi.md#auth_discord_get) | **GET** /auth/discord | Discord OAuth login
*AuthApi* | [**auth_github_callback_get**](docs/AuthApi.md#auth_github_callback_get) | **GET** /auth/github/callback | GitHub OAuth callback
*AuthApi* | [**auth_github_get**](docs/AuthApi.md#auth_github_get) | **GET** /auth/github | GitHub OAuth login
*AuthApi* | [**auth_google_callback_get**](docs/AuthApi.md#auth_google_callback_get) | **GET** /auth/google/callback | Google OAuth callback
*AuthApi* | [**auth_google_get**](docs/AuthApi.md#auth_google_get) | **GET** /auth/google | Google OAuth login
*AuthApi* | [**auth_login_post**](docs/AuthApi.md#auth_login_post) | **POST** /auth/login | Login user
*AuthApi* | [**auth_register_post**](docs/AuthApi.md#auth_register_post) | **POST** /auth/register | Register a new user
*AuthApi* | [**auth_resend_verification_post**](docs/AuthApi.md#auth_resend_verification_post) | **POST** /auth/resend-verification | Resend verification email
*AuthApi* | [**auth_verify_email_get**](docs/AuthApi.md#auth_verify_email_get) | **GET** /auth/verify-email | Verify email address
*AuthApi* | [**auth_verify_email_post**](docs/AuthApi.md#auth_verify_email_post) | **POST** /auth/verify-email | Verify email address
*ChallengesApi* | [**challenges_get**](docs/ChallengesApi.md#challenges_get) | **GET** /challenges | Get all challenges
*ChallengesApi* | [**challenges_id_hints_get**](docs/ChallengesApi.md#challenges_id_hints_get) | **GET** /challenges/{id}/hints | Get hints for a challenge
*ChallengesApi* | [**challenges_id_hints_hint_id_reveal_post**](docs/ChallengesApi.md#challenges_id_hints_hint_id_reveal_post) | **POST** /challenges/{id}/hints/{hintId}/reveal | Reveal a hint
*ChallengesApi* | [**challenges_id_submit_post**](docs/ChallengesApi.md#challenges_id_submit_post) | **POST** /challenges/{id}/submit | Submit flag
*ContestApi* | [**contest_status_get**](docs/ContestApi.md#contest_status_get) | **GET** /contest/status | Get contest status
*LeaderboardApi* | [**leaderboard_category_get**](docs/LeaderboardApi.md#leaderboard_category_get) | **GET** /leaderboard/category | Get category leaderboard
*LeaderboardApi* | [**leaderboard_time_get**](docs/LeaderboardApi.md#leaderboard_time_get) | **GET** /leaderboard/time | Get time-based leaderboard
*NotificationsApi* | [**notifications_get**](docs/NotificationsApi.md#notifications_get) | **GET** /notifications | Get active notifications
*ProfilesApi* | [**users_username_profile_get**](docs/ProfilesApi.md#users_username_profile_get) | **GET** /users/{username}/profile | Get user profile
*ScoreboardApi* | [**scoreboard_get**](docs/ScoreboardApi.md#scoreboard_get) | **GET** /scoreboard | Get individual scoreboard
*ScoreboardApi* | [**scoreboard_teams_get**](docs/ScoreboardApi.md#scoreboard_teams_get) | **GET** /scoreboard/teams | Get team scoreboard
*TeamsApi* | [**teams_id_delete**](docs/TeamsApi.md#teams_id_delete) | **DELETE** /teams/{id} | Delete team
*TeamsApi* | [**teams_id_get**](docs/TeamsApi.md#teams_id_get) | **GET** /teams/{id} | Get team details
*TeamsApi* | [**teams_id_invitations_get**](docs/TeamsApi.md#teams_id_invitations_get) | **GET** /teams/{id}/invitations | Get team&#39;s outgoing invitations
*TeamsApi* | [**teams_id_invitations_invitation_id_delete**](docs/TeamsApi.md#teams_id_invitations_invitation_id_delete) | **DELETE** /teams/{id}/invitations/{invitationId} | Cancel invitation
*TeamsApi* | [**teams_id_invite_email_post**](docs/TeamsApi.md#teams_id_invite_email_post) | **POST** /teams/{id}/invite/email | Invite by email
*TeamsApi* | [**teams_id_invite_username_post**](docs/TeamsApi.md#teams_id_invite_username_post) | **POST** /teams/{id}/invite/username | Invite by username
*TeamsApi* | [**teams_id_leave_post**](docs/TeamsApi.md#teams_id_leave_post) | **POST** /teams/{id}/leave | Leave team
*TeamsApi* | [**teams_id_members_user_id_delete**](docs/TeamsApi.md#teams_id_members_user_id_delete) | **DELETE** /teams/{id}/members/{userId} | Remove team member
*TeamsApi* | [**teams_id_put**](docs/TeamsApi.md#teams_id_put) | **PUT** /teams/{id} | Update team
*TeamsApi* | [**teams_id_regenerate_code_post**](docs/TeamsApi.md#teams_id_regenerate_code_post) | **POST** /teams/{id}/regenerate-code | Regenerate invite code
*TeamsApi* | [**teams_invitations_get**](docs/TeamsApi.md#teams_invitations_get) | **GET** /teams/invitations | Get pending invitations
*TeamsApi* | [**teams_invitations_id_accept_post**](docs/TeamsApi.md#teams_invitations_id_accept_post) | **POST** /teams/invitations/{id}/accept | Accept invitation
*TeamsApi* | [**teams_invitations_id_reject_post**](docs/TeamsApi.md#teams_invitations_id_reject_post) | **POST** /teams/invitations/{id}/reject | Reject invitation
*TeamsApi* | [**teams_join_code_post**](docs/TeamsApi.md#teams_join_code_post) | **POST** /teams/join/{code} | Join team by code
*TeamsApi* | [**teams_my_team_get**](docs/TeamsApi.md#teams_my_team_get) | **GET** /teams/my-team | Get my team
*TeamsApi* | [**teams_post**](docs/TeamsApi.md#teams_post) | **POST** /teams | Create a team
*TeamsApi* | [**teams_scoreboard_get**](docs/TeamsApi.md#teams_scoreboard_get) | **GET** /teams/scoreboard | Get team scoreboard
*WebSocketApi* | [**ws_get**](docs/WebSocketApi.md#ws_get) | **GET** /ws | WebSocket connection
*WriteupsApi* | [**challenges_id_writeups_get**](docs/WriteupsApi.md#challenges_id_writeups_get) | **GET** /challenges/{id}/writeups | Get writeups for a challenge
*WriteupsApi* | [**challenges_id_writeups_post**](docs/WriteupsApi.md#challenges_id_writeups_post) | **POST** /challenges/{id}/writeups | Submit a writeup
*WriteupsApi* | [**writeups_id_put**](docs/WriteupsApi.md#writeups_id_put) | **PUT** /writeups/{id} | Update writeup content
*WriteupsApi* | [**writeups_id_upvote_post**](docs/WriteupsApi.md#writeups_id_upvote_post) | **POST** /writeups/{id}/upvote | Toggle writeup upvote
*WriteupsApi* | [**writeups_my_get**](docs/WriteupsApi.md#writeups_my_get) | **GET** /writeups/my | Get my writeups


## Documentation For Models

 - [HandlersAdminTeamResponse](docs/HandlersAdminTeamResponse.md)
 - [HandlersAdminUpdateTeamRequest](docs/HandlersAdminUpdateTeamRequest.md)
 - [HandlersAdminUserResponse](docs/HandlersAdminUserResponse.md)
 - [HandlersBulkChallengeImport](docs/HandlersBulkChallengeImport.md)
 - [HandlersCategoryStats](docs/HandlersCategoryStats.md)
 - [HandlersChallengePublicResponse](docs/HandlersChallengePublicResponse.md)
 - [HandlersCreateNotificationRequest](docs/HandlersCreateNotificationRequest.md)
 - [HandlersCreateTeamRequest](docs/HandlersCreateTeamRequest.md)
 - [HandlersCreateWriteupRequest](docs/HandlersCreateWriteupRequest.md)
 - [HandlersExportChallenge](docs/HandlersExportChallenge.md)
 - [HandlersInviteByEmailRequest](docs/HandlersInviteByEmailRequest.md)
 - [HandlersInviteByUsernameRequest](docs/HandlersInviteByUsernameRequest.md)
 - [HandlersJoinByCodeRequest](docs/HandlersJoinByCodeRequest.md)
 - [HandlersLoginRequest](docs/HandlersLoginRequest.md)
 - [HandlersRegisterRequest](docs/HandlersRegisterRequest.md)
 - [HandlersResendVerificationRequest](docs/HandlersResendVerificationRequest.md)
 - [HandlersSolvedChallenge](docs/HandlersSolvedChallenge.md)
 - [HandlersSubmitFlagRequest](docs/HandlersSubmitFlagRequest.md)
 - [HandlersTeamMemberInfo](docs/HandlersTeamMemberInfo.md)
 - [HandlersUpdateContestRequest](docs/HandlersUpdateContestRequest.md)
 - [HandlersUpdateNotificationRequest](docs/HandlersUpdateNotificationRequest.md)
 - [HandlersUpdateTeamLeaderRequest](docs/HandlersUpdateTeamLeaderRequest.md)
 - [HandlersUpdateTeamRequest](docs/HandlersUpdateTeamRequest.md)
 - [HandlersUpdateUserRoleRequest](docs/HandlersUpdateUserRoleRequest.md)
 - [HandlersUpdateUserStatusRequest](docs/HandlersUpdateUserStatusRequest.md)
 - [HandlersUpdateWriteupStatusRequest](docs/HandlersUpdateWriteupStatusRequest.md)
 - [HandlersUserProfileResponse](docs/HandlersUserProfileResponse.md)
 - [HandlersVerifyEmailRequest](docs/HandlersVerifyEmailRequest.md)
 - [ModelsAchievement](docs/ModelsAchievement.md)
 - [ModelsAdminAnalytics](docs/ModelsAdminAnalytics.md)
 - [ModelsCategoryStat](docs/ModelsCategoryStat.md)
 - [ModelsChallengePopularity](docs/ModelsChallengePopularity.md)
 - [ModelsNotification](docs/ModelsNotification.md)
 - [ModelsRecentActivityEntry](docs/ModelsRecentActivityEntry.md)
 - [ModelsSolveEntry](docs/ModelsSolveEntry.md)
 - [ModelsTeamInvitation](docs/ModelsTeamInvitation.md)
 - [ModelsTeamStats](docs/ModelsTeamStats.md)
 - [ModelsTimeSeriesEntry](docs/ModelsTimeSeriesEntry.md)
 - [ModelsUserActivity](docs/ModelsUserActivity.md)
 - [ModelsUserStats](docs/ModelsUserStats.md)
 - [ModelsWriteup](docs/ModelsWriteup.md)
 - [ServicesHintResponse](docs/ServicesHintResponse.md)
 - [ServicesUserScore](docs/ServicesUserScore.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="ApiKeyAuth"></a>
### ApiKeyAuth

- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header


## Author

support@rootaccess.ctf