---
title: "AgentSync Contracting & Hierarchies API"
url: "https://developer.agentsync.io/apis/contracting-hierarchies-api/versions/6c2b0ffe-3c97-4dd9-8f2b-d290f3e875ff"
---

# AgentSync Contracting & Hierarchies API

OpenAPI specification document.

```json
{"openapi":"3.1.0","info":{"title":"AgentSync Contracting & Hierarchies API","version":"v1.42.2","description":"The customer-facing surface for the AgentSync Contracting platform: a purpose-built,\nread-only API for producers, contracts, contract assignments, and the hierarchies those\nassignments form. Every endpoint below is under the `/v2` path prefix.\n\nEvery endpoint requires an OAuth2 client-credentials token and the scope shown on that\nendpoint. See [Authentication](https://developer.agentsync.io/api-authentication) for how to\nrequest credentials and retrieve a token,\n[API Base URLs](https://developer.agentsync.io/api-base-urls) for the sandbox and production\nhosts, and [Pagination](https://developer.agentsync.io/api-pagination) for how `page_token`\nand `page_size` behave across list endpoints.\n\nContracting and hierarchy endpoints are documented together because they share one set of\nscopes: a token carrying `contracting.contractassignments.read` reaches both. They are also\nentangled by design — a hierarchy node's key *is* a `contractAssignmentId`. Use the sidebar\ngroups to navigate: hierarchy and upline-discovery endpoints are under **Hierarchies**.\n\n## Webhook events\n\nAgentSync delivers outbound events to your configured endpoint when contracts, contract\nassignments, and hierarchy placements change. Each event is an HTTP POST whose body carries a\nunique `id`, a dot-notation `type`, and a `type`-specific `data` payload; respond `2xx` to\nacknowledge. The event types are declared under `webhooks` below.\n\nFull payload documentation — every field of every event, delivery semantics, retry behaviour\nand signature verification — lives at\n[Contracting API Webhooks](https://developer.agentsync.io/contracting-api-webhooks).\n"},"servers":[{"url":"https://api.sandbox.agentsync.io/contracting","description":"Sandbox"},{"url":"https://api.agentsync.io/contracting","description":"Production"}],"security":[{"oauth2":[]}],"tags":[{"name":"Producers","description":"Read the producers - individuals and firms - in your organization."},{"name":"Contracts","description":"Read the contracts sent from your organization."},{"name":"Contract Assignments","description":"Read contract assignments: a producer's placement against a carrier's product."},{"name":"Assignment Changes","description":"Read contract assignment changes - point-in-time snapshots of an assignment carrying the before/after status pair explicitly."},{"name":"Assigned Resources","description":"Read the carriers, products and commission levels available to your account, so your configuration can be retrieved in one call per resource. Commission levels cover both the levels assigned to your organization and the ones it owns as the carrier; carriers and products are the levels assigned to it."},{"name":"Hierarchies","description":"Read-only views of an organization's contract-assignment hierarchy and the candidates eligible to be selected as upline placements."},{"name":"Webhook Events","description":"Outbound events delivered to your configured endpoint when contracts, contract assignments, or hierarchy placements change."}],"paths":{"/v2/producers":{"get":{"tags":["Producers"],"operationId":"listProducersV2","summary":"List the calling customer's producers","description":"Returns the producers (individuals and firms) in the calling customer's organization as a\ntoken-paginated collection. Results are scoped to the caller; another customer's producers are\nnever returned.\n\nThis collection carries each producer's contracting record only. Phone numbers, the federated\nusername, and bank accounts are returned by\n[the by-id endpoint](#operation/getProducerV2), not here, because each one requires a\nper-producer lookup that cannot be performed economically across a full page.\n\n`middleName` is served here from the contracting record's own copy, which can lag the\nIdentity API. The by-id endpoint reads it live and is the accurate source.\n","security":[{"oauth2":["contracting.producers.read"]}],"parameters":[{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of producers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProducerV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `updated_since`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/producers/{producerId}":{"get":{"tags":["Producers"],"operationId":"getProducerV2","summary":"Get one of the calling customer's producers by personId or firmId","description":"Returns a single producer owned by the calling customer. A producer that does not exist or\nbelongs to another customer returns `404` (never `403`), so the endpoint does not reveal the\nexistence of out-of-scope producers.\n\nBeyond the fields on the list item, this response adds:\n\n- `phones` — the producer's phone numbers, in full. Empty when none are on file.\n- `bankAccounts` — with both the account `number` and the `routingNumber` masked to\n  `****<last4>`. The unmasked values are never returned.\n- `federatedUsername` — the producer's federated login, as issued for the calling customer.\n  Null for firms, and null where the producer has no federated login with you.\n- `middleName` — read live from the Identity API here, so it is current even when the\n  contracting record's own copy (served by the list endpoint) has not caught up.\n\n## Details this endpoint does not return\n\nThis endpoint returns a producer's contracting record. Personal and demographic details are\nowned by the **Identity API** (`https://api.agentsync.io/identity`) and retrieved there using\nthe `personId` or `firmId` from this response:\n\n| What you need | Where to retrieve it |\n|---|---|\n| `dateOfBirth`, `gender`, `preferredFirstName`, `citizenshipCountry`, `residentState`, `finraCrdNumber`, `ssnLast4` | `GET /v2/persons/{personId}` |\n| Full, unmasked `ssn` | `GET /v2/persons/{personId}/ssn` |\n| Firm `fein` | `GET /v2/firms/{firmId}/fein` |\n| Mailing and business addresses | `GET /v2/persons/{personId}/addresses`, `GET /v2/firms/{firmId}/addresses` |\n| Insurance policies (E&O) | `GET /v2/persons/{personId}/insurance-policies` |\n\nThe full SSN is deliberately a separate call rather than a field on this response: it is\nreleased only on an explicit request for it, and every access is recorded.\n","security":[{"oauth2":["contracting.producers.read"]}],"parameters":[{"name":"producerId","in":"path","required":true,"description":"The producer's `personId` (for individuals) or `firmId` (for firms), as returned by the list endpoint.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The producer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProducerDetailV2"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"No such producer for this customer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contracts":{"get":{"tags":["Contracts"],"operationId":"listContractsV2","summary":"List the calling customer's contracts","description":"Returns the contracts sent from the calling customer's organization as a token-paginated\ncollection. Results are scoped to the caller; another customer's contracts are never returned.\n","security":[{"oauth2":["contracting.contracts.read"]}],"parameters":[{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of contracts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `updated_since`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contracts/{id}":{"get":{"tags":["Contracts"],"operationId":"getContractV2","summary":"Get one of the calling customer's contracts by id","description":"Returns a single contract owned by the calling customer. A contract that does not exist or\nbelongs to another customer returns `404` (never `403`), so the endpoint does not reveal the\nexistence of out-of-scope contracts.\n","security":[{"oauth2":["contracting.contracts.read"]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The contract id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The contract.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractV2"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"No such contract for this customer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contract-assignments":{"get":{"tags":["Contract Assignments"],"operationId":"listContractAssignmentsV2","summary":"List the calling customer's contract assignments","description":"Returns the contract assignments sent from the calling customer's organization as a\ntoken-paginated collection. Results are scoped to the caller; another customer's assignments\nare never returned.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of contract assignments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `updated_since`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contract-assignments/{id}":{"get":{"tags":["Contract Assignments"],"operationId":"getContractAssignmentV2","summary":"Get one of the calling customer's contract assignments by id","description":"Returns a single contract assignment owned by the calling customer. An assignment that does\nnot exist or belongs to another customer returns `404` (never `403`), so the endpoint does not\nreveal the existence of out-of-scope assignments.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The contract assignment id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The contract assignment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentV2"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"No such contract assignment for this customer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contract-assignment-changes":{"get":{"tags":["Assignment Changes"],"operationId":"listContractAssignmentChangesV2","summary":"List the calling customer's contract assignment changes","description":"Returns the contract assignment changes for the calling customer's organization as a\ntoken-paginated collection. A change is a point-in-time snapshot of an assignment and carries\nthe before/after status pair explicitly. Results are scoped to the caller; another customer's\nchanges are never returned.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of contract assignment changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentChangeV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `updated_since`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contract-assignment-changes/{id}":{"get":{"tags":["Assignment Changes"],"operationId":"getContractAssignmentChangeV2","summary":"Get one of the calling customer's contract assignment changes by id","description":"Returns a single contract assignment change owned by the calling customer. A change that does\nnot exist or belongs to another customer returns `404` (never `403`), so the endpoint does not\nreveal the existence of out-of-scope changes.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The contract assignment change id.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The contract assignment change.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentChangeV2"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"No such contract assignment change for this customer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/assigned-carriers":{"get":{"tags":["Assigned Resources"],"operationId":"listAssignedCarriersV2","summary":"List the carriers assigned to the calling customer","description":"Returns the carriers assigned to the calling customer's account as a token-paginated\ncollection, so the customer's configuration can be read in one call. Each carrier carries its\ntype and status names inline. Results are scoped to the caller; another customer's carriers are\nnever returned.\nNote: `updated_since` filters on the carrier organization's own `updatedAt` and does not reflect\nassignment-only changes if the carrier record itself did not change.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of assigned carriers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignedCarrierV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `updated_since`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/assigned-products":{"get":{"tags":["Assigned Resources"],"operationId":"listAssignedProductsV2","summary":"List the products assigned to the calling customer","description":"Returns the products assigned to the calling customer's account as a token-paginated\ncollection, so the customer's configuration can be read in one call. Each product carries its\nline-of-business and submission-method names inline and its annualization options embedded.\nResults are scoped to the caller; another customer's products are never returned.\nNote: `updated_since` filters on the product's own `updatedAt` and does not reflect assignment-only\nchanges if the product record itself did not change.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of assigned products.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignedProductV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `updated_since`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/assigned-commission-levels":{"get":{"tags":["Assigned Resources"],"operationId":"listAssignedCommissionLevelsV2","summary":"List the commission levels available to the calling customer","description":"Returns the commission levels the calling customer can use across all of their products as a\ntoken-paginated collection, so the customer's commission configuration can be read in one\ncall. This covers both distribution and carrier callers: a commission level is included when\nit is assigned to the caller's organization, and when the caller's organization owns the\nproduct the commission level belongs to. A commission level that is both owned and assigned\nis returned once. Each row carries its product and carrier context; on an owned commission\nlevel `carrierOrganizationId` is the caller's own organization and `active` is always `true`,\nbecause ownership has no assignment record to deactivate. Results are scoped to the caller;\nanother customer's commission levels are never returned.\nNote: `updated_since` is based on the row's `modified_date` (commission-level/product updates) and\ndoes not reflect assignment-only changes if those records did not change.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of assigned commission levels.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignedCommissionLevelV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `updated_since`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/organizations/{organizationId}/hierarchies":{"get":{"tags":["Hierarchies"],"operationId":"listHierarchyNodesV2","summary":"List the hierarchy nodes for an organization","description":"Returns the organization's contract-assignment hierarchy as a token-paginated flat list of\nnodes. The node key is `contractAssignmentId` — the stable identity of a producer's\nplacement for a product — and tree linkage is `uplineContractAssignmentId` (`null` on root\nnodes). Node keys correlate with the `hierarchy.producer.*` webhook events, which link\nnodes the same way. Pass `as_of` to view the hierarchy as it existed on a historical date;\nomit it for the current state. Results are scoped to the caller's organization(s).\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"organizationId","in":"path","required":true,"description":"The organization whose hierarchy to list.","schema":{"type":"string","format":"uuid"}},{"name":"as_of","in":"query","required":false,"description":"Return the hierarchy as it existed on this date (yyyy-MM-dd). Omit for the current\nstate.\n","schema":{"type":"string","format":"date","example":"2026-06-22"}},{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"description":"A page of hierarchy nodes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HierarchyNodeV2Page"}}}},"400":{"description":"Invalid `as_of`, `page_token`, or `page_size`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"The organization does not exist or is not associated with the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contract-assignment-changes/{id}/available-uplines":{"get":{"tags":["Hierarchies"],"operationId":"listAvailableUplinesForContractAssignmentChangeV2","summary":"List the candidates eligible to be selected as an upline for a contract-assignment-change","description":"Returns the contract-assignment changes eligible to be selected as the upline for the given\ncontract-assignment-change, as a token-paginated collection. Candidates share the change's\nproduct and overlap its commission-terms window. Results are scoped to the caller's\norganization(s).\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The contract-assignment-change to find available uplines for.","schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"description":"A page of available upline candidates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableUplineChangeV2Page"}}}},"400":{"description":"Invalid `page_token` or `page_size`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"The contract-assignment-change does not exist or does not belong to the caller's organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contract-assignments/{id}/available-uplines":{"get":{"tags":["Hierarchies"],"operationId":"listAvailableUplinesForContractAssignmentV2","summary":"List the candidates eligible to be selected as an upline for a contract-assignment","description":"Returns the contract-assignment changes eligible to be selected as an upline for a new change\non the given contract-assignment over the supplied date range, as a token-paginated\ncollection. Candidates share the assignment's product and overlap the `start_date`/`end_date`\nwindow. Results are scoped to the caller's organization(s).\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The contract-assignment to find available uplines for.","schema":{"type":"string","format":"uuid"}},{"name":"start_date","in":"query","required":true,"description":"Start of the prospective change's commission-terms window. Candidates whose window is\nstill open on or after this date are included.\n","schema":{"type":"string","format":"date","example":"2026-01-01"}},{"name":"end_date","in":"query","required":false,"description":"End of the prospective change's commission-terms window. When provided, candidates whose\nwindow starts after this date are excluded.\n","schema":{"type":"string","format":"date","example":"2026-12-31"}},{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"description":"A page of available upline candidates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableUplineChangeV2Page"}}}},"400":{"description":"Missing or invalid `start_date`, or invalid `end_date`, `page_token`, or `page_size`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"The contract-assignment does not exist or does not belong to the caller's organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/products/{productId}/available-uplines":{"get":{"tags":["Hierarchies"],"operationId":"listAvailableUplinesV2","summary":"List the candidates eligible to be selected as an upline for a product","description":"Returns the currently-approved contract assignments eligible to be selected as another\ncontract assignment's upline for the given product, as a token-paginated collection.\nResults are scoped to the caller's organization(s). Optionally narrowed with `as_of` to\ncandidates whose current commission-terms window covers a given date.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"productId","in":"path","required":true,"description":"The product to find available uplines for.","schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/AsOf"}],"responses":{"200":{"description":"A page of available upline candidates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableUplineV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `as_of`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"The product does not exist or does not belong to the caller's organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/organizations/{organizationId}/products/{productId}/available-uplines":{"get":{"tags":["Hierarchies"],"operationId":"listAvailableUplinesByOrgAndProductV2","summary":"List the candidates eligible to be selected as an upline for an organization's product","description":"Returns the currently-approved contract assignments eligible to be selected as another\ncontract assignment's upline, scoped to a specific organization and product, as a\ntoken-paginated collection. Optionally narrowed with `as_of` to candidates whose current\ncommission-terms window covers a given date.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"organizationId","in":"path","required":true,"description":"The organization to find available uplines for.","schema":{"type":"string","format":"uuid"}},{"name":"productId","in":"path","required":true,"description":"The product to find available uplines for.","schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/AsOf"}],"responses":{"200":{"description":"A page of available upline candidates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableUplineV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `as_of`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"The organization does not exist or is not associated with the caller, or the product does not exist or is not visible to the caller. Note that an organization/product combination with no matching available uplines returns an empty page, not a 404.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/contract-assignments/{contractAssignmentId}/available-upline-firms":{"get":{"tags":["Hierarchies"],"operationId":"listAvailableUplineFirmsV2","summary":"List the firm candidates eligible to be the responsible upline for a contract assignment","description":"Returns the currently-approved firm contract assignments eligible to be selected as the\nresponsible upline firm for the given contract assignment, as a token-paginated collection.\nCandidates are drawn from the assignment's organization and product, restricted to firms,\nand — when the assignment's producer belongs to organization divisions — to candidates in\nthose divisions. Results are scoped to the caller's organization(s). Optionally narrowed\nwith `as_of` to candidates whose current commission-terms window covers a given date.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"contractAssignmentId","in":"path","required":true,"description":"The contract assignment to find available upline firms for.","schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/AsOf"}],"responses":{"200":{"description":"A page of available upline firm candidates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableUplineV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `as_of`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"The contract assignment does not exist or does not belong to the caller's organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v2/organizations/{organizationId}/responsible-upline-firms":{"get":{"tags":["Hierarchies"],"operationId":"listResponsibleUplineFirmsV2","summary":"List the firms responsible for upline relationships in an organization","description":"Returns the firms referenced as the responsible upline firm by at least one of the\norganization's contract assignments, as a token-paginated collection. The organization\nlookup is scoped to the caller's organization(s), so an unknown or out-of-scope\norganization returns 404. Optionally narrowed with `as_of` to firms with a referencing\nassignment whose approved commission-terms window covers a given date.\n","security":[{"oauth2":["contracting.contractassignments.read"]}],"parameters":[{"name":"organizationId","in":"path","required":true,"description":"The organization whose responsible upline firms to list.","schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/PageToken"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/AsOf"}],"responses":{"200":{"description":"A page of responsible upline firms.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponsibleUplineFirmV2Page"}}}},"400":{"description":"Invalid `page_token`, `page_size`, or `as_of`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Missing or invalid bearer token."},"403":{"description":"The bearer token is not authorized for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"The organization does not exist or does not belong to the caller's organization(s).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}},"webhooks":{"contractProducerStatusUpdated":{"post":{"security":[],"summary":"Producer Status Updated","operationId":"onContractProducerStatusUpdated","description":"Delivered when a producer's role status is created or updated within an\norganization. Fires on both the initial assignment of a status and any\nsubsequent change.\n\nThe `data.organizationId` field identifies the agency or carrier\norganization whose producer hierarchy was affected.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProducerStatusUpdatedWebhookEvent"},"example":{"id":"whe_01j8e4k2abc123def456","type":"contract.producer_status.updated","data":{"producerId":"550e8400-e29b-41d4-a716-446655440000","npn":"1234567","organizationId":"660e8400-e29b-41d4-a716-446655440001","organizationName":"Acme Insurance Agency","startDate":"2023-01-15","endDate":null,"statusId":"770e8400-e29b-41d4-a716-446655440002","statusName":"Active","active":true,"updatedAt":"2024-06-20T14:45:00Z","hireDate":"2023-01-15"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractAssignmentUpdated":{"post":{"security":[],"summary":"Contract Assignment Updated","operationId":"onContractAssignmentUpdated","description":"Delivered when a contract assignment is created or updated. This event\nfires for both new assignments and any modification to an existing\nassignment (status change, commission level change, writing number\nassignment, etc.).\n\nThe `data.agencyOrganizationId` identifies the agency that owns the\nassignment. The `data.contractAssignmentId` is stable across updates\nand can be used to correlate events for the same record.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentUpdatedWebhookEvent"},"example":{"id":"whe_01j8e4k2abc123def456","type":"contract.assignment.updated","data":{"contractAssignmentId":"550e8400-e29b-41d4-a716-446655440000","contractId":"660e8400-e29b-41d4-a716-446655440001","agencyOrganizationId":"770e8400-e29b-41d4-a716-446655440002","agencyOrganizationName":"Acme Insurance Agency","carrierOrganizationId":"880e8400-e29b-41d4-a716-446655440003","carrierOrganizationName":"Big Carrier Inc.","personId":"990e8400-e29b-41d4-a716-446655440004","personNpn":"1234567","productId":"aa0e8400-e29b-41d4-a716-446655440005","productName":"Term Life","states":["CA","TX"],"commissionLevelId":"bb0e8400-e29b-41d4-a716-446655440006","commissionLevelName":"Standard","assignmentStatus":"Active","effectiveDate":"2023-01-15","displayNumber":"CA-00001","contractDisplayNumber":"C-00042","contractAssignmentChangeIds":["dd0e8400-e29b-41d4-a716-446655440007"],"responsibleUplineFirmNpn":"7654321","uplineContractAssignment":{"id":"cc0e8400-e29b-41d4-a716-446655440008","displayNumber":"CA-00009","firmName":"Upline Agency LLC","personName":"Jane Doe"},"createdAt":"2024-06-18T09:15:00Z","updatedAt":"2024-06-20T14:45:00Z"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractAssignmentDeleted":{"post":{"security":[],"summary":"Contract Assignment Deleted","operationId":"onContractAssignmentDeleted","description":"Delivered when a contract assignment is permanently deleted. After this\nevent, the `contractAssignmentId` will no longer exist in the system.\n\nOnly the `contractAssignmentId` and `displayNumber` are included because\nno other state is meaningful once the record is gone.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentDeletedWebhookEvent"},"example":{"id":"whe_01j8e4k2abc123def456","type":"contract.assignment.deleted","data":{"contractAssignmentId":"550e8400-e29b-41d4-a716-446655440000","displayNumber":"CA-00001"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractAssignmentChangeUpdated":{"post":{"security":[],"summary":"Contract Assignment Change Updated","operationId":"onContractAssignmentChangeUpdated","description":"Delivered when a contract assignment change record is created or updated.\nA contract assignment change is a point-in-time snapshot of the desired\nstate for one or more aspects of a contract assignment (e.g. a new\ncommission level, a new upline, a status promotion).\n\nChanges are grouped into contract packets for carrier submission. The\n`data.contractPacketId` links this change to its submission packet.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentChangeUpdatedWebhookEvent"},"example":{"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"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractAssignmentChangeDeleted":{"post":{"security":[],"summary":"Contract Assignment Change Deleted","operationId":"onContractAssignmentChangeDeleted","description":"Delivered when a contract assignment change record is permanently deleted.\nAfter this event, the `contractAssignmentChangeId` will no longer exist\nin the system.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAssignmentChangeDeletedWebhookEvent"},"example":{"id":"whe_01j8e4k2abc123def456","type":"contract.assignment_change.deleted","data":{"contractAssignmentChangeId":"550e8400-e29b-41d4-a716-446655440000","contractAssignmentChangeDisplayNumber":"CAC-00001"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractPacketSubmitted":{"post":{"security":[],"summary":"Contract Packet Submitted","operationId":"onContractPacketSubmitted","description":"Delivered when a contract packet is submitted to a carrier. A contract\npacket is a collection of contract assignment changes bundled together\nfor a single carrier submission.\n\nThe `data.submissionMethod` describes how the packet was delivered (e.g.\nemail, portal, direct API). The `data.attachments` list contains the\nsubmitted documents if any were included.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractPacketSubmittedWebhookEvent"},"example":{"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"}]}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractUpdated":{"post":{"security":[],"summary":"Contract Updated","operationId":"onContractUpdated","description":"Delivered when a contract record is created or updated. A contract is\nthe underlying agreement between an agency and a carrier on behalf of a\nproducer. It groups one or more contract assignments for the same\nagency–carrier–producer combination.\n\nThis event also fires when a contract is first created.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractUpdatedWebhookEvent"},"example":{"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"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractDeleted":{"post":{"security":[],"summary":"Contract Deleted","operationId":"onContractDeleted","description":"Delivered when a contract record is permanently deleted. After this\nevent, the `contractId` will no longer exist in the system.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractDeletedWebhookEvent"},"example":{"id":"whe_01j8e4k2abc123def456","type":"contract.deleted","data":{"contractId":"550e8400-e29b-41d4-a716-446655440000"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"contractResponsiblePartyUpdated":{"post":{"security":[],"summary":"Contract Responsible Party Updated","operationId":"onContractResponsiblePartyUpdated","description":"Delivered when a contract's responsible party is created or updated. The\nresponsible party is the entity accountable for the contract over a date\nwindow; `data.startDate` and `data.endDate` bound that window\n(`endDate` is `null` when the window is open-ended).\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractResponsiblePartyUpdatedWebhookEvent"},"example":{"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","personId":"990e8400-e29b-41d4-a716-446655440004","personNpn":"1234567","startDate":"2024-06-18","endDate":null}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"hierarchyProducerAdded":{"post":{"security":[],"summary":"Hierarchy Producer Added","operationId":"onHierarchyProducerAdded","description":"Delivered when a producer is newly placed under an upline in a hierarchy.\nThe payload identifies the producer, its upline, and its commission level\nat the new placement.\n\nThe upline and commission values reflect the new placement; no prior\nvalue is included.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HierarchyProducerAddedWebhookEvent"},"example":{"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"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"hierarchyProducerChanged":{"post":{"security":[],"summary":"Hierarchy Producer Changed","operationId":"onHierarchyProducerChanged","description":"Delivered when an existing producer's hierarchy position changes - its\nupline and/or its commission level. The `data.changedFields` array lists\nwhich dimensions changed (`upline`, `commissionLevel`).\n\nThe upline and commission values reflect the new placement; no prior\nvalue is included.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HierarchyProducerChangedWebhookEvent"},"example":{"id":"whe_01j8e4k2abc123def456","type":"hierarchy.producer.changed","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 B","assignmentStatusName":"Active","effectiveDate":"2024-06-20","changedFields":["upline","commissionLevel"],"createdAt":"2024-06-18T09:15:00Z","updatedAt":"2024-06-20T14:45:00Z"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}},"hierarchyProducerRelationshipTerminated":{"post":{"security":[],"summary":"Hierarchy Producer Relationship Terminated","operationId":"onHierarchyProducerRelationshipTerminated","description":"Delivered when a producer's hierarchy relationship ends - its contract\nassignment transitions into a terminal status. The `data.terminationReason`\nis the terminal status name (e.g. `Terminated`, `Expired`, `Declined`) and\n`data.terminationDate` is the date the relationship ended.\n\nThe upline and commission values reflect the placement as it existed when\nthe relationship ended.\n","tags":["Webhook Events"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HierarchyProducerRelationshipTerminatedWebhookEvent"},"example":{"id":"whe_01j8e4k2abc123def456","type":"hierarchy.producer.relationship.terminated","data":{"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","uplineContractAssignment":{"id":"dd0e8400-e29b-41d4-a716-446655440007","displayNumber":"CA-00009","firmName":"Upline Agency LLC","personName":"Jane Doe"},"commissionLevelId":"ee0e8400-e29b-41d4-a716-446655440010","commissionLevelName":"Level A","terminationReason":"Terminated","terminationDate":"2024-07-01","createdAt":"2024-06-18T09:15:00Z","updatedAt":"2024-07-01T14:45:00Z"}}}}},"responses":{"200":{"description":"Customer endpoint acknowledged the event."}}}}},"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 client credentials. The `tokenUrl` below is the SANDBOX token endpoint; for production use `https://auth.agentsync.io/oauth2/token`. OpenAPI 3.1 permits only one token URL per flow, so both cannot be expressed here - see https://developer.agentsync.io/api-authentication for the full environment table, how to request credentials, and worked token-retrieval examples.\n","flows":{"clientCredentials":{"tokenUrl":"https://auth.sandbox.agentsync.io/oauth2/token","scopes":{"contracting.producers.read":"Read producers.","contracting.contracts.read":"Read contracts.","contracting.contractassignments.read":"Read contract assignments, assignment changes, assigned carriers, products and commission levels, available uplines, responsible upline firms, and hierarchies.\n"}}}}},"parameters":{"PageToken":{"name":"page_token","in":"query","required":false,"description":"Opaque continuation token from a previous response's `page.nextToken`. Omit for the first\npage.\n","schema":{"type":"string"}},"PageSize":{"name":"page_size","in":"query","required":false,"description":"Maximum number of items to return. Defaults to 25; values outside `[1, 250]` are rejected\nwith `400` (not clamped).\n","schema":{"type":"integer","minimum":1,"maximum":250,"default":25}},"UpdatedSince":{"name":"updated_since","in":"query","required":false,"description":"Return only contracts modified at or after this RFC3339 UTC timestamp (inclusive). Modified\ntime tracks any column change, so \"modified\" does not necessarily mean a\nbusiness-meaningful change. Best used as a high-water mark for incremental sync: a pagination\nrun is not a point-in-time snapshot, so records updated mid-run may first appear on a later poll.\n","schema":{"type":"string","format":"date-time","example":"2026-06-01T00:00:00Z"}},"AsOf":{"name":"as_of","in":"query","required":false,"description":"Narrow results to candidates whose current commission-terms window covers this date\n(inclusive). Omit to return all eligible candidates regardless of window.\n","schema":{"type":"string","format":"date","example":"2026-06-22"}}},"schemas":{"ContractV2":{"type":"object","description":"A contract sent from an agency to a carrier on behalf of a producer.","properties":{"id":{"type":"string","format":"uuid","description":"The contract id."},"agencyOrganizationId":{"type":"string","format":"uuid","description":"The agency organization the contract is sent from."},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The carrier organization the contract is sent to."},"personId":{"type":"string","format":"uuid","description":"The individual producer the contract is on behalf of."},"firmId":{"type":"string","format":"uuid","description":"The firm the contract is on behalf of, if any."},"responsibleUplineFirmId":{"type":"string","format":"uuid","description":"The upline firm responsible for the contract, if any."},"assignmentStatusId":{"type":"string","format":"uuid","description":"The contract's assignment status id."},"assignmentStatusName":{"type":"string","description":"The human-readable assignment status (inlined so no follow-up lookup is needed)."},"active":{"type":"boolean","description":"Whether the contract is currently active based on its assignments."},"effectiveDate":{"type":"string","format":"date","description":"The effective date of the contract (yyyy-MM-dd)."},"endDate":{"type":"string","format":"date","description":"The end date of the contract (yyyy-MM-dd)."},"displayNumber":{"type":"string","description":"The human-readable contract number."},"parentContractId":{"type":"string","format":"uuid","description":"The parent contract id, if this is a subsidiary contract."},"contractResponsibleParties":{"type":"array","description":"The contract's responsible-party windows, ordered by `startDate` ascending. An empty array\nwhen the contract has no responsible party.\n\nThis is the contract's full responsible-party history, which is expected to stay small (a\nhandful of windows per contract) and is embedded rather than paginated.\n","items":{"$ref":"#/components/schemas/ContractResponsiblePartyV2"}},"createdAt":{"type":"string","format":"date-time","description":"RFC3339 UTC creation timestamp."},"updatedAt":{"type":"string","format":"date-time","description":"RFC3339 UTC last-modified timestamp."},"userDefined1":{"type":"string"},"userDefined2":{"type":"string"},"userDefined3":{"type":"string"},"userDefined4":{"type":"string"},"userDefined5":{"type":"string"},"userDefined6":{"type":"string"},"userDefined7":{"type":"string"},"userDefined8":{"type":"string"},"userDefined9":{"type":"string"},"userDefined10":{"type":"string"}},"required":["id","agencyOrganizationId","carrierOrganizationId","personId","active","displayNumber","contractResponsibleParties"]},"ContractResponsiblePartyV2":{"type":"object","description":"One responsible-party window on a contract. Both bounds are inclusive. Windows never share a day:\nback-to-back windows are written with the next window's `startDate` one day after the previous\nwindow's `endDate`. The one exception is a window whose `startDate` equals its `endDate`, which is a\nretired record rather than a live one-day assignment and overlaps nothing. To resolve who is\nresponsible on a given day, ignore windows where `startDate` equals `endDate`; if two windows written\nbefore this rule share a boundary day, prefer the window that starts that day over the one that ends\nit. The current window is the one with no `endDate`; there is at most one per contract.\n","properties":{"id":{"type":"string","format":"uuid","description":"The responsible-party window id."},"responsiblePartyId":{"type":"string","format":"uuid","description":"The person responsible for the contract during this window."},"startDate":{"type":"string","format":"date","description":"The first day the responsible party is responsible (yyyy-MM-dd)."},"endDate":{"type":["string","null"],"format":"date","description":"The last day the responsible party is responsible (yyyy-MM-dd). Absent on the current,\nopen-ended window.\n"}},"required":["id","responsiblePartyId","startDate"]},"ProducerV2":{"type":"object","description":"A producer in the calling customer's organization. A producer is either an individual\n(`type` = `AGENT`, identified by `personId`) or a firm (`type` = `FIRM`, identified by\n`firmId`); fields that do not apply to the other kind are null.\n","properties":{"type":{"type":"string","description":"The producer kind.","enum":["AGENT","FIRM"]},"personId":{"type":"string","format":"uuid","description":"The individual's id (null for firms)."},"firmId":{"type":"string","format":"uuid","description":"The firm's id (null for individuals)."},"firstName":{"type":"string","description":"The individual's first name (null for firms)."},"middleName":{"type":"string","description":"The individual's middle name (null for firms). On this list item it comes from the\ncontracting record's own copy, which can lag the Identity API; the by-id endpoint reads\nit live.\n"},"lastName":{"type":"string","description":"The individual's last name (null for firms)."},"suffix":{"type":"string"},"firmName":{"type":"string","description":"The firm's name (null for individuals)."},"npn":{"type":"string","description":"National Producer Number."},"email":{"type":"string","description":"The individual's email (null for firms)."},"organizationId":{"type":"string","format":"uuid"},"organizationName":{"type":"string"},"roleName":{"type":"string"},"statusId":{"type":"string","format":"uuid"},"statusName":{"type":"string","description":"The human-readable producer status (inlined). Null for firms, which carry no status."},"active":{"type":"boolean","description":"Whether the producer is active. Always true for firms."},"divisions":{"type":"array","items":{"type":"string"}},"userDefined1":{"type":"string"},"userDefined2":{"type":"string"},"userDefined3":{"type":"string"},"userDefined4":{"type":"string"},"userDefined5":{"type":"string"},"userDefined6":{"type":"string"},"userDefined7":{"type":"string"},"userDefined8":{"type":"string"},"userDefined9":{"type":"string"},"userDefined10":{"type":"string"},"createdAt":{"type":"string","format":"date-time","description":"RFC3339 UTC creation timestamp."},"updatedAt":{"type":"string","format":"date-time","description":"RFC3339 UTC last-modified timestamp."}},"required":["type"]},"ProducerV2Page":{"type":"object","description":"A token-paginated page of producers (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProducerV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"ProducerDetailV2":{"description":"A single producer in the calling customer's organization. Carries the same fields as the list\nitem plus `phones`, `federatedUsername`, and `bankAccounts`, and serves a live `middleName`.\nPersonal and demographic details such as date of birth, SSN, and addresses are not part of a\ncontracting record and are retrieved from the Identity API.\n","allOf":[{"$ref":"#/components/schemas/ProducerV2"},{"type":"object","properties":{"middleName":{"type":"string","description":"The individual's middle name (null for firms), read live from the Identity API so it\nis current even when the contracting record's own copy has not caught up.\n"},"bankAccounts":{"type":"array","description":"The producer's bank accounts. Account and routing numbers are masked.","items":{"$ref":"#/components/schemas/ProducerBankAccountV2"}},"phones":{"type":"array","description":"The producer's phone numbers.","items":{"$ref":"#/components/schemas/ProducerPhoneV2"}},"federatedUsername":{"type":"string","description":"The producer's federated login username for the calling customer. Null when the\nproducer has no federated login, and always null for firms.\n"}}}]},"ProducerPhoneV2":{"type":"object","description":"A producer's phone number.","properties":{"id":{"type":"string","format":"uuid"},"number":{"type":"string","example":"5551234567"},"extension":{"type":"string"},"type":{"type":"string","description":"The phone kind.","enum":["CELL","BUSINESS","RESIDENT","FAX"]},"preferred":{"type":"boolean","description":"Whether this is the producer's preferred number."}}},"ProducerBankAccountV2":{"type":"object","description":"A producer's bank account. The account and routing numbers are masked to `****<last4>`.","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","description":"The account type.","enum":["CHECKING","SAVINGS","CREDIT_UNION"]},"bankName":{"type":"string"},"nickname":{"type":"string"},"holderName":{"type":"string"},"number":{"type":"string","description":"Account number masked to `****<last4>`.","example":"****7890"},"routingNumber":{"type":"string","description":"Routing number masked to `****<last4>`.","example":"****0021"}}},"ContractV2Page":{"type":"object","description":"A token-paginated page of contracts (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContractV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"UplineContractAssignmentV2":{"type":"object","description":"Identity of the assignment's upline, surfaced as part of the caller's own hierarchy.\n","properties":{"id":{"type":"string","format":"uuid","description":"The upline contract assignment id."},"displayNumber":{"type":"string","description":"The upline assignment's human-readable number."},"firmName":{"type":"string","description":"The upline's firm name, if the upline is a firm."},"personName":{"type":"string","description":"The upline's person name, if the upline is an individual producer."}},"required":["id"]},"AvailableUplineV2":{"type":"object","description":"A currently-approved contract assignment eligible to be selected as an upline.","properties":{"contractAssignmentId":{"type":"string","format":"uuid"},"firstName":{"type":"string"},"lastName":{"type":"string"},"suffix":{"type":"string"},"firmId":{"type":"string","format":"uuid"},"firmName":{"type":"string","description":"The candidate's firm name, if the candidate is a firm."},"personId":{"type":"string","format":"uuid"},"npn":{"type":"string"},"writingNumber":{"type":"string"},"levelOfCommission":{"type":"number"},"annualizationProportion":{"type":"number"},"productId":{"type":"string","format":"uuid"},"testAccount":{"type":"boolean"},"commissionLevelName":{"type":"string"}},"required":["contractAssignmentId"]},"AvailableUplineV2Page":{"type":"object","description":"A token-paginated page of available upline candidates (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AvailableUplineV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"AvailableUplineChangeV2":{"type":"object","description":"A contract-assignment change eligible to be selected as an upline, scoped to a\ncontract-assignment or contract-assignment-change.\n","properties":{"contractAssignmentChangeId":{"type":"string","format":"uuid"},"contractAssignmentId":{"type":"string","format":"uuid"},"firstName":{"type":"string"},"lastName":{"type":"string"},"suffix":{"type":"string"},"firmId":{"type":"string","format":"uuid"},"firmName":{"type":"string","description":"The candidate's firm name, if the candidate is a firm."},"personId":{"type":"string","format":"uuid"},"fromOrganizationId":{"type":"string","format":"uuid"},"npn":{"type":"string"},"writingNumber":{"type":"string"},"levelOfCommission":{"type":"number"},"annualizationProportion":{"type":"number"},"productId":{"type":"string","format":"uuid"},"testAccount":{"type":"boolean"},"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date"},"commissionLevelName":{"type":"string"},"contractAssignmentChangeDisplayNumber":{"type":"string"}},"required":["contractAssignmentChangeId"]},"AvailableUplineChangeV2Page":{"type":"object","description":"A token-paginated page of available upline candidates (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AvailableUplineChangeV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"ResponsibleUplineFirmV2":{"type":"object","description":"A firm responsible for upline relationships in an organization.","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"npn":{"type":"string"},"fein":{"type":"string"},"testAccount":{"type":"boolean"}},"required":["id"]},"ResponsibleUplineFirmV2Page":{"type":"object","description":"A token-paginated page of responsible upline firms (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ResponsibleUplineFirmV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"ContractAssignmentV2":{"type":"object","description":"A producer's assignment to a carrier product, with its commission level and status.","properties":{"id":{"type":"string","format":"uuid","description":"The contract assignment id."},"contractId":{"type":"string","format":"uuid","description":"The parent contract id."},"agencyOrganizationId":{"type":"string","format":"uuid","description":"The agency organization the assignment is sent from."},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The carrier organization the assignment is sent to."},"personId":{"type":"string","format":"uuid","description":"The individual producer the assignment is on behalf of."},"firmId":{"type":"string","format":"uuid","description":"The firm the assignment is on behalf of, if any."},"productId":{"type":"string","format":"uuid"},"productName":{"type":"string","description":"The product name (inlined so no follow-up lookup is needed)."},"commissionLevelId":{"type":"string","format":"uuid"},"commissionLevelName":{"type":"string","description":"The commission level name (inlined)."},"assignmentStatusId":{"type":"string","format":"uuid"},"assignmentStatusName":{"type":"string","description":"The human-readable assignment status (the event names this `assignmentStatus`)."},"displayNumber":{"type":"string","description":"The human-readable assignment number."},"writingNumber":{"type":"string"},"effectiveOn":{"type":"string","format":"date","description":"The effective date (yyyy-MM-dd)."},"requestedEffectiveOn":{"type":"string","format":"date","description":"The requested effective date (yyyy-MM-dd)."},"expiresOn":{"type":"string","format":"date","description":"The expiration date (yyyy-MM-dd). Renamed from the entity's `expiry`."},"responsiblePartyId":{"type":"string","format":"uuid"},"responsibleUplineFirmId":{"type":"string","format":"uuid"},"responsiblePartyStartOn":{"type":"string","format":"date"},"responsiblePartyEndOn":{"type":"string","format":"date"},"referralCodes":{"type":"array","items":{"type":"string"}},"debitBalance":{"type":"number"},"externalNotes":{"type":"string"},"uplineContractAssignment":{"$ref":"#/components/schemas/UplineContractAssignmentV2"},"createdAt":{"type":"string","format":"date-time","description":"RFC3339 UTC creation timestamp."},"updatedAt":{"type":"string","format":"date-time","description":"RFC3339 UTC last-modified timestamp."},"userDefined1":{"type":"string"},"userDefined2":{"type":"string"},"userDefined3":{"type":"string"},"userDefined4":{"type":"string"},"userDefined5":{"type":"string"},"userDefined6":{"type":"string"},"userDefined7":{"type":"string"},"userDefined8":{"type":"string"},"userDefined9":{"type":"string"},"userDefined10":{"type":"string"}},"required":["id","contractId","agencyOrganizationId","carrierOrganizationId","personId","productId","commissionLevelId","displayNumber"]},"ContractAssignmentV2Page":{"type":"object","description":"A token-paginated page of contract assignments (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContractAssignmentV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"UplineContractAssignmentChangeV2":{"type":"object","description":"Identity of the change's upline change, surfaced as part of the caller's own hierarchy.\n`id` and `contractAssignmentId` are two different resources: the upline change, and the\ncontract assignment that change belongs to.\n","properties":{"id":{"type":"string","format":"uuid","description":"The upline contract assignment change id."},"contractAssignmentId":{"type":"string","format":"uuid","description":"The contract assignment the upline change belongs to - the upline's own assignment, not this change's. Always present when this object is."},"displayNumber":{"type":"string","description":"The upline change's human-readable number."},"firmName":{"type":"string","description":"The upline's firm name, if the upline is a firm."},"personName":{"type":"string","description":"The upline's person name, if the upline is an individual producer."}},"required":["id"]},"ContractAssignmentChangeV2":{"type":"object","description":"A point-in-time change to a contract assignment. `assignmentStatus*` is the change's own\nstatus. `effectiveOn`/`expiresOn` are the assignment's contractual terms, while\n`snapshotStartOn`/`snapshotEndOn` are the window during which this change represented the\nassignment's state.\n","properties":{"id":{"type":"string","format":"uuid","description":"The contract assignment change id."},"contractAssignmentId":{"type":"string","format":"uuid","description":"The assignment this change applies to."},"contractId":{"type":"string","format":"uuid","description":"The parent contract id."},"agencyOrganizationId":{"type":"string","format":"uuid","description":"The agency organization the assignment is sent from."},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The carrier organization the assignment is sent to."},"personId":{"type":"string","format":"uuid","description":"The individual producer the assignment is on behalf of."},"firmId":{"type":"string","format":"uuid","description":"The firm the assignment is on behalf of, if any."},"productId":{"type":"string","format":"uuid"},"productName":{"type":"string","description":"The product name (inlined so no follow-up lookup is needed)."},"assignmentStatusId":{"type":"string","format":"uuid","description":"The change's status."},"assignmentStatusName":{"type":"string","description":"The human-readable change status (inlined)."},"newCommissionLevelId":{"type":"string","format":"uuid"},"newCommissionLevelName":{"type":"string","description":"The new commission level name (inlined)."},"newAnnualizationId":{"type":"string","format":"uuid"},"contractPacketId":{"type":"string","format":"uuid"},"taskTypeName":{"type":"string","description":"The task type intended by this change."},"displayNumber":{"type":"string","description":"The human-readable change number."},"writingNumber":{"type":"string"},"effectiveOn":{"type":"string","format":"date","description":"The assignment's contractual effective date (yyyy-MM-dd)."},"expiresOn":{"type":"string","format":"date","description":"The assignment's contractual expiration date (yyyy-MM-dd)."},"snapshotStartOn":{"type":"string","format":"date","description":"Start of the window this change represented the assignment's state (yyyy-MM-dd)."},"snapshotEndOn":{"type":"string","format":"date","description":"End of the window this change represented the assignment's state (yyyy-MM-dd)."},"referralCodes":{"type":"array","items":{"type":"string"}},"title":{"type":"string"},"externalNotes":{"type":"string"},"uplineContractAssignmentChange":{"$ref":"#/components/schemas/UplineContractAssignmentChangeV2"},"createdAt":{"type":"string","format":"date-time","description":"RFC3339 UTC creation timestamp."},"updatedAt":{"type":"string","format":"date-time","description":"RFC3339 UTC last-modified timestamp."},"userDefined1":{"type":"string"},"userDefined2":{"type":"string"},"userDefined3":{"type":"string"},"userDefined4":{"type":"string"},"userDefined5":{"type":"string"},"userDefined6":{"type":"string"},"userDefined7":{"type":"string"},"userDefined8":{"type":"string"},"userDefined9":{"type":"string"},"userDefined10":{"type":"string"}},"required":["id","contractAssignmentId","contractId","agencyOrganizationId","carrierOrganizationId","personId","productId","displayNumber"]},"ContractAssignmentChangeV2Page":{"type":"object","description":"A token-paginated page of contract assignment changes (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContractAssignmentChangeV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"AssignedCarrierV2":{"type":"object","description":"A carrier assigned to the calling customer's account.","properties":{"id":{"type":"string","format":"uuid","description":"The carrier's identifier."},"name":{"type":"string"},"tin":{"type":"string","description":"Tax identification number."},"npn":{"type":"string","description":"National Producer Number."},"naic":{"type":"string","description":"NAIC code."},"coCode":{"type":"integer","format":"int64","description":"NAIC company code."},"typeId":{"type":"string","format":"uuid"},"typeName":{"type":"string","description":"The carrier's organization type (inlined)."},"statusId":{"type":"string","format":"uuid"},"statusName":{"type":"string","description":"The carrier's status (inlined)."},"createdAt":{"type":"string","format":"date-time","description":"RFC3339 UTC creation timestamp."},"updatedAt":{"type":"string","format":"date-time","description":"RFC3339 UTC last-modified timestamp."}},"required":["id","name"]},"AssignedCarrierV2Page":{"type":"object","description":"A token-paginated page of assigned carriers (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AssignedCarrierV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"AssignedProductAnnualizationV2":{"type":"object","description":"An annualization option available on an assigned product.","properties":{"id":{"type":"string","format":"uuid"},"proportion":{"type":"number","description":"The annualization proportion."},"name":{"type":"string","description":"The human-readable annualization label."}}},"AssignedProductV2":{"type":"object","description":"A product assigned to the calling customer's account.","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"organizationId":{"type":"string","format":"uuid","description":"The owning carrier organization's id."},"organizationName":{"type":"string","description":"The owning carrier organization's name (inlined)."},"lineOfBusinessId":{"type":"string","format":"uuid"},"lineOfBusinessName":{"type":"string","description":"The line of business (inlined)."},"submissionMethodId":{"type":"string","format":"uuid"},"submissionMethodName":{"type":"string","description":"The submission method (inlined)."},"annualizationType":{"type":"string"},"maxAnnualizationAmount":{"type":"number"},"annualizationExpiry":{"type":"string","format":"date"},"annualizations":{"type":"array","description":"The annualization options available on this product.","items":{"$ref":"#/components/schemas/AssignedProductAnnualizationV2"}},"expiry":{"type":"string","format":"date"},"expired":{"type":"boolean","description":"Whether the product is past its expiry date."},"displayCommissionLevelPercentages":{"type":"boolean"},"userDefined1":{"type":"string"},"userDefined2":{"type":"string"},"userDefined3":{"type":"string"},"userDefined4":{"type":"string"},"userDefined5":{"type":"string"},"userDefined6":{"type":"string"},"userDefined7":{"type":"string"},"userDefined8":{"type":"string"},"userDefined9":{"type":"string"},"userDefined10":{"type":"string"},"createdAt":{"type":"string","format":"date-time","description":"RFC3339 UTC creation timestamp."},"updatedAt":{"type":"string","format":"date-time","description":"RFC3339 UTC last-modified timestamp."}},"required":["id","name"]},"AssignedProductV2Page":{"type":"object","description":"A token-paginated page of assigned products (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AssignedProductV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"AssignedCommissionLevelV2":{"type":"object","description":"A commission level the calling customer can use - assigned to their organization, or owned by it as the carrier - with its product and carrier context.","properties":{"id":{"type":"string","format":"uuid","description":"Stable identifier for this row, derived from the organization, product and commission level."},"commissionLevelId":{"type":"string","format":"uuid"},"commissionLevelName":{"type":"string"},"type":{"type":"string","description":"The commission level type.","enum":["Percent","Dollar","Number"]},"firstYearValue":{"type":"number"},"level":{"type":"number"},"renewalPercentage":{"type":"number"},"renewalName":{"type":"string"},"productId":{"type":"string","format":"uuid"},"productName":{"type":"string"},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The organization that owns the product. Equals the caller's own organization on a commission level the caller owns rather than is assigned."},"carrierOrganizationName":{"type":"string"},"active":{"type":"boolean","description":"Whether the commission-level assignment is active. Always `true` on a commission level the caller owns, which has no assignment record to deactivate."},"createdAt":{"type":"string","format":"date-time","description":"RFC3339 UTC creation timestamp."},"updatedAt":{"type":"string","format":"date-time","description":"RFC3339 UTC last-modified timestamp."}},"required":["id","commissionLevelId"]},"AssignedCommissionLevelV2Page":{"type":"object","description":"A token-paginated page of the commission levels available to the caller (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AssignedCommissionLevelV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"HierarchyNodeV2":{"type":"object","description":"A node in an organization's contract-assignment hierarchy, decoupled from the internal\nContracting domain models. The node key is `contractAssignmentId`; `uplineContractAssignmentId`\nlinks to the parent node and is null on root nodes. Reference names are inlined next to\ntheir ids. `active` is computed over the tree — a node is inactive when its own status is\ninactive or any node above it is. A node represents either an individual (`type` = `AGENT`,\nidentified by `personId`) or a firm (`type` = `FIRM`, identified by `firmId`); the\nidentifier that does not apply to the node's kind is null.\n","properties":{"contractAssignmentId":{"type":"string","format":"uuid","description":"The node's key — the stable identity of a producer's placement for a product."},"uplineContractAssignmentId":{"type":"string","format":"uuid","description":"The parent node's contractAssignmentId, or null for root nodes."},"producerName":{"type":"string","description":"The producer or organization at this position."},"type":{"type":["string","null"],"description":"The producer kind at this position. Null when the position identifies neither an\nindividual nor a firm.\n","enum":["AGENT","FIRM",null]},"personId":{"type":"string","format":"uuid","description":"The individual's id (null for firms)."},"firmId":{"type":"string","format":"uuid","description":"The firm's id (null for individuals)."},"npn":{"type":"string","description":"National Producer Number of the individual or firm at this position."},"productId":{"type":"string","format":"uuid"},"productName":{"type":"string","description":"The product name (inlined so no follow-up lookup is needed)."},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The carrier organization the assignment is sent to. Matches the\n`carrierOrganizationId` reported for the same assignment by the contracts,\ncontract-assignments and contract-assignment-changes endpoints.\n"},"carrierOrganizationName":{"type":"string","description":"The carrier organization name (inlined so no follow-up lookup is needed)."},"assignmentStatusId":{"type":"string","format":"uuid"},"assignmentStatusName":{"type":"string","description":"The human-readable assignment status (inlined)."},"commissionLevelId":{"type":"string","format":"uuid"},"commissionLevelName":{"type":"string","description":"The commission level name (inlined)."},"commissionLevel":{"type":"number","description":"The commission level's numeric value."},"stateAbbreviations":{"type":"array","items":{"type":"string"},"description":"States this position is contracted for."},"writingNumber":{"type":"string","description":"Carrier-assigned writing number, if applicable."},"effectiveOn":{"type":"string","format":"date","description":"The assignment's contractual effective date (yyyy-MM-dd)."},"expiresOn":{"type":"string","format":"date","description":"The assignment's contractual expiration date (yyyy-MM-dd)."},"active":{"type":"boolean","description":"Whether this position is active, computed over the tree."},"partnershipId":{"type":"string","format":"uuid","description":"The partnership holding this contract, when its commission is split across partnership\nmembers. Absent on nodes whose contract is held by a single producer.\n"},"partnershipName":{"type":"string","description":"The partnership's name (inlined). Absent when the node has no partnership."},"partnershipActive":{"type":"boolean","description":"Whether the partnership is still current. A dissolved partnership is still reported —\nits splits are what explain an in-force assignment's commission — so use this flag\nrather than the presence of `commissionSplits` to tell whether the arrangement is\nactive. Always absent when the node has no partnership, and may be absent even when it\ndoes if the partnership's state was never recorded; treat absent as unknown rather than\nas inactive.\n"},"commissionSplits":{"type":"array","items":{"$ref":"#/components/schemas/CommissionSplitV2"},"description":"How the commission earned on this node is divided across the partnership's members.\nAlways present; empty on nodes whose contract is not held by a partnership.\n"}},"required":["contractAssignmentId","active","commissionSplits"]},"CommissionSplitV2":{"type":"object","description":"One partnership member's share of the commission earned on a hierarchy node. Splits are not\neffective-dated internally, so — unlike the rest of the node — they reflect the\npartnership's current state rather than the requested `as_of` date.\n","properties":{"personId":{"type":"string","format":"uuid","description":"The member this share belongs to."},"producerName":{"type":"string","description":"The member's name (inlined). Partnership members are always individuals."},"splitPercentage":{"type":"number","description":"The member's share as a proportion in `[0, 1]` — a 60/40 split is reported as `0.60`\nand `0.40`. The shares of a fully-allocated partnership sum to exactly `1`, but this is\nnot guaranteed: only an upper bound of 100% is enforced internally, so a partially\nallocated partnership's shares sum to less than `1`.\n","example":0.6},"primary":{"type":"boolean","description":"Whether this is the partnership's primary partner. Exactly one member is primary, and\nit is listed first.\n"}},"required":["personId","splitPercentage","primary"]},"HierarchyNodeV2Page":{"type":"object","description":"A token-paginated page of hierarchy nodes (plain envelope, no HAL wrappers).","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/HierarchyNodeV2"}},"page":{"$ref":"#/components/schemas/PageInfo"}},"required":["items","page"]},"PageInfo":{"type":"object","description":"Pagination metadata for a V2 list response.","properties":{"size":{"type":"integer","description":"Number of items returned in this response (equal to items.length)."},"nextToken":{"type":["string","null"],"description":"Opaque continuation token for the next page, or null on the last page."}},"required":["size","nextToken"]},"ApiError":{"type":"object","description":"The AgentSync error shape.","properties":{"message":{"type":"string","description":"A human-readable description of the error."},"details":{"type":"array","description":"Optional field-level details.","items":{"type":"object","properties":{"param":{"type":"string"},"message":{"type":"string"}}}}},"required":["message"]},"WebhookEventEnvelope":{"title":"WebhookEventEnvelope","type":"object","description":"Common wrapper present on every outbound webhook event. The `data` field\nis polymorphic; its schema depends on the value of `type`.\n","required":["id","type"],"properties":{"id":{"type":"string","description":"Globally unique event identifier. Uses the TypeID format with the\nprefix `whe_` followed by a UUIDv7-derived suffix\n(e.g. `whe_01j8e4k2abc123def456`). Use this field to deduplicate\ndeliveries if your endpoint receives the same event more than once.\n","example":"whe_01j8e4k2abc123def456"},"type":{"type":"string","description":"Dot-notation event type string. Use this field to route the event to\nthe appropriate handler in your integration.\n","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"]}}},"ProducerStatusUpdatedData":{"title":"ProducerStatusUpdatedData","type":"object","description":"Payload for the `contract.producer_status.updated` event.","required":["producerId","organizationId","organizationName","startDate","statusId","statusName","active"],"properties":{"producerId":{"type":"string","format":"uuid","description":"The unique identifier of the producer.","example":"550e8400-e29b-41d4-a716-446655440000"},"npn":{"type":["string","null"],"description":"The National Producer Number of the producer.","example":"1234567"},"organizationId":{"type":"string","format":"uuid","description":"The unique identifier of the organization which the producer's role and status has been updated for.","example":"660e8400-e29b-41d4-a716-446655440001"},"organizationName":{"type":"string","description":"The name of the organization which the producer's role and status has been updated for.","example":"Acme Insurance Agency"},"startDate":{"type":"string","format":"date","description":"The date of when the producer started with their organization. Format: yyyy-MM-dd","example":"2023-01-15"},"endDate":{"type":["string","null"],"format":"date","description":"The date of when the producer ended with their organization. Format: yyyy-MM-dd","example":null},"statusId":{"type":"string","format":"uuid","description":"The unique identifier of the status of the producer.","example":"770e8400-e29b-41d4-a716-446655440002"},"statusName":{"type":"string","description":"The name of the status of the producer.","example":"Active"},"active":{"type":"boolean","description":"Denotes if the producer is currently active with their organization.","example":true},"updatedAt":{"type":["string","null"],"format":"date-time","description":"Timestamp of when this record was last updated. Format: yyyy-MM-dd'T'HH:mm:ss'Z'","example":"2024-06-20T14:45:00Z"},"hireDate":{"type":["string","null"],"format":"date","description":"The date the producer was hired by their organization. Format: yyyy-MM-dd","example":"2023-01-15"}}},"ProducerStatusUpdatedWebhookEvent":{"title":"ProducerStatusUpdatedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ProducerStatusUpdatedData"}}}]},"UplineContractAssignmentEventData":{"title":"UplineContractAssignmentEventData","type":"object","description":"Curated, single-level identity of a contract assignment's upline. 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.","example":"cc0e8400-e29b-41d4-a716-446655440008"},"displayNumber":{"type":["string","null"],"description":"The display number of the upline contract assignment.","example":"CA-00009"},"firmName":{"type":["string","null"],"description":"The firm name of the upline contract assignment.","example":"Upline Agency LLC"},"personName":{"type":["string","null"],"description":"The person name of the upline contract assignment.","example":"Jane Doe"}}},"ContractAssignmentUpdatedData":{"title":"ContractAssignmentUpdatedData","type":"object","description":"Payload for the `contract.assignment.updated` event.","required":["contractAssignmentId","contractId","agencyOrganizationId","agencyOrganizationName","carrierOrganizationId","carrierOrganizationName","personId","productId","productName","states","commissionLevelId","commissionLevelName","assignmentStatus","displayNumber"],"properties":{"contractAssignmentId":{"type":"string","format":"uuid","description":"The unique identifier of the contract assignment.","example":"550e8400-e29b-41d4-a716-446655440000"},"contractId":{"type":"string","format":"uuid","description":"The unique identifier of the contract the assignment belongs to.","example":"660e8400-e29b-41d4-a716-446655440001"},"agencyOrganizationId":{"type":"string","format":"uuid","description":"The unique identifier of the agency organization which the contract is sent from.","example":"770e8400-e29b-41d4-a716-446655440002"},"agencyOrganizationName":{"type":"string","description":"The name of the agency organization which the contract is sent from.","example":"Acme Insurance Agency"},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The unique identifier of the carrier organization which the contract is sent to.","example":"880e8400-e29b-41d4-a716-446655440003"},"carrierOrganizationName":{"type":"string","description":"The name of the carrier organization which the contract is sent to.","example":"Big Carrier Inc."},"personId":{"type":"string","format":"uuid","description":"The unique identifier of the individual producer which the contract is sent on behalf of.","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 which the contract is sent on behalf of.","example":null},"firmNpn":{"type":["string","null"],"description":"The National Producer Number of the firm.","example":null},"productId":{"type":"string","format":"uuid","description":"The unique identifier of the carrier product assigned to this contract with the agency.","example":"aa0e8400-e29b-41d4-a716-446655440005"},"productName":{"type":"string","description":"The name of the carrier product assigned to this contract with the agency.","example":"Term Life"},"states":{"type":"array","items":{"type":"string"},"description":"The list of states the contract assignment will be covering.","example":["CA","TX"]},"commissionLevelId":{"type":"string","format":"uuid","description":"The unique identifier of the product's commission level assigned to this contract.","example":"bb0e8400-e29b-41d4-a716-446655440006"},"commissionLevelName":{"type":"string","description":"The name of the product's commission level assigned to this contract.","example":"Standard"},"assignmentStatus":{"type":"string","description":"The status of the contract assignment.","example":"Active"},"effectiveDate":{"type":["string","null"],"format":"date","description":"The effective date of the contract assignment. Format: yyyy-MM-dd","example":"2023-01-15"},"requestedEffectiveDate":{"type":["string","null"],"format":"date","description":"The requested effective date of the contract assignment. Format: yyyy-MM-dd","example":null},"submittedDate":{"type":["string","null"],"format":"date","description":"The date which the contract assignment was submitted. Format: yyyy-MM-dd","example":null},"referralCodes":{"type":["array","null"],"items":{"type":"string"},"description":"The list of referral codes used by the agency admin to assign the contract assignment if it is for portal/carrier website submission.","example":[]},"annualization":{"type":["number","null"],"description":"The annualization of the contract assignment.","example":null},"uplineNpn":{"type":["string","null"],"description":"The National Producer Number of the upline producer for this contract assignment.","example":null},"uplineId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the upline producer for this contract assignment.","example":null},"writingNumber":{"type":["string","null"],"description":"The writing number of the contract assignment.","example":"WN-12345"},"displayNumber":{"type":"string","description":"The display number of the contract assignment.","example":"CA-00001"},"contractDisplayNumber":{"type":["string","null"],"description":"The display number of the contract the assignment belongs to.","example":"C-00042"},"contractAssignmentChangeIds":{"type":"array","items":{"type":"string","format":"uuid"},"description":"The unique identifiers of the contract assignment's non-terminal (open) contract assignment changes.","example":["dd0e8400-e29b-41d4-a716-446655440007"]},"uplineContractAssignment":{"oneOf":[{"$ref":"#/components/schemas/UplineContractAssignmentEventData"},{"type":"null"}],"description":"The upline contract assignment for this contract assignment, if any."},"responsiblePartyId":{"type":["string","null"],"format":"uuid","deprecated":true,"description":"DEPRECATED (APIPLAT-6619). Stops being populated once the responsible party moves to the\ncontract-level timeline — read it from the `contract.responsible_party.updated` event\ninstead. The field is retained for one release so the payload shape does not change under\ndeployed consumers, and will be removed in a later, announced change. The unique identifier of the producer responsible for this contract assignment.\n","example":null},"responsibleUplineFirmId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the upline firm responsible for this contract assignment.","example":null},"responsibleUplineFirmNpn":{"type":["string","null"],"description":"The National Producer Number of the upline firm responsible for this contract assignment.","example":null},"responsiblePartyStartDate":{"type":["string","null"],"format":"date","deprecated":true,"description":"DEPRECATED (APIPLAT-6619). Stops being populated once the responsible party moves to the\ncontract-level timeline — read it from the `contract.responsible_party.updated` event\ninstead. The field is retained for one release so the payload shape does not change under\ndeployed consumers, and will be removed in a later, announced change. \"The start date of the producer responsible for this contract assignment. Format: yyyy-MM-dd\"\n","example":null},"responsiblePartyEndDate":{"type":["string","null"],"format":"date","deprecated":true,"description":"DEPRECATED (APIPLAT-6619). Stops being populated once the responsible party moves to the\ncontract-level timeline — read it from the `contract.responsible_party.updated` event\ninstead. The field is retained for one release so the payload shape does not change under\ndeployed consumers, and will be removed in a later, announced change. \"The end date of the producer responsible for this contract assignment. Format: yyyy-MM-dd\"\n","example":null},"createdAt":{"type":["string","null"],"format":"date-time","description":"The date and time the contract assignment was created. Format: RFC3339 UTC.","example":"2024-06-20T14:45:00Z"},"updatedAt":{"type":["string","null"],"format":"date-time","description":"The date and time the contract assignment was last updated. Format: RFC3339 UTC.","example":"2024-06-20T14:45:00Z"},"externalNotes":{"type":["string","null"],"description":"The external notes of the contract assignment.","example":null},"debitBalance":{"type":["number","null"],"description":"The debit balance of the contract assignment. Can be up to 12 digits and 2 decimal places.","example":null},"expirationDate":{"type":["string","null"],"format":"date","description":"The expiration date of the contract assignment. Format: yyyy-MM-dd","example":null},"userDefined1":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined2":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined3":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined4":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined5":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined6":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined7":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined8":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined9":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined10":{"type":["string","null"],"description":"A user defined field of the contract."}}},"ContractAssignmentUpdatedWebhookEvent":{"title":"ContractAssignmentUpdatedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractAssignmentUpdatedData"}}}]},"ContractAssignmentDeletedData":{"title":"ContractAssignmentDeletedData","type":"object","description":"Payload for the `contract.assignment.deleted` event.","required":["contractAssignmentId","displayNumber"],"properties":{"contractAssignmentId":{"type":"string","format":"uuid","description":"The unique identifier of the contract assignment.","example":"550e8400-e29b-41d4-a716-446655440000"},"displayNumber":{"type":"string","description":"The display number of the contract assignment.","example":"CA-00001"}}},"ContractAssignmentDeletedWebhookEvent":{"title":"ContractAssignmentDeletedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractAssignmentDeletedData"}}}]},"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"}}},"ContractAssignmentChangeUpdatedData":{"title":"ContractAssignmentChangeUpdatedData","type":"object","description":"Payload for the `contract.assignment_change.updated` event.","required":["contractAssignmentChangeId","contractAssignmentId","agencyOrganizationId","agencyOrganizationName","carrierOrganizationId","carrierOrganizationName","productId","productName","personId","states","contractPacketId","taskTypeName","referralCodes","contractAssignmentChangeDisplayNumber"],"properties":{"contractAssignmentChangeId":{"type":"string","format":"uuid","description":"The unique identifier of the contract assignment change.","example":"550e8400-e29b-41d4-a716-446655440000"},"contractAssignmentId":{"type":"string","format":"uuid","description":"The unique identifier of the contract assignment associated with this change.","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"},"agencyOrganizationId":{"type":"string","format":"uuid","description":"The unique identifier of the agency organization which the contract is sent from.","example":"770e8400-e29b-41d4-a716-446655440002"},"agencyOrganizationName":{"type":"string","description":"The name of the agency organization which the contract is sent from.","example":"Acme Insurance Agency"},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The unique identifier of the carrier organization which the contract is sent to.","example":"880e8400-e29b-41d4-a716-446655440003"},"carrierOrganizationName":{"type":"string","description":"The name of the carrier organization which the contract is sent to.","example":"Big Carrier Inc."},"productId":{"type":"string","format":"uuid","description":"The unique identifier of the carrier product assigned to this contract change with the agency.","example":"aa0e8400-e29b-41d4-a716-446655440005"},"productName":{"type":"string","description":"The name of the carrier product assigned to this contract change with the agency.","example":"Term Life"},"personId":{"type":"string","format":"uuid","description":"The unique identifier of the individual producer which the contract assignment change is for.","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 which the contract assignment change is for.","example":null},"firmNpn":{"type":["string","null"],"description":"The National Producer Number of the firm.","example":null},"states":{"type":"array","items":{"type":"string"},"description":"The list of states associated with the contract assignment change.","example":["CA"]},"newAnnualization":{"type":["number","null"],"description":"The decimal value of the new annualization associated with this change.","example":null},"newAssignmentStatusName":{"type":["string","null"],"description":"The name of the new assignment status associated with this change.","example":"Active"},"newCommissionLevelId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the new commission level associated with this change.","example":null},"newCommissionLevelName":{"type":["string","null"],"description":"The name of the new commission level associated with this change.","example":null},"newUplineContractAssignmentId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the new upline contract assignment associated with this change.","example":null},"newUplineNpn":{"type":["string","null"],"description":"The National Producer Number of the new upline producer associated with this change.","example":null},"uplineContractAssignmentChangeId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the upline contract assignment change associated with this change.","example":null},"uplineContractAssignmentChangeDisplayNumber":{"type":["string","null"],"description":"The display number of the upline contract assignment associated with this change.","example":null},"responsibleUplineFirmNpn":{"type":["string","null"],"description":"The National Producer Number of the upline firm responsible for this contract assignment.","example":null},"uplineContractAssignmentChange":{"oneOf":[{"$ref":"#/components/schemas/UplineContractAssignmentChangeEventData"},{"type":"null"}],"description":"The upline contract assignment change for this change, if any."},"contractPacketId":{"type":"string","format":"uuid","description":"The unique identifier of the contract packet associated with this change.","example":"bb0e8400-e29b-41d4-a716-446655440006"},"taskTypeName":{"type":"string","description":"The name of the task type intended by this change.","example":"New Business"},"referralCodes":{"type":"array","items":{"type":"string"},"description":"The list of referral codes used by the agency admin to assign the contract assignment change if it is for portal/carrier website submission.","example":[]},"title":{"type":["string","null"],"description":"The title/name of the contract assignment change.","example":null},"effectiveDate":{"type":["string","null"],"format":"date","description":"The effective date of the contract assignment change. Format: yyyy-MM-dd","example":null},"expirationDate":{"type":["string","null"],"format":"date","description":"The expiration date of the contract assignment change. Format: yyyy-MM-dd","example":null},"contractAssignmentChangeDisplayNumber":{"type":"string","description":"The display number of the contract assignment change.","example":"CAC-00001"},"writingNumber":{"type":["string","null"],"description":"The writing number of the contract assignment associated with this change.","example":"WN-12345"},"createdAt":{"type":["string","null"],"format":"date-time","description":"The date and time the contract assignment 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 contract assignment change was last updated. Format: RFC3339 UTC.","example":"2024-06-20T14:45:00Z"},"externalNotes":{"type":["string","null"],"description":"The external notes of the contract assignment change.","example":null},"uplineFirmId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the upline firm associated with this change.","example":null},"uplineFirmNpn":{"type":["string","null"],"description":"The National Producer Number of the upline firm associated with this change.","example":null},"uplineWritingNumber":{"type":["string","null"],"description":"The writing number of the upline contract assignment associated with this change.","example":null},"userDefined1":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined2":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined3":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined4":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined5":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined6":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined7":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined8":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined9":{"type":["string","null"],"description":"A user defined field of the contract assignment change."},"userDefined10":{"type":["string","null"],"description":"A user defined field of the contract assignment change."}}},"ContractAssignmentChangeUpdatedWebhookEvent":{"title":"ContractAssignmentChangeUpdatedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractAssignmentChangeUpdatedData"}}}]},"ContractAssignmentChangeDeletedData":{"title":"ContractAssignmentChangeDeletedData","type":"object","description":"Payload for the `contract.assignment_change.deleted` event.","required":["contractAssignmentChangeId","contractAssignmentChangeDisplayNumber"],"properties":{"contractAssignmentChangeId":{"type":"string","format":"uuid","description":"The unique identifier of the contract assignment change.","example":"550e8400-e29b-41d4-a716-446655440000"},"contractAssignmentChangeDisplayNumber":{"type":"string","description":"The display number of the contract assignment change.","example":"CAC-00001"}}},"ContractAssignmentChangeDeletedWebhookEvent":{"title":"ContractAssignmentChangeDeletedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractAssignmentChangeDeletedData"}}}]},"Attachment":{"title":"Attachment","type":"object","description":"A file attachment included with a contract packet submission.","properties":{"url":{"type":"string","description":"The URL at which the attachment can be retrieved.","example":"https://s3.amazonaws.com/bucket/contract-packet.pdf"},"fileName":{"type":"string","description":"The original file name of the attachment.","example":"contract-packet.pdf"},"size":{"type":"string","description":"The file size of the attachment as a string representation of the byte count.","example":"204800"}}},"ContractPacketSubmittedData":{"title":"ContractPacketSubmittedData","type":"object","description":"Payload for the `contract.packet.submitted` event.","required":["contractPacketId","submittedByPersonId","submittedByName","submissionDate","submissionMethod","contractId","contractNumber","attachments"],"properties":{"contractPacketId":{"type":"string","format":"uuid","description":"The unique identifier of the contract packet.","example":"550e8400-e29b-41d4-a716-446655440000"},"submittedByPersonId":{"type":"string","format":"uuid","description":"The unique identifier of the individual producer which the contract packet is submitted for.","example":"660e8400-e29b-41d4-a716-446655440001"},"submittedByName":{"type":"string","description":"The name of the individual producer which the contract packet is submitted for.","example":"Smith, John"},"submissionDate":{"type":"string","format":"date-time","description":"The timestamp of when the contract packet was submitted. Format: yyyy-MM-dd'T'HH:mm:ss'Z'","example":"2024-06-20T14:45:00Z"},"submissionMethod":{"type":"string","description":"The method of how the contract packet was submitted.","example":"Email"},"contractId":{"type":"string","format":"uuid","description":"The unique identifier of the Contract associated with this packet.","example":"770e8400-e29b-41d4-a716-446655440002"},"contractNumber":{"type":"string","description":"The display number of the Contract associated with this packet.","example":"C-00042"},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"},"description":"The list of attachments submitted with the contract packet."}}},"ContractPacketSubmittedWebhookEvent":{"title":"ContractPacketSubmittedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractPacketSubmittedData"}}}]},"ContractUpdatedData":{"title":"ContractUpdatedData","type":"object","description":"Payload for the `contract.updated` event.","required":["contractId","agencyOrganizationId","agencyOrganizationName","carrierOrganizationId","carrierOrganizationName","personId","active","effectiveDate"],"properties":{"contractId":{"type":"string","format":"uuid","description":"The unique identifier of the contract.","example":"550e8400-e29b-41d4-a716-446655440000"},"agencyOrganizationId":{"type":"string","format":"uuid","description":"The unique identifier of the agency organization which the contract is sent from.","example":"660e8400-e29b-41d4-a716-446655440001"},"agencyOrganizationName":{"type":"string","description":"The name of the agency organization which the contract is sent from.","example":"Acme Insurance Agency"},"carrierOrganizationId":{"type":"string","format":"uuid","description":"The unique identifier of the carrier organization which the contract is sent to.","example":"770e8400-e29b-41d4-a716-446655440002"},"carrierOrganizationName":{"type":"string","description":"The name of the carrier organization which the contract is sent to.","example":"Big Carrier Inc."},"personId":{"type":"string","format":"uuid","description":"The unique identifier of the individual producer which the contract is sent on behalf of.","example":"880e8400-e29b-41d4-a716-446655440003"},"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 which the contract is sent on behalf of.","example":null},"firmNpn":{"type":["string","null"],"description":"The National Producer Number of the firm.","example":null},"responsibleUplineFirmId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the upline firm responsible for this contract.","example":null},"responsibleUplineFirmNpn":{"type":["string","null"],"description":"The National Producer Number of the upline firm responsible for this contract.","example":null},"assignmentStatusId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the assignment status which the contract is in.","example":null},"assignmentStatusName":{"type":["string","null"],"description":"The assignment status of the contract.","example":"Active"},"active":{"type":"boolean","description":"Denotes if the contract is currently active based on the status of its contract assignments.","example":true},"effectiveDate":{"type":"string","format":"date","description":"The effective date of the contract. Format: yyyy-MM-dd","example":"2023-01-15"},"endDate":{"type":["string","null"],"format":"date","description":"The end date of the contract. Format: yyyy-MM-dd","example":null},"contractCompletionDate":{"type":["string","null"],"format":"date","description":"The date contracting completed for this contract, from its latest active contract assignment. Format: yyyy-MM-dd","example":"2024-03-01"},"transferAvailableDate":{"type":["string","null"],"format":"date","description":"The date this contract becomes available to transfer, from its latest active contract assignment. Format: yyyy-MM-dd","example":"2025-03-01"},"notes":{"type":["string","null"],"description":"Internal notes visible to the agency, from the contract's latest active contract assignment. Distinct from the externally visible notes (`externalNotes`) carried by the contract assignment events.","example":"Awaiting appointment confirmation from the carrier."},"states":{"type":"array","items":{"type":"string"},"description":"The administrative divisions (state abbreviations) covered by the contract's active contract assignments. Empty when the contract has no active assignments.","example":["CA","TX"]},"createdAt":{"type":["string","null"],"format":"date-time","description":"The date and time the contract was created. Format: RFC3339 UTC.","example":"2024-06-20T14:45:00Z"},"updatedAt":{"type":["string","null"],"format":"date-time","description":"The date and time the contract was last updated. Format: RFC3339 UTC.","example":"2024-06-20T14:45:00Z"},"displayNumber":{"type":["string","null"],"description":"The display number of the contract.","example":"C-00042"},"parentContractId":{"type":["string","null"],"format":"uuid","description":"The unique identifier of the parent contract, if this is a subsidiary contract.","example":null},"parentContractDisplayNumber":{"type":["string","null"],"description":"The display number of the parent contract, if this is a subsidiary contract.","example":null},"userDefined1":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined2":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined3":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined4":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined5":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined6":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined7":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined8":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined9":{"type":["string","null"],"description":"A user defined field of the contract."},"userDefined10":{"type":["string","null"],"description":"A user defined field of the contract."}}},"ContractUpdatedWebhookEvent":{"title":"ContractUpdatedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractUpdatedData"}}}]},"ContractDeletedData":{"title":"ContractDeletedData","type":"object","description":"Payload for the `contract.deleted` event.","required":["contractId"],"properties":{"contractId":{"type":"string","format":"uuid","description":"The unique identifier of the contract.","example":"550e8400-e29b-41d4-a716-446655440000"}}},"ContractDeletedWebhookEvent":{"title":"ContractDeletedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractDeletedData"}}}]},"ContractResponsiblePartyData":{"title":"ContractResponsiblePartyData","type":"object","description":"Payload for the `contract.responsible_party.updated` event.\n","required":["id","contractId","responsiblePartyId","personId","startDate"],"properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier of the contract responsible party.","example":"550e8400-e29b-41d4-a716-446655440000"},"contractId":{"type":"string","format":"uuid","description":"The unique identifier of the contract the responsible party belongs to.","example":"110e8400-e29b-41d4-a716-446655440009"},"contractDisplayNumber":{"type":["string","null"],"description":"The display number of the contract the responsible party belongs to.","example":"C-00042"},"responsiblePartyId":{"type":"string","format":"uuid","description":"The unique identifier of the party responsible for the contract.","example":"dd0e8400-e29b-41d4-a716-446655440007"},"personId":{"type":"string","format":"uuid","description":"The unique identifier of the individual producer which the contract is sent on behalf of.","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 which the contract is sent on behalf of.","example":null},"firmNpn":{"type":["string","null"],"description":"The National Producer Number of the firm.","example":null},"startDate":{"type":"string","format":"date","description":"The date the responsible party window begins. Format: yyyy-MM-dd","example":"2024-06-18"},"endDate":{"type":["string","null"],"format":"date","description":"The date the responsible party window ends; null when the window is open-ended. Format: yyyy-MM-dd","example":null}}},"ContractResponsiblePartyUpdatedWebhookEvent":{"title":"ContractResponsiblePartyUpdatedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContractResponsiblePartyData"}}}]},"HierarchyProducerEventData":{"title":"HierarchyProducerEventData","type":"object","description":"Shared payload for the `hierarchy.producer.added` and\n`hierarchy.producer.changed` events. Describes a producer's placement in a\nhierarchy - its upline and commission level - derived from a\ncontract-assignment change. The upline and commission values reflect the\nnew placement; no prior value is included. `changedFields` is present only\non `hierarchy.producer.changed`.\n","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`,\n`commissionLevel`). Present on `hierarchy.producer.changed`; absent on\n`hierarchy.producer.added`.\n","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"}}},"HierarchyProducerAddedWebhookEvent":{"title":"HierarchyProducerAddedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/HierarchyProducerEventData"}}}]},"HierarchyProducerChangedWebhookEvent":{"title":"HierarchyProducerChangedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/HierarchyProducerEventData"}}}]},"HierarchyProducerRelationshipTerminatedData":{"title":"HierarchyProducerRelationshipTerminatedData","type":"object","description":"Payload for the `hierarchy.producer.relationship.terminated` event. Describes\na producer's hierarchy placement - its upline and commission level - at the\npoint its contract assignment transitioned into a terminal status, along with\nwhy (`terminationReason`) and when (`terminationDate`). Values reflect the\nplacement as it existed when the relationship ended; no prior value is included.\n","required":["contractAssignmentId","personId","agencyOrganizationId","carrierOrganizationId","terminationReason","terminationDate"],"properties":{"contractAssignmentId":{"type":"string","format":"uuid","description":"The unique identifier of the contract assignment whose hierarchy relationship ended.","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 relationship ended.","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 was 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},"uplineContractAssignment":{"oneOf":[{"$ref":"#/components/schemas/UplineContractAssignmentEventData"},{"type":"null"}],"description":"The curated upline contract assignment identity, if the placement had 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"},"terminationReason":{"type":"string","description":"The reason the relationship ended - the name of the terminal assignment\nstatus (e.g. `Terminated`, `Expired`, `Declined`, `Withdrawn`,\n`Transferred`, `Released`).\n","example":"Terminated"},"terminationDate":{"type":"string","format":"date","description":"The date the relationship ended. Format: yyyy-MM-dd","example":"2024-07-01"},"createdAt":{"type":["string","null"],"format":"date-time","description":"The date and time the contract assignment was created. Format: RFC3339 UTC.","example":"2024-06-18T09:15:00Z"},"updatedAt":{"type":["string","null"],"format":"date-time","description":"The date and time the contract assignment was last updated. Format: RFC3339 UTC.","example":"2024-07-01T14:45:00Z"}}},"HierarchyProducerRelationshipTerminatedWebhookEvent":{"title":"HierarchyProducerRelationshipTerminatedWebhookEvent","allOf":[{"$ref":"#/components/schemas/WebhookEventEnvelope"},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/HierarchyProducerRelationshipTerminatedData"}}}]}}}}
```
