curl --request POST \
--url https://api.starkfi.io/kyc/prepare \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api_key>' \
--data '{"email":"user@example.com"}'
const response = await fetch("https://api.starkfi.io/kyc/prepare", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
body: JSON.stringify({ email: "user@example.com" }),
});
const data = await response.json();
import requests
response = requests.post(
"https://api.starkfi.io/kyc/prepare",
headers={"Content-Type": "application/json", "x-api-key": "<api_key>"},
json={"email": "user@example.com"},
)
data = response.json()
{
"statusCode": 201,
"success": true,
"status": "user_prepared",
"message": "User prepared for KYC, please verify your email"
}
{
"statusCode": 200,
"success": true,
"status": "user_already_prepared",
"message": "User already prepared for KYC",
"data": {
"email_verified": false,
"kyc_approved": false,
"kyc_status": "pending"
}
}
{
"statusCode": 400,
"success": false,
"status": "missing_params",
"message": "email is required"
}
{
"statusCode": 500,
"success": false,
"status": "server_failed",
"message": "Server failed on KYC prepare"
}
KYC
Prepare KYC
Register an email to begin the KYC flow before OTP and Didit session creation.
POST
/
kyc
/
prepare
curl --request POST \
--url https://api.starkfi.io/kyc/prepare \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api_key>' \
--data '{"email":"user@example.com"}'
const response = await fetch("https://api.starkfi.io/kyc/prepare", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
body: JSON.stringify({ email: "user@example.com" }),
});
const data = await response.json();
import requests
response = requests.post(
"https://api.starkfi.io/kyc/prepare",
headers={"Content-Type": "application/json", "x-api-key": "<api_key>"},
json={"email": "user@example.com"},
)
data = response.json()
{
"statusCode": 201,
"success": true,
"status": "user_prepared",
"message": "User prepared for KYC, please verify your email"
}
{
"statusCode": 200,
"success": true,
"status": "user_already_prepared",
"message": "User already prepared for KYC",
"data": {
"email_verified": false,
"kyc_approved": false,
"kyc_status": "pending"
}
}
{
"statusCode": 400,
"success": false,
"status": "missing_params",
"message": "email is required"
}
{
"statusCode": 500,
"success": false,
"status": "server_failed",
"message": "Server failed on KYC prepare"
}
string
required
Your StarkFi API key when required by your environment.
string
required
End user email. Use the same value (lowercase recommended) for OTP and session calls.
curl --request POST \
--url https://api.starkfi.io/kyc/prepare \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api_key>' \
--data '{"email":"user@example.com"}'
const response = await fetch("https://api.starkfi.io/kyc/prepare", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "<api_key>",
},
body: JSON.stringify({ email: "user@example.com" }),
});
const data = await response.json();
import requests
response = requests.post(
"https://api.starkfi.io/kyc/prepare",
headers={"Content-Type": "application/json", "x-api-key": "<api_key>"},
json={"email": "user@example.com"},
)
data = response.json()
{
"statusCode": 201,
"success": true,
"status": "user_prepared",
"message": "User prepared for KYC, please verify your email"
}
{
"statusCode": 200,
"success": true,
"status": "user_already_prepared",
"message": "User already prepared for KYC",
"data": {
"email_verified": false,
"kyc_approved": false,
"kyc_status": "pending"
}
}
{
"statusCode": 400,
"success": false,
"status": "missing_params",
"message": "email is required"
}
{
"statusCode": 500,
"success": false,
"status": "server_failed",
"message": "Server failed on KYC prepare"
}
Response
boolean
Present on 200
user_already_prepared — whether email OTP was completed.boolean
Present on 200 — whether KYC is approved.
string
Present on 200 — stored KYC status for that email.
⌘I
.png?fit=max&auto=format&n=I_v6ul4JDafNKFQP&q=85&s=f0ad25536f8a3ca42331fcff88ab2b26)