1. Overview
2. Create an Application
This API is used to create a new application. A CleanSpeak application defines a content source and the filter rules for that content source.
2.1. Request
Create an Application with an automatically generated Id
POST /system/application
POST /api/system/application
Create an Application with the provided Id
POST /system/application/{applicationId}
POST /api/system/application/{applicationId}
applicationId [UUID] Optional |
The Id of the Application to create. If this parameter is omitted an Id will be generated automatically. |
application [Object] Required |
The Application object. |
application.moderationConfiguration.alwaysKeepMatches [Boolean] Optional Defaults to |
A flag to enable all matches to be kept. This is useful if |
application.moderationConfiguration.approvalCheckOutMinutes [Integer] Optional defaults to |
The number of minutes content is checked out for in the Approval Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.approvalQueueSize [Integer] Optional defaults to |
The number of items checked out of the Approval Queue at a time for a moderator. |
application.moderationConfiguration.archiveConfiguration [Object] Optional |
The archive configuration object. |
application.moderationConfiguration.archiveConfiguration.enabled [Boolean] Optional defaults to |
Setting this value to true enables content deletion. This is false by default which means no content is deleted. If you’ll be sending in high volumes of content content deletion should be enabled. CleanSpeak is not designed to store content indefinitely. |
application.moderationConfiguration.archiveConfiguration.storeDuration [Integer] Required |
The number of units content should be kept. The unit value is determined by the |
application.moderationConfiguration.archiveConfiguration.storeOffsetDuration [Integer] Required |
The number of units to be added to the |
application.moderationConfiguration.archiveConfiguration.storeOffsetTimeUnit [String] Required |
The time unit for the offset. The possible values are:
|
application.moderationConfiguration.archiveConfiguration.storeTimeUnit [String] Required |
The time unit for the duration. The possible values are:
|
application.moderationConfiguration.contentAlertCheckOutMinutes [Integer] Optional defaults to |
The number of minutes content is checked out for in the Alert Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.contentAlertQueueSize [Integer] Optional defaults to |
The number of items checked out of the Alert Queue at a time for a moderator. |
application.moderationConfiguration.contentDeletable [Boolean] Optional defaults to |
Set to true if you want the ability to delete content. Enabling this feature allows a moderator to delete content which in turn sends an event of type |
application.moderationConfiguration.contentEditable [Boolean] Optional defaults to |
Set to true if you want the ability to edit content. Enabling this feature allows a moderator to edit content which in turn sends an event of type |
application.moderationConfiguration.contentFlagAlertType [String] Optional defaults to |
By default when content is flagged a
|
application.moderationConfiguration.contentFlagUserScoreAdjustment [Integer] Optional |
The amount the User score is adjusted when content is flagged. This value may be a positive or negative integer. |
application.moderationConfiguration.contentUserActionsEnabled [Boolean] Optional defaults to |
Set to true if you want user actions enabled. Enable this if you intend to allow moderators to action users, for example mute, ban, kick users. When disabled you will not be able to select this application as a target for a user action. |
application.moderationConfiguration.defaultActionIsQueueForApproval [Boolean] Optional defaults to |
Set to true if you want content to be queued for approval when no filter rules are hit. This includes content that matched a rule set to
For example, when this parameter is set to
This feature may be used way to ensure all content is reviewed in some fashion by a moderator. |
application.moderationConfiguration.dictionaryTags [Array<String>] Optional Available since 3.12.0 |
A list of dictionary tags to apply to moderation actions using this application. Tags will cause the filter to throw out matches that exactly match dictionary words with any of the tags in this list. |
application.moderationConfiguration.emailFilterMaxLength [Integer] Optional defaults to |
This parameter specifies the maximum length that a match can be in order to be considered an email. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.emailFilterSpacePenalty [Double] Optional defaults to |
This parameter specifies a penalty applied to the quality score if the match contains any spaces. For example, |
application.moderationConfiguration.emailOnAlerts [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.emailOnContentFlagged [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.emailOnUserFlagged [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.emailRules [Array<[quality-filter-rule]>] Optional |
The email filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default email rules:
|
application.moderationConfiguration.filterRules [Array] Optional |
The list of blacklist filter rules. |
application.moderationConfiguration.filterRules |
The blacklist tags for this filter rule. A filter rule may have one or more tags. |
application.moderationConfiguration.filterRules |
The match locales. If this parameter is omitted the filter rule will apply to all locales. See Locales. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.ignorableCharacters [String] Optional Defaults to |
Set this parameter to a list of characters the filter can skip over to find a match. Only the letters
Specifically, this feature will catch any blacklist word even if separated by a single character on this list. Example: |
application.moderationConfiguration.imageConfiguration [Object] Optional |
The image moderation configuration object. This parameter and all nested parameters are only valid when |
application.moderationConfiguration.imageConfiguration.commitDelay [Integer] Optional defaults to |
The number of seconds to wait before a moderation decision made from the enhanced image moderation queue is committed. |
application.moderationConfiguration.imageConfiguration.darkMode [Boolean] Optional defaults to |
Set this parameter to 'false' to disable the dark mode theme when viewing the enhanced image moderation queue. |
application.moderationConfiguration.imageConfiguration.defaultTimerDuration [Integer] Optional defaults to |
The number of seconds each image will be displayed in the queue before advancing to the next image when the queue is set to automatically advance without keyboard interaction. This value is the default value for this application for all moderators. A moderator may change this value for their own user preference. |
application.moderationConfiguration.imageConfiguration.speedModerationLayout [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.imageOnly [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.keepAdditionalContentPercent [Float] optional Defaults to |
A field that informs the filter how much content to keep beyond what is required. In situations where storage is impossible due to the database latency or load, this flag can dramatically reduce that load by cutting your unnecessary storage to zero. It is also useful to configure |
imageFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the nudity filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] optional Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable to the offensive filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] optional Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the scam filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the Weapons, Alcohol, and Drugs filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.mlFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable Machine Learning. |
application.moderationConfiguration.mlFilterConfiguration.locales [Array<String>] Required Available since |
The selected locales will be sent to the Machine Learning engine to evaluate content for the selected models. |
application.moderationConfiguration.mlFilterConfiguration. |
A flag to enable a particular Machine Learning model. In lieu of
|
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.videoFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the nudity filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] optional Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] optional Available since |
A flag to enable to the offensive filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] optional Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the scam filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the Weapons, Alcohol, and Drugs filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.noRuleUserScoreAdjustment [Integer] Optional |
This score adjustment is used when the content did not match any rules. This value may be a positive or negative integer. This may be used to increase a user score based upon good behavior, i.e. sending in content that did not contain any profanity. In this use case, you would provide a positive value for the adjustment. This adjustment will only affect the user score while it is below 0. Once the user score is raised to 0 this adjustment will be ignored. |
application.moderationConfiguration.persistent [Boolean] Optional defaults to |
Set this parameter to Persistent content is defined as content that is likely displayed indefinitely. A user can go and look at this content in the future by browsing a forum or performing a content search. Examples of persistent content include forum posts, profile pictures, etc. Persist content can be edited, deleted and pre-approved. Transient content is defined as content that is displayed for a short period of time and then is likely gone forever. Transient content is usually synonymous with chat. This content cannot be pre-approved, edited or deleted. Please note that both transient and persistent content in this context are persisted to the database. |
application.moderationConfiguration.phoneNumberFilterMaxLength [Integer] Optional defaults to |
This parameter specifies the maximum length that a match can be in order to be considered an phone number. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.phoneNumberFilterMinLength [Integer] Optional defaults to |
This parameter specifies the minimum length that a match can be in order to be considered a phone number. The default value covers most world wide phone number formats. |
application.moderationConfiguration.phoneNumberFilterSeparatorPenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any type of separator other than a dash or parenthesis. For example, |
application.moderationConfiguration.phoneNumberFilterSpacePenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.phoneNumberFilterWordPenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any words rather than digits. For example, |
application.moderationConfiguration.phoneNumberRules [Array<[quality-filter-rule]>] Optional |
The phone number filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default phone number rules:
|
applicaiton.moderationConfiguration.proxy.enabled [Boolean] optional Defaults to false Available since 3.29.0-RC.1 |
A flag to determine if this application can send proxy requests. If disabled, all other fields will be ignored and it will not be possible to use the |
applicaiton.moderationConfiguration.proxy.url [String] required Available since 3.29.0-RC.1 |
A destination url for the proxy to forward requests to. This is required if the proxy is enabled. |
applicaiton.moderationConfiguration.proxy.connectTimeout [Integer] Optional Defaults to 2000 Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the connection to be established with the proxy service. If a connection takes longer than this then the request will result in a 400 on the |
applicaiton.moderationConfiguration.proxy.readTimeout [Integer] Optional Defaults to 1000 Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the initial read of the request to begin. |
applicaiton.moderationConfiguration.proxy.headers [Object] Optional Available since 3.29.0-RC.1 |
An object of string keys to string values that will get encoded as headers on the proxy request. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationUsername [String] Optional Available since 3.29.0-RC.1 |
A username to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationPassword [String] Optional Available since 3.29.0-RC.1 |
A password to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.sslCertificate [String] Optional Available since 3.29.0-RC.1 |
A pem encoded ssl certificate to present as authorization on the proxy request. |
application.moderationConfiguration.queuePersistentContent [Boolean] Optional defaults to |
Set this to |
application.moderationConfiguration.replacementCharacter [String] Optional |
The character used during match replacement. If this value is set it will take precedence over |
application.moderationConfiguration.replacementString [String] Optional |
The string used during match replacement. If neither |
application.moderationConfiguration.returnFilterMatches [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.rules [Object] Optional |
The rules object. This object contains the Username Filter and Whitelist Filter rules. |
application.moderationConfiguration.storeContent [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.unicodeFilterRule.action [String] Optional defaults to |
The filter action for the unicode filter. Allowed options are The unicode filter rejects content if it contains prohibited unicode ranges. |
application.moderationConfiguration.unicodeFilterRule.data [String] Optional defaults to a provided config Available since 3.22.0 |
The unicode filter configuration represented as a dsl of ranges.
The ranges are described as a string of lines that may contain
* Empty lines
* Comments (a line starting with A special condition is that the final unicode range may be an open range meaning the second unicode point is omitted. Note: The ranges are inclusive so \u0000-\u000F includes the character \u000F Note 2: The provided config may change between versions. |
application.moderationConfiguration.urlFilterMaxLength [Integer] Optional defaults to |
This parameter specifies the maximum length that a match can be in order to be considered a url. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.urlFilterSpacePenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.urlRules [Array] Optional |
The url filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default url rules:
|
application.moderationConfiguration.urlRules [Array<[quality-filter-rule]>] Required |
The url filter rules. You must supply exactly three rules. Each rule must provide a
|
applicaiton.moderationConfiguration.urlWhitelistTags [Array<String>] Optional Defaults to empty array |
A list of URL whitelist tag names that you would like to include in this application. Any tags you add will include any whitelisted urls that are tagged with the same tag in the moderate workflow. Any whitelisted urls that are untagged are always used. |
application.moderationConfiguration.userCheckOutMinutes [Integer] Optional defaults to |
The number of minutes a Content User is checked out for before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.userFlagUserScoreAdjustment [Integer] Optional |
The amount the User score is adjusted when the user is flagged. This value may be a positive or negative integer. |
applicaiton.notificationServers [Array] Optional |
A list of webhooks to use on an application. (This will create new webhooks every time) Note: Notification Servers are now called Webhooks. (See Handling Events for more details) |
applicaiton.notificationServers |
The maximum amount of time a server will take to try to connect in milliseconds. |
application.notificationServers |
The maximum amount of time any read call will wait for data to flow. |
application.notificationServers |
A description of the webhook and its purpose. |
application.notificationServers |
A list of enabled event types for this webhook. If a value in this map is false, then it will not recieve events of that type. The possible values for
|
application.notificationServers |
A password to supply on the event request. |
application.notificationServers |
A username to supply on the event request. |
applicaiton.notificationServers |
An ssl client certificate to present on the event request. |
application.notificationServers |
The url of a server listening for events. |
{
"application": {
"moderationConfiguration": {
"alwaysKeepMatches": false,
"approvalCheckOutMinutes": 10,
"approvalQueueSize": 30,
"archiveConfiguration": {
"deleteOnly": true,
"enabled": false
},
"contentAlertCheckOutMinutes": 10,
"contentAlertQueueSize": 30,
"contentDeletable": true,
"contentEditable": true,
"contentFlagAlertType": "User",
"contentFlagUserScoreAdjustment": -3,
"contentUserActionsEnabled": true,
"ignorableCharacters": "qxz",
"imageConfiguration": {
"commitDelay": 45,
"darkMode": true,
"defaultTimerDuration": 2.0,
"speedModerationLayout": true
},
"imageFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"mlFilterConfiguration": {
"affinityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"compassionConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"curiosityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"enabled": false,
"locales": ["en"],
"identityAttackConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"incoherentConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 74
},
"medium": {
"action": "allow",
"score": 84
},
"high": {
"action": "allow",
"score": 94
},
"severe": {
"action": "allow",
"score": 99
}
}
},
"insultConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"nuanceConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"personalStoryConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"profanityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"reasoningConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"respectConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"severeToxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"spamConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 70
},
"medium": {
"action": "allow",
"score": 80
},
"high": {
"action": "allow",
"score": 90
},
"severe": {
"action": "allow",
"score": 97
}
}
},
"threatConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"toxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"unsubstantialConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 79
},
"medium": {
"action": "allow",
"score": 79
},
"high": {
"action": "allow",
"score": 89
},
"severe": {
"action": "allow",
"score": 99
}
}
}
},
"unicodeFilterRule": {
"action": "allow",
"data": "# Non-printable\n\\u0000-\\u0008\n\\u000B-\\u000C\n\\u000E-\\u001F\n\\u007F-\\u009F\n\n# Symbols, etc.\n\\u00A6-\\u00A8\n\\u00AA-\\u00AD\n\\u00AF-\\u00B0\n\\u00B7-\\u00B7\n\\u00BA-\\u00BB\n\\u02BB-\\u02FF\n\n# Combining marks\n\\u0300-\\u036F\n\\u0590-\\u05C0\n\n# Language sets\n\\u0700-\\u074F\n\\u0780-\\u085F\n\\u08A0-\\u1C7F\n\n# Language supplements and punctuation\n\\u1CC0-\\u1DB0\n\\u1DC0-\\u209F\n\n# More punctuation, symbols, shapes, etc.\n\\u20D0-\\u2599\n\\u2700-\\u2E7F\n\n# CJK punctuation\n\\u3000-\\u303F\n\n# Lisu and above\n\\uA4D0-\\uABFF\n\n# Everything after CJK and Hangul (mostly surrogates and private use)\n\\uD7B0-\\u{1F2FF}\n\n# Everything after Emoji\n\\u{1F700}-"
},
"videoFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"defaultActionIsQueueForApproval": false,
"dictionaryTags": [
"whitelistA"
],
"emailOnAlerts": false,
"emailOnContentFlagged": false,
"emailOnEscalations": false,
"emailOnUserFlagged": false,
"emailRules": [
{
"action": "allow",
"score": 90
},
{
"score": 70,
"action": "allow"
},
{
"score": 40,
"action": "allow"
}
],
"filterRules": [
{
"highAction": "authorOnly",
"highAlertType": "User",
"locales": [],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "reject",
"severeAlertType": "User",
"tags": [
"Vulgarity"
]
},
{
"highAction": "allow",
"highAlertType": "User",
"locales": [
"en"
],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "authorOnly",
"severeAlertType": "User",
"tags": [
"Bullying"
]
}
],
"imageOnly": false,
"keepAdditionalContentPercent": 1.0,
"persistent": true,
"phoneNumberRules": [
{
"action": "allow",
"score": 90,
"userScoreAdjustment": -10
},
{
"alertType": "Content",
"userScoreAdjustment": -5,
"score": 70,
"action": "allow"
},
{
"score": 40,
"alertType": "User",
"userScoreAdjustment": -1,
"action": "allow"
}
],
"proxy": {
"connectTimeout": 2000,
"enabled": true,
"headers": {
"Authorization": "APIKEY",
"X-SomeHeader": "HeaderValue"
},
"httpAuthenticationPassword": "pass",
"httpAuthenticationUsername": "user",
"readTimeout": 4000,
"sslCertificate": "-----BEGIN CERTIFICATE-----\nMIIDTzCCArigAwIBAgIJAMA7XJzxYkPUMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNV\nBAYTAlVTMQswCQYDVQQIEwJDTzEPMA0GA1UEBxMGZGVudmVyMRIwEAYDVQQKEwlp\nbnZlcnNvZnQxEjAQBgNVBAMTCWxvY2FsaG9zdDEkMCIGCSqGSIb3DQEJARYVc3Vw\ncG9ydEBpbnZlcnNvZnQuY29tMB4XDTE0MDQxMDE5NTA1MFoXDTE0MDUxMDE5NTA1\nMFoweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNPMQ8wDQYDVQQHEwZkZW52ZXIx\nEjAQBgNVBAoTCWludmVyc29mdDESMBAGA1UEAxMJbG9jYWxob3N0MSQwIgYJKoZI\nhvcNAQkBFhVzdXBwb3J0QGludmVyc29mdC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD\ngY0AMIGJAoGBAMZ0AasrmL41BOGhUOr1WVOUah5styok4NjXMRCyJWc7VEyt2lRW\nyaAQeIsR1wgmLJbo7YSC8gY4E9xfiIUqTwHK5bvDuS1T2jwsrIf0jaxjcB+Janol\nvWeVgIUTv5xuzWTWtFEjxwHoum/Ur/T8bigmPhiXwCMJTuP25bSB9Ov5AgMBAAGj\ngd4wgdswHQYDVR0OBBYEFFOEqiRBZtc1vgnC8Zi5QEa6rTDdMIGrBgNVHSMEgaMw\ngaCAFFOEqiRBZtc1vgnC8Zi5QEa6rTDdoX2kezB5MQswCQYDVQQGEwJVUzELMAkG\nA1UECBMCQ08xDzANBgNVBAcTBmRlbnZlcjESMBAGA1UEChMJaW52ZXJzb2Z0MRIw\nEAYDVQQDEwlsb2NhbGhvc3QxJDAiBgkqhkiG9w0BCQEWFXN1cHBvcnRAaW52ZXJz\nb2Z0LmNvbYIJAMA7XJzxYkPUMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\ngYEAwXVTn4xPTK4LpAH5F6mjkPefLwuPb7r+oCBuMFjFlGyp3fUmxXIIDt5GhApI\niLTGDJCwZ2znJBzQBlvaCekkEedGq3kTrfpFs0T8DFxc6kMtb8v16JJlSVBXmdAm\nKYeduqsD+n+YjBqS2+08N1DBcpcYkHKi11yZWQ3scWoTsQQ=\n-----END CERTIFICATE-----",
"url": "http://example.com"
},
"queuePersistentContent": false,
"returnFilterMatches": false,
"rules": {
"usernameFilterRule": {
"action": "reject",
"enabled": false
},
"whitelistFilterRules": {
"disallowedPhrase": {
"action": "allow"
},
"disallowedWord": {
"action": "allow"
}
}
},
"storeContent": true,
"urlRules": [
{
"score": 90,
"action": "allow"
},
{
"action": "allow",
"score": 70
},
{
"score": 40,
"action": "allow"
}
],
"urlWhitelistTags": [
"tag1"
],
"userCheckOutMinutes": 10,
"userFlagUserScoreAdjustment": -3
},
"name": "Chat",
"notificationServers": [
{
"connectTimeout": 1000,
"id": 21,
"url": "http://chat.example.com/notification-handler",
"readTimeout": 2000
}
]
}
}
2.2. Response
Code | Description |
---|---|
200 |
The request was successful. The response will contain a JSON body. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication. |
402 |
Your license has expired. The response will be empty. Contact sales@cleanspeak.com for assistance. |
500 |
There was an internal error. A stack trace is provided and logged in the CleanSpeak log files. The response will be empty. |
application [Object] |
The Application object. |
application.id [UUID] |
The Id of the Application. |
application.moderationConfiguration.alwaysKeepMatches [Boolean] Optional Defaults to |
A flag to enable all matches to be kept. This is useful if |
application.moderationConfiguration.approvalCheckOutMinutes [Integer] |
The number of minutes content is checked out for in the Approval Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.approvalQueueSize [Integer] |
The number of items checked out of the Approval Queue at a time for a moderator. |
application.moderationConfiguration.archiveConfiguration [Object] |
The archive configuration object. |
application.moderationConfiguration.archiveConfiguration.enabled [Boolean] |
Setting this value to true enables content deletion. This is false by default which means no content is deleted. If you’ll be sending in high volumes of content content deletion should be enabled. CleanSpeak is not designed to store content indefinitely. |
application.moderationConfiguration.archiveConfiguration.storeDuration [Integer] |
The number of units content should be kept. The unit value is determined by the |
application.moderationConfiguration.archiveConfiguration.storeOffsetDuration [Integer] |
The number of units to be added to the |
application.moderationConfiguration.archiveConfiguration.storeOffsetTimeUnit [String] |
The time unit for the offset. The possible values are:
|
application.moderationConfiguration.archiveConfiguration.storeTimeUnit [String] |
The time unit for the duration. The possible values are:
|
application.moderationConfiguration.contentAlertCheckOutMinutes [Integer] |
The number of minutes content is checked out for in the Alert Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.contentAlertQueueSize [Integer] |
The number of items checked out of the Alert Queue at a time for a moderator. |
application.moderationConfiguration.contentDeletable [Boolean] |
Set to true if you want the ability to delete content. Enabling this feature allows a moderator to delete content which in turn sends an event of type |
application.moderationConfiguration.contentEditable [Boolean] |
Set to true if you want the ability to edit content. Enabling this feature allows a moderator to edit content which in turn sends an event of type |
application.moderationConfiguration.contentFlagAlertType [String] |
By default when content is flagged a
|
application.moderationConfiguration.contentFlagUserScoreAdjustment [Integer] |
The amount the User score is adjusted when content is flagged. This value may be a positive or negative integer. |
application.moderationConfiguration.contentUserActionsEnabled [Boolean] |
Set to true if you want user actions enabled. Enable this if you intend to allow moderators to action users, for example mute, ban, kick users. When disabled you will not be able to select this application as a target for a user action. |
application.moderationConfiguration.defaultActionIsQueueForApproval [Boolean] |
Set to true if you want content to be queued for approval when no filter rules are hit. This includes content that matched a rule set to
For example, when this parameter is set to
This feature may be used way to ensure all content is reviewed in some fashion by a moderator. |
application.moderationConfiguration.dictionaryTags [Array<String>] Available since 3.12.0 |
A list of dictionary tags to apply to moderation actions using this application. Tags will cause the filter to throw out matches that exactly match dictionary words with any of the tags in this list. |
application.moderationConfiguration.emailFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered an email. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.emailFilterSpacePenalty [Double] |
This parameter specifies a penalty applied to the quality score if the match contains any spaces. For example, |
application.moderationConfiguration.emailOnAlerts [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailOnContentFlagged [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailOnUserFlagged [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailRules [quality-filter-rule]>">[Array] |
The email filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default email rules:
|
application.moderationConfiguration.filterRules [Array] |
The list of blacklist filter rules. |
application.moderationConfiguration.filterRules |
The blacklist tags for this filter rule. A filter rule may have one or more tags. |
application.moderationConfiguration.filterRules |
The match locales. If this parameter is omitted the filter rule will apply to all locales. See Locales. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.ignorableCharacters [String] Available since 3.22.0 |
The list list of characters the filter can skip over to find a match.
Specifically, this feature will catch any blacklist word even if separated by a single character on this list. Example: |
application.moderationConfiguration.imageConfiguration [Object] |
The image moderation configuration object. This parameter and all nested parameters are only valid when |
application.moderationConfiguration.imageConfiguration.commitDelay [Integer] |
The number of seconds to wait before a moderation decision made from the enhanced image moderation queue is committed. |
application.moderationConfiguration.imageConfiguration.darkMode [Boolean] |
Set this parameter to 'false' to disable the dark mode theme when viewing the enhanced image moderation queue. |
application.moderationConfiguration.imageConfiguration.defaultTimerDuration [Integer] |
The number of seconds each image will be displayed in the queue before advancing to the next image when the queue is set to automatically advance without keyboard interaction. This value is the default value for this application for all moderators. A moderator may change this value for their own user preference. |
application.moderationConfiguration.imageConfiguration.speedModerationLayout [Boolean] |
Set this parameter to |
application.moderationConfiguration.imageOnly [Boolean] |
Set this parameter to |
application.moderationConfiguration.keepAdditionalContentPercent [Float] Available since |
A field that informs the filter how much content to keep beyond what is required. In situations where storage is impossible due to the database latency or load, this flag can dramatically reduce that load by cutting your unnecessary storage to zero. It is also useful to configure |
imageFilterConfiguration.enabled [Boolean] Available since |
A flag to enable the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] Available since |
A flag to enable the nudity filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] Available since |
A flag to enable to the offensive filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] Available since |
A flag to enable the scam filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] Available since |
A flag to enable the Weapons, Alcohol, and Drugs filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.mlFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable Machine Learning. |
application.moderationConfiguration.mlFilterConfiguration.locales [Array<String>] Available since |
The selected locales will be sent to the Machine Learning engine to evaluate content for the selected models. |
application.moderationConfiguration.mlFilterConfiguration. |
A flag to enable a particular Machine Learning model.
|
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.videoFilterConfiguration.enabled [Boolean] Available since |
A flag to enable the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] Available since |
A flag to enable the nudity filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] Available since |
A flag to enable to the offensive filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] Available since |
A flag to enable the scam filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] Available since |
A flag to enable the Weapons, Alcohol, and Drugs filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.noRuleUserScoreAdjustment [Integer] |
This score adjustment is used when the content did not match any rules. This value may be a positive or negative integer. This may be used to increase a user score based upon good behavior, i.e. sending in content that did not contain any profanity. In this use case, you would provide a positive value for the adjustment. This adjustment will only affect the user score while it is below 0. Once the user score is raised to 0 this adjustment will be ignored. |
application.moderationConfiguration.persistent [Boolean] |
Set this parameter to Persistent content is defined as content that is likely displayed indefinitely. A user can go and look at this content in the future by browsing a forum or performing a content search. Examples of persistent content include forum posts, profile pictures, etc. Persist content can be edited, deleted and pre-approved. Transient content is defined as content that is displayed for a short period of time and then is likely gone forever. Transient content is usually synonymous with chat. This content cannot be pre-approved, edited or deleted. Please note that both transient and persistent content in this context are persisted to the database. |
application.moderationConfiguration.phoneNumberFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered an phone number. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.phoneNumberFilterMinLength [Integer] |
This parameter specifies the minimum length that a match can be in order to be considered a phone number. The default value covers most world wide phone number formats. |
application.moderationConfiguration.phoneNumberFilterSeparatorPenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any type of separator other than a dash or parenthesis. For example, |
application.moderationConfiguration.phoneNumberFilterSpacePenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.phoneNumberFilterWordPenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any words rather than digits. For example, |
application.moderationConfiguration.phoneNumberRules [Array<[quality-filter-rule]>] |
The phone number filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default phone number rules:
|
applicaiton.moderationConfiguration.proxy.enabled [Boolean] |
A flag to determine if this application can send proxy requests. If disabled, all other fields will be ignored and it will not be possible to use the |
applicaiton.moderationConfiguration.proxy.url [String] Available since 3.29.0-RC.1 |
A destination url for the proxy to forward requests to. This is required if the proxy is enabled. |
applicaiton.moderationConfiguration.proxy.connectTimeout [Integer] Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the connection to be established with the proxy service. If a connection takes longer than this then the request will result in a 400 on the |
applicaiton.moderationConfiguration.proxy.readTimeout [Integer] Optional Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the initial read of the request to begin. |
applicaiton.moderationConfiguration.proxy.headers [Object] Available since 3.29.0-RC.1 |
An object of string keys to string values that will get encoded as headers on the proxy request. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationUsername [String] Available since 3.29.0-RC.1 |
A username to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationPassword [String] Available since 3.29.0-RC.1 |
A password to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.sslCertificate [String] Available since 3.29.0-RC.1 |
A pem encoded ssl certificate to present as authorization on the proxy request. |
application.moderationConfiguration.queuePersistentContent [Boolean] Available since 3.29.0-RC.1 |
Set this to |
application.moderationConfiguration.replacementCharacter [String] |
The character used during match replacement. If this value is set it will take precedence over |
application.moderationConfiguration.replacementString [String] |
The string used during match replacement. If neither |
application.moderationConfiguration.returnFilterMatches [Boolean] Available since 3.9.1 |
This parameter specifies if filter matches will be returned in the Moderate Content API response. |
application.moderationConfiguration.rules [Object] |
The rules object. This object contains the Username Filter and Whitelist Filter rules. |
application.moderationConfiguration.storeContent [Boolean] |
Set this parameter to |
application.moderationConfiguration.unicodeFilterRule.action [String] Available since 3.22.0 |
The filter action for the unicode filter. Allowed options are The unicode filter rejects content if it contains prohibited unicode ranges. |
application.moderationConfiguration.unicodeFilterRule.data [String] Available since 3.22.0 |
The unicode filter configuration represented as a dsl of ranges.
The ranges are described as a string of lines that may contain
* Empty lines
* Comments (a line starting with A special condition is that the final unicode range may be an open range meaning the second unicode point is omitted. Note: The ranges are inclusive so \u0000-\u000F includes the character \u000F Note 2: The provided config may change between versions. |
application.moderationConfiguration.urlFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered a url. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.urlFilterSpacePenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.urlRules [Array<[quality-filter-rule]>] |
The url filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default url rules:
|
applicaiton.moderationConfiguration.urlWhitelistTags [Array<String>] Optional Defaults to empty array |
A list of URL whitelist tag names that this application will use during moderation. The tags will include any whitelisted urls that are tagged with the same tag. Any whitelisted urls that are untagged are always used. |
application.moderationConfiguration.userCheckOutMinutes [Integer] |
The number of minutes a Content User is checked out for before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.userFlagUserScoreAdjustment [Integer] |
The amount the User score is adjusted when the user is flagged. This value may be a positive or negative integer. |
applicaiton.notificationServers [Array] Optional |
A list of webhooks to use on an application. (This will create new webhooks every time) Note: Notification Servers are now called Webhooks. (See Handling Webhook Events for more details) |
applicaiton.notificationServers |
The maximum amount of time a server will take to try to connect in milliseconds. |
application.notificationServers |
The maximum amount of time any read call will wait for data to flow. |
application.notificationServers |
A description of the webhook and its purpose. |
application.notificationServers |
A list of enabled event types for this webhook. If a value in this map is false, then it will not recieve events of that type. The possible values for
|
application.notificationServers |
A password to supply on the event request. |
application.notificationServers |
A username to supply on the event request. |
applicaiton.notificationServers |
An ssl client certificate to present on the event request. |
application.notificationServers |
The url of a server listening for events. |
{
"application": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"moderationConfiguration": {
"alwaysKeepMatches": false,
"approvalCheckOutMinutes": 10,
"approvalQueueSize": 30,
"archiveConfiguration": {
"deleteOnly": true,
"enabled": false
},
"contentAlertCheckOutMinutes": 10,
"contentAlertQueueSize": 30,
"contentDeletable": true,
"contentEditable": true,
"contentFlagAlertType": "User",
"contentFlagUserScoreAdjustment": -3,
"contentUserActionsEnabled": true,
"ignorableCharacters": "qxz",
"imageConfiguration": {
"commitDelay": 45,
"darkMode": true,
"defaultTimerDuration": 2.0,
"speedModerationLayout": true
},
"imageFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"mlFilterConfiguration": {
"affinityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"compassionConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"curiosityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"enabled": false,
"locales": ["en"],
"identityAttackConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 35
},
"medium": {
"action": "allow",
"score": 45
},
"high": {
"action": "allow",
"score": 55
},
"severe": {
"action": "allow",
"score": 61
}
}
},
"incoherentConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 74
},
"medium": {
"action": "allow",
"score": 84
},
"high": {
"action": "allow",
"score": 94
},
"severe": {
"action": "allow",
"score": 99
}
}
},
"insultConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 50
},
"medium": {
"action": "allow",
"score": 60
},
"high": {
"action": "allow",
"score": 70
},
"severe": {
"action": "allow",
"score": 80
}
}
},
"nuanceConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"personalStoryConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"profanityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 30
},
"medium": {
"action": "allow",
"score": 40
},
"high": {
"action": "allow",
"score": 50
},
"severe": {
"action": "allow",
"score": 60
}
}
},
"reasoningConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"respectConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"severeToxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 5
},
"medium": {
"action": "allow",
"score": 10
},
"high": {
"action": "allow",
"score": 20
},
"severe": {
"action": "allow",
"score": 25
}
}
},
"spamConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 70
},
"medium": {
"action": "allow",
"score": 80
},
"high": {
"action": "allow",
"score": 90
},
"severe": {
"action": "allow",
"score": 97
}
}
},
"threatConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"toxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 50
},
"medium": {
"action": "allow",
"score": 60
},
"high": {
"action": "allow",
"score": 70
},
"severe": {
"action": "allow",
"score": 79
}
}
},
"unsubstantialConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 79
},
"medium": {
"action": "allow",
"score": 79
},
"high": {
"action": "allow",
"score": 89
},
"severe": {
"action": "allow",
"score": 99
}
}
}
},
"unicodeFilterRule": {
"action": "allow"
},
"videoFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"defaultActionIsQueueForApproval": false,
"dictionaryTags": [
"whitelistA"
],
"emailOnAlerts": false,
"emailOnContentFlagged": false,
"emailOnEscalations": false,
"emailOnUserFlagged": false,
"emailRules": [
{
"action": "allow",
"score": 90
},
{
"score": 70,
"action": "allow"
},
{
"score": 40,
"action": "allow"
}
],
"filterRules": [
{
"highAction": "authorOnly",
"highAlertType": "User",
"locales": [],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "reject",
"severeAlertType": "User",
"tags": [
"Vulgarity"
]
},
{
"highAction": "allow",
"highAlertType": "User",
"locales": [
"en"
],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "authorOnly",
"severeAlertType": "User",
"tags": [
"Bullying"
]
}
],
"imageOnly": false,
"keepAdditionalContentPercent": 1.0,
"persistent": true,
"phoneNumberRules": [
{
"action": "allow",
"score": 90,
"userScoreAdjustment": -10
},
{
"alertType": "Content",
"userScoreAdjustment": -5,
"score": 70,
"action": "allow"
},
{
"score": 40,
"alertType": "User",
"userScoreAdjustment": -1,
"action": "allow"
}
],
"proxy": {
"connectTimeout": 2000,
"enabled": true,
"headers": {
"Authorization": "APIKEY",
"X-SomeHeader": "HeaderValue"
},
"httpAuthenticationPassword": "pass",
"httpAuthenticationUsername": "user",
"readTimeout": 4000,
"sslCertificate": "-----BEGIN CERTIFICATE-----\nMIIDTzCCArigAwIBAgIJAMA7XJzxYkPUMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNV\nBAYTAlVTMQswCQYDVQQIEwJDTzEPMA0GA1UEBxMGZGVudmVyMRIwEAYDVQQKEwlp\nbnZlcnNvZnQxEjAQBgNVBAMTCWxvY2FsaG9zdDEkMCIGCSqGSIb3DQEJARYVc3Vw\ncG9ydEBpbnZlcnNvZnQuY29tMB4XDTE0MDQxMDE5NTA1MFoXDTE0MDUxMDE5NTA1\nMFoweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNPMQ8wDQYDVQQHEwZkZW52ZXIx\nEjAQBgNVBAoTCWludmVyc29mdDESMBAGA1UEAxMJbG9jYWxob3N0MSQwIgYJKoZI\nhvcNAQkBFhVzdXBwb3J0QGludmVyc29mdC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD\ngY0AMIGJAoGBAMZ0AasrmL41BOGhUOr1WVOUah5styok4NjXMRCyJWc7VEyt2lRW\nyaAQeIsR1wgmLJbo7YSC8gY4E9xfiIUqTwHK5bvDuS1T2jwsrIf0jaxjcB+Janol\nvWeVgIUTv5xuzWTWtFEjxwHoum/Ur/T8bigmPhiXwCMJTuP25bSB9Ov5AgMBAAGj\ngd4wgdswHQYDVR0OBBYEFFOEqiRBZtc1vgnC8Zi5QEa6rTDdMIGrBgNVHSMEgaMw\ngaCAFFOEqiRBZtc1vgnC8Zi5QEa6rTDdoX2kezB5MQswCQYDVQQGEwJVUzELMAkG\nA1UECBMCQ08xDzANBgNVBAcTBmRlbnZlcjESMBAGA1UEChMJaW52ZXJzb2Z0MRIw\nEAYDVQQDEwlsb2NhbGhvc3QxJDAiBgkqhkiG9w0BCQEWFXN1cHBvcnRAaW52ZXJz\nb2Z0LmNvbYIJAMA7XJzxYkPUMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\ngYEAwXVTn4xPTK4LpAH5F6mjkPefLwuPb7r+oCBuMFjFlGyp3fUmxXIIDt5GhApI\niLTGDJCwZ2znJBzQBlvaCekkEedGq3kTrfpFs0T8DFxc6kMtb8v16JJlSVBXmdAm\nKYeduqsD+n+YjBqS2+08N1DBcpcYkHKi11yZWQ3scWoTsQQ=\n-----END CERTIFICATE-----",
"url": "http://example.com"
},
"queuePersistentContent": false,
"returnFilterMatches": false,
"rules": {
"usernameFilterRule": {
"action": "reject",
"enabled": false
},
"whitelistFilterRules": {
"disallowedPhrase": {
"action": "allow"
},
"disallowedWord": {
"action": "allow"
}
}
},
"storeContent": true,
"urlRules": [
{
"score": 90,
"action": "allow"
},
{
"action": "allow",
"score": 70
},
{
"score": 40,
"action": "allow"
}
],
"urlWhitelistTags": [
"tag1"
],
"userCheckOutMinutes": 10,
"userFlagUserScoreAdjustment": -3
},
"name": "Chat",
"notificationServers": [
{
"connectTimeout": 1000,
"id": 21,
"url": "http://chat.example.com/notification-handler",
"readTimeout": 2000
}
]
}
}
3. Retrieve an Application
This API is used to retrieve an application and its configuration.
3.1. Request
Retrieve a single application by Id
GET /system/application/{applicationId}
GET /api/system/application/{applicationId}
applicationId [UUID] Required |
The Id of the Application to retrieve. |
Retrieve all applications
GET /system/application
GET /api/system/application
3.2. Response
Code | Description |
---|---|
200 |
The request was successful. The response will contain a JSON body. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid |
402 |
Your license has expired. The response will be empty. Contact sales@cleanspeak.com for assistance. |
404 |
The object you requested doesn’t exist. The response will be empty. |
500 |
There was an internal error. A stack trace is provided and logged in the CleanSpeak log files. The response will be empty. |
application [Object] |
The Application object. |
application.id [UUID] |
The Id of the Application. |
application.moderationConfiguration.alwaysKeepMatches [Boolean] Optional Defaults to |
A flag to enable all matches to be kept. This is useful if |
application.moderationConfiguration.approvalCheckOutMinutes [Integer] |
The number of minutes content is checked out for in the Approval Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.approvalQueueSize [Integer] |
The number of items checked out of the Approval Queue at a time for a moderator. |
application.moderationConfiguration.archiveConfiguration [Object] |
The archive configuration object. |
application.moderationConfiguration.archiveConfiguration.enabled [Boolean] |
Setting this value to true enables content deletion. This is false by default which means no content is deleted. If you’ll be sending in high volumes of content content deletion should be enabled. CleanSpeak is not designed to store content indefinitely. |
application.moderationConfiguration.archiveConfiguration.storeDuration [Integer] |
The number of units content should be kept. The unit value is determined by the |
application.moderationConfiguration.archiveConfiguration.storeOffsetDuration [Integer] |
The number of units to be added to the |
application.moderationConfiguration.archiveConfiguration.storeOffsetTimeUnit [String] |
The time unit for the offset. The possible values are:
|
application.moderationConfiguration.archiveConfiguration.storeTimeUnit [String] |
The time unit for the duration. The possible values are:
|
application.moderationConfiguration.contentAlertCheckOutMinutes [Integer] |
The number of minutes content is checked out for in the Alert Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.contentAlertQueueSize [Integer] |
The number of items checked out of the Alert Queue at a time for a moderator. |
application.moderationConfiguration.contentDeletable [Boolean] |
Set to true if you want the ability to delete content. Enabling this feature allows a moderator to delete content which in turn sends an event of type |
application.moderationConfiguration.contentEditable [Boolean] |
Set to true if you want the ability to edit content. Enabling this feature allows a moderator to edit content which in turn sends an event of type |
application.moderationConfiguration.contentFlagAlertType [String] |
By default when content is flagged a
|
application.moderationConfiguration.contentFlagUserScoreAdjustment [Integer] |
The amount the User score is adjusted when content is flagged. This value may be a positive or negative integer. |
application.moderationConfiguration.contentUserActionsEnabled [Boolean] |
Set to true if you want user actions enabled. Enable this if you intend to allow moderators to action users, for example mute, ban, kick users. When disabled you will not be able to select this application as a target for a user action. |
application.moderationConfiguration.defaultActionIsQueueForApproval [Boolean] |
Set to true if you want content to be queued for approval when no filter rules are hit. This includes content that matched a rule set to
For example, when this parameter is set to
This feature may be used way to ensure all content is reviewed in some fashion by a moderator. |
application.moderationConfiguration.dictionaryTags [Array<String>] Available since 3.12.0 |
A list of dictionary tags to apply to moderation actions using this application. Tags will cause the filter to throw out matches that exactly match dictionary words with any of the tags in this list. |
application.moderationConfiguration.emailFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered an email. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.emailFilterSpacePenalty [Double] |
This parameter specifies a penalty applied to the quality score if the match contains any spaces. For example, |
application.moderationConfiguration.emailOnAlerts [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailOnContentFlagged [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailOnUserFlagged [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailRules [quality-filter-rule]>">[Array] |
The email filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default email rules:
|
application.moderationConfiguration.filterRules [Array] |
The list of blacklist filter rules. |
application.moderationConfiguration.filterRules |
The blacklist tags for this filter rule. A filter rule may have one or more tags. |
application.moderationConfiguration.filterRules |
The match locales. If this parameter is omitted the filter rule will apply to all locales. See Locales. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.ignorableCharacters [String] Available since 3.22.0 |
The list list of characters the filter can skip over to find a match.
Specifically, this feature will catch any blacklist word even if separated by a single character on this list. Example: |
application.moderationConfiguration.imageConfiguration [Object] |
The image moderation configuration object. This parameter and all nested parameters are only valid when |
application.moderationConfiguration.imageConfiguration.commitDelay [Integer] |
The number of seconds to wait before a moderation decision made from the enhanced image moderation queue is committed. |
application.moderationConfiguration.imageConfiguration.darkMode [Boolean] |
Set this parameter to 'false' to disable the dark mode theme when viewing the enhanced image moderation queue. |
application.moderationConfiguration.imageConfiguration.defaultTimerDuration [Integer] |
The number of seconds each image will be displayed in the queue before advancing to the next image when the queue is set to automatically advance without keyboard interaction. This value is the default value for this application for all moderators. A moderator may change this value for their own user preference. |
application.moderationConfiguration.imageConfiguration.speedModerationLayout [Boolean] |
Set this parameter to |
application.moderationConfiguration.imageOnly [Boolean] |
Set this parameter to |
application.moderationConfiguration.keepAdditionalContentPercent [Float] Available since |
A field that informs the filter how much content to keep beyond what is required. In situations where storage is impossible due to the database latency or load, this flag can dramatically reduce that load by cutting your unnecessary storage to zero. It is also useful to configure |
imageFilterConfiguration.enabled [Boolean] Available since |
A flag to enable the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] Available since |
A flag to enable the nudity filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] Available since |
A flag to enable to the offensive filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] Available since |
A flag to enable the scam filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] Available since |
A flag to enable the Weapons, Alcohol, and Drugs filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.mlFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable Machine Learning. |
application.moderationConfiguration.mlFilterConfiguration.locales [Array<String>] Available since |
The selected locales will be sent to the Machine Learning engine to evaluate content for the selected models. |
application.moderationConfiguration.mlFilterConfiguration. |
A flag to enable a particular Machine Learning model.
|
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.videoFilterConfiguration.enabled [Boolean] Available since |
A flag to enable the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] Available since |
A flag to enable the nudity filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] Available since |
A flag to enable to the offensive filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] Available since |
A flag to enable the scam filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] Available since |
A flag to enable the Weapons, Alcohol, and Drugs filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.noRuleUserScoreAdjustment [Integer] |
This score adjustment is used when the content did not match any rules. This value may be a positive or negative integer. This may be used to increase a user score based upon good behavior, i.e. sending in content that did not contain any profanity. In this use case, you would provide a positive value for the adjustment. This adjustment will only affect the user score while it is below 0. Once the user score is raised to 0 this adjustment will be ignored. |
application.moderationConfiguration.persistent [Boolean] |
Set this parameter to Persistent content is defined as content that is likely displayed indefinitely. A user can go and look at this content in the future by browsing a forum or performing a content search. Examples of persistent content include forum posts, profile pictures, etc. Persist content can be edited, deleted and pre-approved. Transient content is defined as content that is displayed for a short period of time and then is likely gone forever. Transient content is usually synonymous with chat. This content cannot be pre-approved, edited or deleted. Please note that both transient and persistent content in this context are persisted to the database. |
application.moderationConfiguration.phoneNumberFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered an phone number. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.phoneNumberFilterMinLength [Integer] |
This parameter specifies the minimum length that a match can be in order to be considered a phone number. The default value covers most world wide phone number formats. |
application.moderationConfiguration.phoneNumberFilterSeparatorPenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any type of separator other than a dash or parenthesis. For example, |
application.moderationConfiguration.phoneNumberFilterSpacePenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.phoneNumberFilterWordPenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any words rather than digits. For example, |
application.moderationConfiguration.phoneNumberRules [Array<[quality-filter-rule]>] |
The phone number filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default phone number rules:
|
applicaiton.moderationConfiguration.proxy.enabled [Boolean] |
A flag to determine if this application can send proxy requests. If disabled, all other fields will be ignored and it will not be possible to use the |
applicaiton.moderationConfiguration.proxy.url [String] Available since 3.29.0-RC.1 |
A destination url for the proxy to forward requests to. This is required if the proxy is enabled. |
applicaiton.moderationConfiguration.proxy.connectTimeout [Integer] Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the connection to be established with the proxy service. If a connection takes longer than this then the request will result in a 400 on the |
applicaiton.moderationConfiguration.proxy.readTimeout [Integer] Optional Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the initial read of the request to begin. |
applicaiton.moderationConfiguration.proxy.headers [Object] Available since 3.29.0-RC.1 |
An object of string keys to string values that will get encoded as headers on the proxy request. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationUsername [String] Available since 3.29.0-RC.1 |
A username to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationPassword [String] Available since 3.29.0-RC.1 |
A password to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.sslCertificate [String] Available since 3.29.0-RC.1 |
A pem encoded ssl certificate to present as authorization on the proxy request. |
application.moderationConfiguration.queuePersistentContent [Boolean] Available since 3.29.0-RC.1 |
Set this to |
application.moderationConfiguration.replacementCharacter [String] |
The character used during match replacement. If this value is set it will take precedence over |
application.moderationConfiguration.replacementString [String] |
The string used during match replacement. If neither |
application.moderationConfiguration.returnFilterMatches [Boolean] Available since 3.9.1 |
This parameter specifies if filter matches will be returned in the Moderate Content API response. |
application.moderationConfiguration.rules [Object] |
The rules object. This object contains the Username Filter and Whitelist Filter rules. |
application.moderationConfiguration.storeContent [Boolean] |
Set this parameter to |
application.moderationConfiguration.unicodeFilterRule.action [String] Available since 3.22.0 |
The filter action for the unicode filter. Allowed options are The unicode filter rejects content if it contains prohibited unicode ranges. |
application.moderationConfiguration.unicodeFilterRule.data [String] Available since 3.22.0 |
The unicode filter configuration represented as a dsl of ranges.
The ranges are described as a string of lines that may contain
* Empty lines
* Comments (a line starting with A special condition is that the final unicode range may be an open range meaning the second unicode point is omitted. Note: The ranges are inclusive so \u0000-\u000F includes the character \u000F Note 2: The provided config may change between versions. |
application.moderationConfiguration.urlFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered a url. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.urlFilterSpacePenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.urlRules [Array<[quality-filter-rule]>] |
The url filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default url rules:
|
applicaiton.moderationConfiguration.urlWhitelistTags [Array<String>] Optional Defaults to empty array |
A list of URL whitelist tag names that this application will use during moderation. The tags will include any whitelisted urls that are tagged with the same tag. Any whitelisted urls that are untagged are always used. |
application.moderationConfiguration.userCheckOutMinutes [Integer] |
The number of minutes a Content User is checked out for before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.userFlagUserScoreAdjustment [Integer] |
The amount the User score is adjusted when the user is flagged. This value may be a positive or negative integer. |
applicaiton.notificationServers [Array] Optional |
A list of webhooks to use on an application. (This will create new webhooks every time) Note: Notification Servers are now called Webhooks. (See Handling Webhook Events for more details) |
applicaiton.notificationServers |
The maximum amount of time a server will take to try to connect in milliseconds. |
application.notificationServers |
The maximum amount of time any read call will wait for data to flow. |
application.notificationServers |
A description of the webhook and its purpose. |
application.notificationServers |
A list of enabled event types for this webhook. If a value in this map is false, then it will not recieve events of that type. The possible values for
|
application.notificationServers |
A password to supply on the event request. |
application.notificationServers |
A username to supply on the event request. |
applicaiton.notificationServers |
An ssl client certificate to present on the event request. |
application.notificationServers |
The url of a server listening for events. |
{
"application": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"moderationConfiguration": {
"alwaysKeepMatches": false,
"approvalCheckOutMinutes": 10,
"approvalQueueSize": 30,
"archiveConfiguration": {
"deleteOnly": true,
"enabled": false
},
"contentAlertCheckOutMinutes": 10,
"contentAlertQueueSize": 30,
"contentDeletable": true,
"contentEditable": true,
"contentFlagAlertType": "User",
"contentFlagUserScoreAdjustment": -3,
"contentUserActionsEnabled": true,
"ignorableCharacters": "qxz",
"imageConfiguration": {
"commitDelay": 45,
"darkMode": true,
"defaultTimerDuration": 2.0,
"speedModerationLayout": true
},
"imageFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"mlFilterConfiguration": {
"affinityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"compassionConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"curiosityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"enabled": false,
"locales": ["en"],
"identityAttackConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 35
},
"medium": {
"action": "allow",
"score": 45
},
"high": {
"action": "allow",
"score": 55
},
"severe": {
"action": "allow",
"score": 61
}
}
},
"incoherentConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 74
},
"medium": {
"action": "allow",
"score": 84
},
"high": {
"action": "allow",
"score": 94
},
"severe": {
"action": "allow",
"score": 99
}
}
},
"insultConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 50
},
"medium": {
"action": "allow",
"score": 60
},
"high": {
"action": "allow",
"score": 70
},
"severe": {
"action": "allow",
"score": 80
}
}
},
"nuanceConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"personalStoryConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"profanityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 30
},
"medium": {
"action": "allow",
"score": 40
},
"high": {
"action": "allow",
"score": 50
},
"severe": {
"action": "allow",
"score": 60
}
}
},
"reasoningConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"respectConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"severeToxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 5
},
"medium": {
"action": "allow",
"score": 10
},
"high": {
"action": "allow",
"score": 20
},
"severe": {
"action": "allow",
"score": 25
}
}
},
"spamConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 70
},
"medium": {
"action": "allow",
"score": 80
},
"high": {
"action": "allow",
"score": 90
},
"severe": {
"action": "allow",
"score": 97
}
}
},
"threatConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"toxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 50
},
"medium": {
"action": "allow",
"score": 60
},
"high": {
"action": "allow",
"score": 70
},
"severe": {
"action": "allow",
"score": 79
}
}
},
"unsubstantialConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 79
},
"medium": {
"action": "allow",
"score": 79
},
"high": {
"action": "allow",
"score": 89
},
"severe": {
"action": "allow",
"score": 99
}
}
}
},
"unicodeFilterRule": {
"action": "allow"
},
"videoFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"defaultActionIsQueueForApproval": false,
"dictionaryTags": [
"whitelistA"
],
"emailOnAlerts": false,
"emailOnContentFlagged": false,
"emailOnEscalations": false,
"emailOnUserFlagged": false,
"emailRules": [
{
"action": "allow",
"score": 90
},
{
"score": 70,
"action": "allow"
},
{
"score": 40,
"action": "allow"
}
],
"filterRules": [
{
"highAction": "authorOnly",
"highAlertType": "User",
"locales": [],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "reject",
"severeAlertType": "User",
"tags": [
"Vulgarity"
]
},
{
"highAction": "allow",
"highAlertType": "User",
"locales": [
"en"
],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "authorOnly",
"severeAlertType": "User",
"tags": [
"Bullying"
]
}
],
"imageOnly": false,
"keepAdditionalContentPercent": 1.0,
"persistent": true,
"phoneNumberRules": [
{
"action": "allow",
"score": 90,
"userScoreAdjustment": -10
},
{
"alertType": "Content",
"userScoreAdjustment": -5,
"score": 70,
"action": "allow"
},
{
"score": 40,
"alertType": "User",
"userScoreAdjustment": -1,
"action": "allow"
}
],
"proxy": {
"connectTimeout": 2000,
"enabled": true,
"headers": {
"Authorization": "APIKEY",
"X-SomeHeader": "HeaderValue"
},
"httpAuthenticationPassword": "pass",
"httpAuthenticationUsername": "user",
"readTimeout": 4000,
"sslCertificate": "-----BEGIN CERTIFICATE-----\nMIIDTzCCArigAwIBAgIJAMA7XJzxYkPUMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNV\nBAYTAlVTMQswCQYDVQQIEwJDTzEPMA0GA1UEBxMGZGVudmVyMRIwEAYDVQQKEwlp\nbnZlcnNvZnQxEjAQBgNVBAMTCWxvY2FsaG9zdDEkMCIGCSqGSIb3DQEJARYVc3Vw\ncG9ydEBpbnZlcnNvZnQuY29tMB4XDTE0MDQxMDE5NTA1MFoXDTE0MDUxMDE5NTA1\nMFoweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNPMQ8wDQYDVQQHEwZkZW52ZXIx\nEjAQBgNVBAoTCWludmVyc29mdDESMBAGA1UEAxMJbG9jYWxob3N0MSQwIgYJKoZI\nhvcNAQkBFhVzdXBwb3J0QGludmVyc29mdC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD\ngY0AMIGJAoGBAMZ0AasrmL41BOGhUOr1WVOUah5styok4NjXMRCyJWc7VEyt2lRW\nyaAQeIsR1wgmLJbo7YSC8gY4E9xfiIUqTwHK5bvDuS1T2jwsrIf0jaxjcB+Janol\nvWeVgIUTv5xuzWTWtFEjxwHoum/Ur/T8bigmPhiXwCMJTuP25bSB9Ov5AgMBAAGj\ngd4wgdswHQYDVR0OBBYEFFOEqiRBZtc1vgnC8Zi5QEa6rTDdMIGrBgNVHSMEgaMw\ngaCAFFOEqiRBZtc1vgnC8Zi5QEa6rTDdoX2kezB5MQswCQYDVQQGEwJVUzELMAkG\nA1UECBMCQ08xDzANBgNVBAcTBmRlbnZlcjESMBAGA1UEChMJaW52ZXJzb2Z0MRIw\nEAYDVQQDEwlsb2NhbGhvc3QxJDAiBgkqhkiG9w0BCQEWFXN1cHBvcnRAaW52ZXJz\nb2Z0LmNvbYIJAMA7XJzxYkPUMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\ngYEAwXVTn4xPTK4LpAH5F6mjkPefLwuPb7r+oCBuMFjFlGyp3fUmxXIIDt5GhApI\niLTGDJCwZ2znJBzQBlvaCekkEedGq3kTrfpFs0T8DFxc6kMtb8v16JJlSVBXmdAm\nKYeduqsD+n+YjBqS2+08N1DBcpcYkHKi11yZWQ3scWoTsQQ=\n-----END CERTIFICATE-----",
"url": "http://example.com"
},
"queuePersistentContent": false,
"returnFilterMatches": false,
"rules": {
"usernameFilterRule": {
"action": "reject",
"enabled": false
},
"whitelistFilterRules": {
"disallowedPhrase": {
"action": "allow"
},
"disallowedWord": {
"action": "allow"
}
}
},
"storeContent": true,
"urlRules": [
{
"score": 90,
"action": "allow"
},
{
"action": "allow",
"score": 70
},
{
"score": 40,
"action": "allow"
}
],
"urlWhitelistTags": [
"tag1"
],
"userCheckOutMinutes": 10,
"userFlagUserScoreAdjustment": -3
},
"name": "Chat",
"notificationServers": [
{
"connectTimeout": 1000,
"id": 21,
"url": "http://chat.example.com/notification-handler",
"readTimeout": 2000
}
]
}
}
4. Update an Application
This API is used to update an application.
4.1. Request
PUT /system/application/{applicationId}
PUT /api/system/application/{applicationId}
[cols="3a,7a"]
applicationId [UUID] Required |
The Id of the Application to update. |
application [Object] Required |
The Application object. |
application.moderationConfiguration.alwaysKeepMatches [Boolean] Optional Defaults to |
A flag to enable all matches to be kept. This is useful if |
application.moderationConfiguration.approvalCheckOutMinutes [Integer] Optional defaults to |
The number of minutes content is checked out for in the Approval Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.approvalQueueSize [Integer] Optional defaults to |
The number of items checked out of the Approval Queue at a time for a moderator. |
application.moderationConfiguration.archiveConfiguration [Object] Optional |
The archive configuration object. |
application.moderationConfiguration.archiveConfiguration.enabled [Boolean] Optional defaults to |
Setting this value to true enables content deletion. This is false by default which means no content is deleted. If you’ll be sending in high volumes of content content deletion should be enabled. CleanSpeak is not designed to store content indefinitely. |
application.moderationConfiguration.archiveConfiguration.storeDuration [Integer] Required |
The number of units content should be kept. The unit value is determined by the |
application.moderationConfiguration.archiveConfiguration.storeOffsetDuration [Integer] Required |
The number of units to be added to the |
application.moderationConfiguration.archiveConfiguration.storeOffsetTimeUnit [String] Required |
The time unit for the offset. The possible values are:
|
application.moderationConfiguration.archiveConfiguration.storeTimeUnit [String] Required |
The time unit for the duration. The possible values are:
|
application.moderationConfiguration.contentAlertCheckOutMinutes [Integer] Optional defaults to |
The number of minutes content is checked out for in the Alert Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.contentAlertQueueSize [Integer] Optional defaults to |
The number of items checked out of the Alert Queue at a time for a moderator. |
application.moderationConfiguration.contentDeletable [Boolean] Optional defaults to |
Set to true if you want the ability to delete content. Enabling this feature allows a moderator to delete content which in turn sends an event of type |
application.moderationConfiguration.contentEditable [Boolean] Optional defaults to |
Set to true if you want the ability to edit content. Enabling this feature allows a moderator to edit content which in turn sends an event of type |
application.moderationConfiguration.contentFlagAlertType [String] Optional defaults to |
By default when content is flagged a
|
application.moderationConfiguration.contentFlagUserScoreAdjustment [Integer] Optional |
The amount the User score is adjusted when content is flagged. This value may be a positive or negative integer. |
application.moderationConfiguration.contentUserActionsEnabled [Boolean] Optional defaults to |
Set to true if you want user actions enabled. Enable this if you intend to allow moderators to action users, for example mute, ban, kick users. When disabled you will not be able to select this application as a target for a user action. |
application.moderationConfiguration.defaultActionIsQueueForApproval [Boolean] Optional defaults to |
Set to true if you want content to be queued for approval when no filter rules are hit. This includes content that matched a rule set to
For example, when this parameter is set to
This feature may be used way to ensure all content is reviewed in some fashion by a moderator. |
application.moderationConfiguration.dictionaryTags [Array<String>] Optional Available since 3.12.0 |
A list of dictionary tags to apply to moderation actions using this application. Tags will cause the filter to throw out matches that exactly match dictionary words with any of the tags in this list. |
application.moderationConfiguration.emailFilterMaxLength [Integer] Optional defaults to |
This parameter specifies the maximum length that a match can be in order to be considered an email. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.emailFilterSpacePenalty [Double] Optional defaults to |
This parameter specifies a penalty applied to the quality score if the match contains any spaces. For example, |
application.moderationConfiguration.emailOnAlerts [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.emailOnContentFlagged [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.emailOnUserFlagged [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.emailRules [Array<[quality-filter-rule]>] Optional |
The email filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default email rules:
|
application.moderationConfiguration.filterRules [Array] Optional |
The list of blacklist filter rules. |
application.moderationConfiguration.filterRules |
The blacklist tags for this filter rule. A filter rule may have one or more tags. |
application.moderationConfiguration.filterRules |
The match locales. If this parameter is omitted the filter rule will apply to all locales. See Locales. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.ignorableCharacters [String] Optional Defaults to |
Set this parameter to a list of characters the filter can skip over to find a match. Only the letters
Specifically, this feature will catch any blacklist word even if separated by a single character on this list. Example: |
application.moderationConfiguration.imageConfiguration [Object] Optional |
The image moderation configuration object. This parameter and all nested parameters are only valid when |
application.moderationConfiguration.imageConfiguration.commitDelay [Integer] Optional defaults to |
The number of seconds to wait before a moderation decision made from the enhanced image moderation queue is committed. |
application.moderationConfiguration.imageConfiguration.darkMode [Boolean] Optional defaults to |
Set this parameter to 'false' to disable the dark mode theme when viewing the enhanced image moderation queue. |
application.moderationConfiguration.imageConfiguration.defaultTimerDuration [Integer] Optional defaults to |
The number of seconds each image will be displayed in the queue before advancing to the next image when the queue is set to automatically advance without keyboard interaction. This value is the default value for this application for all moderators. A moderator may change this value for their own user preference. |
application.moderationConfiguration.imageConfiguration.speedModerationLayout [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.imageOnly [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.keepAdditionalContentPercent [Float] optional Defaults to |
A field that informs the filter how much content to keep beyond what is required. In situations where storage is impossible due to the database latency or load, this flag can dramatically reduce that load by cutting your unnecessary storage to zero. It is also useful to configure |
imageFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the nudity filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] optional Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable to the offensive filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] optional Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the scam filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the Weapons, Alcohol, and Drugs filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.mlFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable Machine Learning. |
application.moderationConfiguration.mlFilterConfiguration.locales [Array<String>] Required Available since |
The selected locales will be sent to the Machine Learning engine to evaluate content for the selected models. |
application.moderationConfiguration.mlFilterConfiguration. |
A flag to enable a particular Machine Learning model. In lieu of
|
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.videoFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the nudity filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] optional Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] optional Available since |
A flag to enable to the offensive filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] optional Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the scam filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable the Weapons, Alcohol, and Drugs filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] optional Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.noRuleUserScoreAdjustment [Integer] Optional |
This score adjustment is used when the content did not match any rules. This value may be a positive or negative integer. This may be used to increase a user score based upon good behavior, i.e. sending in content that did not contain any profanity. In this use case, you would provide a positive value for the adjustment. This adjustment will only affect the user score while it is below 0. Once the user score is raised to 0 this adjustment will be ignored. |
application.moderationConfiguration.persistent [Boolean] Optional defaults to |
Set this parameter to Persistent content is defined as content that is likely displayed indefinitely. A user can go and look at this content in the future by browsing a forum or performing a content search. Examples of persistent content include forum posts, profile pictures, etc. Persist content can be edited, deleted and pre-approved. Transient content is defined as content that is displayed for a short period of time and then is likely gone forever. Transient content is usually synonymous with chat. This content cannot be pre-approved, edited or deleted. Please note that both transient and persistent content in this context are persisted to the database. |
application.moderationConfiguration.phoneNumberFilterMaxLength [Integer] Optional defaults to |
This parameter specifies the maximum length that a match can be in order to be considered an phone number. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.phoneNumberFilterMinLength [Integer] Optional defaults to |
This parameter specifies the minimum length that a match can be in order to be considered a phone number. The default value covers most world wide phone number formats. |
application.moderationConfiguration.phoneNumberFilterSeparatorPenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any type of separator other than a dash or parenthesis. For example, |
application.moderationConfiguration.phoneNumberFilterSpacePenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.phoneNumberFilterWordPenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any words rather than digits. For example, |
application.moderationConfiguration.phoneNumberRules [Array<[quality-filter-rule]>] Optional |
The phone number filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default phone number rules:
|
applicaiton.moderationConfiguration.proxy.enabled [Boolean] optional Defaults to false Available since 3.29.0-RC.1 |
A flag to determine if this application can send proxy requests. If disabled, all other fields will be ignored and it will not be possible to use the |
applicaiton.moderationConfiguration.proxy.url [String] required Available since 3.29.0-RC.1 |
A destination url for the proxy to forward requests to. This is required if the proxy is enabled. |
applicaiton.moderationConfiguration.proxy.connectTimeout [Integer] Optional Defaults to 2000 Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the connection to be established with the proxy service. If a connection takes longer than this then the request will result in a 400 on the |
applicaiton.moderationConfiguration.proxy.readTimeout [Integer] Optional Defaults to 1000 Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the initial read of the request to begin. |
applicaiton.moderationConfiguration.proxy.headers [Object] Optional Available since 3.29.0-RC.1 |
An object of string keys to string values that will get encoded as headers on the proxy request. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationUsername [String] Optional Available since 3.29.0-RC.1 |
A username to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationPassword [String] Optional Available since 3.29.0-RC.1 |
A password to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.sslCertificate [String] Optional Available since 3.29.0-RC.1 |
A pem encoded ssl certificate to present as authorization on the proxy request. |
application.moderationConfiguration.queuePersistentContent [Boolean] Optional defaults to |
Set this to |
application.moderationConfiguration.replacementCharacter [String] Optional |
The character used during match replacement. If this value is set it will take precedence over |
application.moderationConfiguration.replacementString [String] Optional |
The string used during match replacement. If neither |
application.moderationConfiguration.returnFilterMatches [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.rules [Object] Optional |
The rules object. This object contains the Username Filter and Whitelist Filter rules. |
application.moderationConfiguration.storeContent [Boolean] Optional defaults to |
Set this parameter to |
application.moderationConfiguration.unicodeFilterRule.action [String] Optional defaults to |
The filter action for the unicode filter. Allowed options are The unicode filter rejects content if it contains prohibited unicode ranges. |
application.moderationConfiguration.unicodeFilterRule.data [String] Optional defaults to a provided config Available since 3.22.0 |
The unicode filter configuration represented as a dsl of ranges.
The ranges are described as a string of lines that may contain
* Empty lines
* Comments (a line starting with A special condition is that the final unicode range may be an open range meaning the second unicode point is omitted. Note: The ranges are inclusive so \u0000-\u000F includes the character \u000F Note 2: The provided config may change between versions. |
application.moderationConfiguration.urlFilterMaxLength [Integer] Optional defaults to |
This parameter specifies the maximum length that a match can be in order to be considered a url. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.urlFilterSpacePenalty [Double] Optional defaults to |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.urlRules [Array] Optional |
The url filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default url rules:
|
application.moderationConfiguration.urlRules [Array<[quality-filter-rule]>] Required |
The url filter rules. You must supply exactly three rules. Each rule must provide a
|
applicaiton.moderationConfiguration.urlWhitelistTags [Array<String>] Optional Defaults to empty array |
A list of URL whitelist tag names that you would like to include in this application. Any tags you add will include any whitelisted urls that are tagged with the same tag in the moderate workflow. Any whitelisted urls that are untagged are always used. |
application.moderationConfiguration.userCheckOutMinutes [Integer] Optional defaults to |
The number of minutes a Content User is checked out for before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.userFlagUserScoreAdjustment [Integer] Optional |
The amount the User score is adjusted when the user is flagged. This value may be a positive or negative integer. |
applicaiton.notificationServers [Array] Optional |
A list of webhooks to use on an application. (This will create new webhooks every time) Note: Notification Servers are now called Webhooks. (See Handling Events for more details) |
applicaiton.notificationServers |
The maximum amount of time a server will take to try to connect in milliseconds. |
application.notificationServers |
The maximum amount of time any read call will wait for data to flow. |
application.notificationServers |
A description of the webhook and its purpose. |
application.notificationServers |
A list of enabled event types for this webhook. If a value in this map is false, then it will not recieve events of that type. The possible values for
|
application.notificationServers |
A password to supply on the event request. |
application.notificationServers |
A username to supply on the event request. |
applicaiton.notificationServers |
An ssl client certificate to present on the event request. |
application.notificationServers |
The url of a server listening for events. |
{
"application": {
"moderationConfiguration": {
"alwaysKeepMatches": false,
"approvalCheckOutMinutes": 10,
"approvalQueueSize": 30,
"archiveConfiguration": {
"deleteOnly": true,
"enabled": false
},
"contentAlertCheckOutMinutes": 10,
"contentAlertQueueSize": 30,
"contentDeletable": true,
"contentEditable": true,
"contentFlagAlertType": "User",
"contentFlagUserScoreAdjustment": -3,
"contentUserActionsEnabled": true,
"ignorableCharacters": "qxz",
"imageConfiguration": {
"commitDelay": 45,
"darkMode": true,
"defaultTimerDuration": 2.0,
"speedModerationLayout": true
},
"imageFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"mlFilterConfiguration": {
"affinityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"compassionConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"curiosityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"enabled": false,
"locales": ["en"],
"identityAttackConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"incoherentConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 74
},
"medium": {
"action": "allow",
"score": 84
},
"high": {
"action": "allow",
"score": 94
},
"severe": {
"action": "allow",
"score": 99
}
}
},
"insultConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"nuanceConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"personalStoryConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"profanityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"reasoningConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"respectConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"severeToxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"spamConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 70
},
"medium": {
"action": "allow",
"score": 80
},
"high": {
"action": "allow",
"score": 90
},
"severe": {
"action": "allow",
"score": 97
}
}
},
"threatConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"toxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"unsubstantialConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 79
},
"medium": {
"action": "allow",
"score": 79
},
"high": {
"action": "allow",
"score": 89
},
"severe": {
"action": "allow",
"score": 99
}
}
}
},
"unicodeFilterRule": {
"action": "allow",
"data": "# Non-printable\n\\u0000-\\u0008\n\\u000B-\\u000C\n\\u000E-\\u001F\n\\u007F-\\u009F\n\n# Symbols, etc.\n\\u00A6-\\u00A8\n\\u00AA-\\u00AD\n\\u00AF-\\u00B0\n\\u00B7-\\u00B7\n\\u00BA-\\u00BB\n\\u02BB-\\u02FF\n\n# Combining marks\n\\u0300-\\u036F\n\\u0590-\\u05C0\n\n# Language sets\n\\u0700-\\u074F\n\\u0780-\\u085F\n\\u08A0-\\u1C7F\n\n# Language supplements and punctuation\n\\u1CC0-\\u1DB0\n\\u1DC0-\\u209F\n\n# More punctuation, symbols, shapes, etc.\n\\u20D0-\\u2599\n\\u2700-\\u2E7F\n\n# CJK punctuation\n\\u3000-\\u303F\n\n# Lisu and above\n\\uA4D0-\\uABFF\n\n# Everything after CJK and Hangul (mostly surrogates and private use)\n\\uD7B0-\\u{1F2FF}\n\n# Everything after Emoji\n\\u{1F700}-"
},
"videoFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"defaultActionIsQueueForApproval": false,
"dictionaryTags": [
"whitelistA"
],
"emailOnAlerts": false,
"emailOnContentFlagged": false,
"emailOnEscalations": false,
"emailOnUserFlagged": false,
"emailRules": [
{
"action": "allow",
"score": 90
},
{
"score": 70,
"action": "allow"
},
{
"score": 40,
"action": "allow"
}
],
"filterRules": [
{
"highAction": "authorOnly",
"highAlertType": "User",
"locales": [],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "reject",
"severeAlertType": "User",
"tags": [
"Vulgarity"
]
},
{
"highAction": "allow",
"highAlertType": "User",
"locales": [
"en"
],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "authorOnly",
"severeAlertType": "User",
"tags": [
"Bullying"
]
}
],
"imageOnly": false,
"keepAdditionalContentPercent": 1.0,
"persistent": true,
"phoneNumberRules": [
{
"action": "allow",
"score": 90,
"userScoreAdjustment": -10
},
{
"alertType": "Content",
"userScoreAdjustment": -5,
"score": 70,
"action": "allow"
},
{
"score": 40,
"alertType": "User",
"userScoreAdjustment": -1,
"action": "allow"
}
],
"proxy": {
"connectTimeout": 2000,
"enabled": true,
"headers": {
"Authorization": "APIKEY",
"X-SomeHeader": "HeaderValue"
},
"httpAuthenticationPassword": "pass",
"httpAuthenticationUsername": "user",
"readTimeout": 4000,
"sslCertificate": "-----BEGIN CERTIFICATE-----\nMIIDTzCCArigAwIBAgIJAMA7XJzxYkPUMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNV\nBAYTAlVTMQswCQYDVQQIEwJDTzEPMA0GA1UEBxMGZGVudmVyMRIwEAYDVQQKEwlp\nbnZlcnNvZnQxEjAQBgNVBAMTCWxvY2FsaG9zdDEkMCIGCSqGSIb3DQEJARYVc3Vw\ncG9ydEBpbnZlcnNvZnQuY29tMB4XDTE0MDQxMDE5NTA1MFoXDTE0MDUxMDE5NTA1\nMFoweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNPMQ8wDQYDVQQHEwZkZW52ZXIx\nEjAQBgNVBAoTCWludmVyc29mdDESMBAGA1UEAxMJbG9jYWxob3N0MSQwIgYJKoZI\nhvcNAQkBFhVzdXBwb3J0QGludmVyc29mdC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD\ngY0AMIGJAoGBAMZ0AasrmL41BOGhUOr1WVOUah5styok4NjXMRCyJWc7VEyt2lRW\nyaAQeIsR1wgmLJbo7YSC8gY4E9xfiIUqTwHK5bvDuS1T2jwsrIf0jaxjcB+Janol\nvWeVgIUTv5xuzWTWtFEjxwHoum/Ur/T8bigmPhiXwCMJTuP25bSB9Ov5AgMBAAGj\ngd4wgdswHQYDVR0OBBYEFFOEqiRBZtc1vgnC8Zi5QEa6rTDdMIGrBgNVHSMEgaMw\ngaCAFFOEqiRBZtc1vgnC8Zi5QEa6rTDdoX2kezB5MQswCQYDVQQGEwJVUzELMAkG\nA1UECBMCQ08xDzANBgNVBAcTBmRlbnZlcjESMBAGA1UEChMJaW52ZXJzb2Z0MRIw\nEAYDVQQDEwlsb2NhbGhvc3QxJDAiBgkqhkiG9w0BCQEWFXN1cHBvcnRAaW52ZXJz\nb2Z0LmNvbYIJAMA7XJzxYkPUMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\ngYEAwXVTn4xPTK4LpAH5F6mjkPefLwuPb7r+oCBuMFjFlGyp3fUmxXIIDt5GhApI\niLTGDJCwZ2znJBzQBlvaCekkEedGq3kTrfpFs0T8DFxc6kMtb8v16JJlSVBXmdAm\nKYeduqsD+n+YjBqS2+08N1DBcpcYkHKi11yZWQ3scWoTsQQ=\n-----END CERTIFICATE-----",
"url": "http://example.com"
},
"queuePersistentContent": false,
"returnFilterMatches": false,
"rules": {
"usernameFilterRule": {
"action": "reject",
"enabled": false
},
"whitelistFilterRules": {
"disallowedPhrase": {
"action": "allow"
},
"disallowedWord": {
"action": "allow"
}
}
},
"storeContent": true,
"urlRules": [
{
"score": 90,
"action": "allow"
},
{
"action": "allow",
"score": 70
},
{
"score": 40,
"action": "allow"
}
],
"urlWhitelistTags": [
"tag1"
],
"userCheckOutMinutes": 10,
"userFlagUserScoreAdjustment": -3
},
"name": "Chat",
"notificationServers": [
{
"connectTimeout": 1000,
"id": 21,
"url": "http://chat.example.com/notification-handler",
"readTimeout": 2000
}
]
}
}
4.2. Response
Code | Description |
---|---|
200 |
The request was successful. The response will contain a JSON body. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid |
402 |
Your license has expired. The response will be empty. Contact sales@cleanspeak.com for assistance. |
404 |
The object you are trying to update doesn’t exist. The response will be empty. |
500 |
There was an internal error. A stack trace is provided and logged in the CleanSpeak log files. The response will be empty. |
application [Object] |
The Application object. |
application.id [UUID] |
The Id of the Application. |
application.moderationConfiguration.alwaysKeepMatches [Boolean] Optional Defaults to |
A flag to enable all matches to be kept. This is useful if |
application.moderationConfiguration.approvalCheckOutMinutes [Integer] |
The number of minutes content is checked out for in the Approval Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.approvalQueueSize [Integer] |
The number of items checked out of the Approval Queue at a time for a moderator. |
application.moderationConfiguration.archiveConfiguration [Object] |
The archive configuration object. |
application.moderationConfiguration.archiveConfiguration.enabled [Boolean] |
Setting this value to true enables content deletion. This is false by default which means no content is deleted. If you’ll be sending in high volumes of content content deletion should be enabled. CleanSpeak is not designed to store content indefinitely. |
application.moderationConfiguration.archiveConfiguration.storeDuration [Integer] |
The number of units content should be kept. The unit value is determined by the |
application.moderationConfiguration.archiveConfiguration.storeOffsetDuration [Integer] |
The number of units to be added to the |
application.moderationConfiguration.archiveConfiguration.storeOffsetTimeUnit [String] |
The time unit for the offset. The possible values are:
|
application.moderationConfiguration.archiveConfiguration.storeTimeUnit [String] |
The time unit for the duration. The possible values are:
|
application.moderationConfiguration.contentAlertCheckOutMinutes [Integer] |
The number of minutes content is checked out for in the Alert Queue before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.contentAlertQueueSize [Integer] |
The number of items checked out of the Alert Queue at a time for a moderator. |
application.moderationConfiguration.contentDeletable [Boolean] |
Set to true if you want the ability to delete content. Enabling this feature allows a moderator to delete content which in turn sends an event of type |
application.moderationConfiguration.contentEditable [Boolean] |
Set to true if you want the ability to edit content. Enabling this feature allows a moderator to edit content which in turn sends an event of type |
application.moderationConfiguration.contentFlagAlertType [String] |
By default when content is flagged a
|
application.moderationConfiguration.contentFlagUserScoreAdjustment [Integer] |
The amount the User score is adjusted when content is flagged. This value may be a positive or negative integer. |
application.moderationConfiguration.contentUserActionsEnabled [Boolean] |
Set to true if you want user actions enabled. Enable this if you intend to allow moderators to action users, for example mute, ban, kick users. When disabled you will not be able to select this application as a target for a user action. |
application.moderationConfiguration.defaultActionIsQueueForApproval [Boolean] |
Set to true if you want content to be queued for approval when no filter rules are hit. This includes content that matched a rule set to
For example, when this parameter is set to
This feature may be used way to ensure all content is reviewed in some fashion by a moderator. |
application.moderationConfiguration.dictionaryTags [Array<String>] Available since 3.12.0 |
A list of dictionary tags to apply to moderation actions using this application. Tags will cause the filter to throw out matches that exactly match dictionary words with any of the tags in this list. |
application.moderationConfiguration.emailFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered an email. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.emailFilterSpacePenalty [Double] |
This parameter specifies a penalty applied to the quality score if the match contains any spaces. For example, |
application.moderationConfiguration.emailOnAlerts [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailOnContentFlagged [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailOnUserFlagged [Boolean] |
Set this parameter to |
application.moderationConfiguration.emailRules [quality-filter-rule]>">[Array] |
The email filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default email rules:
|
application.moderationConfiguration.filterRules [Array] |
The list of blacklist filter rules. |
application.moderationConfiguration.filterRules |
The blacklist tags for this filter rule. A filter rule may have one or more tags. |
application.moderationConfiguration.filterRules |
The match locales. If this parameter is omitted the filter rule will apply to all locales. See Locales. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.filterRules |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
application.moderationConfiguration.filterRules |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
application.moderationConfiguration.filterRules |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |
application.moderationConfiguration.ignorableCharacters [String] Available since 3.22.0 |
The list list of characters the filter can skip over to find a match.
Specifically, this feature will catch any blacklist word even if separated by a single character on this list. Example: |
application.moderationConfiguration.imageConfiguration [Object] |
The image moderation configuration object. This parameter and all nested parameters are only valid when |
application.moderationConfiguration.imageConfiguration.commitDelay [Integer] |
The number of seconds to wait before a moderation decision made from the enhanced image moderation queue is committed. |
application.moderationConfiguration.imageConfiguration.darkMode [Boolean] |
Set this parameter to 'false' to disable the dark mode theme when viewing the enhanced image moderation queue. |
application.moderationConfiguration.imageConfiguration.defaultTimerDuration [Integer] |
The number of seconds each image will be displayed in the queue before advancing to the next image when the queue is set to automatically advance without keyboard interaction. This value is the default value for this application for all moderators. A moderator may change this value for their own user preference. |
application.moderationConfiguration.imageConfiguration.speedModerationLayout [Boolean] |
Set this parameter to |
application.moderationConfiguration.imageOnly [Boolean] |
Set this parameter to |
application.moderationConfiguration.keepAdditionalContentPercent [Float] Available since |
A field that informs the filter how much content to keep beyond what is required. In situations where storage is impossible due to the database latency or load, this flag can dramatically reduce that load by cutting your unnecessary storage to zero. It is also useful to configure |
imageFilterConfiguration.enabled [Boolean] Available since |
A flag to enable the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] Available since |
A flag to enable the nudity filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] Available since |
A flag to enable to the offensive filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] Available since |
A flag to enable the scam filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] Available since |
A flag to enable the Weapons, Alcohol, and Drugs filter in the image filter |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.imageFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.mlFilterConfiguration.enabled [Boolean] optional Defaults to |
A flag to enable Machine Learning. |
application.moderationConfiguration.mlFilterConfiguration.locales [Array<String>] Available since |
The selected locales will be sent to the Machine Learning engine to evaluate content for the selected models. |
application.moderationConfiguration.mlFilterConfiguration. |
A flag to enable a particular Machine Learning model.
|
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.mlFilterConfiguration. |
See the |
application.moderationConfiguration.videoFilterConfiguration.enabled [Boolean] Available since |
A flag to enable the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.enabled [Boolean] Available since |
A flag to enable the nudity filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.partialNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.ignoredPartialNudityTags [Array<String>] Available since |
A list of tags to ignore if the filter finds this specific kind of partial nudity. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterNudityConfiguration.rawNudityRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.enabled [Boolean] Available since |
A flag to enable to the offensive filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.offensiveRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterOffensiveConfiguration.ignoredLabels [Array<String>] Available since |
A list of labels to ignore if a matching offensive label is found in the content. |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.enabled [Boolean] Available since |
A flag to enable the scam filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterScamConfiguration.scamRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.enabled [Boolean] Available since |
A flag to enable the Weapons, Alcohol, and Drugs filter in the video filter |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.alcoholRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.drugRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.videoFilterConfiguration.mediaFilterWADConfiguration.weaponRules [Array<[quality-filter-rule]>] Available since |
A list of three Quality Filter Rules. Each rule is a set of things to do in the event the filter finds a match with a score greater than that in the rule. (It will pick the highest one) |
application.moderationConfiguration.noRuleUserScoreAdjustment [Integer] |
This score adjustment is used when the content did not match any rules. This value may be a positive or negative integer. This may be used to increase a user score based upon good behavior, i.e. sending in content that did not contain any profanity. In this use case, you would provide a positive value for the adjustment. This adjustment will only affect the user score while it is below 0. Once the user score is raised to 0 this adjustment will be ignored. |
application.moderationConfiguration.persistent [Boolean] |
Set this parameter to Persistent content is defined as content that is likely displayed indefinitely. A user can go and look at this content in the future by browsing a forum or performing a content search. Examples of persistent content include forum posts, profile pictures, etc. Persist content can be edited, deleted and pre-approved. Transient content is defined as content that is displayed for a short period of time and then is likely gone forever. Transient content is usually synonymous with chat. This content cannot be pre-approved, edited or deleted. Please note that both transient and persistent content in this context are persisted to the database. |
application.moderationConfiguration.phoneNumberFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered an phone number. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.phoneNumberFilterMinLength [Integer] |
This parameter specifies the minimum length that a match can be in order to be considered a phone number. The default value covers most world wide phone number formats. |
application.moderationConfiguration.phoneNumberFilterSeparatorPenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any type of separator other than a dash or parenthesis. For example, |
application.moderationConfiguration.phoneNumberFilterSpacePenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.phoneNumberFilterWordPenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains any words rather than digits. For example, |
application.moderationConfiguration.phoneNumberRules [Array<[quality-filter-rule]>] |
The phone number filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default phone number rules:
|
applicaiton.moderationConfiguration.proxy.enabled [Boolean] |
A flag to determine if this application can send proxy requests. If disabled, all other fields will be ignored and it will not be possible to use the |
applicaiton.moderationConfiguration.proxy.url [String] Available since 3.29.0-RC.1 |
A destination url for the proxy to forward requests to. This is required if the proxy is enabled. |
applicaiton.moderationConfiguration.proxy.connectTimeout [Integer] Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the connection to be established with the proxy service. If a connection takes longer than this then the request will result in a 400 on the |
applicaiton.moderationConfiguration.proxy.readTimeout [Integer] Optional Available since 3.29.0-RC.1 |
A value that determines the maximum amount of time (in milliseconds) that CleanSpeak will wait for the initial read of the request to begin. |
applicaiton.moderationConfiguration.proxy.headers [Object] Available since 3.29.0-RC.1 |
An object of string keys to string values that will get encoded as headers on the proxy request. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationUsername [String] Available since 3.29.0-RC.1 |
A username to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.httpAuthenticationPassword [String] Available since 3.29.0-RC.1 |
A password to supply on the proxy request. Set this if you require http basic authentication. |
applicaiton.moderationConfiguration.proxy.sslCertificate [String] Available since 3.29.0-RC.1 |
A pem encoded ssl certificate to present as authorization on the proxy request. |
application.moderationConfiguration.queuePersistentContent [Boolean] Available since 3.29.0-RC.1 |
Set this to |
application.moderationConfiguration.replacementCharacter [String] |
The character used during match replacement. If this value is set it will take precedence over |
application.moderationConfiguration.replacementString [String] |
The string used during match replacement. If neither |
application.moderationConfiguration.returnFilterMatches [Boolean] Available since 3.9.1 |
This parameter specifies if filter matches will be returned in the Moderate Content API response. |
application.moderationConfiguration.rules [Object] |
The rules object. This object contains the Username Filter and Whitelist Filter rules. |
application.moderationConfiguration.storeContent [Boolean] |
Set this parameter to |
application.moderationConfiguration.unicodeFilterRule.action [String] Available since 3.22.0 |
The filter action for the unicode filter. Allowed options are The unicode filter rejects content if it contains prohibited unicode ranges. |
application.moderationConfiguration.unicodeFilterRule.data [String] Available since 3.22.0 |
The unicode filter configuration represented as a dsl of ranges.
The ranges are described as a string of lines that may contain
* Empty lines
* Comments (a line starting with A special condition is that the final unicode range may be an open range meaning the second unicode point is omitted. Note: The ranges are inclusive so \u0000-\u000F includes the character \u000F Note 2: The provided config may change between versions. |
application.moderationConfiguration.urlFilterMaxLength [Integer] |
This parameter specifies the maximum length that a match can be in order to be considered a url. If the match length is greater than the maximum match length the match will be ignored. |
application.moderationConfiguration.urlFilterSpacePenalty [Double] |
This parameter specifies a penalty that is applied to the quality score for a match if it contains one or more spaces. For example, |
application.moderationConfiguration.urlRules [Array<[quality-filter-rule]>] |
The url filter rules. You must supply exactly three rules. Each rule must provide a For example, the following are the default url rules:
|
applicaiton.moderationConfiguration.urlWhitelistTags [Array<String>] Optional Defaults to empty array |
A list of URL whitelist tag names that this application will use during moderation. The tags will include any whitelisted urls that are tagged with the same tag. Any whitelisted urls that are untagged are always used. |
application.moderationConfiguration.userCheckOutMinutes [Integer] |
The number of minutes a Content User is checked out for before it is automatically released to be eligible for another moderator to check out. |
application.moderationConfiguration.userFlagUserScoreAdjustment [Integer] |
The amount the User score is adjusted when the user is flagged. This value may be a positive or negative integer. |
applicaiton.notificationServers [Array] Optional |
A list of webhooks to use on an application. (This will create new webhooks every time) Note: Notification Servers are now called Webhooks. (See Handling Webhook Events for more details) |
applicaiton.notificationServers |
The maximum amount of time a server will take to try to connect in milliseconds. |
application.notificationServers |
The maximum amount of time any read call will wait for data to flow. |
application.notificationServers |
A description of the webhook and its purpose. |
application.notificationServers |
A list of enabled event types for this webhook. If a value in this map is false, then it will not recieve events of that type. The possible values for
|
application.notificationServers |
A password to supply on the event request. |
application.notificationServers |
A username to supply on the event request. |
applicaiton.notificationServers |
An ssl client certificate to present on the event request. |
application.notificationServers |
The url of a server listening for events. |
{
"application": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"moderationConfiguration": {
"alwaysKeepMatches": false,
"approvalCheckOutMinutes": 10,
"approvalQueueSize": 30,
"archiveConfiguration": {
"deleteOnly": true,
"enabled": false
},
"contentAlertCheckOutMinutes": 10,
"contentAlertQueueSize": 30,
"contentDeletable": true,
"contentEditable": true,
"contentFlagAlertType": "User",
"contentFlagUserScoreAdjustment": -3,
"contentUserActionsEnabled": true,
"ignorableCharacters": "qxz",
"imageConfiguration": {
"commitDelay": 45,
"darkMode": true,
"defaultTimerDuration": 2.0,
"speedModerationLayout": true
},
"imageFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"mlFilterConfiguration": {
"affinityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"compassionConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"curiosityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"enabled": false,
"locales": ["en"],
"identityAttackConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 35
},
"medium": {
"action": "allow",
"score": 45
},
"high": {
"action": "allow",
"score": 55
},
"severe": {
"action": "allow",
"score": 61
}
}
},
"incoherentConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 74
},
"medium": {
"action": "allow",
"score": 84
},
"high": {
"action": "allow",
"score": 94
},
"severe": {
"action": "allow",
"score": 99
}
}
},
"insultConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 50
},
"medium": {
"action": "allow",
"score": 60
},
"high": {
"action": "allow",
"score": 70
},
"severe": {
"action": "allow",
"score": 80
}
}
},
"nuanceConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"personalStoryConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"profanityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 30
},
"medium": {
"action": "allow",
"score": 40
},
"high": {
"action": "allow",
"score": 50
},
"severe": {
"action": "allow",
"score": 60
}
}
},
"reasoningConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"respectConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"severeToxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 5
},
"medium": {
"action": "allow",
"score": 10
},
"high": {
"action": "allow",
"score": 20
},
"severe": {
"action": "allow",
"score": 25
}
}
},
"spamConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 70
},
"medium": {
"action": "allow",
"score": 80
},
"high": {
"action": "allow",
"score": 90
},
"severe": {
"action": "allow",
"score": 97
}
}
},
"threatConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 40
},
"medium": {
"action": "allow",
"score": 50
},
"high": {
"action": "allow",
"score": 60
},
"severe": {
"action": "allow",
"score": 70
}
}
},
"toxicityConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 50
},
"medium": {
"action": "allow",
"score": 60
},
"high": {
"action": "allow",
"score": 70
},
"severe": {
"action": "allow",
"score": 79
}
}
},
"unsubstantialConfig": {
"enabled": false,
"rules": {
"mild": {
"action": "allow",
"score": 79
},
"medium": {
"action": "allow",
"score": 79
},
"high": {
"action": "allow",
"score": 89
},
"severe": {
"action": "allow",
"score": 99
}
}
}
},
"unicodeFilterRule": {
"action": "allow"
},
"videoFilterConfiguration": {
"enabled": true,
"mediaFilterNudityConfiguration": {
"enabled": true,
"ignoredPartialNudityTags": [],
"partialNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"rawNudityRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterOffensiveConfiguration": {
"enabled": true,
"ignoredLabels": [],
"offensiveRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterScamConfiguration": {
"enabled": true,
"scamRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
},
"mediaFilterWADConfiguration": {
"alcoholRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"drugRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
],
"enabled": true,
"weaponRules": [
{
"action": "reject",
"score": 90,
"userScoreAdjustment": -10
},
{
"action": "queuedForApproval",
"score": 70,
"userScoreAdjustment": -7
},
{
"action": "allow",
"alertType": "User",
"score": 40,
"userScoreAdjustment": -1
}
]
}
},
"defaultActionIsQueueForApproval": false,
"dictionaryTags": [
"whitelistA"
],
"emailOnAlerts": false,
"emailOnContentFlagged": false,
"emailOnEscalations": false,
"emailOnUserFlagged": false,
"emailRules": [
{
"action": "allow",
"score": 90
},
{
"score": 70,
"action": "allow"
},
{
"score": 40,
"action": "allow"
}
],
"filterRules": [
{
"highAction": "authorOnly",
"highAlertType": "User",
"locales": [],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "reject",
"severeAlertType": "User",
"tags": [
"Vulgarity"
]
},
{
"highAction": "allow",
"highAlertType": "User",
"locales": [
"en"
],
"mediumAction": "allow",
"mildAction": "allow",
"severeAction": "authorOnly",
"severeAlertType": "User",
"tags": [
"Bullying"
]
}
],
"imageOnly": false,
"keepAdditionalContentPercent": 1.0,
"persistent": true,
"phoneNumberRules": [
{
"action": "allow",
"score": 90,
"userScoreAdjustment": -10
},
{
"alertType": "Content",
"userScoreAdjustment": -5,
"score": 70,
"action": "allow"
},
{
"score": 40,
"alertType": "User",
"userScoreAdjustment": -1,
"action": "allow"
}
],
"proxy": {
"connectTimeout": 2000,
"enabled": true,
"headers": {
"Authorization": "APIKEY",
"X-SomeHeader": "HeaderValue"
},
"httpAuthenticationPassword": "pass",
"httpAuthenticationUsername": "user",
"readTimeout": 4000,
"sslCertificate": "-----BEGIN CERTIFICATE-----\nMIIDTzCCArigAwIBAgIJAMA7XJzxYkPUMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNV\nBAYTAlVTMQswCQYDVQQIEwJDTzEPMA0GA1UEBxMGZGVudmVyMRIwEAYDVQQKEwlp\nbnZlcnNvZnQxEjAQBgNVBAMTCWxvY2FsaG9zdDEkMCIGCSqGSIb3DQEJARYVc3Vw\ncG9ydEBpbnZlcnNvZnQuY29tMB4XDTE0MDQxMDE5NTA1MFoXDTE0MDUxMDE5NTA1\nMFoweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNPMQ8wDQYDVQQHEwZkZW52ZXIx\nEjAQBgNVBAoTCWludmVyc29mdDESMBAGA1UEAxMJbG9jYWxob3N0MSQwIgYJKoZI\nhvcNAQkBFhVzdXBwb3J0QGludmVyc29mdC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD\ngY0AMIGJAoGBAMZ0AasrmL41BOGhUOr1WVOUah5styok4NjXMRCyJWc7VEyt2lRW\nyaAQeIsR1wgmLJbo7YSC8gY4E9xfiIUqTwHK5bvDuS1T2jwsrIf0jaxjcB+Janol\nvWeVgIUTv5xuzWTWtFEjxwHoum/Ur/T8bigmPhiXwCMJTuP25bSB9Ov5AgMBAAGj\ngd4wgdswHQYDVR0OBBYEFFOEqiRBZtc1vgnC8Zi5QEa6rTDdMIGrBgNVHSMEgaMw\ngaCAFFOEqiRBZtc1vgnC8Zi5QEa6rTDdoX2kezB5MQswCQYDVQQGEwJVUzELMAkG\nA1UECBMCQ08xDzANBgNVBAcTBmRlbnZlcjESMBAGA1UEChMJaW52ZXJzb2Z0MRIw\nEAYDVQQDEwlsb2NhbGhvc3QxJDAiBgkqhkiG9w0BCQEWFXN1cHBvcnRAaW52ZXJz\nb2Z0LmNvbYIJAMA7XJzxYkPUMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\ngYEAwXVTn4xPTK4LpAH5F6mjkPefLwuPb7r+oCBuMFjFlGyp3fUmxXIIDt5GhApI\niLTGDJCwZ2znJBzQBlvaCekkEedGq3kTrfpFs0T8DFxc6kMtb8v16JJlSVBXmdAm\nKYeduqsD+n+YjBqS2+08N1DBcpcYkHKi11yZWQ3scWoTsQQ=\n-----END CERTIFICATE-----",
"url": "http://example.com"
},
"queuePersistentContent": false,
"returnFilterMatches": false,
"rules": {
"usernameFilterRule": {
"action": "reject",
"enabled": false
},
"whitelistFilterRules": {
"disallowedPhrase": {
"action": "allow"
},
"disallowedWord": {
"action": "allow"
}
}
},
"storeContent": true,
"urlRules": [
{
"score": 90,
"action": "allow"
},
{
"action": "allow",
"score": 70
},
{
"score": 40,
"action": "allow"
}
],
"urlWhitelistTags": [
"tag1"
],
"userCheckOutMinutes": 10,
"userFlagUserScoreAdjustment": -3
},
"name": "Chat",
"notificationServers": [
{
"connectTimeout": 1000,
"id": 21,
"url": "http://chat.example.com/notification-handler",
"readTimeout": 2000
}
]
}
}
5. Delete an Application
This API is used to delete a CleanSpeak application.
Warning Deleting an application from CleanSpeak removes all of the configuration, content, history, users and any other data associated with that application. This operation is permanent and cannot be undone. If you have a large amount of content associated with this application the operation may take a considerable amount of time to complete. |
5.1. Request
DELETE /system/application/{applicationId}
DELETE /api/system/application/{applicationId}
applicationId [UUID] Required |
The Id of the Application to delete. |
5.2. Response
Code | Description |
---|---|
200 |
The request was successful. The response will be empty. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid |
402 |
Your license has expired. The response will be empty. Contact sales@cleanspeak.com for assistance. |
404 |
The object you are trying to delete doesn’t exist. The response will be empty. |
500 |
There was an internal error. A stack trace is provided and logged in the CleanSpeak log files. The response will be empty. |
6. Quality Filter Rule
A rule to apply if a match exceeds the given score threshold.
action [String] Required |
The action to be taken when this filter rule is applied. The possible values are:
The filter action must be equal to or less than the action for the next highest rule. For example if the high quality rule is set to |
alertType [String] Optional |
The type of alert to be generated when this filter rule is applied. Omit this parameter to indicate no alert should be generated. The possible values are:
|
score [Integer] Required |
The quality score threshold for this rule. If a match score is greater than or equal to this number and less then the next highest filter rule score the rule will be applied. |
userScoreAdjustment [Integer] Optional |
The amount the User score is adjusted when this filter rule is applied. This value may be a positive or negative integer. |