Contracting & Hierarchies API

contractAssignmentChangeUpdated

WEBHOOK

Delivered when a contract assignment change record is created or updated.
A contract assignment change is a point-in-time snapshot of the desired
state for one or more aspects of a contract assignment (e.g. a new
commission level, a new upline, a status promotion).

Changes are grouped into contract packets for carrier submission. The
data.contractPacketId links this change to its submission packet.

post

Body

application/json

ContractAssignmentChangeUpdatedWebhookEvent

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.assignment_change.updated event.

Show Child Parameters

Response

200

Customer endpoint acknowledged the event.

post

Body

{ "id": "whe_01j8e4k2abc123def456", "type": "contract.assignment_change.updated", "data": { "contractAssignmentChangeId": "550e8400-e29b-41d4-a716-446655440000", "contractAssignmentId": "660e8400-e29b-41d4-a716-446655440001", "contractId": "110e8400-e29b-41d4-a716-446655440009", "agencyOrganizationId": "770e8400-e29b-41d4-a716-446655440002", "agencyOrganizationName": "Acme Insurance Agency", "carrierOrganizationId": "880e8400-e29b-41d4-a716-446655440003", "carrierOrganizationName": "Big Carrier Inc.", "productId": "aa0e8400-e29b-41d4-a716-446655440005", "productName": "Term Life", "personId": "990e8400-e29b-41d4-a716-446655440004", "states": [ "CA" ], "contractPacketId": "bb0e8400-e29b-41d4-a716-446655440006", "taskTypeName": "New Business", "referralCodes": [], "contractAssignmentChangeDisplayNumber": "CAC-00001", "responsibleUplineFirmNpn": "7654321", "uplineContractAssignmentChange": { "id": "cc0e8400-e29b-41d4-a716-446655440008", "displayNumber": "CAC-00009", "firmName": "Upline Agency LLC", "personName": "Jane Doe" }, "createdAt": "2024-06-18T09:15:00Z", "updatedAt": "2024-06-20T14:45:00Z" } }
200

contractAssignmentChangeDeleted

WEBHOOK

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

post

Body

application/json

ContractAssignmentChangeDeletedWebhookEvent

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.assignment_change.deleted event.

Show Child Parameters

Response

200

Customer endpoint acknowledged the event.

post

Body

{ "id": "whe_01j8e4k2abc123def456", "type": "contract.assignment_change.deleted", "data": { "contractAssignmentChangeId": "550e8400-e29b-41d4-a716-446655440000", "contractAssignmentChangeDisplayNumber": "CAC-00001" } }
200

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