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:
| Field | Type | Required | Description |
|---|---|---|---|
action | string | Yes | One of: activate, deactivate, restore, delete, permanent_delete |
ids | integer[] | Yes | Array of program IDs to act upon |
Action Behaviors:
| Action | Effect |
|---|---|
activate | Sets status to active |
deactivate | Sets status to inactive |
restore | Sets status to inactive (restores from trash for review) |
delete | Sets status to deleted (soft delete) |
permanent_delete | Permanently 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.