tools.ozone.moderation.scheduleAction
Schedule a moderation action to be executed at a future time
Details · procedure
| Kind | procedure |
|---|---|
| Authority | moderation.ozone.tools |
| Indexed |
Checks
Validunlimited-stringdefs.failedScheduling.properties.errorNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.failedScheduling.properties.errorCodeNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.takedown.properties.commentNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.takedown.properties.emailContentNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.takedown.properties.emailSubjectNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.takedown.properties.policies.itemsNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.takedown.properties.severityLevelNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"failedScheduling": {
"properties": {
"error": {
"type": "string"
},
"errorCode": {
"type": "string"
},
"subject": {
"format": "did",
"type": "string"
}
},
"required": [
"subject",
"error"
],
"type": "object"
},
"main": {
"description": "Schedule a moderation action to be executed at a future time",
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"action": {
"refs": [
"#takedown"
],
"type": "union"
},
"createdBy": {
"format": "did",
"type": "string"
},
"modTool": {
"description": "This will be propagated to the moderation event when it is applied",
"ref": "tools.ozone.moderation.defs#modTool",
"type": "ref"
},
"scheduling": {
"ref": "#schedulingConfig",
"type": "ref"
},
"subjects": {
"description": "Array of DID subjects to schedule the action for",
"items": {
"format": "did",
"type": "string"
},
"maxLength": 100,
"type": "array"
}
},
"required": [
"action",
"subjects",
"createdBy",
"scheduling"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"ref": "#scheduledActionResults",
"type": "ref"
}
},
"type": "procedure"
},
"scheduledActionResults": {
"properties": {
"failed": {
"items": {
"ref": "#failedScheduling",
"type": "ref"
},
"type": "array"
},
"succeeded": {
"items": {
"format": "did",
"type": "string"
},
"type": "array"
}
},
"required": [
"succeeded",
"failed"
],
"type": "object"
},
"schedulingConfig": {
"description": "Configuration for when the action should be executed",
"properties": {
"executeAfter": {
"description": "Earliest time to execute the action (for randomized scheduling)",
"format": "datetime",
"type": "string"
},
"executeAt": {
"description": "Exact time to execute the action",
"format": "datetime",
"type": "string"
},
"executeUntil": {
"description": "Latest time to execute the action (for randomized scheduling)",
"format": "datetime",
"type": "string"
}
},
"type": "object"
},
"takedown": {
"description": "Schedule a takedown action",
"properties": {
"acknowledgeAccountSubjects": {
"description": "If true, all other reports on content authored by this account will be resolved (acknowledged).",
"type": "boolean"
},
"comment": {
"type": "string"
},
"durationInHours": {
"description": "Indicates how long the takedown should be in effect before automatically expiring.",
"type": "integer"
},
"emailContent": {
"description": "Email content to be sent to the user upon takedown.",
"type": "string"
},
"emailSubject": {
"description": "Subject of the email to be sent to the user upon takedown.",
"type": "string"
},
"policies": {
"description": "Names/Keywords of the policies that drove the decision.",
"items": {
"type": "string"
},
"maxLength": 5,
"type": "array"
},
"severityLevel": {
"description": "Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).",
"type": "string"
},
"strikeCount": {
"description": "Number of strikes to assign to the user when takedown is applied.",
"type": "integer"
},
"strikeExpiresAt": {
"description": "When the strike should expire. If not provided, the strike never expires.",
"format": "datetime",
"type": "string"
}
},
"type": "object"
}
},
"id": "tools.ozone.moderation.scheduleAction",
"lexicon": 1
}