Contracting & Hierarchies API

HierarchyNodeV2

object

A node in an organization’s contract-assignment hierarchy, decoupled from the internal
Contracting domain models. The node key is contractAssignmentId; uplineContractAssignmentId
links to the parent node and is null on root nodes. Reference names are inlined next to
their ids. active is computed over the tree — a node is inactive when its own status is
inactive or any node above it is. A node represents either an individual (type = AGENT,
identified by personId) or a firm (type = FIRM, identified by firmId); the
identifier that does not apply to the node’s kind is null.

contractAssignmentIdstring(uuid)required

The node’s key — the stable identity of a producer’s placement for a product.

uplineContractAssignmentIdstring(uuid)

The parent node’s contractAssignmentId, or null for root nodes.

producerNamestring

The producer or organization at this position.

typestring | null

The producer kind at this position. Null when the position identifies neither an
individual nor a firm.

Allowed values:AGENTFIRM

personIdstring(uuid)

The individual’s id (null for firms).

firmIdstring(uuid)

The firm’s id (null for individuals).

npnstring

National Producer Number of the individual or firm at this position.

productIdstring(uuid)
productNamestring

The product name (inlined so no follow-up lookup is needed).

carrierOrganizationIdstring(uuid)

The carrier organization the assignment is sent to. Matches the
carrierOrganizationId reported for the same assignment by the contracts,
contract-assignments and contract-assignment-changes endpoints.

carrierOrganizationNamestring

The carrier organization name (inlined so no follow-up lookup is needed).

assignmentStatusIdstring(uuid)
assignmentStatusNamestring

The human-readable assignment status (inlined).

commissionLevelIdstring(uuid)
commissionLevelNamestring

The commission level name (inlined).

commissionLevelnumber

The commission level’s numeric value.

stateAbbreviationsarray[string]

States this position is contracted for.

writingNumberstring

Carrier-assigned writing number, if applicable.

effectiveOnstring(date)

The assignment’s contractual effective date (yyyy-MM-dd).

expiresOnstring(date)

The assignment’s contractual expiration date (yyyy-MM-dd).

activebooleanrequired

Whether this position is active, computed over the tree.

partnershipIdstring(uuid)

The partnership holding this contract, when its commission is split across partnership
members. Absent on nodes whose contract is held by a single producer.

partnershipNamestring

The partnership’s name (inlined). Absent when the node has no partnership.

partnershipActiveboolean

Whether the partnership is still current. A dissolved partnership is still reported —
its splits are what explain an in-force assignment’s commission — so use this flag
rather than the presence of commissionSplits to tell whether the arrangement is
active. Always absent when the node has no partnership, and may be absent even when it
does if the partnership’s state was never recorded; treat absent as unknown rather than
as inactive.

commissionSplitsarray[object]required

One partnership member’s share of the commission earned on a hierarchy node. Splits are not
effective-dated internally, so — unlike the rest of the node — they reflect the
partnership’s current state rather than the requested as_of date.

Show Child Parameters
Example

CommissionSplitV2

object

One partnership member’s share of the commission earned on a hierarchy node. Splits are not
effective-dated internally, so — unlike the rest of the node — they reflect the
partnership’s current state rather than the requested as_of date.

personIdstring(uuid)required

The member this share belongs to.

producerNamestring

The member’s name (inlined). Partnership members are always individuals.

splitPercentagenumberrequired

The member’s share as a proportion in [0, 1] — a 60/40 split is reported as 0.60
and 0.40. The shares of a fully-allocated partnership sum to exactly 1, but this is
not guaranteed: only an upper bound of 100% is enforced internally, so a partially
allocated partnership’s shares sum to less than 1.

Example:0.6

primarybooleanrequired

Whether this is the partnership’s primary partner. Exactly one member is primary, and
it is listed first.

Example

HierarchyNodeV2Page

object

A token-paginated page of hierarchy nodes (plain envelope, no HAL wrappers).

itemsarray[object]required

A node in an organization’s contract-assignment hierarchy, decoupled from the internal
Contracting domain models. The node key is contractAssignmentId; uplineContractAssignmentId
links to the parent node and is null on root nodes. Reference names are inlined next to
their ids. active is computed over the tree — a node is inactive when its own status is
inactive or any node above it is. A node represents either an individual (type = AGENT,
identified by personId) or a firm (type = FIRM, identified by firmId); the
identifier that does not apply to the node’s kind is null.

Show Child Parameters
pageobjectrequired

Pagination metadata for a V2 list response.

Show Child Parameters
Example

PageInfo

object

Pagination metadata for a V2 list response.

sizeintegerrequired

Number of items returned in this response (equal to items.length).

nextTokenstring | nullrequired

Opaque continuation token for the next page, or null on the last page.

Example

ApiError

object

The AgentSync error shape.

messagestringrequired

A human-readable description of the error.

detailsarray[object]

Optional field-level details.

Show Child Parameters
Example