# Identifiers & Traits

The two core concepts of Attuitive are **Identifiers** & **Traits**. On the surface, these two properties share some similiarities but understanding their differences can allow you to drive the most value from the system.

Both properties relate to users and describing them in some form but have different purposes.

## Identifiers

**Identifiers** are properties that can be used to *identify* your users. These are data points that are generally **unique** across your users such as an email address or phone number. Each property is an **identifier**.

The `/identify` [endpoint](/attuitive/api-reference/identify.md) leverages these properties, first when creating your users and at a later point for identifying them by these values. For example, you can take a known email address and use the `/identify` endpoint to retrieve the matching user.

### Conflicts

There may be some scenarios in which a particular **identifier**, `phoneNumber` for example, is not unique across your users. Attuitive allows for this and will **not** return an error in the event of inserting a second, or greater user with the same `phoneNumber` value.

> **Important:** individual identifiers do not have to be unique across users!

Whilst unique identifiers are preferential, when calling the `/identify` endpoint you can provide multiple filter properties. Doing so allows you use a combination of multiple **identifier** values to find an exact match. Failing this, multiple users may be returned which can be filtered by other means as suited to your purpose.

## Traits

**Traits** are attributes of your users and *describe* certain things about them. They are often **not unique** across users and are likely domain specific, i.e. they relate to a data point relevant to the application or industry. For example, an e-commerce brand may hold many details around a customers purchase or browsing behaviours:

```json
{
    "lastPurchaseDate": "13/04/2025",
    "lastOrderNumber": "ODR-123",
    "lastSiteVisit": "15/04/2025"
}
```

It is these properties that hold value and will derive insights into behaviours, analytics, and patterns that will allow for data-driven decision making.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tristans-organization-4.gitbook.io/attuitive/basics/identifiers-and-traits.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
