---
title: "User login"
method: POST
path: "/api/login"
tags: ["Auth"]
---

# User login

`POST /api/login`

Authenticates a user and returns a JWT token upon successful login.

## Request body

- ServerUserCredentials
  - `password` string
  - `username` string

## Response `200`

JWT token (upgrade_id present when async SSO upgrade started)

- ServerAuthTokenWithUpgrade
  - `token` string
  - `upgrade_id` string

## Other responses

- `401` — Invalid credentials
- `403` — Error in request
- `429` — Too many requests
- `500` — Error signing token

---

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