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

# Kai Contacts API

> Push, update, assign and export the contacts of your Kai workspace.

This tab documents the HTTP API. To read about the product, start at
[What Kai is](/). To work with contacts on screen, see
[Contacts and account owners](/product/contacts).

The Contacts API connects Kai to the systems that already hold your customer
data. With it you can:

* push contacts from your CRM, your billing system or a spreadsheet;
* record your own attributes on each contact, such as the package a customer
  bought;
* give an account to a teammate, so the next conversation of that customer
  reaches the same person;
* export every contact, or only the contacts that changed since your last run.

## What a contact is

A contact is one customer. It holds the core details (a name, an email
address, a phone number, your own id), the attributes that your workspace
keeps, and the account owner.

Kai also makes a contact when a customer writes for the first time. The API
and the inbox work on the same records. See [Contacts](/concepts/contacts).

## Base URL

```
https://kaisupport.com/api/v1
```

Every request needs an API key. See [Authentication](/authentication).

## The three rules that matter

<CardGroup cols={3}>
  <Card title="Absent keeps, null clears" icon="pen-to-square">
    A field that you do not send keeps its stored value. A field set to `null`
    clears the value. This makes a partial sync safe.
  </Card>

  <Card title="Kai matches, it does not merge" icon="fingerprint">
    Kai matches a write to a contact by identity. When two identities point to
    two different contacts, Kai refuses the write.
  </Card>

  <Card title="Attributes need a definition" icon="tags">
    Kai refuses an attribute key that the workspace does not define. Create the
    attribute first, then fill it.
  </Card>
</CardGroup>

## Next

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Make a key and push your first contact.
  </Card>

  <Card title="Import many contacts" icon="layer-group" href="/guides/bulk-import">
    Load thousands of contacts with the batch endpoint.
  </Card>
</CardGroup>
