---
title: "Authenticate with email + password"
method: POST
path: "/api/v1/auth/login"
tags: ["Auth"]
---

# Authenticate with email + password

`POST /api/v1/auth/login`

## Request

- Base URL: `https://www.agenttax.io`
- URL: `https://www.agenttax.io/api/v1/auth/login`
- Auth: none declared

Returns a session token + Sets atx_session (HttpOnly) + atx_csrf cookies. argon2id password hashing with legacy PBKDF2 dual-read for older accounts. Account-lockout after 5 consecutive failures.

## Request body

- LoginRequest
  - `email` string, email, required
  - `password` string, required

## Response `200`

Login succeeded — session cookie set.

## Other responses

- `401`: Invalid email or password
- `429`: Account locked — Retry-After header indicates cooldown seconds

---

[API](https://skmtc.dev/agenttax/apis/agenttax-api.md) · [All operations](https://skmtc.dev/agenttax/apis/agenttax-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agenttax/apis/agenttax-api/revisions/c4af8147c0cb?raw)
