API Changelog
Dec 2, 2024 - record_calls
field on memberships deprecated
The boolean record_calls
field on the
Membership API has been deprecated in favor of
auto_record_calls
, an enum field with the initial value of 'unset'
for a new
membership, and which can be updated to 'enabled'
or 'disabled'
to control
whether calls are automatically recorded or not.
Nov 6th, 2024 - Date format in CSV Exports
We have updated the Export API with a new date_format
parameter to control the format of date objects in CSV exports.
Sep 9, 2024 - Archiving Custom Object Types
Custom Object Types can now be archived, by providing is_archived: true
flag
during an
update operation.
Aug 28, 2024 - Custom Objects are now public
Custom Objects are no longer in beta, meaning they are available to everyone on the corresponding billing plan.
Jun 10th, 2024 - Disallow Membership creation via API Keys
We have updated the Membership API so requests using API keys are no longer allowed to create memberships.
It remains possible to create memberships using OAuth.
Jun 7th, 2024 - Lead API only returns incomplete tasks.
We have updated the Lead API so that it only returns incomplete tasks in the "tasks" field. Previously it returned both incomplete and completed tasks. This led to some Lead API responses being exceedingly large for some clients.
You can still access completed tasks for the given lead via the
Task API, filtering by lead_id=DESIRED_LEAD_ID
and
view=archive
.
Apr 24, 2024 - Rate limit body deprecated.
We have updated the rate limit documentation deprecating the request body. All rate limit information should be in the headers (which are compliant with the current RFC spec).
Mar 28th, 2024 - Commenting API
We have added a new Commenting API to enable commenting on objects within Close.
Mar 27th, 2024 - Pipeline fields in Opportunities
We have added pipeline_id
and pipeline_name
fields inside Opportunity
responses. These can be used to retrieve the Opportunity Status Pipeline
information without performing an extra request.
Feb 26th, 2024 - Files API, Email Attachments
We have added a new Files API for uploading files to Close for use as email attachments. Files uploaded using this API can be used as attachments on email activities and email templates.
Feb 21st, 2024 - Custom Objects (BETA)
We have added Custom Objects API (BETA) for managing Custom Objects, including Custom Object Types, Instances, and Custom Fields. Do note that this API is in Beta and can change at any time without notice.
Feb 15th, 2024 - Email Unsubscribe
Contact resource now has
emails[].is_unsubscribed
attribute, indicating that a contact has unsubscribed
from automated emails.
We also introduced a new event unsubscribed_email.created
, which you can
subscribe to using webhooks. The event
contains an email address of the unsubscribed contact.
Nov 13th, 2023 - Scheduling Link integrations
We have added two new API endpoints to User Scheduling Links for integrating OAuth Applications to sync scheduling links into Close. Note this feature requires authenticating via OAuth.
Nov 10, 2023 - Returning single custom fields in the Leads API
We now support returning only a subset of custom fields when querying leads. See the Lead API for more information.
Oct 26th, 2023 - Transcription related fields in Call API
We have added the recording_transcript
and voicemail_transcript
fields to
responses in the Call API.
Oct 2nd, 2023 - Change to Sequence Subscription API
We have added the lead_id
field to responses in the
Sequence Subscription API.
Sept 21st, 2023 - Third party Meeting integrations & Meeting search
We have added an ability to create or update third party Meeting integrations. Note that this feature is only available to OAuth apps.
We also added an ability to search Meetings on calendar provider information they were synced from. This feature is available to OAuth apps and API key integrations.
Aug 29th, 2023 - Change to the Sequence API
We have added a new schedule
field and removed the existing schedule_id
field in the Sequence API.
July 21st, 2023 - Rate limit headers updated.
We have updated the rate limit header to comply with the current RFC spec.
June 29th, 2023 - Lead visibility related fields in Role
We have added fields related to lead visibility to Roles.
June 20th, 2023 - OAuth Applications
We have added support for authentication and authorization using OAuth.
May 1st, 2023 - Scheduling Links
We have added support for Scheduling Links.
Dec 22nd, 2022 - "Hidden" type Custom Field values visible in Event Log
Previously, we did not display values of "Hidden" type Custom Fields (i.e. fields which are not visible in the UI and which are for API use only) in the Event Log. Now we do.
Sept 26th, 2022 - SMS Templates
We have added support for SMS Templates.
Mar 10th, 2022 - Sequences
We have added support for calling steps within Sequences.
Feb 15th, 2022 - MMS support
We have added support for requesting MMS-enabled phone numbers with our
phone rental API:
pass with_mms
to get a phone number that can send and receive MMS messages
(restricted to Canada and United States due to Twilio limitations).
We have added support for getting received MMS attachments to
SMS activities: look for attachments
field on
returned JSON objects representing SMS activities.
We have added attachments
to Incoming SMS tasks too.
Feb 14th, 2022 - Advanced Filtering API
We have added functionality to our
Advanced Filtering API to allow you to filter
Lead objects using a set of arbitrary filters. The query
parameter on the lead
endpoint is now deprecated in favor of using the
Advanced Filtering API
Nov 16th, 2021 - New Webhook Filters
We have added 4 new filters to our
Webhook filtering
capabilities: is_null
, non_null
, not_equals
, and not
. Check out the
Webhook filtering
documentation for more information and examples.
Nov 9th, 2021 - Undocumented an old endpoint for Activity Reporting
We have removed the documentation for an old and deprecated version of the
Activity Reporting endpoint, /report/activity/{organization_id}/
. All new
integrations should use the
new version of the endpoint.
June 11th, 2021 - Custom Fields on Opportunities
Opportunities can now be associated with Custom Fields. A new API endpoint allows you to create Opportunity Custom Fields. The Shared Custom Field APIs are also extended to support associations with Opportunities. Values for Custom Fields can now be attached to an Opportunity through the Opportunity API.
June 7th, 2021 - Automatically pause failing webhook subscriptions
We will automatically pause webhook subscriptions to which all event delivery fails for 3 days.
May 17th, 2021 - Custom Field ID Format
Going forward, all new Custom Fields will share a common ID prefix, cf_
,
instead of object type specific prefixes like lcf_
for Lead Custom Fields, and
ccf_
for Contact Custom Fields.
Existing Custom Field IDs will not change, but be advised that we will soon allow existing Custom Fields to become Shared Custom Fields. This means a Shared Custom Field may have an ID prefix previously reserved for another object type. The ID prefix should not be used to infer the type of object associated with the Custom Field.
Apr 22th, 2021 - Shared Custom Fields
Several new endpoints let you create a single Custom Field, share it across multiple object types, and reorder all your Custom Fields:
Apr 13th, 2021 - Contact Filtering
A new endpoint that lets you find Contacts by an arbitrary set of filters.
Mar 31st, 2021 - Change to the Sequence API
When listing Sequence Subscriptions, it is now required to filter by
sequence_id
, lead_id
or contact_id
.
Jan 5th, 2021 - Changes to the Sequence API
- Failed attempt at creation/update/deletion of a Sequence because of an issue with permissions will now return a 403 error instead of a 401 error.
- Errors pertaining to Sequence Steps will no longer give you a deep nested
error structure (e.g.
{"field-errors": {"steps": {"errors": {...}}}}
), but rather a simple high-level error (e.g.{"error": "The delay of a Sequence Step must not be larger than 365 days."}
).
Oct 29th, 2020 - Microsoft Connected Accounts
It is now possible to connect Microsoft Accounts via OAuth for connecting Office 365 email. The new Connected Account type is documented in the Connected Accounts API.
Oct 9th, 2020 - Send As API
It is now possible to use the Send As feature through the API by using the Send As API. You can get which email accounts you can use to send emails through the Connected Accounts API.
Oct 3rd, 2020 - Active Calls on the Users Availability API
You can now use the Users Availability API to determine which users in your organization are currently on active phone calls in Close.
Sep 18th, 2020 - New URL for the Custom Field API
The recommended URL for the Custom Field API has changed from
/custom_fields/*/
to /custom_field/*/
. The latter form is more consistent
with every other endpoint in our API. The old endpoint will continue to work,
however, we recommend everybody to migrate to the new endpoint.
Aug 13th, 2020 - Groups
Groups are collection of Users. If you often use the same set of Users for filtering and reporting, you can now name them and use a Group in various places in Close.
Aug 7th, 2020 - Custom Activities Beta
We are beginning a limited beta test of a new Custom Activities feature. This
feature will allow users to define arbitrary activity types specific to their
workflow. The custom_activities
, activity/custom
and
custom_fields/activity
defined here are not yet accessible to all API users,
and may change before the feature is launched.
Jun 30th, 2020 - Connected Accounts and clarification on field usage in integrations
You can now use the Connected Accounts
endpoint to get information about any accounts you have connected in
Settings > Connected Accounts.
This is particularly useful in finding a sender_account_id
when
subscribing a contact to a sequence
Additionally, we have also added a clarification to the Fields section regarding the use of response fields in integrations. Non-custom fields that are returned by an endpoint that are not listed in our sample response should not be used in integrations, as they may change without warning.
May 19th, 2020 - HTTP/2 and Header Casing
We have started deploying new infrastructure that supports HTTP/2 connections. The HTTP/2 specification requires lowercase headers and HTTP/1.1 states header names are case insensitive. Therefore, we have updated our documentation to specify lowercase header names but will continue to support case insensitive headers in requests for HTTP/1.1 connections. Responses will have header names normalized to lowercase.
Apr 30th, 2020 - Custom Field Description
Custom Fields now have an optional description property, which is a longer description of the field that may be shown to users for context. This applies to both Lead and Contact Custom Fields.
Apr 6th, 2020 - Custom Fields on Contacts
Contacts can now have Custom Fields attached to them. A new API endpoint allows you to create Contact Custom Fields. Values for Contact Custom Fields can be attached to a Contact through the Contact API.
Dec 10th, 2019 - Introducing Pipelines
Pipelines are named and ordered groups of Opportunity Statuses. You can:
- Create, update, and delete Pipelines via the Pipeline API.
- Create Opportunity Statuses in a specific Pipeline via the Opportunity Status API.
- Reorder Opportunity Statuses within a Pipeline and move them between Pipelines
by sending a
PUT
to the Pipeline API.
With the introduction of Pipelines, we are deprecating the
opportunity_statuses
field in the
Organizanization API and
Me API. Use the
pipelines
field instead.
Nov 13th, 2019 - Deprecate old Activity Report endpoint
The new Activity Report endpoint was released May 8th, 2019 and should now be
used to retrieve all Activitiy Report data. The older version of this endpoint
is deprecated and will be removed in the future. The new version uses a POST
to /report/activity/
and the old version uses a GET
to
/report/activity/{ORGANIZATION_ID}/
.
Oct 31st, 2019 - Deprecate setting a status on an Opportunity via the status
field
All new integrations should use the status_id
field when POST/PUTting to the
Opportunity API. Using a status label in the status
field, albeit conveninent
at first, could lead to broken integrations when users rename statuses in the
UI.
Oct 12th, 2019 - Add new endpoint for Meeting activities
A new /activity/meeting/
endpoint has been added that allows you to interact
with Close Meeting activities synced from Google Calendar. This feature is
currently in beta, so the API is subject to change.
Aug 20th, 2019 - POST HTTP Status Code
For newer APIs, we return a 201
HTTP Status Code for POST requests when
creating an entity. We also include a Location
header with the URL for the new
entity. Existing APIs will continue to return a 200
for POST requests.
Jul 2nd, 2019 - Add multiple value support to the bulk edit action
custom_field_values
and custom_field_operation
can now be used when creating
bulk edit actions to replace, add, or remove multiple values at once on custom
fields that accept multiple values.
June 18th, 2019 - Add event filtering to webhook subscriptions
Webhook subscriptions now support the extra_filter
field which allows
filtering of events based on field and value changes.
May 10th, 2019 - Add API key ID to events
The events available from the event log and webhooks now contain the API key ID if the changes were made using an API key.
May 8th, 2019 - Add new activity report endpoint
A new activity report endpoint has been added that allows fetching more metrics. The list of available metrics is also exposed in the reporting API.
Apr. 25th, 2019 - Support for Multi-Select Custom Fields
"Choices" and "User" type Custom Fields can accept multiple values now:
- Create a multi-value Custom Field by POSTing
{"accepts_multiple_values": true}
to the Lead Custom Field API. - Set multiple values for the Custom Field on a Lead by POSTing
{"custom.lcf_xyz": ["Value 1", "Value 2", "Value 3"]}
to the Lead API.
Apr. 9th, 2019 - All exports are now compressed with GZIP
All exports are now compressed with GZIP. Downloads will now set HTTP headers
Content-Encoding: gzip
, and Content-Type: text/csv
or
Content-Type: application/json
depending on export format.
Mar. 7th, 2019 - Drop the field plan_type
from the Membership
API
The plan_type
field for the Membership
API has been dropped for
organizations that use the new billing system, given they cannot have different
plans for their members.
The field is still available to organizations using the previous billing system, until they switch to the new one.
Feb. 22, 2019 - New Base URL
We've switched the base URL of our API from https://app.close.io/api/v1/ to https://api.close.com/api/v1/
The old base URL is now deprecated.
Feb. 18, 2019 - Additional country fields
We've added country information to a few of our endpoints:
- Contact API responses include country information for each phone number.
- Phone Number API includes a list of countries the number can send SMS to.
- SMS API includes country information for the local and remote phone number.
Jan. 25, 2019 - Event Log Fields
Events retrieved by non-admins will now include the data
and previous_data
fields for events not older than 1 hour. Older events will not include these
fields as before.
Nov. 28, 2018 - Webhooks Subscription API
Added Webhooks Subscription API.