Skip to main content
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. 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.

Base URL

Every request needs an API key. See Authentication.

The three rules that matter

Absent keeps, null clears

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.

Kai matches, it does not merge

Kai matches a write to a contact by identity. When two identities point to two different contacts, Kai refuses the write.

Attributes need a definition

Kai refuses an attribute key that the workspace does not define. Create the attribute first, then fill it.

Next

Quickstart

Make a key and push your first contact.

Import many contacts

Load thousands of contacts with the batch endpoint.