Docs menu
Guides

Sending outcome feedback

When you learn what a player really was, after a chargeback, a failed or passed KYC check, or bonus abuse, report it with POST /api/v1/feedback. Detection learns from your outcomes.

Last updated

What to send

Tell InlineShield what a screened player turned out to be (fraud or legit), by the requestId the API returned or by the /check token. Accepted for screenings up to 180 days old by requestId; a /check token is kept for about a day after the screening, so later feedback must use the requestId. Sending the same feedback again changes nothing (changed: false).

Feedback on a test screening is accepted but never recorded (changed: false). Limited per key to your plan's per-minute limit; never counted against the quota and accepted while the account is over it.

A token is kept for about a day after the screening (10 minutes to redeem it with /siteverify, then pruned a day after it expires); for later feedback send the requestId, which /siteverify returns.

FieldTypeRequiredDescription
requestIdstringnoThe requestId the API returned.
tokenstringnoThe /check token. A token is kept for about a day after the screening; for later feedback send the requestId (/siteverify returns it).
outcomestringyesValues: fraud, legit
categorystring or nullnoValues: bonus_abuse, multi_account, chargeback, kyc_failed, bot, good_customer, other, null
notestring or nullnoAt most 200 characters after trimming. Never shown to other operators.at most 200 characters

Code

# Tell InlineShield how a signup really turned out (fraud or legit), for example after a chargeback, a failed or passed KYC, or bonus abuse, so detection learns from your outcomes. Identify the signup by the requestId InlineShield returned (or send token: the /check token instead). Optional: category (bonus_abuse, multi_account, chargeback, kyc_failed, bot, good_customer, other) and note (up to 200 characters, never shown outside your account). Response 200 { success, outcome, category, changed }; sending the same feedback again changes nothing. 404 = unknown requestId, 422 = the signup is older than 180 days. Not counted toward your monthly limit; limited per key like /verify.
curl -X POST https://api.inlineshield.io/api/v1/feedback \
  -H "X-Api-Key: $INLINESHIELD_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"requestId\": \"$REQUEST_ID\", \"outcome\": \"fraud\", \"category\": \"chargeback\"}"

Answers

  • 200 { success, outcome, category, changed }. Sending the same feedback again changes nothing (changed: false); a different outcome replaces the earlier one.
  • 404 NOT_FOUND: no screening of your account has that requestId or token.
  • 422 SCREENING_TOO_OLD: the screening is more than 180 days old.
  • 400 BAD_REQUEST: a malformed body; send exactly one of requestId and token.

Test screenings

Feedback on a test screening is accepted but never recorded: the answer is 200 with changed: false. See POST /api/v1/feedback for every field.