Article Disable Abuse Checking on REST Requests

When creating or updating content that implements the IAbuseCheckingContentType content is detected by the individual abuse detectors that handle events applicable to their abuse detection logic and notify the abuse service when abuse is detected.  Using the header "Rest-Disable-AbuseChecking" with the value "True" will bypass any abuse detectors that check if the content that is being created or updated is exempt via the IAbuseController IsExempt value.  If using API key authentication via REST, the user making the REST request must have the "Manage Site" permission.  If using OAuth authentication, the user making the REST request must have the OAuth Permission "Manage Settings".

Why Should I Disable Abuse Checking When Using REST

If you're migrating existing content from another system, you may not wish for that content to go through any type of abuse checking.

Making a REST Request with Abuse Checking Disabled

var request = WebRequest.Create("") as HttpWebRequest;
request.Method = "Get";

// replace the "admin" and "Admin's API key" with your valid user and apikey!
var adminKey = String.Format("{0}:{1}", "Admin's API key", "admin");
var adminKeyBase64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(adminKey));

request.Headers.Add("Rest-User-Token", adminKeyBase64);
request.Headers.Add("Rest-Disable-AbuseChecking", "True");

var response = request.GetResponse() as HttpWebResponse;