---
title: "Unified sign in verify/reauthentication"
method: POST
path: "/us-verify"
---

# Unified sign in verify/reauthentication

`POST /us-verify`

## Query parameters

- `include_auth_token` string

## Request body

- UsSigninVerify
  - `passcode` string, required — password or code
  - `next` string — Redirect URL. Overrides SECURITY_POST_VERIFY_VIEW. Invalid (e.g. external) URLs are rejected with INVALID_REDIRECT.

## Response `200`

Verify/reauthenticate response.

- object — The user successfully reauthenticated.
  - `meta` object, required
    - `code` integer, required — Http status code
  - `response` object, required
    - `user` object — By default an empty dictionary is returned. However by overriding _User::get_security_payload()_ any attributes of the User model can be returned.
      - `authentication_token` string — Token to be used in future token-based API calls. Note this only returned from those APIs that accept a 'include_auth_token' query param.
      - `refresh_token` string — A refresh token that can be used to get a new auth token. This is only returned if the application has enabled refresh tokens.
    - `csrf_token` string — Session CSRF token

## Other responses

- `302` — User successfully reauthenticated when using form based request.
- `400` — Errors while validating attributes.

## Changes

- **2026-08-14** `ee92f388dafa` — 2 info
  - added the new optional request property `next` (media type: application/json)
  - added the new optional request property `next` (media type: application/x-www-form-urlencoded)
- **2026-05-02** `21452a793d1a` — 1 info
  - added the optional property `allOf[#/components/schemas/JsonResponseWithToken]/allOf[subschema #2]/response/user/refresh_token` to the response with the `200` status
- **2023-10-22** `b647a0e917e6` — 1 breaking, 3 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `400`
  - removed `#/components/schemas/BaseJsonResponse, subschema #2` from the response body `allOf` list for the response status `400`
  - added the required property `meta` to the response with the `400` status
  - added the required property `response` to the response with the `400` status
- **2022-07-22** `4b3ea48a957a` — 1 breaking, 2 warning, 2 info
  - the `allOf[subschema #2]/response/errors` response's property type/format changed from `object`/`` to `array`/`` for status `400`
  - removed the optional property `allOf[subschema #2]/response/error` from the response with the `400` status
  - removed the optional property `allOf[subschema #2]/response/errors/field-name` from the response with the `400` status
  - added the optional property `allOf[subschema #2]/response/field_errors` to the response with the `400` status
  - …1 more
- …earlier changes not shown

[Full history](https://skmtc.dev/pallets-eco/apis/flask-security-external-api/changes/us-verify/post.md)

---

[API](https://skmtc.dev/pallets-eco/apis/flask-security-external-api.md) · [All operations](https://skmtc.dev/pallets-eco/apis/flask-security-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pallets-eco/flask-security-external-api/revisions/ee92f388dafa/schema)
