Pre-Authorization Flow

Order Review (Synchronous)

Changed on

The /decide endpoint is used to request that Riskified review an order for fraud after the customer has input their payment data and completed the purchase. This allows us to analyze the full order data when providing a decision. Riskified's decision is returned synchronously in the response to the /decide API request. If order data changes after an initial approved decision, the /decide API is called to update Riskified and receive a decision based on the new order data.

When the /decide API is used to send Riskified updated order details, be sure to pass the same order ID in the payload as was used in the initial decide request.

post/api/decide

Request

  • Base URL
    https://sandbox.riskified.com
  • URL
    https://sandbox.riskified.com/api/decide
  • Auth
    none declared. Required headers: x-riskified-shop-domain, x-riskified-hmac-sha256, Content-Type, accept

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'

Must be sent for the PSD2 flow requests.

Request body

Example request

{
  "order": {
    "id": "123456",
    "email": "guest.customer@example.com",
    "created_at": "2025-11-15T10:00:00Z",
    "currency": "USD",
    "gateway": "adyen",
    "browser_ip": "203.0.113.45",
    "total_price": 145.99,
    "total_discounts": 10,
    "referring_site": "https://www.google.com/search?q=best+shoes",
    "line_items": [
      {
        "price": 20,
        "quantity": 1,
        "title": "Tempered Glass Guard for Apple iPhone X",
        "product_id": "ABC123",
        "category": "On Sale",
        "brand": "Complete Cover",
        "product_type": "physical",
        "requires_shipping": true,
        "sku": "sj18fn402",
        "sub_category": "Super Sale",
        "condition": "new",
        "seller": null,
        "delivered_at": "2025-12-01T10:00:00Z",
        "delivered_to": "shipping_address",
        "drop_point": null,
        "size": "Small",
        "registry_type": null,
        "shipping_address_id": "addr_ship_01"
      }
    ],
    "shipping_lines": [
      {
        "price": 15,
        "title": "Express 2-Day Shipping",
        "code": "EXPRESS",
        "company": "DHL Express",
        "shipping_address_id": "addr_ship_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"
      }
    ],
    "customer": {
      "email": "test@mailmail.com",
      "verified_email": true,
      "first_name": "John",
      "last_name": "Test",
      "id": "d8fjv234",
      "created_at": "2019-02-20T15:09:00Z",
      "verified_email_at": "2019-02-21T10:00:00Z",
      "updated_at": "2019-02-20T15:09:00Z",
      "note": "VIP customer, high return rate.",
      "total_spent": 1000.5,
      "group_name": "Wholesale",
      "accepts_marketing": true,
      "last_order_id": "12345",
      "tags": "wholesale, loyal_customer, new_york",
      "buy_attempts": 15,
      "sell_attempts": 2,
      "first_purchase_at": "2019-03-01T12:00:00Z",
      "orders_count": 10,
      "account_type": "registered",
      "phone": "+143873984567290",
      "verified_phone": true,
      "verified_phone_at": "2019-02-22T11:30:00Z",
      "date_of_birth": "1985-10-25",
      "gender": "male",
      "user_name": "john_test_85",
      "document_id": "123.456.789-00",
      "document_type": "CPF",
      "social": [
        {
          "network": "facebook",
          "id": "fb_12345"
        }
      ],
      "linked_accounts": 2,
      "phone_mandatory": true,
      "referrer_customer_id": "ref_9876",
      "social_signup_type": "google",
      "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"
      },
      "spending_limit": 5000,
      "has_defaulted": false,
      "kyc_verified": true,
      "kyc_details": [
        {
          "vendor_name": "Socure",
          "update_at": "2025-11-19T16:00:00Z",
          "kyc_verified": true,
          "kyc_type": "soft"
        }
      ],
      "buyer_anonymous_id": "anon_b1a2c3d4"
    },
    "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"
      }
    ],
    "source": "desktop_web",
    "ai_agent": "chatgpt",
    "client_details": {
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36",
      "accept_language": "en-US,en;q=0.9,he-IL;q=0.8"
    },
    "name": "#10245",
    "cart_token": "CART-XYZ-78901234567890",
    "checkout_id": "CHK-A1B2C3D4E5F6",
    "updated_at": "2025-11-15T10:05:00Z",
    "note": "Customer requested delivery before end of week.",
    "passengers": [
      {
        "first_name": "John",
        "last_name": "Doe",
        "date_of_birth": "2015-07-28",
        "nationality_code": "US",
        "passenger_type": "Child",
        "document_number": "P12345678",
        "document_type": "Passport",
        "insurance_type": "Basic Travel",
        "insurance_price": 25,
        "document_issue_date": "2020-03-15",
        "document_expiration_date": "2030-03-15"
      }
    ],
    "discount_codes": [
      {
        "amount": 10,
        "code": "TENOFF"
      }
    ],
    "vendor_id": "VNDR-12345",
    "vendor_name": "Affiliate Travel Partner",
    "order_type": "test",
    "submission_reason": "rule_decision",
    "decision": {
      "external_status": "approved",
      "decided_at": "2025-11-19T16:15:00Z",
      "reason": "Approved by automated risk system",
      "amount": 400,
      "currency": "USD",
      "notes": "No suspicious activity detected; customer history clear."
    },
    "charge_free_payment_details": [
      {
        "amount": 50,
        "gateway": "giftcard"
      }
    ],
    "partner_sub_merchant_id": "Merchant1",
    "invoice_id": "europe"
  }
}

Response

Successful operation

OR
OR
OR
OR

Example response

{
  "order": {
    "id": "53953819"
  }
}

Changes

    • breaking

      added the new required header request parameter Content-Type

    • breaking

      the ////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      the ///////////// request property format changed from no format to date-time

    • breaking

      added to the response body oneOf list for the response status

    • breaking

      removed the required property ///// from the response with the status

    • warning

      deleted the header request parameter content_type

    • warning

      removed the request property ////////

    • warning

      removed the request property ////////

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • info

      api tag Pre-Authorization Flow added

    • info

      api tag Post-Authorization Flow removed

    • info

      added the new optional header request parameter api-version

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property //////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property ///////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property /////////////

    • info

      added the new optional request property ///////////

    • info

      the request property //////////// became optional

    • info

      added the new ach enum value to the request property /////////

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status