# Identify

The Identify call lets you tie a user to their actions and record traits about them. It includes a unique User ID and any optional traits you know about the user, like their email and name.

Hoodle recommends that you make an Identify call:

* After a user first registers
* After a user logs in
* When a user updates their info (for example, they change or add a new address)

The Identify API call is used to create a new contact or update an existing one in your system. If a contact with the given external\_id already exists, their information will be updated; otherwise, a new contact will be created.

```
POST https://api.hoodleapp.com/api/contact/identify
```

This API call requires one field:

* external\_id: A unique identifier for the contact

Additionally, it accepts an optional data field, which must be a JSON object. All key-value pairs included in data will be stored and associated with the contact identified by external\_id. This allows you to attach custom attributes (e.g., location, preferences, status) to each contact dynamically.

For example, here’s the payload of a typical Identify call with most common fields removed:

```
analytics.identify("97980cfea0067", {
  name: "Peter Gibbons",
  email: "peter@example.com",
  plan: "premium",
  logins: 5
});
```
