> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Operations Framework — Integration

> Status: ✅ Complete Spec Reference: PF-47 Bulk Operations Framework Last Updated: 2026-03-04

**Status:** ✅ Complete
**Spec Reference:** [PF-47 Bulk Operations Framework](../../../specs/pf/specs/PF-47-bulk-operations-framework.md)\
**Last Updated:** 2026-03-04

***

## Purpose

PF-47 provides a standardized bulk operations framework (delete, update, assign) with progress tracking, rollback, and rate limiting. This document captures integration points: PF dependencies consumed by PF-47 and the platform layer consumed by other cores.

***

## PF Dependencies (Consumed by PF-47)

| Dependency            | Use                                                                                             | Type                             |
| --------------------- | ----------------------------------------------------------------------------------------------- | -------------------------------- |
| PF-04 (Audit Logging) | All bulk operations and rollbacks are audited                                                   | Platform integration             |
| PF-29 (Tasks)         | One task per bulk operation for tracking and notifications                                      | Platform integration             |
| PF-42 (Rate Limiting) | Bulk operations use rate limiting (items per second); minimal in-PF-47 limit until PF-42 exists | Platform integration / interface |

***

## Platform Integration Layer

**Location:** `/src/platform/bulk-operations/`\
**Import path:** `@/platform/bulk-operations`\
**Status:** ✅ Complete

### Public API (from spec)

| API                                     | Type     | Description                              |
| --------------------------------------- | -------- | ---------------------------------------- |
| `useBulkOperationsList(organizationId)` | Hook     | List bulk operations for an organization |
| `useBulkOperationProgress(operationId)` | Hook     | Single operation with realtime progress  |
| `createBulkOperation(params)`           | Function | Submit a new bulk operation              |
| `rollbackBulkOperation(operationId)`    | Function | Rollback within rollback window          |

### Consumer Cores

All cores that need bulk delete, bulk update, or bulk assign (e.g. HR, FA, CE, CL, PM) consume this layer. Module-specific handlers define allowed entity types and fields per bulk operation type.

### Usage Example

```typescript theme={null}
import {
  useBulkOperationsList,
  useBulkOperationProgress,
  createBulkOperation,
  rollbackBulkOperation,
} from '@/platform/bulk-operations';
```

***

## Event Contracts

PF-47 does not publish domain events in the initial release. Audit events are handled via PF-04. Future enhancements may add events (e.g. `bulk_operation_completed`) for downstream consumers.

***

## API Contracts

No REST/edge API is specified for initial release. All access is via the documented hooks and functions above. If an edge function or REST API is added later for server-to-server or external callers, it will be documented here.

***

## Integration Matrix

* **CROSS\_CORE\_INTEGRATIONS.md:** PF-47 → All Cores, Platform Layer, 📝 Planned, this document.

***

## See Also

* [PF-42 Integration](./rate-limiting-throttling-integration.md) — rate limiting interface used by PF-47
* [PLATFORM\_INTEGRATION\_LAYERS.md](./PLATFORM_INTEGRATION_LAYERS.md) — PF-47 entry when implemented
