# Bulk Operations {#bulk-operations}


Perform actions on multiple entities simultaneously.


## Supported Bulk Operations {#supported-bulk-operations}


| Entity    | Operations                    |
| --------- | ----------------------------- |
| Tasks     | Update status, assign, delete |
| Employees | Update department, tags       |
| Invoices  | Send, mark as paid, delete    |
| Contacts  | Update tags, export, delete   |
| Time Logs | Approve, reject, delete       |
| Expenses  | Categorize, approve, delete   |


## Using Bulk Operations (UI) {#using-bulk-operations-ui}


1. Navigate to a list view (e.g., Tasks)
2. Select items using checkboxes
3. The **Bulk Actions** toolbar appears
4. Choose an action:
   - Update Status
   - Assign to Employee
   - Add/Remove Tags
   - Delete Selected
5. Confirm the action


## API Bulk Operations {#api-bulk-operations}



### Bulk Update Tasks {#bulk-update-tasks}


```json
PUT /api/task/bulk
{
  "ids": ["uuid-1", "uuid-2", "uuid-3"],
  "update": {
    "status": "DONE",
    "projectId": "new-project-uuid"
  }
}
```


### Bulk Delete {#bulk-delete}


```json
DELETE /api/task/bulk
{
  "ids": ["uuid-1", "uuid-2", "uuid-3"]
}
```


### Bulk Create Time Logs {#bulk-create-time-logs}


```json
POST /api/time-log/bulk
{
  "entries": [
    { "startedAt": "...", "stoppedAt": "...", "projectId": "..." },
    { "startedAt": "...", "stoppedAt": "...", "projectId": "..." }
  ]
}
```


## Performance Considerations {#performance-considerations}


- Bulk operations are processed in transactions
- Maximum batch size: 100 items per request
- Large bulk operations are queued in background jobs


## Related Pages {#related-pages}


- [Task Endpoints](https://sourcey-gauzy.pages.dev/api/task-endpoints/index.md) — task API
- [Import/Export](https://sourcey-gauzy.pages.dev/features/import-export/index.md) — bulk import/export
- [Data Migration](https://sourcey-gauzy.pages.dev/troubleshooting/data-migration/index.md) — migration guide
