login-with-phone
Method: POST
Path: /auth/login/phone
Tags: Auth
Summary
Login with phone
Description
This API enables users to authenticate into the system using their phone number. It provides a secure way for users to log in by verifying their identity through a one-time password (OTP) sent to their registered phone.
Storefront SDK Usage
SDK Method: sdk.auth.loginWithPhone()
Example:
typescript
// Login with phone number
const { data, error } = await sdk.auth.loginWithPhone({
phoneNumber: "9876543210",
countryCode: "+91",
registerIfNotExists: true
});
if (error) {
console.error("Login failed:", error.message);
} else {
console.log("OTP sent. Token:", data.otpToken);
console.log("Action:", data.action); // "login" or "register"
// Redirect user to OTP verification screen
}TypeScript Definition
typescript
"login-with-phone": {
parameters: {
query?: never;
header?: {
/** @description This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes. */
"x-debug-mode"?: components["parameters"]["DebugMode"];
};
path?: never;
cookie?: never;
};
requestBody: {
content: {
"application/json": {
/**
* @description Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.
* @default +91
* @constant
*/
country_code?: "+91";
/** @description 10 digit phone number without country code. */
phone: string;
/**
* @description This is used to send OTP to unregistered phone. By default it sends OTP to registered phone only.
* To send OTP to unregistered phone it should be pass with true value like this,
* "register_if_not_exists": true
*/
register_if_not_exists?: boolean;
};
};
};
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
/** @description A descriptive message confirming the success or failure of the Login process. */
message: string;
/** @description Indicates whether the request was successful or failure (true for success, false for failure). */
success: boolean;
/** @description An object containing the response content. */
content: {
/** @description The otp token is a unique code that is used for authentication during the Login/Register process. */
otp_token: string;
/** @description It is used for verifying OTP and using subsequent API call. */
otp_action: string;
};
};
};
};
400: components["responses"]["BadRequest"];
401: components["responses"]["Unauthorized"];
404: components["responses"]["NotFound"];
};
};Component References
| Reference | Resolves To |
|---|---|
components["parameters"]["DebugMode"] | DebugMode |
components["responses"]["BadRequest"] | BadRequest |
components["responses"]["Unauthorized"] | Unauthorized |
components["responses"]["NotFound"] | NotFound |
Parameters
- x-debug-mode (header): This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes.
Request Body
Content Types: application/json
Responses
200
OK
400
Bad request
401
Not authorized for given operation on the Resource
404
Requested resource not found
OpenAPI Definition
json
{
"tags": [
"Auth"
],
"operationId": "login-with-phone",
"summary": "Login with phone",
"description": "This API enables users to authenticate into the system using their phone number. It provides a secure way for users to log in by verifying their identity through a one-time password (OTP) sent to their registered phone.",
"externalDocs": {
"url": "https://llm-docs.commercengine.io/storefront/operations/login-with-phone",
"description": "API reference for the login-with-phone operation"
},
"parameters": [
{
"$ref": "#/components/parameters/DebugMode"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"phone"
],
"properties": {
"country_code": {
"description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.",
"type": "string",
"default": "+91",
"const": "+91"
},
"phone": {
"description": "10 digit phone number without country code.",
"type": "string"
},
"register_if_not_exists": {
"description": "This is used to send OTP to unregistered phone. By default it sends OTP to registered phone only. \nTo send OTP to unregistered phone it should be pass with true value like this,\n\"register_if_not_exists\": true",
"type": "boolean"
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"message",
"success",
"content"
],
"properties": {
"message": {
"description": "A descriptive message confirming the success or failure of the Login process.",
"type": "string"
},
"success": {
"description": "Indicates whether the request was successful or failure (true for success, false for failure).",
"type": "boolean"
},
"content": {
"description": "An object containing the response content.",
"properties": {
"otp_token": {
"description": "The otp token is a unique code that is used for authentication during the Login/Register process.",
"type": "string"
},
"otp_action": {
"description": "It is used for verifying OTP and using subsequent API call.",
"type": "string"
}
},
"required": [
"otp_token",
"otp_action"
],
"type": "object"
}
}
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
},
"security": [
{
"Authorization": []
}
],
"x-speakeasy-group": "auth",
"x-speakeasy-ignore": false,
"x-speakeasy-name-override": "loginWithPhone"
}Auto-generated from OpenAPI spec and TypeScript definitions