# EditCollaboratorInput

input type

Edit-input for a Collaborator. Every field optional, at least ONE required; supplied fields REPLACE. orgRoles REPLACES WHOLESALE when supplied (the EditUser list-is-the-payload semantic; supplying strips every assignment — live sessions keep their self plane but every descriptor-gated op refuses at the next call); every referenced org + role must be in-tenant AND active (CONFLICT/REF_STATE). An email edit is the identity-marker release/reserve swap under the burn law (a live/inactive/DOOMED holder of the NEW value refuses CONFLICT/IDENTITY_TAKEN; the OLD value releases).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | No further notes. |
| `email` | [String](/types/#scalars) | no | The replacement login identity — normalizes server-side; the marker swap gates it (the burn law). |
| `displayName` | [String](/types/#scalars) | no | No further notes. |
| `orgRoles` | [UserOrgRolesInput](/types/UserOrgRolesInput/) `[UserOrgRolesInput!]` | no | The FULL desired assignment set (wholesale replacement — strips every assignment). |

## Used by

- [updateCollaborator](/reference/collaborator/updateCollaborator/)
