Use Cases for Individual

I want to <div style="width:230px"></div> Request Type Example URL <div style="width:190px"></div>
Retrieve and display details of a particular individual. GET by ID {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual/{ID}<br><br>NOTE:<br>For an invalid ID, you receive HTTP 404 error.
Based on the provided field values, retrieve and display details of individuals. GET with Fields {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual?fields=name<br><br>NOTE:<br>The requested fields are part of the output if they have a value.
List all the individuals present in the system. GET List {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual
List individuals present in the system based on the filter applied. GET List with Filtering {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual?name=John Doe<br><br>NOTE:<br>The requested fields are part of the output if they have a value.
List individuals, limit the number of records to a specified limit, and start the results from the page specified by offset. GET List by limit and offset {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual?offset=4&pageLimit=1&pageinfo=true
Create a new individual by providing the required details. POST {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual<br><br>NOTE:<br>A new individual is created based on the values mentioned for the mandatory fields.
Update details of a particular individual. PATCH {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual/{ID}
Delete an individual. DELETE {{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual/{ID}<br><br>NOTE:<br>DELETE requires an Apex extensibility implementation. Without it, the API returns HTTP 400.

GET by ID

Consider you want to retrieve details of a particular individual.

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual/{ID}

Sample Response

{
    "id": "003xx000004WofUAAS",
    "href": "/connect/comms/partymanagement/v5/individual/003xx000004WofUAAS",
    "@type": "Individual",
    "familyName": "Doe",
    "givenName": "John",
    "name": "John Doe",
    "title": "Mr.",
    "birthDate": "1990-01-15",
    "contactMedium": [
        {
            "@type": "EmailContactMedium",
            "emailAddress": "john.doe@example.com"
        },
        {
            "@type": "PhoneContactMedium",
            "phoneNumber": "+1-555-123-4567"
        },
        {
            "@type": "FaxContactMedium",
            "faxNumber": "+1-555-987-6543"
        },
        {
            "@type": "GeographicAddressContactMedium",
            "street1": "123 Main Street",
            "city": "San Francisco",
            "stateOrProvince": "CA",
            "postCode": "94105",
            "country": "US"
        }
    ],
    "relatedParty": [
        {
            "@type": "RelatedPartyRefOrPartyRoleRef",
            "role": "employer",
            "partyOrPartyRole": {
                "id": "001xx000003Hg0xAAC",
                "href": "/connect/comms/partymanagement/v5/organization/001xx000003Hg0xAAC",
                "name": "Acme Corporation",
                "@type": "PartyRef",
                "@referredType": "Organization"
            }
        }
    ]
}

GET with Fields

Consider you want to retrieve individuals and return only these fields in the output.

  • id
  • name

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual?fields=name

Sample Response

[
    {
        "id": "003xx000004WofUAAS",
        "href": "/connect/comms/partymanagement/v5/individual/003xx000004WofUAAS",
        "name": "John Doe",
        "@type": "Individual"
    }
]

GET List

Consider there are multiple individuals in the system and you want to list all of them.

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual

Sample Response

[
    {
        "id": "003xx000004WofUAAS",
        "href": "/connect/comms/partymanagement/v5/individual/003xx000004WofUAAS",
        "familyName": "Doe",
        "givenName": "John",
        "name": "John Doe",
        "@type": "Individual"
    }
]

GET List with Filtering

Consider you want to retrieve individuals with applied filter values.

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual?name=John Doe

Sample Response

[
    {
        "id": "003xx000004WofUAAS",
        "href": "/connect/comms/partymanagement/v5/individual/003xx000004WofUAAS",
        "familyName": "Doe",
        "givenName": "John",
        "name": "John Doe",
        "@type": "Individual"
    }
]

GET List by limit and offset

Consider you want to retrieve a list of individuals, limit the number of records, and start the results from the specified offset.

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual?offset=4&pageLimit=1&pageinfo=true

POST

Consider you want to create a new individual. givenName and familyName are mandatory.

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual

Sample Request

{
  "givenName": "Jane",
  "familyName": "Doe",
  "@type": "Individual"
}

Sample Response

{
  "id": "003xx000004WofUAAS",
  "href": "/connect/comms/partymanagement/v5/individual/003xx000004WofUAAS",
  "familyName": "Doe",
  "givenName": "Jane",
  "name": "Jane Doe",
  "@type": "Individual"
}

PATCH

Consider you want to update details of a particular individual. Patchable attributes include givenName, familyName, title, birthDate, contactMedium, and relatedParty. These attributes are not patchable: id, href, name, and @type.

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual/{ID}

Sample Request

{
  "@type": "Individual",
  "givenName": "Jane",
  "familyName": "Smith",
  "title": "Prof",
  "birthDate": "1991-06-20",
  "contactMedium": [
    {
      "@type": "EmailContactMedium",
      "emailAddress": "jane.smith@newexample.com"
    },
    {
      "@type": "PhoneContactMedium",
      "phoneNumber": "+1-555-0200"
    }
  ]
}

DELETE

Contact and Account do not include a status field that supports soft delete out of the box. The DELETE endpoint is provided as an extensibility hook. Without a custom Apex implementation, the API returns HTTP 400.

Sample URL

{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual/{ID}

Sample Request

No request body.

Sample Response

With an Apex extensibility implementation: HTTP 204 with no response body.

Without extensibility:

[
    {
        "errorCode": "BAD_REQUEST",
        "message": "DELETE operation for Individual requires an extensibility class implementing comms_apex_ext.IIndividualPartyManagementDELETE. Configure a custom Apex class that provides a soft-delete status field via the customiseMutationPayload hook."
    }
]