Organizations

In PolicyCenter, an organization represents a business entity. Typically:

  • There is one organization that represents the insurer itself. (In the bootstrap data, this is the "Enigma Fire & Casualty" organization.)
  • All other organizations represent third-party entity that supports the insurer's business. Most of them are producers, such as agencies or brokers.

Querying for organizations

Use the following endpoints to query for organizations:

  • GET /admin/v1/organizations
  • GET /admin/v1/organizations/{organizationId}

For example, the following call retrieves information about organization pc:1.

GET /admin/v1/organizations/pc:1

{
    "data": {
        "attributes": {
            "contact": {
                "companyName": "Armstrong and Sons",
                "displayName": "Armstrong and Sons",
                "emailAddress1": "contact@armstrong.com",
                "externalId": "pcext:Si4bMhki5VRx7aw6caZld",
                "id": "pc:SJVasoc-ajz4VebEgoTD3",
                "primaryAddress": {
                    "addressLine1": "610 Fifth Avenue",
                    "addressType": {
                        "code": "business",
                        "name": "Business"
                    },
                    "city": "Indianapolis",
                    "country": "US",
                    "description": "Work address",
                    "displayName": "610 Fifth Avenue, Indianapolis, IN 46201",
                    "id": "pc:S6eYG2634my1MQ3gLog9r",
                    "postalCode": "46201",
                    "state": {
                        "code": "IN",
                        "name": "Indiana"
                    }
                },
                "primaryPhone": "317-333-5900",
                "primaryPhoneType": {
                    "code": "work",
                    "name": "Work"
                },
                "subtype": {
                    "code": "Company",
                    "name": "Company"
                },
                "workPhone": {
                    "displayName": "317-333-5900",
                    "number": "3173335900"
                }
            },
            "displayName": "Armstrong and Company",
            "groupLoadFactor": 100,
            "groupSecurityZone": {
                "displayName": "Western Region",
                "id": "pc:SvYBVwzYpDJDEdrvsB_i2"
            },
            "groupSupervisor": {
                "displayName": "External Admin",
                "id": "pc:SbH5QuzhuuytAzZEITXp7",
                "type": "User",
                "uri": "/admin/v1/users/pc:SbH5QuzhuuytAzZEITXp7"
            },
            "id": "pc:1",
            "name": "Armstrong and Company",
            "producerStatus": {
                "code": "Active",
                "name": "Active"
            },
            "rootGroup": {
                "displayName": "Armstrong and Company",
                "id": "pc:SZYG2v5zDZCJMWCoiSlFi"
            },
            "type": {
                "code": "agency",
                "name": "Agency"
            }
        },
        ...

Creating organizations

Use the following endpoint to create an organization:

  • POST /admin/v1/organizations

Minimum creation criteria

You must specify the following fields:

  • name: The organization's name
  • type: The organization type, which must be a typecode from the BusinessType typelist, such as agency or other.
    • If the organizations type is agency, broker, or mga, then producerStatus is also required. It must be a typecode from the ProducerStatus typelist, such as Active or Terminated.
    • Each instance of PolicyCenter can have only one organization whose type is insurer. If an insurer organization already exists (as it does in the bootstrap data), you cannot create a second one.

For example, the following request creates a new producer agency organization:

POST /admin/v1/organizations

{
  "data": {
    "attributes": {
      "name": "Floodzone Specialists",
      "type": {
        "code": "agency"
      },
      "producerStatus": {
          "code": "Active"
      }
    }
  }
}

Updating organizations

Use the following endpoint to modify an organization:

  • PATCH /admin/v1/organizations

For example, the following request sets the security zone for producer organization pc:202 to security zone pc:SR3:

PATCH /admin/v1/organizations/pc:202

{
  "data": {
    "attributes": {
        "groupSecurityZone": {
            "id": "pc:SR3"
        }
    }
  }
}

Cloud API does not support DELETEing organizations.