# Quickstart

## Create an API key

To get started you will need an API key to authenticate any requests you make to Attuitive.

Start by navigating to **Settings > API Keys** in the [Attuitive Console](https://console.attuitive.com/app), and **create new API key**.

<figure><img src="/files/9bdvooWDSUI01fASv8AJ" alt=""><figcaption><p>Use the <strong>Create new API key</strong> button in the top right.</p></figcaption></figure>

## Add your first user

With an API key ready to go you can begin to identify your users. You can do this via a `POST` request to the [Identify](/attuitive/api-reference/identify.md) endpoint, replacing `<API_KEY>` with your API key value:

{% tabs %}
{% tab title="Curl" %}

```bash
curl -X POST https://api.attuitive.com/api/v1/identify \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{
    "identifiers": {
      "email": "jane.doe@example.com",
      "fullName": "Jane Doe"
    },
    "traits": {
      "plan": "Pro",
      "signupDate": "2025-04-10"
    }
  }'
```

{% endtab %}
{% endtabs %}

> The example provided uses [Curl](https://curl.se/) as a basic example to get started quickly. The Attuitive API is HTTP driven so you can also use it from your language of choice such as JavaScript, Python, Rust.

This will create your first user. If you navigate to **Users > Overview** on the Console you will now see this user appear along with updated statistics. Every user is assigned a unique ID beginning with `usr_` which will also have been returned in the Curl request you made.

Check out the documentation on the [Identify endpoint](/attuitive/api-reference/identify.md) for more details.

<figure><img src="/files/ATMXQQvlLMfRCcekWa4Z" alt=""><figcaption><p>The user is visible within the users page.</p></figcaption></figure>

## Record something about your user

Notice how in our initial request we included a `traits` object containing some attributes about our user?&#x20;

When identifying new users you can do this if you already have known information about them you wish to store. This saves you needing to make an additional API request to the [Track](/attuitive/api-reference/track.md) endpoint.

If you have an existing user and want to update or record a new attribute you will use this endpoint. Let's do this now with the user we identified above.

Start by getting the unique ID of the user beginning with `usr_`. You can do this via the Console, or from the body of the response from the Curl request we made.

We'll now make a `POST` request to the [Track](/attuitive/api-reference/track.md) endpoint. Make sure to replace `<API_KEY>` and `<USER_ID>` with the collected values.

{% tabs %}
{% tab title="Curl" %}

```bash
curl -X POST https://api.attuitive.com/api/v1/track/<USER_ID> \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "traits": {
      "churnRisk": "low",
      "plan": "Enterprise"
    }
  }'
```

{% endtab %}
{% endtabs %}

You have just updated the traits of your user. The updated user is returned in the Curl request or you can refresh the Console and view them there.

The request did two things:

* A new trait `churnRisk` was added.
* The existing trait `plan` was updated from "*Pro"* to "*Enterprise"*.

On the traits in the returned Curl request, or on the Console, notice that `signupDate` is still present. Traits are always merged with existing traits so you don't need to worry about existing values being cleared when sending updates.

Check out the documentation on the [Track endpoint](/attuitive/api-reference/track.md) for more details.

> Unsure about Identifiers & Traits? [See the explanation here](/attuitive/basics/identifiers-and-traits.md).

<figure><img src="/files/uWVdFDTcYyf99nRGF9b4" alt=""><figcaption><p>The user's traits have been updated.</p></figcaption></figure>


---

# 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/getting-started/quickstart.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.
