Your service name in OTP messages, and API 2.1
Since October 20, 2026, OTP messages can show your service name, codes are delivered by KakaoTalk AlimTalk only (API 2.x), and @k-otp/sdk 2.1.0 supports the new API without breaking changes.
Your service name in messages
Recipients can now see which service is asking for the code. Once an app has an approved service name, its messages read [K-OTP] 마이앱 인증번호는 123456입니다. 3분 내에 입력해주세요. instead of [K-OTP] 인증번호는 123456입니다. 3분 내에 입력해주세요. This applies to every template: default, login (login), sign-up (signup) and payment (payment).
- Set it in the console. Open the app in the console, go to Settings and enter the name under Service name in messages. The preview shows the message for each purpose. Only organization owners and admins can change it.
- 1 to 12 characters: Korean syllables, English letters, digits and single spaces between words. Names that could be mistaken for a bank, carrier, public body, large platform or an official notice are not accepted.
- Reviewed by K-OTP. Every new or changed name is reviewed before it is used, and the console shows its status: under review, approved, or rejected with the reason. Until a name is approved, messages go out without a service name, so a review never blocks a send.
- No code change. Keep passing the same
templateId. The name belongs to the app, not to the request, and an approved or changed name applies within about a minute. If AlimTalk delivery fails, the SMS fallback carries the same text.
See Message templates and service name.
API 2.x: delivery by KakaoTalk AlimTalk only
Codes are delivered by KakaoTalk AlimTalk. SMS remains only as the automatic fallback when an AlimTalk delivery fails; it is on by default, smsFallback: false turns it off, and a send still costs 1 credit.
POST /v1/issue refuses these requests with 400 BAD_REQUEST, the reason in data.code, and sends nothing:
channel: "sms":CHANNEL_NOT_SUPPORTED. Leavechannelout; AlimTalk is the default.webOtpset to anything other thanfalse:WEB_OTP_NOT_SUPPORTED. Stop sending it.- A template without an approved AlimTalk template:
TEMPLATE_NOT_AVAILABLE.
API 2.1.0 marks "sms" in the channelSupport of GET /v1/templates as deprecated. It has not been returned since 2.0.0 and will be removed from the type in the next major version. See Channels and SMS fallback and the API reference.
SDK 2.1.0
@k-otp/sdk 2.1.0 supports API 2.x without breaking changes: code written for 2.0.0 keeps compiling.
getIssueRequestErrorCode(error)readsCHANNEL_NOT_SUPPORTED,TEMPLATE_NOT_AVAILABLEandWEB_OTP_NOT_SUPPORTEDfrom a 400.- Deprecated:
channel: "sms", thewebOtpoption and result, and the WebOTP helpers and props of@k-otp/sdk/ui. They will be removed in the next major version. - The form's
webOtpsetting now defaults tofalse.
The server SDKs by language (C#, Java, Kotlin, PHP, Go, Python, Ruby and Dart) are at 0.2.0, generated from API 2.1.0 and available from GitHub Releases (Go from the Go module proxy). See SDKs and Server SDKs by language.