{"openapi":"3.1.0","info":{"title":"E-commerce Fraud & Order Risk API","version":"1.0.0","description":"Read a supplied order history, compare patterns across those orders, and separate indicators from confirmed fraud. Paid with x402 exact USDC on Base. No account is required.","contact":{"email":"support@brainiac.software"},"x-guidance":"BRAINIAC.software is a pay-per-call API for software agents. No account or API key is required.\nPayment uses the x402 protocol with exact USDC on Base (chain id 8453). Each POST operation has a fixed USD price.\nHow to call an operation:\n1. POST a JSON body matching the operation's requestBody schema to the operation path. Include an Idempotency-Key header (64 hex characters, 32 random bytes).\n2. If you have not paid, the server responds 402 with payment requirements in the body. Pay the exact amount to the payTo address on Base.\n3. Retry the identical request with the same Idempotency-Key and add a payment-signature header containing the x402 payment payload. On success (200) the operation result is returned.\n4. Reuse the same Idempotency-Key only for retries of the same operation and request body; it will not be charged twice.\nAll outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Verify time-sensitive or official data with the cited source before acting."},"servers":[{"url":"https://www.brainiac.software"}],"paths":{"/api/v1/ecommerce-fraud/suspicious-order-detect":{"post":{"operationId":"detect_suspicious_order_patterns","summary":"Detect suspicious order patterns","description":"Compare supplied amounts with a Tukey fence when 8 orders share a currency, and with a customer's own median when that customer has at least four amounts. A new address counts only after earlier orders. One signal is an indicator, not confirmed fraud.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"orders":[{"id":"O-1","customer":"C-1","created":"2026-11-01","amount":20,"currency":"USD","status":"paid","address":"1 Main St, 10001","country":"US","billCountry":"US"},{"id":"O-2","customer":"C-1","created":"2026-11-02","amount":22,"currency":"USD","status":"paid","address":"1 Main St, 10001","country":"US","billCountry":"US"},{"id":"O-3","customer":"C-1","created":"2026-11-03","amount":21,"currency":"USD","status":"paid","address":"1 Main St, 10001","country":"US","billCountry":"US"},{"id":"O-4","customer":"C-1","created":"2026-11-04","amount":400,"currency":"USD","status":"paid","address":"9 Other St, 20002","country":"US","billCountry":"CA"},{"id":"O-5","customer":"C-2","created":"2026-11-01","amount":19,"currency":"USD","status":"paid","country":"US","billCountry":"US"},{"id":"O-6","customer":"C-3","created":"2026-11-01","amount":23,"currency":"USD","status":"paid","country":"US","billCountry":"GB"},{"id":"O-7","customer":"C-4","created":"2026-11-01","amount":18,"currency":"USD","status":"paid","country":"US","billCountry":"US"},{"id":"O-8","customer":"C-5","created":"2026-11-01","amount":20,"currency":"USD","status":"paid","country":"US","billCountry":"US"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"fences":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string"},"applied":{"type":"boolean"},"lower":{"type":"number"},"upper":{"type":"number"},"sample":{"type":"number"}},"additionalProperties":true}},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"customer":{"type":"string"},"signalCount":{"type":"number"},"level":{"type":"string"},"signals":{"type":"string"}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"review","fences":[{"currency":"USD","applied":true,"lower":16,"upper":26,"sample":8}],"signals":[{"code":"amount_outlier","rule":"tukey_1_5_iqr","detail":"1 of 8 supplied USD amounts are outside the Tukey fence 16 to 26. This is a statistical outlier, not confirmed fraud.","confirmed":false,"orders":["O-4"]},{"code":"amount_vs_history","rule":"above_3x_median","detail":"Order O-4 is above 3 times the median of this customer's other supplied USD amounts (O-1, O-2, O-3). This is one indicator.","confirmed":false,"orders":["O-4"]},{"code":"address_changed","rule":"new_address_after_history","detail":"Order O-4 uses a shipping address that does not match this customer's earlier supplied orders (O-1, O-2, O-3).","confirmed":false,"orders":["O-4"]}],"orders":[{"id":"O-4","customer":"C-1","signalCount":3,"level":"review","signals":"amount_outlier,amount_vs_history,address_changed"},{"id":"O-1","customer":"C-1","signalCount":0,"level":"none","signals":""},{"id":"O-2","customer":"C-1","signalCount":0,"level":"none","signals":""},{"id":"O-3","customer":"C-1","signalCount":0,"level":"none","signals":""},{"id":"O-5","customer":"C-2","signalCount":0,"level":"none","signals":""},{"id":"O-6","customer":"C-3","signalCount":0,"level":"none","signals":""},{"id":"O-7","customer":"C-4","signalCount":0,"level":"none","signals":""},{"id":"O-8","customer":"C-5","signalCount":0,"level":"none","signals":""}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"observation","code":"country_mismatch","subject":"O-4","detail":"The supplied ship and bill countries differ. One mismatch is not a pattern and is not a fraud finding."},{"kind":"observation","code":"country_mismatch","subject":"O-6","detail":"The supplied ship and bill countries differ. One mismatch is not a pattern and is not a fraud finding."},{"kind":"indicator","code":"amount_outlier","subject":"O-4","detail":"1 of 8 supplied USD amounts are outside the Tukey fence 16 to 26. This is a statistical outlier, not confirmed fraud."},{"kind":"indicator","code":"amount_vs_history","subject":"O-4","detail":"Order O-4 is above 3 times the median of this customer's other supplied USD amounts (O-1, O-2, O-3). This is one indicator."},{"kind":"indicator","code":"address_changed","subject":"O-4","detail":"Order O-4 uses a shipping address that does not match this customer's earlier supplied orders (O-1, O-2, O-3)."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/ecommerce-fraud/card-testing-pattern-detect":{"post":{"operationId":"detect_card_testing_patterns","summary":"Detect card-testing patterns","description":"Group supplied card fingerprints. Three or more declines on one fingerprint, or three or more cards for one customer, are indicators. A small-amount rule is used only when the caller supplies it. No payment is retried.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"orders":[{"id":"T-1","customer":"C-1","created":"2026-11-04T10:00","amount":1,"currency":"USD","status":"declined","card":"424242-4242"},{"id":"T-2","customer":"C-1","created":"2026-11-04T10:05","amount":1,"currency":"USD","status":"declined","card":"424242-4242"},{"id":"T-3","customer":"C-1","created":"2026-11-04T10:12","amount":1,"currency":"USD","status":"failed","card":"424242-4242"},{"id":"T-4","customer":"C-2","created":"2026-11-04T11:00","amount":40,"currency":"USD","status":"paid","card":"400000-1234"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"indicator","signals":[{"code":"decline_cluster","rule":"min_orders_same_card","detail":"3 supplied orders for card 424242-4242 (C-1) are declined or failed. No payment was retried.","confirmed":false,"orders":["T-1","T-2","T-3"]}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"observation","code":"small_amount_rule_missing","subject":"","detail":"No small-amount rule was supplied, so low amounts were not treated as card testing."},{"kind":"indicator","code":"decline_cluster","subject":"T-1","detail":"3 supplied orders for card 424242-4242 (C-1) are declined or failed. No payment was retried."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/ecommerce-fraud/bulk-order-abuse-detect":{"post":{"operationId":"detect_bulk_order_patterns","summary":"Detect bulk-order patterns","description":"Flag a shipping address only when it appears on at least three supplied orders. Combined quantity is compared with a caller rule across those orders. One large order is not a bulk pattern.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"orders":[{"id":"B-1","customer":"C-1","created":"2026-11-01","address":"1 Main St, 10001","quantity":2},{"id":"B-2","customer":"C-2","created":"2026-11-02","address":"1 Main St, 10001","quantity":2},{"id":"B-3","customer":"C-3","created":"2026-11-03","address":"1 Main St, 10001","quantity":2},{"id":"B-4","customer":"C-9","created":"2026-11-04","address":"9 Side St, 30003","quantity":40}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"indicator","signals":[{"code":"shared_address","rule":"min_orders_same_address","detail":"3 supplied orders use the same shipping address across 3 customer key. No order was blocked.","confirmed":false,"orders":["B-1","B-2","B-3"]}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"observation","code":"quantity_rule_missing","subject":"","detail":"No quantity rule was supplied. Bulk quantity was not inferred."},{"kind":"indicator","code":"shared_address","subject":"B-1","detail":"3 supplied orders use the same shipping address across 3 customer key. No order was blocked."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/ecommerce-fraud/refund-abuse-pattern-detect":{"post":{"operationId":"detect_refund_patterns","summary":"Detect refund patterns","description":"Count supplied orders whose status is refunded. A customer needs at least three refunds before a repeat pattern is reported. A single refund is not treated as abuse.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"orders":[{"id":"R-1","customer":"C-1","created":"2026-11-01","amount":20,"currency":"USD","status":"refunded"},{"id":"R-2","customer":"C-1","created":"2026-11-02","amount":22,"currency":"USD","status":"refunded"},{"id":"R-3","customer":"C-1","created":"2026-11-03","amount":21,"currency":"USD","status":"refunded"},{"id":"R-4","customer":"C-1","created":"2026-11-04","amount":20,"currency":"USD","status":"paid"},{"id":"R-5","customer":"C-2","created":"2026-11-04","amount":18,"currency":"USD","status":"refunded"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"review","signals":[{"code":"repeat_refund","rule":"min_refunded_orders","detail":"Customer C-1 has 3 supplied orders with status refunded.","confirmed":false,"orders":["R-1","R-2","R-3"]},{"code":"refund_rate","rule":"refunded_share_at_least_half","detail":"Customer C-1 has 3 refunded orders out of 4 supplied orders. The share is at least half and at least 3 refunds.","confirmed":false,"orders":["R-1","R-2","R-3"]}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"indicator","code":"repeat_refund","subject":"R-1","detail":"Customer C-1 has 3 supplied orders with status refunded."},{"kind":"indicator","code":"refund_rate","subject":"R-1","detail":"Customer C-1 has 3 refunded orders out of 4 supplied orders. The share is at least half and at least 3 refunds."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/ecommerce-fraud/promotion-abuse-detect":{"post":{"operationId":"detect_promotion_patterns","summary":"Detect promotion patterns","description":"Report a promotion code only when the same customer uses it on at least three supplied orders, or when the same code and address appear for at least two customers. One use is not abuse.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"orders":[{"id":"P-1","customer":"C-1","created":"2026-11-01","promo":"SAVE10"},{"id":"P-2","customer":"C-1","created":"2026-11-02","promo":"SAVE10"},{"id":"P-3","customer":"C-1","created":"2026-11-03","promo":"SAVE10"},{"id":"P-4","customer":"C-2","created":"2026-11-03","promo":"SAVE10"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"indicator","signals":[{"code":"promo_repeat","rule":"same_customer_same_promo","detail":"Customer C-1 uses code SAVE10 on 3 supplied orders.","confirmed":false,"orders":["P-1","P-2","P-3"]}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"indicator","code":"promo_repeat","subject":"P-1","detail":"Customer C-1 uses code SAVE10 on 3 supplied orders."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/ecommerce-fraud/shipping-address-risk-analyze":{"post":{"operationId":"analyze_shipping_address_patterns","summary":"Analyze shipping-address patterns","description":"Compare supplied shipping addresses across orders. A shared address needs at least three orders and two customers. Several addresses for one customer are a separate indicator. A missing address is not a fraud finding.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"orders":[{"id":"A-1","customer":"C-1","created":"2026-11-01","address":"1 Main St, 10001","country":"US"},{"id":"A-2","customer":"C-2","created":"2026-11-01","address":"1 Main St, 10001","country":"US"},{"id":"A-3","customer":"C-3","created":"2026-11-01","address":"1 Main St, 10001","country":"US"},{"id":"A-4","customer":"C-1","created":"2026-11-02","address":"2 Oak St, 10002","country":"US"},{"id":"A-5","customer":"C-1","created":"2026-11-03","address":"3 Pine St, 10003","country":"US"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"customers":{"type":"array","items":{"type":"object","properties":{"customer":{"type":"string"},"signalCount":{"type":"number"},"level":{"type":"string"},"signals":{"type":"string"}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"review","signals":[{"code":"shared_address","rule":"min_orders_two_customers","detail":"3 supplied orders share this shipping address across 3 customers.","confirmed":false,"orders":["A-1","A-2","A-3"]},{"code":"address_spread","rule":"distinct_addresses","detail":"Customer C-1 has 3 distinct supplied shipping addresses.","confirmed":false,"orders":["A-1","A-4","A-5"]}],"customers":[{"customer":"C-1","signalCount":2,"level":"review","signals":"shared_address,address_spread"},{"customer":"C-2","signalCount":1,"level":"indicator","signals":"shared_address"},{"customer":"C-3","signalCount":1,"level":"indicator","signals":"shared_address"}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"indicator","code":"shared_address","subject":"A-1","detail":"3 supplied orders share this shipping address across 3 customers."},{"kind":"indicator","code":"address_spread","subject":"A-1","detail":"Customer C-1 has 3 distinct supplied shipping addresses."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/ecommerce-fraud/order-velocity-analyze":{"post":{"operationId":"analyze_order_velocity","summary":"Analyze order velocity","description":"Count supplied orders for the same customer, IP, or card. With a minute window and timestamps, the orders must fall inside that window. Otherwise they are compared on the same calendar day. Fewer than three orders is not a pattern.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"window":60,"orders":[{"id":"V-1","customer":"C-1","created":"2026-11-04T10:00","ip":"203.0.113.10"},{"id":"V-2","customer":"C-1","created":"2026-11-04T10:10","ip":"203.0.113.10"},{"id":"V-3","customer":"C-1","created":"2026-11-04T10:20","ip":"203.0.113.10"},{"id":"V-4","customer":"C-2","created":"2026-11-04T10:00","ip":"203.0.113.20"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"windowMinutes":{"type":"number"},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"review","windowMinutes":60,"signals":[{"code":"customer_velocity","rule":"caller_window","detail":"3 supplied orders for C-1 fall within 60 minutes. No order was blocked.","confirmed":false,"orders":["V-1","V-2","V-3"]},{"code":"ip_velocity","rule":"caller_window","detail":"3 supplied orders for 203.0.113.10 fall within 60 minutes. No order was blocked.","confirmed":false,"orders":["V-1","V-2","V-3"]}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"indicator","code":"customer_velocity","subject":"V-1","detail":"3 supplied orders for C-1 fall within 60 minutes. No order was blocked."},{"kind":"indicator","code":"ip_velocity","subject":"V-1","detail":"3 supplied orders for 203.0.113.10 fall within 60 minutes. No order was blocked."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/ecommerce-fraud/investigation-report":{"post":{"operationId":"report_order_risk_indicators","summary":"Report order-risk indicators","description":"Combine supplied amount, card, address, promotion, refund, and velocity patterns. Review means two or more indicators. The report does not confirm fraud, process a payment, or block an order.","tags":["ecommerce-fraud"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000}},"required":["mediaType","fileBase64"],"additionalProperties":false},"orders":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"customer":{"type":"string","maxLength":160},"created":{"type":"string","maxLength":40},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"status":{"type":"string","maxLength":40},"card":{"type":"string","maxLength":40},"ip":{"type":"string","maxLength":80},"promo":{"type":"string","maxLength":40},"quantity":{"type":"integer","minimum":0,"maximum":1000000},"address":{"type":"string","maxLength":200},"country":{"type":"string","maxLength":40},"billCountry":{"type":"string","maxLength":40}},"additionalProperties":false}},"window":{"type":"integer","minimum":1,"maximum":10080},"rules":{"type":"object","properties":{"smallAmount":{"type":"number","minimum":0,"maximum":1000000},"quantity":{"type":"integer","minimum":1,"maximum":1000000},"orders":{"type":"integer","minimum":3,"maximum":50}},"additionalProperties":false}},"additionalProperties":false},"example":{"orders":[{"id":"R-1","customer":"C-1","created":"2026-11-01","amount":20,"currency":"USD","status":"refunded"},{"id":"R-2","customer":"C-1","created":"2026-11-02","amount":22,"currency":"USD","status":"refunded"},{"id":"R-3","customer":"C-1","created":"2026-11-03","amount":21,"currency":"USD","status":"refunded"},{"id":"R-4","customer":"C-1","created":"2026-11-04","amount":20,"currency":"USD","status":"paid"},{"id":"R-5","customer":"C-2","created":"2026-11-04","amount":18,"currency":"USD","status":"refunded"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"level":{"type":"string"},"orderCount":{"type":"number"},"signalCount":{"type":"number"},"customers":{"type":"array","items":{"type":"object","properties":{"customer":{"type":"string"},"orderCount":{"type":"number"},"signalCount":{"type":"number"},"level":{"type":"string"},"signals":{"type":"string"}},"additionalProperties":true}},"signals":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"rule":{"type":"string"},"detail":{"type":"string"},"confirmed":{"type":"boolean"},"orders":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"fraudConfirmed":{"type":"boolean"},"paymentProcessed":{"type":"boolean"},"orderBlocked":{"type":"boolean"},"accountAccessed":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T09:00:00.000Z","status":"checked","level":"review","orderCount":5,"signalCount":2,"customers":[{"customer":"C-1","orderCount":4,"signalCount":2,"level":"review","signals":"repeat_refund,refund_rate"},{"customer":"C-2","orderCount":1,"signalCount":0,"level":"none","signals":""}],"signals":[{"code":"repeat_refund","rule":"min_refunded_orders","detail":"Customer C-1 has 3 supplied orders with status refunded.","confirmed":false,"orders":["R-1","R-2","R-3"]},{"code":"refund_rate","rule":"refunded_share_at_least_half","detail":"Customer C-1 has 3 refunded orders out of 4 supplied orders. The share is at least half and at least 3 refunds.","confirmed":false,"orders":["R-1","R-2","R-3"]}],"fraudConfirmed":false,"paymentProcessed":false,"orderBlocked":false,"accountAccessed":false,"findings":[{"kind":"observation","code":"sample_too_small","subject":"","detail":"Fewer than 8 amounts share a currency, so no amount fence was applied."},{"kind":"missing","code":"card_missing","subject":"","detail":"No card fingerprint was supplied. Cards were not looked up."},{"kind":"observation","code":"small_amount_rule_missing","subject":"","detail":"No small-amount rule was supplied, so low amounts were not treated as card testing."},{"kind":"observation","code":"quantity_rule_missing","subject":"","detail":"No quantity rule was supplied. Bulk quantity was not inferred."},{"kind":"indicator","code":"repeat_refund","subject":"R-1","detail":"Customer C-1 has 3 supplied orders with status refunded."},{"kind":"indicator","code":"refund_rate","subject":"R-1","detail":"Customer C-1 has 3 refunded orders out of 4 supplied orders. The share is at least half and at least 3 refunds."},{"kind":"missing","code":"promo_missing","subject":"","detail":"No promotion code was supplied."},{"kind":"observation","code":"address_incomplete","subject":"R-1","detail":"No shipping address was supplied. A missing address is not a fraud indicator."},{"kind":"observation","code":"address_incomplete","subject":"R-2","detail":"No shipping address was supplied. A missing address is not a fraud indicator."},{"kind":"observation","code":"address_incomplete","subject":"R-3","detail":"No shipping address was supplied. A missing address is not a fraud indicator."},{"kind":"observation","code":"address_incomplete","subject":"R-4","detail":"No shipping address was supplied. A missing address is not a fraud indicator."},{"kind":"observation","code":"address_incomplete","subject":"R-5","detail":"No shipping address was supplied. A missing address is not a fraud indicator."},{"kind":"observation","code":"window_missing","subject":"","detail":"No minute window was supplied. Orders were compared on the same calendar day."}],"limitations":["Patterns are calculated only from the orders supplied in the request.","One signal is an indicator. It does not mean the customer is fraudulent.","No payment is processed, no order is blocked, and no merchant account is accessed.","A full card number is not copied. A statistical outlier is not confirmed fraud."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.12"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}}}}}