{"openapi":"3.1.0","info":{"title":"Fraud & Transaction Security API","version":"1.0.0","description":"Detect payment-fraud patterns, transaction velocity anomalies, synthetic-identity inconsistencies, invoice-fraud signals, supplier bank-change risk, refund abuse, chargeback patterns, and multi-account clusters—using caller-supplied payments, invoices, and identity records with local explainable rules only. 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/fraud-signals/payment-fraud-pattern-detect":{"post":{"operationId":"detect_payment_fraud_patterns","summary":"Detect payment fraud patterns","description":"Detect suspicious combinations of caller-supplied payment events (declines-then-success, instrument churn, billing/shipping mismatch). Anomalies are not confirmed fraud.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","payments":[{"id":"P1","at":"2026-11-04T20:00:00.000Z","customerId":"C1","eventType":"purchase","status":"declined","amount":120,"currency":"USD","cardLast4":"1111","deviceId":"d1","email":"a@example.com","billingCountry":"US","shippingCountry":"US","source":"Caller-supplied"},{"id":"P2","at":"2026-11-04T20:01:00.000Z","customerId":"C1","eventType":"purchase","status":"declined","amount":120,"currency":"USD","cardLast4":"2222","deviceId":"d1","email":"a@example.com","source":"Caller-supplied"},{"id":"P3","at":"2026-11-04T20:02:00.000Z","customerId":"C1","eventType":"purchase","status":"declined","amount":120,"currency":"USD","cardLast4":"3333","deviceId":"d1","email":"a@example.com","source":"Caller-supplied"},{"id":"P4","at":"2026-11-04T20:03:00.000Z","customerId":"C1","eventType":"purchase","status":"completed","amount":120,"currency":"USD","cardLast4":"4444","deviceId":"d1","email":"b@example.com","billingCountry":"US","shippingCountry":"DE","source":"Caller-supplied"}]}}}},"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"},"itemCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"status":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":1,"items":[{"id":"payment-fraud-c1","detector":"payment-fraud-pattern-detect","title":"Suspicious payment event combination","observedFacts":["3 declines/failures and 1 success(es) for the same actor.","4 payment instruments on 1 device id(s).","2 emails with multiple instruments/devices.","1 event(s) with billing≠shipping country."],"inferredThreat":"Combined decline/success, instrument churn, or geo mismatch patterns can indicate payment fraud.","confidence":"high","relatedRecordIds":["P1","P2","P3","P4"],"firstAt":"2026-11-04T20:00:00.000Z","lastAt":"2026-11-04T20:03:00.000Z","reasons":["declines_then_success","many_cards_one_device","identity_instrument_churn","billing_shipping_country_mismatch"],"evidence":[{"recordId":"P1","at":"2026-11-04T20:00:00.000Z","fact":"purchase status=declined; USD 120; card…1111; email=a***@example.com; device=d1","inference":"Payment-pattern indicators are not confirmed fraud by themselves.","confidence":"medium"},{"recordId":"P2","at":"2026-11-04T20:01:00.000Z","fact":"purchase status=declined; USD 120; card…2222; email=a***@example.com; device=d1","inference":"Payment-pattern indicators are not confirmed fraud by themselves.","confidence":"medium"},{"recordId":"P3","at":"2026-11-04T20:02:00.000Z","fact":"purchase status=declined; USD 120; card…3333; email=a***@example.com; device=d1","inference":"Payment-pattern indicators are not confirmed fraud by themselves.","confidence":"medium"},{"recordId":"P4","at":"2026-11-04T20:03:00.000Z","fact":"purchase status=completed; USD 120; card…4444; email=b***@example.com; device=d1","inference":"Payment-pattern indicators are not confirmed fraud by themselves.","confidence":"medium"}],"source":"Caller-supplied payments; local deterministic rules","status":"signal","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"payment_fraud_pattern","subject":"c1","detail":"Payment-pattern indicators: declines_then_success, many_cards_one_device, identity_instrument_churn, billing_shipping_country_mismatch (confirmedFraud=false)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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/fraud-signals/transaction-velocity-analyze":{"post":{"operationId":"analyze_transaction_velocity","summary":"Analyze transaction velocity","description":"Identify abnormal transaction frequency and amount velocity from caller-supplied histories. Velocity spikes alone are never labeled confirmed fraud.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","velocityWindowMinutes":30,"velocityCountThreshold":5,"velocityAmountThreshold":1000,"transactions":[{"id":"T1","at":"2026-11-04T20:00:00.000Z","customerId":"C2","eventType":"purchase","status":"completed","amount":250,"currency":"USD","source":"Caller-supplied"},{"id":"T2","at":"2026-11-04T20:02:00.000Z","customerId":"C2","eventType":"purchase","status":"completed","amount":250,"currency":"USD","source":"Caller-supplied"},{"id":"T3","at":"2026-11-04T20:04:00.000Z","customerId":"C2","eventType":"purchase","status":"completed","amount":250,"currency":"USD","source":"Caller-supplied"},{"id":"T4","at":"2026-11-04T20:06:00.000Z","customerId":"C2","eventType":"purchase","status":"completed","amount":250,"currency":"USD","source":"Caller-supplied"},{"id":"T5","at":"2026-11-04T20:08:00.000Z","customerId":"C2","eventType":"purchase","status":"completed","amount":250,"currency":"USD","source":"Caller-supplied"}]}}}},"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"},"itemCount":{"type":"number"},"windowMinutes":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":1,"windowMinutes":30,"items":[{"id":"velocity-c2-T1","detector":"transaction-velocity-analyze","title":"Abnormal transaction velocity","status":"signal","observedFacts":["5 transactions within 30 minutes (threshold 5).","Sum USD 1250 within window (threshold 1000)."],"inferredThreat":"Elevated frequency/amount velocity can indicate abuse; a velocity spike alone is not confirmed fraud.","confidence":"medium","relatedRecordIds":["T1","T2","T3","T4","T5"],"firstAt":"2026-11-04T20:00:00.000Z","lastAt":"2026-11-04T20:08:00.000Z","reasons":["count_velocity","amount_velocity"],"evidence":[{"recordId":"T1","at":"2026-11-04T20:00:00.000Z","fact":"purchase status=completed; USD 250","inference":"Velocity is a statistical indicator only.","confidence":"medium"},{"recordId":"T2","at":"2026-11-04T20:02:00.000Z","fact":"purchase status=completed; USD 250","inference":"Velocity is a statistical indicator only.","confidence":"medium"},{"recordId":"T3","at":"2026-11-04T20:04:00.000Z","fact":"purchase status=completed; USD 250","inference":"Velocity is a statistical indicator only.","confidence":"medium"},{"recordId":"T4","at":"2026-11-04T20:06:00.000Z","fact":"purchase status=completed; USD 250","inference":"Velocity is a statistical indicator only.","confidence":"medium"},{"recordId":"T5","at":"2026-11-04T20:08:00.000Z","fact":"purchase status=completed; USD 250","inference":"Velocity is a statistical indicator only.","confidence":"medium"}],"source":"Caller-supplied transactions; local time-window rules","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"velocity","subject":"c2","detail":"Velocity indicators: count_velocity, amount_velocity (confirmedFraud=false; anomaly≠confirmed)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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/fraud-signals/synthetic-identity-signal-detect":{"post":{"operationId":"detect_synthetic_identity_signals","summary":"Detect synthetic-identity signals","description":"Identify inconsistencies in caller-supplied identity records (sparse profiles, age/postal mismatches, shared contacts). Personal data is masked in responses.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","identities":[{"id":"I1","accountId":"A1","fullName":"Jane Doe","email":"x99999@mail.example","phone":"12","dateOfBirth":"2018-01-01","postalCode":"10001","country":"DE","source":"Caller-supplied"},{"id":"I2","accountId":"A2","fullName":"Jon D","email":"x99999@mail.example","phone":"12","deviceId":"shared-device","source":"Caller-supplied"}]}}}},"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"},"itemCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"status":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":2,"items":[{"id":"synthetic-I1","detector":"synthetic-identity-signal-detect","title":"Synthetic identity inconsistencies","observedFacts":["Email local-part x***@mail.example does not reflect supplied name token.","Derived age ≈9 years from supplied dateOfBirth.","US-style postal code with non-US country.","One or more core identity fields (name/email/address) are missing.","Phone appears too short after normalization ([redacted-phone]).","Email/phone/device identifiers overlap multiple identity records."],"inferredThreat":"Inconsistent or sparse identity attributes can indicate synthetic identity construction.","confidence":"high","relatedRecordIds":["I1","I2","I2"],"firstAt":"2026-11-04T21:00:00.000Z","lastAt":"2026-11-04T21:00:00.000Z","reasons":["email_name_mismatch","implausible_age","postal_country_mismatch","sparse_identity_profile","invalid_phone_shape","shared_contact_across_identities"],"evidence":[{"recordId":"I1","at":"2026-11-04T21:00:00.000Z","fact":"name=[supplied]; email=x***@mail.example; phone=[redacted-phone]; country=DE","inference":"Synthetic-identity signals are inconsistencies, not confirmed fraud.","confidence":"medium"}],"source":"Caller-supplied","status":"signal","confirmedFraud":false},{"id":"synthetic-I2","detector":"synthetic-identity-signal-detect","title":"Synthetic identity inconsistencies","observedFacts":["Email local-part x***@mail.example does not reflect supplied name token.","One or more core identity fields (name/email/address) are missing.","Phone appears too short after normalization ([redacted-phone]).","Email/phone/device identifiers overlap multiple identity records."],"inferredThreat":"Inconsistent or sparse identity attributes can indicate synthetic identity construction.","confidence":"high","relatedRecordIds":["I2","I1","I1"],"firstAt":"2026-11-04T21:00:00.000Z","lastAt":"2026-11-04T21:00:00.000Z","reasons":["email_name_mismatch","sparse_identity_profile","invalid_phone_shape","shared_contact_across_identities"],"evidence":[{"recordId":"I2","at":"2026-11-04T21:00:00.000Z","fact":"name=[supplied]; email=x***@mail.example; phone=[redacted-phone]; country=n/a","inference":"Synthetic-identity signals are inconsistencies, not confirmed fraud.","confidence":"medium"}],"source":"Caller-supplied","status":"signal","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"synthetic_identity","subject":"I1","detail":"Synthetic-identity indicators: email_name_mismatch, implausible_age, postal_country_mismatch, sparse_identity_profile, invalid_phone_shape, shared_contact_across_identities (confirmedFraud=false)."},{"kind":"conflict","code":"synthetic_identity","subject":"I2","detail":"Synthetic-identity indicators: email_name_mismatch, sparse_identity_profile, invalid_phone_shape, shared_contact_across_identities (confirmedFraud=false)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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/fraud-signals/invoice-fraud-signal-detect":{"post":{"operationId":"detect_invoice_fraud_signals","summary":"Detect invoice fraud signals","description":"Detect potentially manipulated invoices from caller-supplied invoice exports (duplicate numbers, tax anomalies, missing PO). Not confirmed fraud.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","invoices":[{"id":"INV1","at":"2026-11-04T18:00:00.000Z","supplierId":"SUP1","invoiceNumber":"1001","amount":10000,"currency":"USD","taxAmount":5,"lineCount":0,"source":"Caller-supplied"},{"id":"INV2","at":"2026-11-04T19:00:00.000Z","supplierId":"SUP1","invoiceNumber":"1001","amount":10000,"currency":"USD","source":"Caller-supplied"}]}}}},"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"},"itemCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"status":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":2,"items":[{"id":"invoice-fraud-INV1","detector":"invoice-fraud-signal-detect","title":"Invoice fraud / manipulation indicators","observedFacts":["2 invoices share supplier+invoiceNumber.","Tax/amount ratio ≈0.001.","High-value invoice has no PO number.","Positive amount with zero line items."],"inferredThreat":"Duplicate numbers, tax anomalies, or missing controls can indicate invoice fraud.","confidence":"high","relatedRecordIds":["INV1","INV1","INV2"],"firstAt":"2026-11-04T18:00:00.000Z","lastAt":"2026-11-04T18:00:00.000Z","reasons":["duplicate_invoice_number","implausible_tax","high_value_missing_po","amount_without_lines"],"evidence":[{"recordId":"INV1","at":"2026-11-04T18:00:00.000Z","fact":"supplier=SUP1; number=1001; amount=USD 10000; bank…n/a","inference":"Invoice anomalies are risk indicators, not confirmed fraud.","confidence":"medium"}],"source":"Caller-supplied","status":"signal","confirmedFraud":false},{"id":"invoice-fraud-INV2","detector":"invoice-fraud-signal-detect","title":"Invoice fraud / manipulation indicators","observedFacts":["2 invoices share supplier+invoiceNumber.","High-value invoice has no PO number.","Round high amount without supporting line detail."],"inferredThreat":"Duplicate numbers, tax anomalies, or missing controls can indicate invoice fraud.","confidence":"high","relatedRecordIds":["INV2","INV1","INV2"],"firstAt":"2026-11-04T19:00:00.000Z","lastAt":"2026-11-04T19:00:00.000Z","reasons":["duplicate_invoice_number","high_value_missing_po","round_amount_pattern"],"evidence":[{"recordId":"INV2","at":"2026-11-04T19:00:00.000Z","fact":"supplier=SUP1; number=1001; amount=USD 10000; bank…n/a","inference":"Invoice anomalies are risk indicators, not confirmed fraud.","confidence":"medium"}],"source":"Caller-supplied","status":"signal","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"invoice_fraud","subject":"INV1","detail":"Invoice indicators: duplicate_invoice_number, implausible_tax, high_value_missing_po, amount_without_lines (confirmedFraud=false)."},{"kind":"conflict","code":"invoice_fraud","subject":"INV2","detail":"Invoice indicators: duplicate_invoice_number, high_value_missing_po, round_amount_pattern (confirmedFraud=false)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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/fraud-signals/supplier-bank-change-risk":{"post":{"operationId":"assess_supplier_bank_change_risk","summary":"Assess supplier bank-change risk","description":"Identify suspicious supplier bank-detail changes near invoice timing from caller-supplied records. Bank values are last4-masked.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","bankChangeRiskHours":72,"invoices":[{"id":"INV9","at":"2026-11-04T20:00:00.000Z","supplierId":"SUP9","invoiceNumber":"9001","amount":25000,"currency":"USD","bankAccountLast4":"8888","previousBankAccountLast4":"1234","bankChangedAt":"2026-11-04T10:00:00.000Z","source":"Caller-supplied AP export"}]}}}},"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"},"itemCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"status":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":1,"items":[{"id":"supplier-bank-INV9","detector":"supplier-bank-change-risk","title":"Suspicious supplier bank-detail change","observedFacts":["Bank details changed (…1234 → …8888).","Invoice timed within 72 hours of bank-detail change.","High-value invoice USD 25000 after bank change.","No PO number on invoice after bank change."],"inferredThreat":"Bank detail changes shortly before payment can indicate supplier payment diversion.","confidence":"high","relatedRecordIds":["INV9"],"firstAt":"2026-11-04T10:00:00.000Z","lastAt":"2026-11-04T20:00:00.000Z","reasons":["bank_details_changed","invoice_soon_after_bank_change","high_value_after_change","missing_po_after_change"],"evidence":[{"recordId":"INV9","at":"2026-11-04T10:00:00.000Z","fact":"supplier=SUP9; bank…8888; prev…1234","inference":"Supplier bank-change timing is a risk indicator, not confirmed fraud.","confidence":"medium"}],"source":"Caller-supplied AP export","status":"signal","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"supplier_bank_change","subject":"SUP9","detail":"Supplier bank-change indicators: bank_details_changed, invoice_soon_after_bank_change, high_value_after_change, missing_po_after_change (confirmedFraud=false)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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/fraud-signals/refund-abuse-pattern-detect":{"post":{"operationId":"detect_refund_abuse_patterns","summary":"Detect refund-abuse patterns","description":"Detect abnormal refund frequency and amount ratios from caller-supplied payment histories. Refund rate alone is not confirmed fraud.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","refundWindowDays":30,"payments":[{"id":"P1","at":"2026-11-01T12:00:00.000Z","customerId":"C3","eventType":"purchase","status":"completed","amount":80,"currency":"USD","source":"Caller-supplied"},{"id":"P2","at":"2026-11-01T18:00:00.000Z","customerId":"C3","eventType":"refund","status":"refunded","amount":80,"currency":"USD","source":"Caller-supplied"},{"id":"P3","at":"2026-11-02T12:00:00.000Z","customerId":"C3","eventType":"purchase","status":"completed","amount":60,"currency":"USD","source":"Caller-supplied"},{"id":"P4","at":"2026-11-02T16:00:00.000Z","customerId":"C3","eventType":"refund","status":"refunded","amount":60,"currency":"USD","source":"Caller-supplied"},{"id":"P5","at":"2026-11-03T12:00:00.000Z","customerId":"C3","eventType":"purchase","status":"completed","amount":40,"currency":"USD","source":"Caller-supplied"},{"id":"P6","at":"2026-11-03T15:00:00.000Z","customerId":"C3","eventType":"refund","status":"refunded","amount":40,"currency":"USD","source":"Caller-supplied"}]}}}},"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"},"itemCount":{"type":"number"},"windowDays":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":1,"windowDays":30,"items":[{"id":"refund-abuse-c3","detector":"refund-abuse-pattern-detect","title":"Abnormal refund pattern","status":"signal","observedFacts":["3 refunds within 30 days.","Refund count is ≥50% of purchase count (3/3).","Refund amount ratio ≈100%.","3 same-amount refunds within 24h of a purchase."],"inferredThreat":"Elevated refund frequency/ratio can indicate refund abuse; rate alone is not confirmed fraud.","confidence":"medium","relatedRecordIds":["P2","P4","P6","P1","P3","P5"],"firstAt":"2026-11-01T12:00:00.000Z","lastAt":"2026-11-03T15:00:00.000Z","reasons":["repeat_refunds","high_refund_rate","high_refund_amount_ratio","rapid_full_refunds"],"evidence":[{"recordId":"P2","at":"2026-11-01T18:00:00.000Z","fact":"refund status=refunded; USD 80","inference":"Refund-pattern indicator only.","confidence":"medium"},{"recordId":"P4","at":"2026-11-02T16:00:00.000Z","fact":"refund status=refunded; USD 60","inference":"Refund-pattern indicator only.","confidence":"medium"},{"recordId":"P6","at":"2026-11-03T15:00:00.000Z","fact":"refund status=refunded; USD 40","inference":"Refund-pattern indicator only.","confidence":"medium"}],"source":"Caller-supplied payments; local refund rules","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"refund_abuse","subject":"c3","detail":"Refund-abuse indicators: repeat_refunds, high_refund_rate, high_refund_amount_ratio, rapid_full_refunds (confirmedFraud=false)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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/fraud-signals/chargeback-pattern-analyze":{"post":{"operationId":"analyze_chargeback_patterns","summary":"Analyze chargeback patterns","description":"Analyze recurring chargeback/dispute patterns from caller-supplied payment records. Elevated rates are indicators, not confirmed fraud.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","chargebackWindowDays":90,"payments":[{"id":"P1","at":"2026-10-01T12:00:00.000Z","customerId":"C4","merchantId":"M1","eventType":"purchase","status":"completed","amount":50,"currency":"USD","cardLast4":"1001","source":"Caller-supplied"},{"id":"P2","at":"2026-10-10T12:00:00.000Z","customerId":"C4","merchantId":"M1","eventType":"chargeback","status":"chargeback","amount":50,"currency":"USD","cardLast4":"1001","reason":"fraud - unauthorized","source":"Caller-supplied"},{"id":"P3","at":"2026-10-20T12:00:00.000Z","customerId":"C4","merchantId":"M1","eventType":"purchase","status":"completed","amount":70,"currency":"USD","cardLast4":"2002","source":"Caller-supplied"},{"id":"P4","at":"2026-10-25T12:00:00.000Z","customerId":"C4","merchantId":"M1","eventType":"chargeback","status":"chargeback","amount":70,"currency":"USD","cardLast4":"2002","reason":"not recognized","source":"Caller-supplied"},{"id":"P5","at":"2026-11-01T12:00:00.000Z","customerId":"C4","merchantId":"M1","eventType":"chargeback","status":"chargeback","amount":30,"currency":"USD","cardLast4":"3003","reason":"fraud","source":"Caller-supplied"}]}}}},"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"},"itemCount":{"type":"number"},"windowDays":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":1,"windowDays":90,"items":[{"id":"chargeback-c4","detector":"chargeback-pattern-analyze","title":"Recurring chargeback pattern","status":"signal","observedFacts":["3 chargebacks/disputes within 90 days.","3 chargebacks cite fraud/unauthorized wording.","Chargeback/purchase count ratio ≈150%.","Chargebacks span 3 card last4 values."],"inferredThreat":"Recurring chargebacks can indicate fraud or fulfillment issues; rate alone is not confirmed fraud.","confidence":"medium","relatedRecordIds":["P2","P4","P5"],"firstAt":"2026-10-10T12:00:00.000Z","lastAt":"2026-11-01T12:00:00.000Z","reasons":["repeat_chargebacks","fraud_reason_codes","elevated_chargeback_rate","multi_card_chargebacks"],"evidence":[{"recordId":"P2","at":"2026-10-10T12:00:00.000Z","fact":"chargeback status=chargeback; USD 50; card…1001; reason=fraud - unauthorized","inference":"Chargeback-pattern indicator only.","confidence":"medium"},{"recordId":"P4","at":"2026-10-25T12:00:00.000Z","fact":"chargeback status=chargeback; USD 70; card…2002; reason=not recognized","inference":"Chargeback-pattern indicator only.","confidence":"medium"},{"recordId":"P5","at":"2026-11-01T12:00:00.000Z","fact":"chargeback status=chargeback; USD 30; card…3003; reason=fraud","inference":"Chargeback-pattern indicator only.","confidence":"medium"}],"source":"Caller-supplied payments; local chargeback rules","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"chargeback_pattern","subject":"c4","detail":"Chargeback indicators: repeat_chargebacks, fraud_reason_codes, elevated_chargeback_rate, multi_card_chargebacks (confirmedFraud=false)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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/fraud-signals/multi-account-fraud-cluster":{"post":{"operationId":"cluster_related_fraud_accounts","summary":"Cluster related fraud accounts","description":"Group potentially related accounts using deterministic overlap of caller-supplied emails, phones, devices, IPs, and payment-instrument last4 values. Linkage is not confirmed fraud.","tags":["fraud-signals"],"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","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"payments":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"transactions":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"accountId":{"type":"string","maxLength":120},"customerId":{"type":"string","maxLength":120},"merchantId":{"type":"string","maxLength":120},"eventType":{"type":"string","maxLength":80},"status":{"type":"string","maxLength":80},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"paymentMethod":{"type":"string","maxLength":80},"cardLast4":{"type":"string","maxLength":4},"cardBin":{"type":"string","maxLength":8},"panToken":{"type":"string","maxLength":80},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"billingCountry":{"type":"string","maxLength":80},"shippingCountry":{"type":"string","maxLength":80},"invoiceId":{"type":"string","maxLength":80},"supplierId":{"type":"string","maxLength":120},"reason":{"type":"string","maxLength":300},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"identities":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"accountId":{"type":"string","maxLength":120},"fullName":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":254},"phone":{"type":"string","maxLength":40},"dateOfBirth":{"type":"string","maxLength":40},"addressLine":{"type":"string","maxLength":300},"city":{"type":"string","maxLength":120},"region":{"type":"string","maxLength":120},"postalCode":{"type":"string","maxLength":40},"country":{"type":"string","maxLength":80},"nationalIdLast4":{"type":"string","maxLength":4},"deviceId":{"type":"string","maxLength":120},"ip":{"type":"string","maxLength":80},"createdAt":{"type":"string","maxLength":40},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"invoices":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"supplierId":{"type":"string","maxLength":120},"supplierName":{"type":"string","maxLength":200},"customerId":{"type":"string","maxLength":120},"invoiceNumber":{"type":"string","maxLength":120},"amount":{"type":"number","minimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":12},"taxAmount":{"type":"number","minimum":0,"maximum":1000000000},"lineCount":{"type":"number","minimum":0,"maximum":100000},"bankAccountLast4":{"type":"string","maxLength":4},"bankRoutingLast4":{"type":"string","maxLength":4},"ibanLast4":{"type":"string","maxLength":4},"previousBankAccountLast4":{"type":"string","maxLength":4},"previousBankRoutingLast4":{"type":"string","maxLength":4},"previousIbanLast4":{"type":"string","maxLength":4},"bankChangedAt":{"type":"string","maxLength":40},"poNumber":{"type":"string","maxLength":120},"status":{"type":"string","maxLength":80},"duplicateOf":{"type":"string","maxLength":80},"labels":{"maxItems":40,"type":"array","items":{"type":"string","maxLength":80}},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40},"velocityWindowMinutes":{"type":"number","minimum":1,"maximum":10080},"velocityCountThreshold":{"type":"number","minimum":2,"maximum":10000},"velocityAmountThreshold":{"type":"number","minimum":0,"maximum":1000000000},"refundWindowDays":{"type":"number","minimum":1,"maximum":365},"chargebackWindowDays":{"type":"number","minimum":1,"maximum":730},"bankChangeRiskHours":{"type":"number","minimum":1,"maximum":2160}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","payments":[{"id":"P1","at":"2026-11-04T12:00:00.000Z","accountId":"A1","customerId":"C1","email":"shared@example.com","deviceId":"dev-9","ip":"203.0.113.9","cardLast4":"4242","eventType":"purchase","status":"completed","amount":20,"currency":"USD","source":"Caller-supplied"},{"id":"P2","at":"2026-11-04T13:00:00.000Z","accountId":"A2","customerId":"C2","email":"shared@example.com","deviceId":"dev-9","ip":"203.0.113.9","cardLast4":"4242","eventType":"purchase","status":"completed","amount":25,"currency":"USD","source":"Caller-supplied"}],"identities":[{"id":"I1","accountId":"A1","email":"shared@example.com","phone":"+1-555-0100","source":"Caller-supplied"},{"id":"I2","accountId":"A2","email":"other@example.com","phone":"+1-555-0100","deviceId":"dev-9","source":"Caller-supplied"}]}}}},"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"},"itemCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"detector":{"type":"string"},"title":{"type":"string"},"observedFacts":{"type":"array","items":{"type":"string"}},"inferredThreat":{"type":"string"},"confidence":{"type":"string"},"relatedRecordIds":{"type":"array","items":{"type":"string"}},"firstAt":{"type":"string"},"lastAt":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"evidence":{"type":"array","items":{"type":"object","properties":{"recordId":{"type":"string"},"at":{"type":"string"},"fact":{"type":"string"},"inference":{"type":"string"},"confidence":{"type":"string"}},"additionalProperties":true}},"source":{"type":"string"},"status":{"type":"string"},"confirmedFraud":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paymentProcessorConnected":{"type":"boolean"},"financialAccountAccessed":{"type":"boolean"},"networkAccessed":{"type":"boolean"},"confirmedFraudClaimed":{"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-04T21:00:00.000Z","status":"detected","itemCount":1,"items":[{"id":"cluster-i2","detector":"multi-account-fraud-cluster","title":"Related-account fraud cluster","observedFacts":["Cluster links 4 records across 2 account id(s).","Shared evidence keys: email, phone, deviceId, ip, payment_instrument."],"inferredThreat":"Shared identifiers across accounts can indicate multi-accounting; linkage is not confirmed fraud.","confidence":"high","relatedRecordIds":["P1","P2","I1","I2"],"firstAt":"2026-11-04T21:00:00.000Z","lastAt":"2026-11-04T21:00:00.000Z","reasons":["shared_identifiers","shared_email","shared_phone","shared_deviceId","shared_ip","shared_payment_instrument"],"evidence":[{"recordId":"P1","at":"2026-11-04T21:00:00.000Z","fact":"kind=payment; account=A1; email=s***@example.com; phone=n/a; device=dev-9","inference":"Cluster membership via deterministic identifier overlap.","confidence":"medium"},{"recordId":"P2","at":"2026-11-04T21:00:00.000Z","fact":"kind=payment; account=A2; email=s***@example.com; phone=n/a; device=dev-9","inference":"Cluster membership via deterministic identifier overlap.","confidence":"medium"},{"recordId":"I1","at":"2026-11-04T21:00:00.000Z","fact":"kind=identity; account=A1; email=s***@example.com; phone=***0100; device=n/a","inference":"Cluster membership via deterministic identifier overlap.","confidence":"medium"},{"recordId":"I2","at":"2026-11-04T21:00:00.000Z","fact":"kind=identity; account=A2; email=o***@example.com; phone=***0100; device=dev-9","inference":"Cluster membership via deterministic identifier overlap.","confidence":"medium"}],"source":"Caller-supplied payments/identities; deterministic identifier clustering","status":"signal","confirmedFraud":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paymentProcessorConnected":false,"financialAccountAccessed":false,"networkAccessed":false,"confirmedFraudClaimed":false,"findings":[{"kind":"conflict","code":"fraud_cluster","subject":"I2","detail":"Multi-account cluster via email, phone, deviceId, ip, payment_instrument (confirmedFraud=false)."}],"limitations":["Payment records, invoices, identity rows, and transaction histories are copied only from caller-supplied fields. Payment processors and financial accounts are never contacted.","Matching and velocity checks are deterministic local rules over supplied records. Missing values are not invented.","Observed facts are separated from inferred risk hypotheses. Statistical anomalies alone are never labeled confirmed fraud.","Personal and financial identifiers are masked in responses (email local-part hashed length, last4 only for cards/accounts).","No paid fraud-intel feed is used and no API key is required."]}}}},"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":{}}]}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}}}}}