Skip to content

tools.ozone.moderation.scheduleAction

Lexicon Version: 1

Type: procedure

Schedule a moderation action to be executed at a future time

Parameters: (None defined)

Input:

  • Encoding: application/json
  • Schema:

Schema Type: object

NameTypeReq’dDescriptionConstraints
actionUnion of:
  #takedown
subjectsArray of stringArray of DID subjects to schedule the action forMax Items: 100
createdBystringFormat: did
scheduling#schedulingConfig
modTooltools.ozone.moderation.defs#modToolThis will be propagated to the moderation event when it is applied
Output:
  • Encoding: application/json
  • Schema:

Schema Type: #scheduledActionResults


Type: object

Schedule a takedown action

Properties:

NameTypeReq’dDescriptionConstraints
commentstring
durationInHoursintegerIndicates how long the takedown should be in effect before automatically expiring.
acknowledgeAccountSubjectsbooleanIf true, all other reports on content authored by this account will be resolved (acknowledged).
policiesArray of stringNames/Keywords of the policies that drove the decision.Max Items: 5

Type: object

Configuration for when the action should be executed

Properties:

NameTypeReq’dDescriptionConstraints
executeAtstringExact time to execute the actionFormat: datetime
executeAfterstringEarliest time to execute the action (for randomized scheduling)Format: datetime
executeUntilstringLatest time to execute the action (for randomized scheduling)Format: datetime

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
succeededArray of string
failedArray of #failedScheduling

Type: object

Properties:

NameTypeReq’dDescriptionConstraints
subjectstringFormat: did
errorstring
errorCodestring

{
"lexicon": 1,
"id": "tools.ozone.moderation.scheduleAction",
"defs": {
"main": {
"type": "procedure",
"description": "Schedule a moderation action to be executed at a future time",
"input": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"action",
"subjects",
"createdBy",
"scheduling"
],
"properties": {
"action": {
"type": "union",
"refs": [
"#takedown"
]
},
"subjects": {
"type": "array",
"maxLength": 100,
"items": {
"type": "string",
"format": "did"
},
"description": "Array of DID subjects to schedule the action for"
},
"createdBy": {
"type": "string",
"format": "did"
},
"scheduling": {
"type": "ref",
"ref": "#schedulingConfig"
},
"modTool": {
"type": "ref",
"ref": "tools.ozone.moderation.defs#modTool",
"description": "This will be propagated to the moderation event when it is applied"
}
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "ref",
"ref": "#scheduledActionResults"
}
}
},
"takedown": {
"type": "object",
"description": "Schedule a takedown action",
"properties": {
"comment": {
"type": "string"
},
"durationInHours": {
"type": "integer",
"description": "Indicates how long the takedown should be in effect before automatically expiring."
},
"acknowledgeAccountSubjects": {
"type": "boolean",
"description": "If true, all other reports on content authored by this account will be resolved (acknowledged)."
},
"policies": {
"type": "array",
"maxLength": 5,
"items": {
"type": "string"
},
"description": "Names/Keywords of the policies that drove the decision."
}
}
},
"schedulingConfig": {
"type": "object",
"description": "Configuration for when the action should be executed",
"properties": {
"executeAt": {
"type": "string",
"format": "datetime",
"description": "Exact time to execute the action"
},
"executeAfter": {
"type": "string",
"format": "datetime",
"description": "Earliest time to execute the action (for randomized scheduling)"
},
"executeUntil": {
"type": "string",
"format": "datetime",
"description": "Latest time to execute the action (for randomized scheduling)"
}
}
},
"scheduledActionResults": {
"type": "object",
"required": [
"succeeded",
"failed"
],
"properties": {
"succeeded": {
"type": "array",
"items": {
"type": "string",
"format": "did"
}
},
"failed": {
"type": "array",
"items": {
"type": "ref",
"ref": "#failedScheduling"
}
}
}
},
"failedScheduling": {
"type": "object",
"required": [
"subject",
"error"
],
"properties": {
"subject": {
"type": "string",
"format": "did"
},
"error": {
"type": "string"
},
"errorCode": {
"type": "string"
}
}
}
}
}