Working with producer codes

In PolicyCenter, a producer refers to any third party who brings business to the insurer, such as an agent or broker. A producer code is an identifier used in Guidewire systems to reference a specific producer.

With the Admin API, callers can create, update, and retrieve producer code data through the /admin/v1/producer-codes endpoints. Typically, internal services associated with administrator or underwriter roles are authorized to access the producer-codes endpoints.

Querying for producer codes

Authorized internal users can query for producer codes. Callers can use the following endpoints to GET producer code resources:

  • GET /admin/v1/producer-codes: Returns all producer codes
  • GET /admin/v1/producer-codes/{producerCodeId}: Returns a resource for the given producer code
  • GET /admin/v1/organizations/{organizationId}/producer-codes: Returns all producer codes associated with the given organization
  • GET /admin/v1/organizations/{organizationId}/producer-codes/{producerCodeId}: Returns a resource for the given producer code associated with the given organization

Alternatively, callers can use the Account API to retrieve producer codes through the /account/v1/producer-codes endpoint. Calls to this endpoint return a collection of producer codes that are available to the caller. This endpoint is useful when creating policy submissions.

Creating producer codes

Authorized internal users can create producer codes. To create a producer code, callers can submit a POST request to the /admin/v1/producer-codes endpoint. At minimum, the request body must contain the following fields:

  • code: The public code for the producer
  • organization.id: The ID for the producer organization
  • roles: An array of one or more roles associated with the producer. Each role is an object containing an id field associated with a valid value.
{
  "data": {
    "attributes": {
      "code": "301-008578",
      "organization": {
        "id": "pc:4"
      },
      "roles": [
        {
          "id": "producer"
        }
      ]
    }
  }
}

The request body can also contain the following optional fields:

  • address: An Address resource
  • appointmentDate: A UTC timestamp indicating appointment date
  • branch.id: The ID for the branch office
  • description: A string
  • parent.id: The ID for the parent organization
  • preferredUnderwriter.id: The ID for the preferred underwriter
  • producerStatus: The status of the producer
  • terminationDate: A UTC timestamp indicating termination date

Updating producer codes

Authorized internal users can update producer codes. To update a producer code, callers can submit a PATCH request to the /admin/v1/producer-codes/{producerCodeId} endpoint.

Exposing producer codes to external users

By default, producer codes are not exposed to external users. An external user is a user that is not in the PolicyCenter database, such as an anonymous user or an account holder.

In the PolicyCenter config.xml configuration file, the ExternallyVisibleProducerCodes parameter can be used to expose one or more producer codes to external users. The parameter accepts a comma-separated list of producer codes, in string format:

  <param name="ExternallyVisibleProducerCodes" value="ProdCode1,prodCode2"/>

For details on PolicyCenter configuration, see the Configuration Guide.