---
title: "Changes to Two-Factor setup."
method: POST
path: "/tf-setup"
---

# Changes to Two-Factor setup.

`POST /tf-setup`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 8 of 57 revisions.

- **2026-03-23** `7a55a25ff11b`: 2 info
- **2024-06-18** `87da0c2b0853`: 1 info
- **2024-01-05** `3501ef8122e4`: 2 info
- **2023-10-22** `b647a0e917e6`: 2 breaking, 6 info
- **2022-07-22** `4b3ea48a957a`: 5 breaking, 4 warning, 5 info
- **2022-04-11** `afed188e0556`: 6 breaking, 2 info
- **2021-01-04** `dbad93dcc37e`: 3 info
- **2020-08-31** `a06cc5a6dff4`: 1 info

## Changes

- **2026-03-23** `7a55a25ff11b`: 2 info
  - added the optional property `allOf[subschema #2]/response/tf_authr_b32key` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/response/tf_authr_uri` to the response with the `200` status
- **2024-06-18** `87da0c2b0853`: 1 info
  - added the optional property `allOf[subschema #2]/response/tf_state_token` to the response with the `200` status
- **2024-01-05** `3501ef8122e4`: 2 info
  - added the non-success response with the status `302`
  - added the optional property `allOf[subschema #2]/response/tf_method` to the response with the `200` status
- **2023-10-22** `b647a0e917e6`: 2 breaking, 6 info
  - the response's body type changed from no type to `object` for status `400`
  - the response's body type changed from no type to `object` for status `500`
  - removed `#/components/schemas/BaseJsonResponse, subschema #2` from the response body `allOf` list for the response status `400`
  - removed `#/components/schemas/BaseJsonResponse, subschema #2` from the response body `allOf` list for the response status `500`
  - added the required property `meta` to the response with the `400` status
  - added the required property `meta` to the response with the `500` status
  - added the required property `response` to the response with the `400` status
  - added the required property `response` to the response with the `500` status
- **2022-07-22** `4b3ea48a957a`: 5 breaking, 4 warning, 5 info
  - the response's body type changed from `object` to no type for status `200`
  - the `allOf[subschema #2]/response/errors` response's property type changed from `object` to `array` for status `400`
  - the `allOf[subschema #2]/response/errors` response's property type changed from `object` to `array` for status `500`
  - removed the required property `meta` from the response with the `200` status
  - removed the required property `response` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/response/error` from the response with the `400` status
  - removed the optional property `allOf[subschema #2]/response/error` from the response with the `500` status
  - removed the optional property `allOf[subschema #2]/response/errors/field-name` from the response with the `400` status
  - removed the optional property `allOf[subschema #2]/response/errors/field-name` from the response with the `500` status
  - added `#/components/schemas/BaseJsonResponse, subschema #2` to the response body `allOf` list for the response status `200`
  - added the optional property `allOf[subschema #2]/response/field_errors` to the response with the `400` status
  - added the optional property `allOf[subschema #2]/response/field_errors` to the response with the `500` status
  - the response property `allOf[subschema #2]/response/errors` became required for the status `400`
  - the response property `allOf[subschema #2]/response/errors` became required for the status `500`
- **2022-04-11** `afed188e0556`: 6 breaking, 2 info
  - the response's body type changed from `object` to no type for status `400`
  - the response's body type changed from `object` to no type for status `500`
  - removed the required property `meta` from the response with the `400` status
  - removed the required property `meta` from the response with the `500` status
  - removed the required property `response` from the response with the `400` status
  - removed the required property `response` from the response with the `500` status
  - added `#/components/schemas/BaseJsonResponse, subschema #2` to the response body `allOf` list for the response status `400`
  - added `#/components/schemas/BaseJsonResponse, subschema #2` to the response body `allOf` list for the response status `500`
- **2021-01-04** `dbad93dcc37e`: 3 info
  - added the optional property `response/tf_authr_issuer` to the response with the `200` status
  - added the optional property `response/tf_authr_key` to the response with the `200` status
  - added the optional property `response/tf_authr_username` to the response with the `200` status
- **2020-08-31** `a06cc5a6dff4`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/pallets-eco/apis/flask-security-external-api/docs/tf-setup/post.md) - [API](https://skmtc.dev/pallets-eco/apis/flask-security-external-api.md) - [Page](https://skmtc.dev/pallets-eco/apis/flask-security-external-api/changes/tf-setup/post)
