Relationship Intelligence

Merge

Merge combines this possible duplicate into the company that already exists. The extra company is archived.

post/v1/relationship-identity-candidates/{candidateId}/decisions

Request

  • Base URL: / (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /v1/relationship-identity-candidates/{candidateId}/decisions
  • Auth: HTTP bearer

Path parameters

candidateIdstring uuid required

Identity candidate id.

Example:6b8dfa9b-a7b2-46ea-982c-622a914c00e5

Request body

decision'merge' | 'keep_separate' | 'move_evidence' | 'split' | 'defer' | 'undo' required

Decision.

expectedVersioninteger required

Expected candidate version.

idempotencyKeystring uuid required

Stable client idempotency key.

reasonstring

Actor reason.

Example request

{
  "decision": "merge",
  "expectedVersion": 1,
  "idempotencyKey": "cb8dfa9b-a7b2-46ea-982c-622a914c00e5",
  "reason": "Reviewed in the identity inbox: merge."
}

Response

The duplicate is merged into the existing company.

anchorKindstring required

Exact anchor kind.

anchorPreviewstring

Redacted anchor preview.

anchorProviderstring

Provider.

candidateTypestring required

Candidate kind.

conflictingAnchorsstring[] required

Conflicting anchors.

decidedAtstring date-time nullable

Decision time.

decisionstring

Resolved decision.

decisionActorIdstring uuid

User who resolved this review.

decisionReasonstring

Reason.

evidenceCountinteger required

Affected evidence count.

evidenceFromstring date-time nullable

Earliest evidence.

evidenceRefsstring[] required

Evidence references.

evidenceTostring date-time nullable

Latest evidence.

idstring uuid required

Stable UUID primary key.

impactobject required

Counts and history that would move.

matchingAnchorsstring[] required

Matching exact anchors.

recommendationConfidencenumber required

Advisory confidence.

recommendedDecisionstring required

Advisory decision.

status'pending' | 'deferred' | 'resolving' | 'resolved' | 'undone' required

Lifecycle/status slug. Subscription rows use billing states; background task runs use queued/running/succeeded/failed/stopped.

versioninteger required

Optimistic version.

Example response

{
  "anchorKind": "provider_resource",
  "anchorPreview": "contact …123",
  "anchorProvider": "hubspot",
  "candidateType": "anchor_collision",
  "conflictingAnchors": [
    "email:other@example.com"
  ],
  "decidedAt": "2026-07-31T14:00:00Z",
  "decision": "merge",
  "decisionActorId": "a8dfa9b6-a7b2-46ea-982c-622a914c00e5",
  "decisionReason": "Confirmed duplicate.",
  "decisions": [
    {
      "actorId": "a8dfa9b6-a7b2-46ea-982c-622a914c00e5",
      "candidateVersion": 1,
      "compensatesDecisionId": "7b8dfa9b-a7b2-46ea-982c-622a914c00e5",
      "decidedAt": "2026-07-31T14:00:00Z",
      "decision": "merge",
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "reason": "Confirmed the provider records are the same account."
    }
  ],
  "evidenceCount": 4,
  "evidenceFrom": "2026-01-01T00:00:00Z",
  "evidenceRefs": [
    "relationship-observation:6b8dfa9b-a7b2-46ea-982c-622a914c00e5"
  ],
  "evidenceTo": "2026-07-31T00:00:00Z",
  "existingRelationship": {
    "accountDomain": "example.com",
    "categories": [
      "Artificial intelligence"
    ],
    "commitmentCount": 4,
    "companyDescription": "Builds AI infrastructure for customer operations.",
    "companyEnrichedAt": "2026-09-06T08:00:00Z",
    "companyEnrichmentData": {
      "employee_range": "201-500 employees (2026)",
      "funding_summary": "$80M total; Series C, $35M, 2025-10-10",
      "growth_signals": "Hiring in 2026",
      "headquarters": "San Francisco, California, United States",
      "revenue_range": "$40M-$60M (2025)"
    },
    "displayName": "Jordan Buyer",
    "emailThreadCount": 12,
    "engagement": "declining",
    "health": "needs_attention",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "kind": "person",
    "lastChangedAt": "2026-07-25T16:00:00Z",
    "lastTouchAt": "2026-04-10T15:00:00Z",
    "lifecycle": "evaluation",
    "linkedinUrl": "https://www.linkedin.com/company/acme",
    "milestones": [
      "Proposal shared."
    ],
    "nextAction": "Confirm the security review owner.",
    "nextActionAt": "2026-07-01T00:00:00Z",
    "openActions": 1,
    "peopleCount": 3,
    "primaryEmail": "buyer@example.com",
    "projectedAt": "2026-07-25T16:00:00Z",
    "projectorVersion": 2,
    "resourceRefs": [
      "hubspot:company:123"
    ],
    "risks": [
      "Security review has no owner."
    ],
    "sentiment": "mixed",
    "stateHash": "sha256:454f195e2389d36fd49e5c9b9656b7b47a3629332a84eb570edf3fa5248851e1",
    "stateReason": "Security review was promised, but no owner or meeting exists.",
    "stateVersion": 4,
    "status": "active",
    "summary": "Asked for pricing in April; wants a follow-up in July."
  },
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "lineage": [
    {
      "actorId": "a8dfa9b6-a7b2-46ea-982c-622a914c00e5",
      "afterRelationshipIds": [
        "3a196c5e-b10e-46cb-a177-7c001f7be573"
      ],
      "beforeRelationshipIds": [
        "9c8dfa9b-a7b2-46ea-982c-622a914c00e5",
        "3a196c5e-b10e-46cb-a177-7c001f7be573"
      ],
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "identityIds": [
        "1b8dfa9b-a7b2-46ea-982c-622a914c00e5"
      ],
      "kind": "merged",
      "movedObjectRefs": [
        "relationship-observation:6b8dfa9b-a7b2-46ea-982c-622a914c00e5"
      ],
      "observationIds": [
        "6b8dfa9b-a7b2-46ea-982c-622a914c00e5"
      ],
      "occurredAt": "2026-07-31T14:00:00Z",
      "reason": "Confirmed duplicate."
    }
  ],
  "matchingAnchors": [
    "hubspot:contact:123"
  ],
  "proposedRelationship": {
    "accountDomain": "example.com",
    "categories": [
      "Artificial intelligence"
    ],
    "commitmentCount": 4,
    "companyDescription": "Builds AI infrastructure for customer operations.",
    "companyEnrichedAt": "2026-09-06T08:00:00Z",
    "companyEnrichmentData": {
      "employee_range": "201-500 employees (2026)",
      "funding_summary": "$80M total; Series C, $35M, 2025-10-10",
      "growth_signals": "Hiring in 2026",
      "headquarters": "San Francisco, California, United States",
      "revenue_range": "$40M-$60M (2025)"
    },
    "displayName": "Jordan Buyer",
    "emailThreadCount": 12,
    "engagement": "declining",
    "health": "needs_attention",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "kind": "person",
    "lastChangedAt": "2026-07-25T16:00:00Z",
    "lastTouchAt": "2026-04-10T15:00:00Z",
    "lifecycle": "evaluation",
    "linkedinUrl": "https://www.linkedin.com/company/acme",
    "milestones": [
      "Proposal shared."
    ],
    "nextAction": "Confirm the security review owner.",
    "nextActionAt": "2026-07-01T00:00:00Z",
    "openActions": 1,
    "peopleCount": 3,
    "primaryEmail": "buyer@example.com",
    "projectedAt": "2026-07-25T16:00:00Z",
    "projectorVersion": 2,
    "resourceRefs": [
      "hubspot:company:123"
    ],
    "risks": [
      "Security review has no owner."
    ],
    "sentiment": "mixed",
    "stateHash": "sha256:454f195e2389d36fd49e5c9b9656b7b47a3629332a84eb570edf3fa5248851e1",
    "stateReason": "Security review was promised, but no owner or meeting exists.",
    "stateVersion": 4,
    "status": "active",
    "summary": "Asked for pricing in April; wants a follow-up in July."
  },
  "recommendationConfidence": 0.92,
  "recommendedDecision": "merge",
  "status": "active",
  "version": 1
}

Changes

No recorded changes to this operation across all 50 revisions of this API.