Creating ClaimContacts

For a given claim, you can create a ClaimContact who does not yet exist in ClaimCenter, the Policy Administration System, or ContactManager.

Use the following endpoint to create a new ClaimContact:

  • POST /claim/v1/claims/{claimId}/contacts

Minimum creation criteria

When you create a ClaimContact, you must specify the following:

  • contactSubtype (a subtype of Contact)
  • Either:
    • firstName and lastName (for ClaimContacts whose subtype is Person or one of its subtypes)
    • name (for ClaimContacts whose subtype is Company or one of its subtype)
  • At least one ClaimContact role
    • The syntax of the request depends on whether the role is reserved or non-reserved

Creating a new ClaimContact with a reserved role

When you create a new ClaimContact that has a reserved role, you typically execute a single request that uses request inclusion to PATCH the claim and create the ClaimContact. The POST /claims/{claimId}/contacts endpoint is used in the child request. For more information on request inclusion, see Request inclusion.

Reserved roles set from a field

In some cases, a reserved role is set through a field on the claim or one of its child objects.

For example, the reporter role is set from the Claim's reporter field. To create a new contact with the role of reporter, you PATCH the claim, set the reporter field to a reference ID for the new contact, and then create the new contact in a child request. This is illustrated in the following request, which creates a new ClaimContact who is the reporter on claim cc:402.

Command

PATCH /claim/v1/claims/cc:402
Java

Request body

{
  "data": {
    "attributes": {
      "reporter": {
        "refid": "newContact"
      }
    }
  },
  "included": {
    "ClaimContact": [
      {
        "refid": "newContact",
        "attributes": {
            "contactSubtype": "Person",
            "firstName": "Carol",
            "lastName": "Daniels"
        },
        "method": "post",
        "uri": "/claim/v1/claims/cc:402/contacts"
      }   
    ]
  }
}
Java

Reserved roles that are set from an array

In some cases, a reserved role is set through an array on the claim or one of its child objects.

For example, the witness role is set from the Claim's witnesses array. To create a new contact with the role of witness, you PATCH the claim, add a new contact in the witnesses array whose ID is a reference ID for the new contact, and then create the new contact in a child request. This is illustrated in the following request, which creates a new ClaimContact who is a witness on claim cc:402.

Command

PATCH /claim/v1/claims/cc:402
Java

Request body

{
  "data": {
    "attributes": {
      "witnesses": [
        {
          "contact": {
            "id": "newContact"
          }
        }
      ]
    }
  },
  "included": {
    "ClaimContact": [
      {
        "refid": "newContact",
        "attributes": {
            "contactSubtype": "Person",
            "firstName": "Matt",
            "lastName": "Capaldi"
        },
        "method": "post",
        "uri": "/claim/v1/claims/cc:402/contacts"
      }   
    ]
  }
}
Java

Keep in mind that, within Cloud API, PATCHing an array does not add new members to the existing members. It replaces the existing members with the new members. If you want to add members to an array, you must first determine the existing members, and then specify an array with those members and the ones you wish to add. For more information, see PATCHes.

Creating a new ClaimContact with a non-reserved role

When you create a new ClaimContact that has a non-reserved role, you POST the ClaimContact directly. You must also include the editableroles array, which must contain the ClaimContacts roles and the associated object for each role. For more information on the syntax of the editableRoles array, see Non-reserved roles.

For example, the following request creates a new ClaimContact who is an alternate contact (altcontact) on claim cc:402.

Command

POST /claim/v1/claims/cc:402/contacts
Java

Request body

{
  "data": {
    "attributes": {
      "contactSubtype": "Person",
      "firstName": "Julian",
      "lastName": "Daniels",
      "editableRoles": [
        {
          "role": {
            "code": "altcontact"
          },
          "relatedTo": {
            "type": "Claim",
            "id": "cc:402"
          }
        }
      ]
    }
  }
}
Java