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

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

# HierarchyProducerChangedWebhookEvent

## 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
    HierarchyProducerEventData:
      title: HierarchyProducerEventData
      type: object
      description: >
        Shared payload for the `hierarchy.producer.added` and

        `hierarchy.producer.changed` events. Describes a producer's placement in
        a

        hierarchy - its upline and commission level - derived from a

        contract-assignment change. The upline and commission values reflect the

        new placement; no prior value is included. `changedFields` is present
        only

        on `hierarchy.producer.changed`.
      required:
        - contractAssignmentChangeId
        - contractAssignmentId
        - personId
        - agencyOrganizationId
        - carrierOrganizationId
      properties:
        contractAssignmentChangeId:
          type: string
          format: uuid
          description: The unique identifier of the contract assignment change that drove
            this hierarchy event.
          example: 550e8400-e29b-41d4-a716-446655440000
        contractAssignmentId:
          type: string
          format: uuid
          description: The unique identifier of the contract assignment the producer holds
            in the hierarchy.
          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
            placement changed.
          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 is 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
        uplineContractAssignmentChange:
          oneOf:
            - $ref: "#/components/schemas/UplineContractAssignmentChangeEventData"
            - type: "null"
          description: The curated upline contract assignment change identity, if the
            placement has 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
        assignmentStatusName:
          type:
            - string
            - "null"
          description: The name of the producer's assignment status.
          example: Active
        effectiveDate:
          type:
            - string
            - "null"
          format: date
          description: "The effective date of the placement. Format: yyyy-MM-dd"
          example: 2024-06-18
        changedFields:
          type:
            - array
            - "null"
          items:
            type: string
          description: >
            The hierarchy dimensions this change affected (`upline`,

            `commissionLevel`). Present on `hierarchy.producer.changed`; absent
            on

            `hierarchy.producer.added`.
          example:
            - upline
            - commissionLevel
        createdAt:
          type:
            - string
            - "null"
          format: date-time
          description: "The date and time the underlying change was created. Format:
            RFC3339 UTC."
          example: 2024-06-18T09:15:00Z
        updatedAt:
          type:
            - string
            - "null"
          format: date-time
          description: "The date and time the underlying change was last updated. Format:
            RFC3339 UTC."
          example: 2024-06-20T14:45:00Z
    UplineContractAssignmentChangeEventData:
      title: UplineContractAssignmentChangeEventData
      type: object
      description: Curated, single-level identity of a contract assignment change's
        upline change. 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 change.
          example: cc0e8400-e29b-41d4-a716-446655440008
        displayNumber:
          type:
            - string
            - "null"
          description: The display number of the upline contract assignment change.
          example: CAC-00009
        firmName:
          type:
            - string
            - "null"
          description: The firm name of the upline contract assignment change.
          example: Upline Agency LLC
        personName:
          type:
            - string
            - "null"
          description: The person name of the upline contract assignment change.
          example: Jane Doe
    HierarchyProducerChangedWebhookEvent:
      title: HierarchyProducerChangedWebhookEvent
      allOf:
        - $ref: "#/components/schemas/WebhookEventEnvelope"
        - type: object
          required:
            - data
          properties:
            data:
              $ref: "#/components/schemas/HierarchyProducerEventData"
```
