---
id: login
title: "User Login"
description: "Authenticate a user and start a new session."
sidebar_label: "User Login"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "post api-method"
info_path: docs/api/neko-api
custom_edit_url: null
---

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"User Login"}
>
</Heading>

<MethodEndpoint
  method={"post"}
  path={"/api/login"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Authenticate a user and start a new session.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
  children={"Request"}
>
</Heading>

<ParamsDetails
  parameters={undefined}
>
  
</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={{"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","description":"The username of the user."},"password":{"type":"string","description":"The password of the user."}},"title":"SessionLoginRequest"}}},"required":true}}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"User authenticated successfully.","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the session."},"profile":{"description":"The profile information of the user.","x-tags":["members"],"type":"object","properties":{"name":{"type":"string","description":"The name of the member."},"is_admin":{"type":"boolean","description":"Indicates if the member is an admin."},"can_login":{"type":"boolean","description":"Indicates if the member can log in."},"can_connect":{"type":"boolean","description":"Indicates if the member can connect."},"can_watch":{"type":"boolean","description":"Indicates if the member can watch."},"can_host":{"type":"boolean","description":"Indicates if the member can host."},"can_share_media":{"type":"boolean","description":"Indicates if the member can share media."},"can_access_clipboard":{"type":"boolean","description":"Indicates if the member can access the clipboard."},"sends_inactive_cursor":{"type":"boolean","description":"Indicates if the member sends inactive cursor."},"can_see_inactive_cursors":{"type":"boolean","description":"Indicates if the member can see inactive cursors."},"plugins":{"type":"object","additionalProperties":true,"description":"Additional plugin settings."}},"title":"MemberProfile"},"state":{"description":"The current state of the session.","type":"object","properties":{"is_connected":{"type":"boolean","description":"Indicates if the user is connected."},"is_watching":{"type":"boolean","description":"Indicates if the user is watching."}},"title":"SessionState"}},"title":"SessionData"},{"type":"object","properties":{"token":{"type":"string","description":"The session token, only if cookie authentication is disabled."}}}],"title":"SessionLoginResponse"}}}},"401":{"description":"The request requires user authentication.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message."}},"title":"ErrorMessage"}}}},"403":{"description":"The server understood the request, but refuses to authorize it.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Detailed error message."}},"title":"ErrorMessage"}}}}}}
>
  
</StatusCodes>


      