---
title: "Verify SMS OTP"
method: POST
path: "/api/v1/mobile/auth/sms-verify"
tags: ["Mobile - Authentication"]
---

# Verify SMS OTP

`POST /api/v1/mobile/auth/sms-verify`

Verify SMS OTP and return JWT tokens if valid.

## Request body

- SmsVerifyPayload — Verify SMS OTP.
  - `phone_number` string, required — Phone number that received OTP
  - `token` string, required — OTP code

## Response `200`

Successful Response

- LoginResponse — Login response with session data.
  - `access_token` string, required — JWT access token
  - `refresh_token` string, required — JWT refresh token
  - `expires_at` integer, required — Token expiration timestamp
  - `user` UserInfo, required — Basic user information.
    - `id` string, required — User ID
    - `email` string, nullable — User email
    - `phone_number` string, nullable — User phone number

## Other responses

- `400` — Bad request
- `401` — Invalid or expired OTP
- `422` — Validation Error

---

[API](https://skmtc.dev/caresquare/apis/fastapi.md) · [All operations](https://skmtc.dev/caresquare/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/caresquare/fastapi/revisions/c9df874d8d59/schema)
