---
title: "ContractAssignmentChangeV2"
url: "https://developer.agentsync.io/apis/contracting-hierarchies-api/versions/40f58935-396e-4da4-8f47-1587041e1b16/schemas/ContractAssignmentChangeV2"
---

> Full API specification: https://developer.agentsync.io/apis/contracting-hierarchies-api/versions/40f58935-396e-4da4-8f47-1587041e1b16.md

# ContractAssignmentChangeV2

A point-in-time change to a contract assignment. `assignmentStatus*` is the change's own status. `effectiveOn`/`expiresOn` are the assignment's contractual terms, while `snapshotStartOn`/`snapshotEndOn` are the window during which this change represented the assignment's state.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: AgentSync Contracting & Hierarchies API
  version: v1.7.6
servers:
  - url: https://api.sandbox.agentsync.io/contracting
    description: Sandbox
  - url: https://api.agentsync.io/contracting
    description: Production
components:
  schemas:
    UplineContractAssignmentChangeV2:
      type: object
      description: >
        Identity of the change's upline change, surfaced as part of the caller's
        own hierarchy.
      properties:
        id:
          type: string
          format: uuid
          description: The upline contract assignment change id.
        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

        status. `effectiveOn`/`expiresOn` are the assignment's contractual
        terms, while

        `snapshotStartOn`/`snapshotEndOn` are the window during which this
        change represented the

        assignment's state.
      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
```
