---
title: "Reset PIN (with 2FA code)"
method: POST
path: "/auth/me/pin/reset"
tags: ["auth"]
---

# Reset PIN (with 2FA code)

`POST /auth/me/pin/reset`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/auth/me/pin/reset`
- Auth: API key in header `Authorization`

Completes a self-service reset: the code from /auth/me/pin/reset/start plus the new 4- or 6-digit PIN. 401 `reset_code_invalid` when the code is wrong, expired or already used. Installing the new PIN also clears any lockout.

## Request body

- InternalDeliveryHttpHandlerPinResetRequest
  - `channel` 'email' | 'sms'
  - `code` string
  - `pin` string

## Response `200`

OK

- InternalDeliveryHttpHandlerPinStatusResponse
  - `data` InternalDeliveryHttpHandlerPinStatusData
    - `pin_length` integer
    - `pin_set` boolean
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `412`: Precondition Failed

---

[API](https://skmtc.dev/instruxi/apis/enforcer-api.md) · [All operations](https://skmtc.dev/instruxi/apis/enforcer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/instruxi/apis/enforcer-api/revisions/fa82bc1becc0?raw)
