Contracting & Hierarchies API

contractPacketSubmitted

WEBHOOK

Delivered when a contract packet is submitted to a carrier. A contract
packet is a collection of contract assignment changes bundled together
for a single carrier submission.

The data.submissionMethod describes how the packet was delivered (e.g.
email, portal, direct API). The data.attachments list contains the
submitted documents if any were included.

post

Body

application/json

ContractPacketSubmittedWebhookEvent

Common wrapper present on every outbound webhook event. The data field
is polymorphic; its schema depends on the value of type.

idstringrequired

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

typestringrequired

Dot-notation event type string. Use this field to route the event to
the appropriate handler in your integration.

Allowed values:contract.producer_status.updatedcontract.assignment.updatedcontract.assignment.deletedcontract.assignment_change.updatedcontract.assignment_change.deletedcontract.packet.submittedcontract.updatedcontract.deletedcontract.responsible_party.updatedhierarchy.producer.addedhierarchy.producer.changedhierarchy.producer.relationship.terminated

Example:contract.assignment.updated

dataobjectrequired

Payload for the contract.packet.submitted event.

Show Child Parameters

Response

200

Customer endpoint acknowledged the event.

post

Body

{ "id": "whe_01j8e4k2abc123def456", "type": "contract.packet.submitted", "data": { "contractPacketId": "550e8400-e29b-41d4-a716-446655440000", "submittedByPersonId": "660e8400-e29b-41d4-a716-446655440001", "submittedByName": "Smith, John", "submissionDate": "2024-06-20T14:45:00Z", "submissionMethod": "Email", "contractId": "770e8400-e29b-41d4-a716-446655440002", "contractNumber": "C-00042", "attachments": [ { "url": "https://s3.amazonaws.com/bucket/contract-packet.pdf", "fileName": "contract-packet.pdf", "size": "204800" } ] } }
200

contractUpdated

WEBHOOK

Delivered when a contract record is created or updated. A contract is
the underlying agreement between an agency and a carrier on behalf of a
producer. It groups one or more contract assignments for the same
agency–carrier–producer combination.

This event also fires when a contract is first created.

post

Body

application/json

ContractUpdatedWebhookEvent

Common wrapper present on every outbound webhook event. The data field
is polymorphic; its schema depends on the value of type.

idstringrequired

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

typestringrequired

Dot-notation event type string. Use this field to route the event to
the appropriate handler in your integration.

Allowed values:contract.producer_status.updatedcontract.assignment.updatedcontract.assignment.deletedcontract.assignment_change.updatedcontract.assignment_change.deletedcontract.packet.submittedcontract.updatedcontract.deletedcontract.responsible_party.updatedhierarchy.producer.addedhierarchy.producer.changedhierarchy.producer.relationship.terminated

Example:contract.assignment.updated

dataobjectrequired

Payload for the contract.updated event.

Show Child Parameters

Response

200

Customer endpoint acknowledged the event.

post

Body

{ "id": "whe_01j8e4k2abc123def456", "type": "contract.updated", "data": { "contractId": "550e8400-e29b-41d4-a716-446655440000", "agencyOrganizationId": "660e8400-e29b-41d4-a716-446655440001", "agencyOrganizationName": "Acme Insurance Agency", "carrierOrganizationId": "770e8400-e29b-41d4-a716-446655440002", "carrierOrganizationName": "Big Carrier Inc.", "personId": "880e8400-e29b-41d4-a716-446655440003", "personNpn": "1234567", "active": true, "effectiveDate": "2023-01-15", "displayNumber": "C-00042", "createdAt": "2024-06-18T09:15:00Z", "updatedAt": "2024-06-20T14:45:00Z" } }
200

contractDeleted

WEBHOOK

Delivered when a contract record is permanently deleted. After this
event, the contractId will no longer exist in the system.

post

Body

application/json

ContractDeletedWebhookEvent

Common wrapper present on every outbound webhook event. The data field
is polymorphic; its schema depends on the value of type.

idstringrequired

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

typestringrequired

Dot-notation event type string. Use this field to route the event to
the appropriate handler in your integration.

Allowed values:contract.producer_status.updatedcontract.assignment.updatedcontract.assignment.deletedcontract.assignment_change.updatedcontract.assignment_change.deletedcontract.packet.submittedcontract.updatedcontract.deletedcontract.responsible_party.updatedhierarchy.producer.addedhierarchy.producer.changedhierarchy.producer.relationship.terminated

Example:contract.assignment.updated

dataobjectrequired

Payload for the contract.deleted event.

Show Child Parameters

Response

200

Customer endpoint acknowledged the event.

post

Body

{ "id": "whe_01j8e4k2abc123def456", "type": "contract.deleted", "data": { "contractId": "550e8400-e29b-41d4-a716-446655440000" } }
200

contractResponsiblePartyUpdated

WEBHOOK

Delivered when a contract’s responsible party is created or updated. The
responsible party is the entity accountable for the contract over a date
window; data.startDate and data.endDate bound that window
(endDate is null when the window is open-ended).

post

Body

application/json

ContractResponsiblePartyUpdatedWebhookEvent

Common wrapper present on every outbound webhook event. The data field
is polymorphic; its schema depends on the value of type.

idstringrequired

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

typestringrequired

Dot-notation event type string. Use this field to route the event to
the appropriate handler in your integration.

Allowed values:contract.producer_status.updatedcontract.assignment.updatedcontract.assignment.deletedcontract.assignment_change.updatedcontract.assignment_change.deletedcontract.packet.submittedcontract.updatedcontract.deletedcontract.responsible_party.updatedhierarchy.producer.addedhierarchy.producer.changedhierarchy.producer.relationship.terminated

Example:contract.assignment.updated

dataobjectrequired

Payload for the contract.responsible_party.updated event.

Show Child Parameters

Response

200

Customer endpoint acknowledged the event.

post

Body

{ "id": "whe_01j8e4k2abc123def456", "type": "contract.responsible_party.updated", "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "contractId": "110e8400-e29b-41d4-a716-446655440009", "contractDisplayNumber": "C-00042", "responsiblePartyId": "dd0e8400-e29b-41d4-a716-446655440007", "startDate": "2024-06-18", "endDate": null } }
200

hierarchyProducerAdded

WEBHOOK

Delivered when a producer is newly placed under an upline in a hierarchy.
The payload identifies the producer, its upline, and its commission level
at the new placement.

The upline and commission values reflect the new placement; no prior
value is included.

post

Body

application/json

HierarchyProducerAddedWebhookEvent

Common wrapper present on every outbound webhook event. The data field
is polymorphic; its schema depends on the value of type.

idstringrequired

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

typestringrequired

Dot-notation event type string. Use this field to route the event to
the appropriate handler in your integration.

Allowed values:contract.producer_status.updatedcontract.assignment.updatedcontract.assignment.deletedcontract.assignment_change.updatedcontract.assignment_change.deletedcontract.packet.submittedcontract.updatedcontract.deletedcontract.responsible_party.updatedhierarchy.producer.addedhierarchy.producer.changedhierarchy.producer.relationship.terminated

Example:contract.assignment.updated

dataobjectrequired

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.

Show Child Parameters

Response

200

Customer endpoint acknowledged the event.

post

Body

{ "id": "whe_01j8e4k2abc123def456", "type": "hierarchy.producer.added", "data": { "contractAssignmentChangeId": "550e8400-e29b-41d4-a716-446655440000", "contractAssignmentId": "660e8400-e29b-41d4-a716-446655440001", "contractId": "110e8400-e29b-41d4-a716-446655440009", "personId": "990e8400-e29b-41d4-a716-446655440004", "personNpn": "1234567", "agencyOrganizationId": "770e8400-e29b-41d4-a716-446655440002", "carrierOrganizationId": "880e8400-e29b-41d4-a716-446655440003", "productId": "aa0e8400-e29b-41d4-a716-446655440005", "uplineContractAssignmentId": "dd0e8400-e29b-41d4-a716-446655440007", "uplineNpn": "7654321", "uplineContractAssignmentChange": { "id": "cc0e8400-e29b-41d4-a716-446655440008", "displayNumber": "CAC-00009", "firmName": "Upline Agency LLC", "personName": "Jane Doe" }, "commissionLevelId": "ee0e8400-e29b-41d4-a716-446655440010", "commissionLevelName": "Level A", "assignmentStatusName": "Active", "effectiveDate": "2024-06-18", "createdAt": "2024-06-18T09:15:00Z", "updatedAt": "2024-06-18T09:15:00Z" } }
200