Contact

contact (example on postman)

Import contacts with a single file or json data

Body Params

data_format
string

Tag to specify what type of data is being provided. See Import Formats.

action_type
string

Specifies what action to take with the data. The value can be "create" or "update". If update is specified and new rows are found, Kindful will insert those rows on the contact/s. If existing rows are found those records will update if they haven't been further changed inside Kindful. Change is tracked by an updated_time tag that you can specify in the imports. This is time the record was updated on the organization account and if greater than local updated time we will override.

match_by
object

This defaults for all record types to external_id. See "Record Matching Options".

update_exceptions
object

Allows you to specify that you want to possibly only update transactions and not contacts. See example below.

data_url
string

URL to the data. Ideally this would be a URL that expires after a short time and/or is encrypted. This is required unless data tag is specified.

data_type
string

Supported types include csv and json. This is unnecessary if data param is specified. **Please ensure that if passing in csv that it does not contain BOM fields (It is usually added by excel when saving an excel file as csv and doesn't get added when code programmatically creates it.)

data
array

JSON array data with keys that match the import_format. This is limited to 100 records per call. If POST format type is JSON then this can be provided as an array. This is required unless data_url tag is specified.

compression
string

Supported types: gzip

custom_fields
array of strings

Additional column names provided that need to be mapped to custom fields on the contact record in Kindful.

update_columns_except (coming soon)
object

Only the specified columns will attempt to be updated on the contact record.

update_columns_only (coming soon)
object

Provides ability to specify only specific columns to apply on update.

encrypted (coming soon)
boolean

Indicates whether or not it has been gpg encrypted to kindful's gpg key.

webhook_status_url (coming soon)
string

Provides callback updates as the status changes (coming soon).

chapter_id (coming soon)
string

Provides the ability to apply an import to a chapter instead of the parent organization. See Chapters API for a list of chapters.

custom_field_identifiers (coming soon)
array of strings

Additional column names that are mapped to kindful custom field IDs. Use the /custom_fields API call to receive a list of active custom fields.

The id field is an (API) application-specific field and is used to prevent duplicates when multiple applications are connected to the same Organization account.

For more information about creating and updating records, please see Intro to Record Matching

If id is not provided then:
To remove duplicates, we match based upon an exact match of firstname + lastname + email or company_name + email.

This is not ideal, so specify an identifier if at all possible.

columns
required
notes
example
type

id

No

Contact ID

123ABC

String (between 1 and 255 characters)

first_name

Yes unless company_name is populated

for individuals

last_name

Yes unless company_name is populated

for individuals

String (between 1 and 255 characters)

company_name

Yes unless first and last name are populated

For Organization Contacts, this field must be populated.

And if this field is populated, First and last name can be blank in this case. However, if you specify First and Last Name, (in addition to company_name) then those values will populate the "Primary Contact Name" on the Organization record.

String (between 1 and 255 characters)

employer

No

Name of the employer of the contact

email

No

valid email address

String (between 1 and 255 characters)

alt_email

No

valid email address

String (between 1 and 255 characters)

addr1

No

String (between 1 and 255 characters)

addr2

No

String (between 1 and 255 characters)

city

No

String (between 1 and 255 characters)

state

No

state abbreviation TN,NY (not case-sensitive)

String (between 1 and 255 characters)

postal

No

valid country postal code. 5 digits if United States

String (between 1 and 255 characters)

country

No

Records nil value if not specified

http://www.worldatlas.com/aatlas/ctycodes.htm the full name from the list above. the A2 (ISO) code also can be used.

title

No

(position or job title)

String (between 1 and 255 characters)

birthday

No

yyyy/mm/dd
yyyy-mm-dd

String (between 1 and 255 characters)

primary_phone

No

digits or with () - -

String (between 1 and 255 characters)

alt_phone

No

String (between 1 and 255 characters)

fax_phone

No

String (between 1 and 255 characters)

spouse_first

No

String (between 1 and 255 characters)

spouse_last

No

String (between 1 and 255 characters)

gender

No

Male = M, Female=F, Unknown=U. if blank the gender will be guessed based on name

M

M/F/U

created_at

No

integer for unix timestamp (jan 1 1970) or string in UTC of ISO8601 or RFC3339 format

updated_at

No
Yes if action = update

integer for unix timestamp (jan 1 1970) or string in UTC of ISO8601 or RFC3339 format

occupation

No

Dentist

String (between 1 and 255 characters)

retired_or_not_employed

No

True/False or Yes/No

True

True/False/Yes/No

email_opt_in

No

True/False

True

Boolean

email_deliverable

No

True/False

True

Boolean

email_deliverable_error_reason

No

Soft Bounce

String (between 1 and 255 characters)