Skip to main content
POST
/
kyc
/
create
/
{kyc_type}
curl --request POST \
  --url https://api.starkfi.io/kyc/create/verify_public_kyc \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api_key>' \
  --data '{"email":"user@example.com"}'
{
  "statusCode": 201,
  "success": true,
  "status": "kyc_session_created",
  "message": "KYC session created",
  "data": {
    "success": true,
    "message": "didit_create_kyc_session",
    "session": {
      "session_id": "string",
      "session_url": "https://..."
    }
  }
}
x-api-key
string
required
Your StarkFi API key when required by your environment.
kyc_type
string
required
Verification flow. Use verify_public_kyc for the public Didit integration.
email
string
Same email used in prepare and OTP. Provide email or wallet (not both required, but at least one).
wallet
string
Same wallet used in prepare-wallet. Provide wallet or email.
curl --request POST \
  --url https://api.starkfi.io/kyc/create/verify_public_kyc \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api_key>' \
  --data '{"email":"user@example.com"}'
{
  "statusCode": 201,
  "success": true,
  "status": "kyc_session_created",
  "message": "KYC session created",
  "data": {
    "success": true,
    "message": "didit_create_kyc_session",
    "session": {
      "session_id": "string",
      "session_url": "https://..."
    }
  }
}

Response

data
object
Payload returned by the KYC session builder. Commonly includes session with identifiers and a hosted session_url when a new flow is issued. Exact fields may vary when a session already exists or the user is already approved.