---
title: "Set OTP delivery preference for handle login"
method: PATCH
path: "/v1/account/otp-preference"
tags: ["account"]
---

# Set OTP delivery preference for handle login

`PATCH /v1/account/otp-preference`

Set your preferred OTP delivery channel when logging in via handle.

**Valid values:**
- `"email"`: Prefer email OTP
- `"sms"`: Prefer SMS OTP
- `null`: Clear preference (show all options)

When set, the preferred channel appears first in the available methods
during handle login. This helps streamline the login flow.

**Note:** You must have a verified identity of the preferred type.
Setting a preference for a type you don't have will have no effect.

Authentication: `Authorization: Bearer <CLIENT_JWT>`

## Headers

- `authorization` string, nullable — Bearer JWT issued by Grove that identifies the account.

## Request body

- OTPPreferenceRequest — Request model for setting OTP preference.
  - `preference` string, nullable — OTP delivery preference: 'email', 'sms', or null to clear. When set, this channel appears first in available methods during login.

## Response `200`

Successful Response

- OTPPreferenceResponse — Response model for OTP preference.
  - `preference` string, nullable — Current OTP preference ('email', 'sms', or null if not set)

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/grove/apis/grove-api.md) · [All operations](https://skmtc.net/grove/apis/grove-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/grove/grove-api/versions/f286b48a8105/schema)
