v1

latestOpenAPI 3.0.02026-07-2417129274.8 KB
Customer Management

Customer Create

Customer create is a synchronous POST-method API call.

Riskified receives account data creation events and performs fraud review to block suspicious account as well as blocking multiple account creation attempts.

Response: decision field will be set as one of the following values: allow, block. block response contains decision_reason when api-version=2 is set in request header.

post/customer_create

Headers

x-riskified-shop-domainstring required
Example:merchant.example.com

The merchant shop domain registered with Riskified.

x-riskified-hmac-sha256string required
Example:b1946ac92492d2347c6235b4d2611184

Verification hash for the Request. Generated by performing an SHA256 encryption on the request's POST body and calculating the HMAC hash of the result using your Riskified authentication token. Please use UTF8 encoding.

content_type'application/json' required

As payloads are sent to Riskified in JSON format, value should be: application/json

accept'application/vnd.riskified.com; version=2' required

Specify the version of the API to target. For example, to target the latest version of the API, use the following: application/vnd.riskified.com; version=2

api-version'2'

(Conditional Requirement) Required if you need fraud review analysis at account creation.

Request body

customer_idstring required

A unique numeric identifier for the customer.

vendor_namestring

The name of the affiliated partner or selling vendor.

created_atstring date-time

(Conditional Requirement) Required if you need fraud review analysis at account creation. Date and time (ISO8601) when the customer account is created at merchant. Please also set api-version=2 in a header to enable fraud review analysis.

Example request

{
  "customer_id": "207119551",
  "client_details": {
    "accept_language": "en-CA",
    "user_agent": "Mozilla/5.0 (CFNetwork/548.0.3 Darwin/11.2.0)"
  },
  "session_details": {
    "cart_token": "68778783ad298f1c80c3bafcddeea02f",
    "browser_ip": "111.111.111.111",
    "created_at": "2025-11-18T11:00:00-05:00",
    "source": "mobile_app",
    "device_id": "01234567-89ABCDEF-01234567-89ABCDEF",
    "referring_site": "http://www.nba.com/"
  },
  "customer": {
    "email": "customer@example.com",
    "verified_email": true,
    "first_name": "John",
    "last_name": "Doe",
    "id": "123456",
    "created_at": "2023-01-15T10:00:00-05:00",
    "orders_count": 5,
    "account_type": "registered",
    "phone": "+1234567890",
    "verified_phone": true,
    "date_of_birth": "1990-05-20",
    "gender": "male",
    "user_name": "john_doe",
    "address": {
      "first_name": "John",
      "last_name": "Test",
      "address1": "123 Smart St",
      "country": "United States",
      "country_code": "US",
      "phone": "+143873984567290",
      "city": "Los Angeles",
      "zip": "90210",
      "province": "California",
      "address2": "Apt 4B",
      "company": "My Company",
      "additional_phone": "+14245551234",
      "verified_phone": true,
      "province_code": "CA",
      "latitude": 34.0522,
      "longitude": -118.2437,
      "id": "addr_cust_01"
    }
  },
  "payment_details": [
    {
      "payment_type": "card",
      "credit_card_bin": "482932",
      "credit_card_company": "Visa",
      "credit_card_number": "9876",
      "credit_card_country": "US",
      "credit_card_token": "tok_preauth_XYZ789",
      "cardholder_name": "John Test Customer",
      "mid": "PREAUTH_MID_456",
      "id": "pmt_pre_01",
      "stored_payment_created_at": "2024-05-15T10:00:00Z",
      "stored_payment_updated_at": "2024-11-01T14:30:00Z",
      "installments": 1,
      "acquirer_bin": "999999",
      "acquirer_region": "NONEU",
      "expiry_month": 12,
      "expiry_year": 2028,
      "initial_payment_amount": 410,
      "payment_frequency": 1,
      "billing_address_id": "addr_bill_01"
    }
  ],
  "billing_address": {
    "first_name": "John",
    "last_name": "Test",
    "address1": "123 Smart St",
    "country": "United States",
    "country_code": "US",
    "phone": "+143873984567290",
    "city": "Los Angeles",
    "zip": "90210",
    "province": "California",
    "address2": "Apt 4B",
    "company": "My Company",
    "additional_phone": "+14245551234",
    "verified_phone": true,
    "province_code": "CA",
    "latitude": 34.0522,
    "longitude": -118.2437,
    "id": "addr_cust_01"
  },
  "shipping_address": {
    "first_name": "John",
    "last_name": "Test",
    "address1": "123 Smart St",
    "country": "United States",
    "country_code": "US",
    "phone": "+143873984567290",
    "city": "Los Angeles",
    "zip": "90210",
    "province": "California",
    "address2": "Apt 4B",
    "company": "My Company",
    "additional_phone": "+14245551234",
    "verified_phone": true,
    "province_code": "CA",
    "latitude": 34.0522,
    "longitude": -118.2437,
    "id": "addr_cust_01"
  },
  "created_at": "2025-11-15T10:00:00Z"
}

Response

Successful operation

customer_create_idstring required

Riskified ID of the created customer.

decision'allow' | 'block' required

The decision made by Riskified regarding the customer creation process.

Possible values:

  • allow: Customer creation is approved
  • block: Customer creation should be blocked

Note: "allow"/"block" response controlled by threshold set for /customer_create (threshold is applied to both sandbox and production).

decision_reason'multiple_accounts' | 'suspicious_account'

The reason of the decision made by Riskified regarding the customer creation process.