---
title: "POST /v1/auth/login — authenticate with email and password."
method: POST
path: "/v1/auth/login"
tags: ["auth"]
---

# POST /v1/auth/login — authenticate with email and password.

`POST /v1/auth/login`

## Request body

- LoginRequest — POST /v1/auth/login
  - `email` string, required
  - `password` string, required

## Response `200`

Login successful or TOTP required

- union — Successful authentication or a pending TOTP challenge.
  - object
    - `access_token` string, required
    - `expires_in` integer, required
    - `refresh_token` string, required
    - `status` 'authenticated', required
  - object
    - `challenge_token` string, required
    - `methods` MfaMethod[], required
    - `status` 'two_factor_required', required

## Other responses

- `401` — Invalid credentials
- `403` — Account suspended or unverified

---

[API](https://skmtc.dev/microsandbox/apis/microsandbox-api.md) · [All operations](https://skmtc.dev/microsandbox/apis/microsandbox-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/microsandbox/microsandbox-api/revisions/23f2a45cb09b/schema)
