---
title: "Login"
method: POST
path: "/auth/session/login"
tags: ["Session"]
---

# Login

`POST /auth/session/login`

Login to an account.

## Request body

- union
  - object
    - `email` string, required — Email
    - `password` string, required — Password
    - `friendly_name` string, nullable — Friendly name used for the session
  - object
    - `mfa_ticket` string, required — Unvalidated or authorised MFA ticket Used to resolve the correct account
    - `mfa_response` union — MFA response
      - object
        - `password` string, required
      - object
        - `recovery_code` string, required
      - object
        - `totp_code` string, required
    - `friendly_name` string, nullable — Friendly name used for the session

## Response `200`

- union
  - object
    - `result` 'Success', required
    - `_id` string, required — Unique Id
    - `user_id` string, required — User Id
    - `token` string, required — Session token
    - `name` string, required — Display name
    - `last_seen` string, date-time, required — ISO8601 formatted timestamp
    - `origin` string, nullable — Where the session is originating from
    - `subscription` WebPushSubscription — Web Push subscription
      - `endpoint` string, required
      - `p256dh` string, required
      - `auth` string, required
  - object
    - `result` 'MFA', required
    - `ticket` string, required
    - `allowed_methods` MFAMethod[], required
  - object
    - `result` 'Disabled', required
    - `user_id` string, required

## Other responses

- `default` — An error occurred.

---

[API](https://skmtc.net/revolt/apis/revolt-api.md) · [All operations](https://skmtc.net/revolt/apis/revolt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/revolt/revolt-api/revisions/fee80de86d4d/schema)
