---
title: "Log in"
method: POST
path: "/requestor/auth/login"
tags: ["Authentication"]
---

# Log in

`POST /requestor/auth/login`

## Request

- Base URL: `https://www.getabrain.ai/api/v1`
- URL: `https://www.getabrain.ai/api/v1/requestor/auth/login`
- Auth: one of:
  - API key in header `X-API-Key` and API key in header `X-API-Secret`
  - HTTP bearer

## Request body

- object
  - `email` string, email, required
  - `password` string, required

## Response `200`

Authenticated

- object
  - `user` object
  - `access_token` string
  - `refresh_token` string
  - `legal_reacceptance_required` boolean: True when the account has not accepted the current legal terms. Call POST /requestor/auth/accept-terms before using the dashboard; the API key path is unaffected.

## Other responses

- `401`: Missing or invalid authentication
- `403`: Authenticated but not permitted (suspended account or not the resource owner)
- `429`: Too many requests for your account tier (see GET /requestor/usage for your limits). Wait Retry-After seconds and retry.

---

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