> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frankieone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# About entity profiles

> Learn how entity profiles simplify running multiple checks during entity verification.

Entity profiles are a way to simplify the management of the increasingly complex rules and check types that can be applied as part of onboarding and ongoing due diligence. It can be considered a recipe to be followed when verifying a customer.

An entity profile forms a pre-defined recipe that’s applied whenever you run or re-run a check against a customer. Each entity profile encapsulates the following:

* Individual check types
* Check result ageing rules
* Application of different risk policies

Entity profiles also define the minimum number of name, address and date-of-birth checks required to complete KYC. This can be used to enforce the existence of a valid address before onboarding can proceed.

## Assigning entity profiles to entities

By default an existing customer won’t have a profile assigned to them. You can assign an entity profile to an entity through the API or the Portal on Edit Customer Info page.

<Callout icon="thumbtack" color="#1A6CFF" iconType="regular">
  **Note on changing the entity profile**

  Changing the entity profile assigned to an entity only applies to future verifications and won’t invalidate any previous check results for the entity. Furthermore, verifying an entity will always re-use any previous check results if they’re still valid regardless of the entity profile that was specified, even if the entity profile changed from previous verifications.
</Callout>

### Assign an entity profile to a new entity

There are 2 ways to do this:

* **Automatically** - set the `entity.entityProfile` to `auto` and the service will automatically assign the correct profile, based on your predefined configured rules.

* **Explicitly** - set the `entity.entityProfile` field to the name of the profile that’s to be used. For the standard bundle, the right profile to be used would be chosen via this method.

### Change the entity profile of an existing entity

The entity profile assigned to an entity can be changed using the `PATCH update entity` API call. The entity profile will be applied immediately to the entity’s current state using existing check data based on the profile’s data aging rules.

### Remove an entity profile from an entity

The entity profile can be removed and the entity returned to the current method of specifying `checkTypes` each time by setting the `entityProfile` field to **none**.

### Example:

Sample Post Request\
Endpoint:

```text Text     theme={null}
    POST: ......./entity/new/verify/profile/full  
```

Payload

```json theme={null}
{
  "entity": {
    "entityProfile": "safe_harbour",
    "entityType": "INDIVIDUAL",
    "name": {
      "familyName": "TESTFORTY",
      "middleName": "Z",
      "givenName": "STACY"
    },
    "dateOfBirth": {
      "dateOfBirth": "1989-01-01"
    },
    "addresses": [
      {
        "addressType": "RESIDENTIAL1",
        "country": "AUS",
        "postalCode": "7140",
        "state": "TAS",
        "unitNumber": "",
        "streetNumber": "9",
        "streetName": "THE AVENUE",
        "town": "ELLENDALE"
      }
    ],
    "extraData": [
      {
        "kvpKey": "consent.general",
        "kvpValue": "true",
        "kvpType": "general.bool"
      },
      {
        "kvpKey": "consent.docs",
        "kvpValue": "true",
        "kvpType": "general.bool"
      },
      {
        "kvpKey": "consent.creditheader",
        "kvpValue": "true",
        "kvpType": "general.bool"
      },
      {
        "kvpKey": "customer_reference",
        "kvpValue": "cust_001",
        "kvpType": "id.external"
      }
    ],
    "identityDocs": [
      {
        "country": "ESP",
        "idType": "PASSPORT",
        "idNumber": "J64407008"
      }
    ]
  }
}
```

Refer to here for more on entity profiles available in [Demo](/docs/v1/kyc/understanding-entity-profile-kyc-results).
