# arke_server v0.7.0 - Table of Contents > Arke server ## Modules - [ArkeServer](ArkeServer.md): The entrypoint for defining your web interface, such as controllers, channels and so on. - [ArkeServer.ApiSpec](ArkeServer.ApiSpec.md) - [ArkeServer.ArkeController](ArkeServer.ArkeController.md): Documentation for `ArkeServer.ArkeController`. - [ArkeServer.ArkeDevFunctionController](ArkeServer.ArkeDevFunctionController.md) - [ArkeServer.AuthController](ArkeServer.AuthController.md): Documentation for `ArkeServer.AuthController`. Used from the controller and via API not from CLI - [ArkeServer.Endpoint](ArkeServer.Endpoint.md): Module which define the Plug used for each call - [ArkeServer.ErrorHandlers.Auth](ArkeServer.ErrorHandlers.Auth.md): - [ArkeServer.ErrorHandlers.SSOAuth](ArkeServer.ErrorHandlers.SSOAuth.md): - [ArkeServer.GroupController](ArkeServer.GroupController.md): Documentation for `ArkeServer.ParameterController` - [ArkeServer.HealthController](ArkeServer.HealthController.md) - [ArkeServer.Mailer](ArkeServer.Mailer.md) - [ArkeServer.OAuth.AuthInfo](ArkeServer.OAuth.AuthInfo.md) - [ArkeServer.OAuth.Core](ArkeServer.OAuth.Core.md) - [ArkeServer.OAuth.Provider.Apple](ArkeServer.OAuth.Provider.Apple.md) - [ArkeServer.OAuth.Provider.Facebook](ArkeServer.OAuth.Provider.Facebook.md) - [ArkeServer.OAuth.Provider.Google](ArkeServer.OAuth.Provider.Google.md) - [ArkeServer.OAuth.Provider.Microsoft](ArkeServer.OAuth.Provider.Microsoft.md) - [ArkeServer.OAuth.UserInfo](ArkeServer.OAuth.UserInfo.md) - [ArkeServer.OAuthController](ArkeServer.OAuthController.md): Auth controller responsible for handling Ueberauth responses - [ArkeServer.Openapi.ArkeControllerSpec](ArkeServer.Openapi.ArkeControllerSpec.md): Definition of the ApiSpec for `ArkeServer.ArkeController`. - [ArkeServer.Openapi.AuthControllerSpec](ArkeServer.Openapi.AuthControllerSpec.md): Definition of the ApiSpec for `ArkeServer.AuthController`. - [ArkeServer.Openapi.GroupControllerSpec](ArkeServer.Openapi.GroupControllerSpec.md): Definition of the ApiSpec for `ArkeServer.GroupController`. - [ArkeServer.Openapi.OAuthControllerSpec](ArkeServer.Openapi.OAuthControllerSpec.md): Definition of the ApiSpec for `ArkeServer.OAuthController`. - [ArkeServer.Openapi.ParameterControllerSpec](ArkeServer.Openapi.ParameterControllerSpec.md): Definition of the ApiSpec for `ArkeServer.ParameterController`. - [ArkeServer.Openapi.ProjectControllerSpec](ArkeServer.Openapi.ProjectControllerSpec.md): Definition of the ApiSpec for `ArkeServer.ProjectController`. - [ArkeServer.Openapi.Responses](ArkeServer.Openapi.Responses.md) - [ArkeServer.Openapi.Spec](ArkeServer.Openapi.Spec.md) - [ArkeServer.Openapi.StructControllerSpec](ArkeServer.Openapi.StructControllerSpec.md): Definition of the ApiSpec for `ArkeServer.StructController`. - [ArkeServer.Openapi.TopologyControllerSpec](ArkeServer.Openapi.TopologyControllerSpec.md): Definition of the ApiSpec for `ArkeServer.TopologyController`. - [ArkeServer.Openapi.UnitControllerSpec](ArkeServer.Openapi.UnitControllerSpec.md): Definition of the ApiSpec for `ArkeServer.UnitController`. - [ArkeServer.ParameterController](ArkeServer.ParameterController.md) - [ArkeServer.Plugs.AuthPipeline](ArkeServer.Plugs.AuthPipeline.md): Pipeline To ensure that the user is always authenticated and authorized - [ArkeServer.Plugs.BuildFilters](ArkeServer.Plugs.BuildFilters.md) - [ArkeServer.Plugs.GetProject](ArkeServer.Plugs.GetProject.md): Plug to get the project from the request header - [ArkeServer.Plugs.GetUnit](ArkeServer.Plugs.GetUnit.md): Plug to get a unit from the id in the url - [ArkeServer.Plugs.ImpersonateAuthPipeline](ArkeServer.Plugs.ImpersonateAuthPipeline.md): Pipeline to ensure authentication of user and impersonate user - [ArkeServer.Plugs.NotAuthPipeline](ArkeServer.Plugs.NotAuthPipeline.md): Pipeline for all the non-authorized endpoints - [ArkeServer.Plugs.OAuth](ArkeServer.Plugs.OAuth.md) - [ArkeServer.Plugs.Permission](ArkeServer.Plugs.Permission.md) - [ArkeServer.Plugs.SSOAuthPipeline](ArkeServer.Plugs.SSOAuthPipeline.md): Pipeline to ensure the existence of an arke user from a sso jwt token - [ArkeServer.Plugs.SSONotAuthPipeline](ArkeServer.Plugs.SSONotAuthPipeline.md): Pipeline for all the non-authorized endpoints - [ArkeServer.ProjectController](ArkeServer.ProjectController.md): Documentation for `ArkeServer.ProjectController`. - [ArkeServer.ResponseManager](ArkeServer.ResponseManager.md): Module to standardize the responses. The response body can be formatted as follow: - %{items: [...], count: integer, messages: [...]} - %{content: %{items: [...], count: integer, messages: [...]}} - {content: ..., messages: [...]} If the status is 204 then the body will be empty - [ArkeServer.Router](ArkeServer.Router.md): Module where all the routes are defined. Too see run in the CLI: `mix phx.routes ArkeServer.Router` - [ArkeServer.Routes](ArkeServer.Routes.md): Available routes - [ArkeServer.Schemas](ArkeServer.Schemas.md) - [ArkeServer.Schemas.CreateUnitExample](ArkeServer.Schemas.CreateUnitExample.md): Create unit example - [ArkeServer.Schemas.GroupExample](ArkeServer.Schemas.GroupExample.md): Group example - [ArkeServer.Schemas.IntegerParameter](ArkeServer.Schemas.IntegerParameter.md): IntegerParameterUnit - [ArkeServer.Schemas.IntegerParameterUnit](ArkeServer.Schemas.IntegerParameterUnit.md): Integer unit parameter - [ArkeServer.Schemas.StringParameter](ArkeServer.Schemas.StringParameter.md): StringParameterUnit - [ArkeServer.Schemas.StringParameterUnit](ArkeServer.Schemas.StringParameterUnit.md): String unit parameter - [ArkeServer.Schemas.UnitExample](ArkeServer.Schemas.UnitExample.md): Unit example - [ArkeServer.Schemas.UnitParameter](ArkeServer.Schemas.UnitParameter.md): Parameter example - [ArkeServer.Schemas.UnitStruct](ArkeServer.Schemas.UnitStruct.md): Unit Struct - [ArkeServer.Schemas.UserExample](ArkeServer.Schemas.UserExample.md): User example - [ArkeServer.Schemas.UserParams](ArkeServer.Schemas.UserParams.md): Signin Parameter - [ArkeServer.StructController](ArkeServer.StructController.md): Documentation for`ArkeServer.StructController - [ArkeServer.Swoosh.Adapters.Mailtrap](ArkeServer.Swoosh.Adapters.Mailtrap.md): An adapter that sends email using the Mailtrap API. - [ArkeServer.Swoosh.Adapters.OneSignal](ArkeServer.Swoosh.Adapters.OneSignal.md): An adapter that sends email using the OneSignal API. - [ArkeServer.TopologyController](ArkeServer.TopologyController.md): Documentation for `ArkeServer.TopologyController`. - [ArkeServer.UnitController](ArkeServer.UnitController.md) - [ArkeServer.Utils.Apple](ArkeServer.Utils.Apple.md) - [ArkeServer.Utils.OneSignal](ArkeServer.Utils.OneSignal.md) - [ArkeServer.Utils.QueryFilters](ArkeServer.Utils.QueryFilters.md) - [ArkeServer.Utils.QueryOrder](ArkeServer.Utils.QueryOrder.md) - [ArkeServer.Utils.QueryProcessor](ArkeServer.Utils.QueryProcessor.md)