Contracting & Hierarchies API

Hierarchies

Read-only views of an organization’s contract-assignment hierarchy and the candidates eligible to be selected as upline placements.

List the hierarchy nodes for an organization

Returns the organization’s contract-assignment hierarchy as a token-paginated flat list of
nodes. The node key is contractAssignmentId — the stable identity of a producer’s
placement for a product — and tree linkage is uplineContractAssignmentId (null on root
nodes). Node keys correlate with the hierarchy.producer.* webhook events, which link
nodes the same way. Pass as_of to view the hierarchy as it existed on a historical date;
omit it for the current state. Results are scoped to the caller’s organization(s).

get

Query Parameters

as_ofstring(date)

Return the hierarchy as it existed on this date (yyyy-MM-dd). Omit for the current
state.

Example:2026-06-22

page_tokenstring

Opaque continuation token from a previous response’s page.nextToken. Omit for the first
page.

page_sizeinteger

Maximum number of items to return. Defaults to 25; values outside [1, 250] are rejected
with 400 (not clamped).

Default:25

>= 1<= 250

Path Parameters

organizationIdstring(uuid)required

The organization whose hierarchy to list.

Response

application/json

A page of hierarchy nodes.

HierarchyNodeV2Page

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
 
application/json

List the candidates eligible to be selected as an upline for a contract-assignment-change

Returns the contract-assignment changes eligible to be selected as the upline for the given
contract-assignment-change, as a token-paginated collection. Candidates share the change’s
product and overlap its commission-terms window. Results are scoped to the caller’s
organization(s).

get

Query Parameters

page_tokenstring

Opaque continuation token from a previous response’s page.nextToken. Omit for the first
page.

page_sizeinteger

Maximum number of items to return. Defaults to 25; values outside [1, 250] are rejected
with 400 (not clamped).

Default:25

>= 1<= 250

Path Parameters

idstring(uuid)required

The contract-assignment-change to find available uplines for.

Response

application/json

A page of available upline candidates.

AvailableUplineChangeV2Page

A token-paginated page of available upline candidates (plain envelope, no HAL wrappers).

itemsarray[object]required

A contract-assignment change eligible to be selected as an upline, scoped to a
contract-assignment or contract-assignment-change.

Show Child Parameters
pageobjectrequired

Pagination metadata for a V2 list response.

Show Child Parameters
 
application/json

List the candidates eligible to be selected as an upline for a contract-assignment

Returns the contract-assignment changes eligible to be selected as an upline for a new change
on the given contract-assignment over the supplied date range, as a token-paginated
collection. Candidates share the assignment’s product and overlap the start_date/end_date
window. Results are scoped to the caller’s organization(s).

get

Query Parameters

start_datestring(date)required

Start of the prospective change’s commission-terms window. Candidates whose window is
still open on or after this date are included.

Example:2026-01-01

end_datestring(date)

End of the prospective change’s commission-terms window. When provided, candidates whose
window starts after this date are excluded.

Example:2026-12-31

page_tokenstring

Opaque continuation token from a previous response’s page.nextToken. Omit for the first
page.

page_sizeinteger

Maximum number of items to return. Defaults to 25; values outside [1, 250] are rejected
with 400 (not clamped).

Default:25

>= 1<= 250

Path Parameters

idstring(uuid)required

The contract-assignment to find available uplines for.

Response

application/json

A page of available upline candidates.

AvailableUplineChangeV2Page

A token-paginated page of available upline candidates (plain envelope, no HAL wrappers).

itemsarray[object]required

A contract-assignment change eligible to be selected as an upline, scoped to a
contract-assignment or contract-assignment-change.

Show Child Parameters
pageobjectrequired

Pagination metadata for a V2 list response.

Show Child Parameters
 
application/json

List the candidates eligible to be selected as an upline for a product

Returns the currently-approved contract assignments eligible to be selected as another
contract assignment’s upline for the given product, as a token-paginated collection.
Results are scoped to the caller’s organization(s). Optionally narrowed with as_of to
candidates whose current commission-terms window covers a given date.

get

Query Parameters

page_tokenstring

Opaque continuation token from a previous response’s page.nextToken. Omit for the first
page.

page_sizeinteger

Maximum number of items to return. Defaults to 25; values outside [1, 250] are rejected
with 400 (not clamped).

Default:25

>= 1<= 250

as_ofstring(date)

Narrow results to candidates whose current commission-terms window covers this date
(inclusive). Omit to return all eligible candidates regardless of window.

Example:2026-06-22

Path Parameters

productIdstring(uuid)required

The product to find available uplines for.

Response

application/json

A page of available upline candidates.

AvailableUplineV2Page

A token-paginated page of available upline candidates (plain envelope, no HAL wrappers).

itemsarray[object]required

A currently-approved contract assignment eligible to be selected as an upline.

Show Child Parameters
pageobjectrequired

Pagination metadata for a V2 list response.

Show Child Parameters
 
application/json