---
title: "POST /p1/login"
method: POST
path: "/p1/login"
tags: ["auth"]
---

# POST /p1/login

`POST /p1/login`

需要 [turnstile](https://developers.cloudflare.com/turnstile/get-started/client-side-rendering/)

next.bgm.tv 域名对应的 site-key 为 `0x4AAAAAAABkMYinukE8nzYS`

dev.bgm38.tv 域名使用测试用的 site-key `1x00000000000000000000AA`

## Request body

- LoginRequestBody
  - `email` string, required
  - `password` string, required
  - `turnstileToken` string, required

## Response `200`

Default Response

- SlimUser
  - `avatar` Avatar, required
    - `large` string, required
    - `medium` string, required
    - `small` string, required
  - `group` integer, required
  - `id` integer, required
  - `isFriend` boolean, required — Whether the authenticated user has added this user as a friend; false when the endpoint does not populate viewer friendship
  - `joinedAt` integer, required
  - `nickname` string, required
  - `sign` string, required
  - `username` string, required

## Other responses

- `400` — request validation error
- `401` — 验证码错误/账号密码不匹配
- `429` — 失败次数太多，需要过一段时间再重试
- `500` — 意料之外的服务器错误

---

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