Sign In
curl --request POST \
--url https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"password": "<string>"
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in"
payload = {
"email": "<string>",
"password": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({email: '<string>', password: '<string>'})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'password' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"password\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"password\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"password\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"accessToken": "<string>",
"refreshToken": "<string>",
"user": {
"id": "<string>",
"foreignId": {},
"role": "<string>",
"email": {},
"name": {},
"username": {},
"avatar": {},
"bio": {},
"metadata": {},
"reputation": {},
"isVerified": {},
"isActive": {},
"lastActive": {},
"suspensions": [
{}
],
"avatarFile": {},
"bannerFile": {},
"authMethods": [
"<string>"
],
"createdAt": "<string>"
}
}Auth Endpoints
Sign In
Authenticate a user with email and password
POST
/
:projectId
/
api
/
v7
/
auth
/
sign-in
Sign In
curl --request POST \
--url https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"password": "<string>"
}
'import requests
url = "https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in"
payload = {
"email": "<string>",
"password": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({email: '<string>', password: '<string>'})
};
fetch('https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'password' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"password\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"password\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.replyke.com/api/v6/:projectId/api/v7/auth/sign-in")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"password\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"accessToken": "<string>",
"refreshToken": "<string>",
"user": {
"id": "<string>",
"foreignId": {},
"role": "<string>",
"email": {},
"name": {},
"username": {},
"avatar": {},
"bio": {},
"metadata": {},
"reputation": {},
"isVerified": {},
"isActive": {},
"lastActive": {},
"suspensions": [
{}
],
"avatarFile": {},
"bannerFile": {},
"authMethods": [
"<string>"
],
"createdAt": "<string>"
}
}Authenticates an existing user by email and password. Returns an access token, refresh token, and the user’s profile.
Returned when the user exists but has no password set (e.g., OAuth-only account).
Body Parameters
User’s registered email address.
User’s password.
Response
true on successful authentication.Short-lived JWT access token. Expires in 30 minutes.
Long-lived JWT refresh token. Expires in 30 days. Use it to request a new
access token when the current one expires.
The authenticated user’s profile.
Show properties
Show properties
Unique user ID (UUID).
External user ID, if set.
User role.
Email address.
Display name.
Username.
Avatar URL.
Bio text.
Public custom data.
Reputation score.
Whether the user is verified.
Whether the account is active.
ISO timestamp of last activity.
Active suspensions on the account.
Processed avatar file with variants.
Processed banner file with variants.
List of auth methods (e.g.,
["password", "google"]).ISO timestamp of account creation.
Error Responses
User Not Found — 403
User Not Found — 403
{
"error": "User not found.",
"code": "auth/no-user-found"
}
Invalid Credentials — 403
Invalid Credentials — 403
{
"error": "Invalid credentials.",
"code": "auth/invalid-credentials"
}
Wrong Password — 401
Wrong Password — 401
{
"error": "Incorrect password.",
"code": "auth/wrong-password"
}
See Also
useAuthhook —signInWithEmailAndPassword- Built-in Auth guide
⌘I

