Contact
contact (example on postman)
Import contacts with a single file or json data
Body Params
Tag to specify what type of data is being provided. See Import Formats.
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.
This defaults for all record types to external_id. See "Record Matching Options".
Allows you to specify that you want to possibly only update transactions and not contacts. See example below.
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.
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.)
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.
Supported types: gzip
Additional column names provided that need to be mapped to custom fields on the contact record in Kindful.
Only the specified columns will attempt to be updated on the contact record.
Provides ability to specify only specific columns to apply on update.
Indicates whether or not it has been gpg encrypted to kindful's gpg key.
Provides callback updates as the status changes (coming soon).
Provides the ability to apply an import to a chapter instead of the parent organization. See Chapters API for a list of chapters.
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.
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
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)