## TL;DR

Reassigning owners requires transfer permission on the records, and the agent's user lacks it. Either grant the permission (or a sharing-based path) to the agent's user, or perform the reassignment as a privileged integration user. The data is fine; the actor is underprivileged.

## Error

```text
[ {
  "message" : "insufficient access rights on cross-reference id",
  "errorCode" : "INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY",
  "fields" : [ "OwnerId" ]
} ]
```

## Steps

1. Confirm the failing field is OwnerId and the agent's user cannot transfer these records. Expected: the permission gap is explicit.
2. Check whether the new owner is active and visible to the agent's user. Expected: inactive or invisible owners explain some failures.
3. Grant the agent's user the transfer permission (Salesforce "Transfer Record") or add a sharing rule covering the records. Expected: the agent can reassign.
4. Alternatively, run reassignments as a dedicated privileged integration user with a narrow scope. Expected: least privilege preserved elsewhere.
5. Re-run the failed reassignments. Expected: clean completion.

## When to use

- Owner reassignments fail with access errors.
- An agent redistributes records after a territory change.
- After user deactivations, mass reassignments fail.

## When not to use

- Null OwnerId in flows (different fix).
- Lead assignment rules not firing (different engine).

## Tool compatibility

- Salesforce sharing and permissions; transfer rights.
- Agent reassignment jobs.

## Variant phrasings

### cannot transfer record

Permission missing; grant or escalate the actor.

### reassignment access denied

Same gap from the user side.

## Why it happens

Ownership transfer is a privileged operation separate from edit access. Agents provisioned with edit-but-not-transfer rights hit this on exactly the records they were built to move.

## Edge cases

- Transferring to a queue needs queue membership handled separately.
- Mass transfers trigger sharing recalculation; schedule off-hours.
- Audit transfers; ownership changes are sensitive.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_Sy8eIUkTfaCls147bUJ8SA
