---
title: "Get the sign-in options."
method: GET
path: "/api/sign-in"
tags: ["Sign-in"]
---

# Get the sign-in options.

`GET /api/sign-in`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/sign-in`
- Auth: none required

Tells a sign-in page, before anyone has signed in, that password sign-in is enabled, and gives the rules a password must meet, for a page where a person sets one. Requires no API key. Returns 404 unless PASSWORD_SIGN_IN_ENABLED is true, as the other sign-in endpoints do, so a 404 means password sign-in is not available.

## Response `200`

Password sign-in is enabled.

- SignInOptionsResponse
  - `password` PasswordRules
    - `maxBytes` integer: The most bytes a password can have in UTF-8.
    - `minCharacters` integer: The fewest characters a password can have.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Password sign-in is not enabled.
- `406`: No representation matches Accept.
- `413`: Content Too Large
- `415`: Unsupported Media Type
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-10** `c4f85daa9208`: 12 info
  - added the optional property `field` to the response with the `400` status
  - added the optional property `field` to the response with the `401` status
  - added the optional property `field` to the response with the `413` status
  - added the optional property `field` to the response with the `415` status
  - …8 more
- **2026-10-10** `da689fe402a5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/philterd/apis/philter-api/changes/api/sign-in/get.md)

---

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