---
schema_version: "1"
id: 1721be87cb5c1a18c69751b78999d366720850d65c073a5ae1084b0e3e4c4461
title: Use Cases for Individual
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/industries-integrations/comms/guides/TMF632/use-cases-for-individual.md
canonical_url: https://developer.salesforce.com/docs/industries/communications/guide/use-cases-for-individual.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 627ddb123fedd1b866835a0bd8525bdf7598b21116e3d3bd8228f1b0d389fc48
products:
  - Communications Cloud TM Forum API
  - Industries Integrations
---
# 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](#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](#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](#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](#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](#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](#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](#patch)                                               | _{{orgendpoint}}/services/data/{{version}}/connect/comms/partymanagement/v5/individual/{ID}_                                                                                                                                    |
| Delete an individual.                                                                                                                             | [DELETE](#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."
    }
]
```
