Create and Manage Producers

Create Producers and connect them to products to get quotes.

Each licensed agent on your platform is a producer, with the ability to submit applications for quotes for the products they have access to. Each producer belongs to a single distributor, and can belong to multiple groups.

You can create and manage a producer using the steps below, and then give them access to products by making connections.

Create a Producer

You can create a producer using [.h-code]POST[.h-code] [.h-endpoint-link]/producers[.h-endpoint-link] which requires a [.h-code]name[.h-code], [.h-code]email[.h-code], and a distributor via [.h-code]distributor_id[.h-code]. You can also include the following information when creating or updating a producer:

  • [.h-code]external_id[.h-code]: An external value you can set to associate the producer with your internal id for tracking
  • [.h-code]groups[.h-code]: An array of [.h-code]group_ids[.h-code] to associate a producer with a group.

Creating a producer should look like the example below.

POST /producers
Copied

{
  "name": "Steven Smith",
  "email": "steven@logan-ins.com",
  "distributor_id": "dab8023b-7f9e-4146-9614-a3d922d359b0",
  "external_id": null,
  "groups": null
}
 
Response
Copied

{
  "producer": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "Steven Smith",
    "email": "steven@logan-ins.com",
    "distributor": {
       "id": "dab8023b-7f9e-4146-9614-a3d922d359b0",
       "name": "Logan Insurance Group",
       "domains": [
          "logan-ins.com"
       ],
    },
    "external_id": null,
    "groups": null,
    "connections": null
  }
}
 

As shown above, the response includes the information above as well as:

  • The [.h-code]id[.h-code] for the producer.
  • An array of [.h-code]connections[.h-code]. Connections are the relationship between a producer and a product.

Note that when creating a new producer, connections will be null. As you make connections for a producer, they will appear in the response.

Get all Producers

You can get a list of all your producers using [.h-code]GET[.h-code] [.h-endpoint-link]/producers[.h-endpoint-link]. The response will include an array of all producers you have created. In the example above, we created a new producer. Let’s look at an example response assuming that you have already created a producer in the past that belongs to a group and has a connection.

GET /producers
Copied

{
  "producers": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "Steven Smith",
      "email": "steven@logan-ins.com",
      "distributor": {
        "id": "dab8023b-7f9e-4146-9614-a3d922d359b0",
        "name": "Logan Insurance Group",
        "domains": [
          "logan-ins.com"
        ],
      },
      "external_id": null,
      "groups": null,
      "connections": null
    },
    {
      "id": "c0caf150-7730-11ed-a1eb-0242ac120002",
      "name": "Megan Stevens",
      "email": "megan@logan-ins.com",
      "distributor": {
        "id": "dab8023b-7f9e-4146-9614-a3d922d359b0",
        "name": "Logan Insurance Group",
        "domains": [
          "logan-ins.com"
        ],
      },
      "external_id": null,
      "groups": [
         {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "type": "office",
            "value": {
               "line1": "476 Rodeo Drive",
               "line2": "Suite 23",
               "line3": null,
               "organization": "ACME Corporation",
               "city": "Hill Valley",
               "state": "CA",
               "postal_code": "95425",
               "country_code": "USA"
            }
         }
      ],
      "connections": [
         {
            "id": "cd6aaf68-7730-11ed-a1eb-0242ac120002",
            "product_id": "prd_0050_herald_cyber",
            "status": "active"
         }
      ]
    }
  ]
}
 

As you can see in the response above, the producer that has a connection and belongs to a group includes an array of objects for each concept.

  • Each Group in the array contains the groups [.h-code]id[.h-code], [.h-code]type[.h-code], and [.h-code]value[.h-code]
  • Each Connection in the array contains the [.h-code]id[.h-code] and [.h-code]status[.h-code] for the connection, and the [.h-code]product_id[.h-code] that the producer is connected to.

Update a Producer

You can update a producer using [.h-code]PUT[.h-code] [.h-endpoint-link]/producers/{producer_id}[.h-endpoint-link] which allows you to update the producers [.h-code]name[.h-code], [.h-code]email[.h-code], [.h-code]distributor[.h-code], [.h-code]external_id[.h-code] and [.h-code]groups[.h-code]. The body to update a producer should look identical to the body for creating a producer. Let’s say we want to add the producer to a group and add an [.h-code]external_id[.h-code], the request would look like this:

[.icon-circle-blue][.icon-circle-blue] Changing the distributor or group a producer belongs to could affect the [.h-code]status[.h-code] of a producers connection. If you are updating one of these for a producer, make sure the new distributor or group has access to the same products.
PUT /producers/{producer_id}
Copied

{
  "name": "Steven Smith",
  "email": "steven@logan-ins.com",
  "distributor_id": "dab8023b-7f9e-4146-9614-a3d922d359b0",
  "external_id": "PRD-77156",
  "groups": [
  	 "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}
 
Response
Copied

{
  "producer": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "Steven Smith",
    "email": "steven@logan-ins.com",
    "distributor": {
       "id": "dab8023b-7f9e-4146-9614-a3d922d359b0",
       "name": "Logan Insurance Group",
       "domains": [
          "logan-ins.com"
       ],
    },
    "external_id": null,
    "groups": [
       {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "type": "office",
          "value": {
             "line1": "476 Rodeo Drive",
             "line2": "Suite 23",
             "line3": null,
             "organization": "ACME Corporation",
             "city": "Hill Valley",
             "state": "CA",
             "postal_code": "95425",
             "country_code": "USA"
          },
       }
    ],
    "connections": null
  }
}
 

Get a Producer

Similar to getting all producers, you can get the details of an individual producer using [.h-code]GET[.h-code] [.h-endpoint-link]/producers/{producer_id}[.h-endpoint-link] which will provide the details for that producer. See an example below.

GET /producers/{producer_id}
Copied

{
  "producer": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "Steven Smith",
    "email": "steven@logan-ins.com",
    "distributor": {
       "id": "dab8023b-7f9e-4146-9614-a3d922d359b0",
       "name": "Logan Insurance Group",
       "domains": [
          "logan-ins.com"
       ],
    },
    "external_id": null,
    "groups": [
       {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "type": "office",
          "value": {
             "line1": "476 Rodeo Drive",
             "line2": "Suite 23",
             "line3": null,
             "organization": "ACME Corporation",
             "city": "Hill Valley",
             "state": "CA",
             "postal_code": "95425",
             "country_code": "USA"
          },
       }
    ],
    "connections": null
  }
}
 

Connect Producers to Products

Once you’ve created a producer, you can connect them to products. You can give a producer access to products by making a connection to any product the producer's distributor has access to.