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

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

# ProducerV2

A producer in the calling customer's organization. A producer is either an individual (`type` = `AGENT`, identified by `personId`) or a firm (`type` = `FIRM`, identified by `firmId`); fields that do not apply to the other kind are null.

## 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:
    ProducerV2:
      type: object
      description: >
        A producer in the calling customer's organization. A producer is either
        an individual

        (`type` = `AGENT`, identified by `personId`) or a firm (`type` = `FIRM`,
        identified by

        `firmId`); fields that do not apply to the other kind are null.
      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

            contracting record's own copy, which can lag the Identity API; the
            by-id endpoint reads

            it live.
        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
```
