Preview

customerUnificationMergeCluster is in Preview status and is subject to change without notice. For more information about Preview status, see the GraphQL API policy.

customerUnificationMergeCluster

Record a MERGE decision for every (primary, member) pair in an N-record cluster using a single set of field selections supplied by the caller. Per-pair failures (missing pair, prior terminal decision) are isolated and reflected in succeeded / failed counters; the invariant succeeded + failed = memberPartyIds.length holds when the request is accepted. Suggested members passed as rejectedPartyIds are recorded as REJECT in a second batch once the merge batch succeeds, reported through rejectedSucceeded / rejectedFailed.

This page contains

    Authorization Rules

    This request requires authorization with at least one of the following scopes:

    Scopes

    ROLE_RESELLER

    ROLE_CHANNEL_ADMIN

    Arguments

    input CustomerUnificationMergeClusterInput! PREVIEW

    CustomerUnificationMergeClusterInput fields

    advisorId ID!

    Advisor (tenant) scope; must match every pair in the cluster.

    primaryPartyId ID!

    Anchor party id retained as the cluster primary.

    memberPartyIds [ID!]!

    Other cluster members merged into the primary; must contain at least one entry.

    fieldSelections String

    JSON object mapping merge field names to per-field resolutions; shape mirrors CustomerUnificationSubmitDecisionInput.fieldSelections.

    notes String

    Optional shared note stored on each successfully recorded decision.

    rejectedPartyIds [ID!]

    Suggested cluster members the reviewer removed before merging. Pairs between these and the merged parties are recorded as REJECT so the review queue stops proposing them. Must not overlap primaryPartyId or memberPartyIds. Only pairs the review queue already proposed are recorded; a pair with no queue entry is skipped, and a pair whose latest decision is a MERGE is left untouched.

    Return Fields

    decision CustomerUnificationDecision PREVIEW

    First persisted decision when at least one pair succeeded; null when all per-pair attempts failed.

    succeeded Int!

    Number of pairs whose decision was recorded (or was already idempotently in the requested state).

    failed Int!

    Number of pairs whose decision could not be recorded (missing pair or prior terminal conflict).

    rejectedSucceeded Int!

    Number of removed-suggestion pairs recorded as REJECT. Kept out of succeeded so the succeeded + failed = memberPartyIds.length invariant holds. Always 0 for customerUnificationMarkClusterNotDuplicate.

    rejectedFailed Int!

    Number of removed-suggestion pairs that could not be recorded as REJECT, including pairs skipped because their latest decision is already a MERGE. Both reject counters are 0 when the fan-out never ran, either because the merge batch recorded nothing or because no removed suggestion had a review queue pair. Always 0 for customerUnificationMarkClusterNotDuplicate.

    userErrors [CustomerUnificationSubmitDecisionError!] PREVIEW

    Whole-call validation errors (e.g. invalid input shape); empty or null when the request was accepted.

    Interactive example

    This is an example mutation query. Use the embedded interactive tool below to edit the query.

    Hint: use Ctrl + Space for autocompleting fields.