---
title: "HierarchyProducerRelationshipTerminatedWebhookEvent"
url: "https://developer.agentsync.io/apis/contracting-hierarchies-api/versions/40f58935-396e-4da4-8f47-1587041e1b16/schemas/HierarchyProducerRelationshipTerminatedWebhookEvent"
---

> Full API specification: https://developer.agentsync.io/apis/contracting-hierarchies-api/versions/40f58935-396e-4da4-8f47-1587041e1b16.md

# HierarchyProducerRelationshipTerminatedWebhookEvent

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: AgentSync Contracting & Hierarchies API
  version: v1.7.6
servers:
  - url: https://api.sandbox.agentsync.io/contracting
    description: Sandbox
  - url: https://api.agentsync.io/contracting
    description: Production
components:
  schemas:
    WebhookEventEnvelope:
      title: WebhookEventEnvelope
      type: object
      description: |
        Common wrapper present on every outbound webhook event. The `data` field
        is polymorphic; its schema depends on the value of `type`.
      required:
        - id
        - type
      properties:
        id:
          type: string
          description: |
            Globally unique event identifier. Uses the TypeID format with the
            prefix `whe_` followed by a UUIDv7-derived suffix
            (e.g. `whe_01j8e4k2abc123def456`). Use this field to deduplicate
            deliveries if your endpoint receives the same event more than once.
          example: whe_01j8e4k2abc123def456
        type:
          type: string
          description: |
            Dot-notation event type string. Use this field to route the event to
            the appropriate handler in your integration.
          example: contract.assignment.updated
          enum:
            - contract.producer_status.updated
            - contract.assignment.updated
            - contract.assignment.deleted
            - contract.assignment_change.updated
            - contract.assignment_change.deleted
            - contract.packet.submitted
            - contract.updated
            - contract.deleted
            - contract.responsible_party.updated
            - hierarchy.producer.added
            - hierarchy.producer.changed
            - hierarchy.producer.relationship.terminated
    HierarchyProducerRelationshipTerminatedData:
      title: HierarchyProducerRelationshipTerminatedData
      type: object
      description: >
        Payload for the `hierarchy.producer.relationship.terminated` event.
        Describes

        a producer's hierarchy placement - its upline and commission level - at
        the

        point its contract assignment transitioned into a terminal status, along
        with

        why (`terminationReason`) and when (`terminationDate`). Values reflect
        the

        placement as it existed when the relationship ended; no prior value is
        included.
      required:
        - contractAssignmentId
        - personId
        - agencyOrganizationId
        - carrierOrganizationId
        - terminationReason
        - terminationDate
      properties:
        contractAssignmentId:
          type: string
          format: uuid
          description: The unique identifier of the contract assignment whose hierarchy
            relationship ended.
          example: 660e8400-e29b-41d4-a716-446655440001
        contractId:
          type:
            - string
            - "null"
          format: uuid
          description: The unique identifier of the contract the assignment belongs to.
          example: 110e8400-e29b-41d4-a716-446655440009
        personId:
          type: string
          format: uuid
          description: The unique identifier of the individual producer whose hierarchy
            relationship ended.
          example: 990e8400-e29b-41d4-a716-446655440004
        personNpn:
          type:
            - string
            - "null"
          description: The National Producer Number of the individual producer.
          example: "1234567"
        firmId:
          type:
            - string
            - "null"
          format: uuid
          description: The unique identifier of the firm the producer is contracted under,
            if any.
          example: null
        firmNpn:
          type:
            - string
            - "null"
          description: The National Producer Number of the firm, if any.
          example: null
        agencyOrganizationId:
          type: string
          format: uuid
          description: The unique identifier of the agency organization the contract is
            sent from.
          example: 770e8400-e29b-41d4-a716-446655440002
        carrierOrganizationId:
          type: string
          format: uuid
          description: The unique identifier of the carrier organization the contract is
            sent to.
          example: 880e8400-e29b-41d4-a716-446655440003
        productId:
          type:
            - string
            - "null"
          format: uuid
          description: The unique identifier of the carrier product the producer is
            contracted for.
          example: aa0e8400-e29b-41d4-a716-446655440005
        writingNumber:
          type:
            - string
            - "null"
          description: The writing number of the producer's contract assignment.
          example: "0012345"
        uplineContractAssignmentId:
          type:
            - string
            - "null"
          format: uuid
          description: The unique identifier of the upline contract assignment the
            producer was placed under.
          example: dd0e8400-e29b-41d4-a716-446655440007
        uplineNpn:
          type:
            - string
            - "null"
          description: The National Producer Number of the upline producer.
          example: "7654321"
        uplineFirmId:
          type:
            - string
            - "null"
          format: uuid
          description: The unique identifier of the upline firm, if any.
          example: null
        uplineFirmNpn:
          type:
            - string
            - "null"
          description: The National Producer Number of the upline firm, if any.
          example: null
        uplineContractAssignment:
          oneOf:
            - $ref: "#/components/schemas/UplineContractAssignmentEventData"
            - type: "null"
          description: The curated upline contract assignment identity, if the placement
            had an upline.
        commissionLevelId:
          type:
            - string
            - "null"
          format: uuid
          description: The unique identifier of the producer's commission level.
          example: ee0e8400-e29b-41d4-a716-446655440010
        commissionLevelName:
          type:
            - string
            - "null"
          description: The name of the producer's commission level.
          example: Level A
        terminationReason:
          type: string
          description: >
            The reason the relationship ended - the name of the terminal
            assignment

            status (e.g. `Terminated`, `Expired`, `Declined`, `Withdrawn`,

            `Transferred`, `Released`).
          example: Terminated
        terminationDate:
          type: string
          format: date
          description: "The date the relationship ended. Format: yyyy-MM-dd"
          example: 2024-07-01
        createdAt:
          type:
            - string
            - "null"
          format: date-time
          description: "The date and time the contract assignment was created. Format:
            RFC3339 UTC."
          example: 2024-06-18T09:15:00Z
        updatedAt:
          type:
            - string
            - "null"
          format: date-time
          description: "The date and time the contract assignment was last updated.
            Format: RFC3339 UTC."
          example: 2024-07-01T14:45:00Z
    UplineContractAssignmentEventData:
      title: UplineContractAssignmentEventData
      type: object
      description: Curated, single-level identity of a contract assignment's upline.
        The upline is part of the recipient's own hierarchy; firmName/personName
        may be null.
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the upline contract assignment.
          example: cc0e8400-e29b-41d4-a716-446655440008
        displayNumber:
          type:
            - string
            - "null"
          description: The display number of the upline contract assignment.
          example: CA-00009
        firmName:
          type:
            - string
            - "null"
          description: The firm name of the upline contract assignment.
          example: Upline Agency LLC
        personName:
          type:
            - string
            - "null"
          description: The person name of the upline contract assignment.
          example: Jane Doe
    HierarchyProducerRelationshipTerminatedWebhookEvent:
      title: HierarchyProducerRelationshipTerminatedWebhookEvent
      allOf:
        - $ref: "#/components/schemas/WebhookEventEnvelope"
        - type: object
          required:
            - data
          properties:
            data:
              $ref: "#/components/schemas/HierarchyProducerRelationshipTerminatedData"
```
