Siren

Bulk Actions

Performs an action on multiple programs at once, including activate, deactivate, restore, delete, and permanent delete.

Last updated: April 9, 2026

Bulk Actions

POST /siren/v1/programs/bulk

Performs an action on multiple programs at once.

Request Body:

FieldTypeRequiredDescription
actionstringYesOne of: activate, deactivate, restore, delete, permanent_delete
idsinteger[]YesArray of program IDs to act upon

Action Behaviors:

ActionEffect
activateSets status to active
deactivateSets status to inactive
restoreSets status to inactive (restores from trash for review)
deleteSets status to deleted (soft delete)
permanent_deletePermanently removes records from the database

Authorization is dynamic: activate, deactivate, and restore require Update permission, while delete and permanent_delete require Delete permission.

Non-existent IDs are silently skipped. Datastore errors on individual records are logged but do not halt processing of remaining IDs.

Example Request:

{
  "action": "activate",
  "ids": [1, 2, 3]
}

Example Response:

{
  "success": true,
  "affected": 3
}

Events: Broadcasts ProgramActionEvent with the appropriate action type after success.