tools.ozone.moderation.scheduleAction

ozone-lexicons.bsky.social

Documentation

Schedule a moderation action to be executed at a future time

main procedure

Schedule a moderation action to be executed at a future time

Input

Encodingapplication/json
action union Required

No description available.

createdBy stringdid Required

A decentralized identifier (DID).

subjects array Required

Array of DID subjects to schedule the action for

maxLength: 100 items

Output

Encodingapplication/json
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "type": "procedure",
  "input": {
    "schema": {
      "type": "object",
      "required": [
        "action",
        "subjects",
        "createdBy",
        "scheduling"
      ],
      "properties": {
        "action": {
          "refs": [
            "#takedown"
          ],
          "type": "union"
        },
        "modTool": {
          "ref": "tools.ozone.moderation.defs#modTool",
          "type": "ref",
          "description": "This will be propagated to the moderation event when it is applied"
        },
        "subjects": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "did"
          },
          "maxLength": 100,
          "description": "Array of DID subjects to schedule the action for"
        },
        "createdBy": {
          "type": "string",
          "format": "did"
        },
        "scheduling": {
          "ref": "#schedulingConfig",
          "type": "ref"
        }
      }
    },
    "encoding": "application/json"
  },
  "output": {
    "schema": {
      "ref": "#scheduledActionResults",
      "type": "ref"
    },
    "encoding": "application/json"
  },
  "description": "Schedule a moderation action to be executed at a future time"
}
failedScheduling object

No description available.

Properties

error string Required

No description available.

errorCode string Optional

No description available.

subject string did Required

A decentralized identifier (DID).

View raw schema
{
  "type": "object",
  "required": [
    "subject",
    "error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "subject": {
      "type": "string",
      "format": "did"
    },
    "errorCode": {
      "type": "string"
    }
  }
}
scheduledActionResults object

No description available.

Properties

succeeded array of stringdid Required

No description available.

View raw schema
{
  "type": "object",
  "required": [
    "succeeded",
    "failed"
  ],
  "properties": {
    "failed": {
      "type": "array",
      "items": {
        "ref": "#failedScheduling",
        "type": "ref"
      }
    },
    "succeeded": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "did"
      }
    }
  }
}
schedulingConfig object

Configuration for when the action should be executed

Properties

executeAfter string datetime Optional

Earliest time to execute the action (for randomized scheduling)

executeAt string datetime Optional

Exact time to execute the action

executeUntil string datetime Optional

Latest time to execute the action (for randomized scheduling)

View raw schema
{
  "type": "object",
  "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)"
    }
  },
  "description": "Configuration for when the action should be executed"
}
takedown object

Schedule a takedown action

Properties

acknowledgeAccountSubjects boolean Optional

If true, all other reports on content authored by this account will be resolved (acknowledged).

comment string Optional

No description available.

durationInHours integer Optional

Indicates how long the takedown should be in effect before automatically expiring.

emailContent string Optional

Email content to be sent to the user upon takedown.

emailSubject string Optional

Subject of the email to be sent to the user upon takedown.

policies array of string Optional

Names/Keywords of the policies that drove the decision.

maxLength: 5 items
severityLevel string Optional

Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).

strikeCount integer Optional

Number of strikes to assign to the user when takedown is applied.

strikeExpiresAt string datetime Optional

When the strike should expire. If not provided, the strike never expires.

View raw schema
{
  "type": "object",
  "properties": {
    "comment": {
      "type": "string"
    },
    "policies": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxLength": 5,
      "description": "Names/Keywords of the policies that drove the decision."
    },
    "strikeCount": {
      "type": "integer",
      "description": "Number of strikes to assign to the user when takedown is applied."
    },
    "emailContent": {
      "type": "string",
      "description": "Email content to be sent to the user upon takedown."
    },
    "emailSubject": {
      "type": "string",
      "description": "Subject of the email to be sent to the user upon takedown."
    },
    "severityLevel": {
      "type": "string",
      "description": "Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.)."
    },
    "durationInHours": {
      "type": "integer",
      "description": "Indicates how long the takedown should be in effect before automatically expiring."
    },
    "strikeExpiresAt": {
      "type": "string",
      "format": "datetime",
      "description": "When the strike should expire. If not provided, the strike never expires."
    },
    "acknowledgeAccountSubjects": {
      "type": "boolean",
      "description": "If true, all other reports on content authored by this account will be resolved (acknowledged)."
    }
  },
  "description": "Schedule a takedown action"
}

Lexicon Garden

@