---
title: "The owner signs in with the admin password. No key."
method: POST
path: "/v1/auth/admin-signin"
tags: ["admin"]
---

# The owner signs in with the admin password. No key.

`POST /v1/auth/admin-signin`

## Request

- Base URL: `https://api.hookdetector.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.hookdetector.com/v1/auth/admin-signin`
- Auth: none declared

The owner's password sign-in for hookdetector.com/admin. Send {"password": "..."};
the answer is a web sign-in key (all scopes, 30 days, at most 3 per account) for the
owner's account, the first email of HD_ADMIN_EMAILS, created on first use exactly as a
Google sign-in would create it. A wrong password is 401 invalid_admin_password. Failed
tries are limited to 5 per address per 15 minutes and 20 from all addresses per hour
(429 with Retry-After, the right password included). 503 admin_password_unavailable
when the server holds no valid HD_ADMIN_PASSWORD_HASH or no HD_ADMIN_EMAILS. The
password is never stored or logged. Browser only: no MCP tool. From the web's own
origin the key is also set in the session cookie (FAILURE_MODES.md WS14).

## Request body

- AdminSigninIn
  - `password` string: the owner's password

## Response `200`

Successful Response

- AdminSigninOut
  - `api_key` string, required: a web sign-in key (all scopes, 30 days, at most 3 per account); shown once
  - `key_id` string, required
  - `expires_at` string, required
  - `user` SignedInUser, required
    - `email` string, required
    - `name` string, nullable, required
    - `avatar_url` string, nullable, required
    - `is_admin` boolean, required

## Other responses

- `401`: the password is wrong (invalid_admin_password)
- `409`: conflict with the account's state
- `413`: request body over the size cap
- `422`: invalid input
- `429`: rate limited; see Retry-After
- `500`: our fault; names the request id
- `503`: password sign-in is not configured on this server (admin_password_unavailable)

---

[API](https://skmtc.dev/hookdetector/apis/hook-detector.md) · [All operations](https://skmtc.dev/hookdetector/apis/hook-detector/llms.txt) · [OpenAPI document](https://skmtc.dev/hookdetector/apis/hook-detector/revisions/b136a2804d2b?raw)
