Close
Close is an inside-sales CRM with calling, email, SMS, and WhatsApp built in. The Close API exposes leads, contacts, opportunities, tasks, activities (calls, emails, SMS, meetings, notes), pipelines, custom objects, sequences, smart views, scheduling, phone numbers, reporting, and webhooks for sales automation.
28 APIs
10 Features
CRMSales EngagementInside SalesCallingSMSSaaS
Manage leads — Close's central CRM object representing a company / account. Includes contacts, opportunities, custom fields, addresses, and status.
Manage individual contacts (people) within a lead, including emails, phones, custom fields, and titles.
Manage opportunities (deals) attached to leads, with pipeline stage, value, status, and custom fields.
Manage tasks assigned to users with due dates, supporting bulk updates and snooze actions.
Read and create activities — notes, calls, emails, SMS, WhatsApp, meetings, and custom activity types — that build a lead's timeline.
Log inbound and outbound calls with duration, direction, recording URLs, transcripts, and disposition outcomes.
Send and log emails with templates, attachments, and tracking against contacts and leads.
Send and log SMS and WhatsApp messages, with conversation threading against contacts.
Log meeting activities synced from connected Zoom / Microsoft / Calendly accounts, with outcomes and notes.
Manage opportunity pipelines and the configurable lead and opportunity statuses driving funnel progression.
Define and read custom field schemas across leads, contacts, opportunities, activities, and custom objects.
Define user-defined object types with custom fields for tenant- specific data models.
Manage email and SMS templates with variable substitution and rendering for outbound messaging.
Manage automated multi-step sequences (cadences) and subscriber enrollment with stop conditions.
Submit bulk email send / edit / delete / sequence-subscribe jobs that execute as background tasks.
Manage saved search queries (Smart Views) with structured filter grammar across leads, contacts, and opportunities.
Export leads, opportunities, and activities to CSV asynchronously for downstream analytics.
Generate activity reports, funnel analysis, and status-change tracking across the team.
Rent and manage Close-provided phone numbers for inbound and outbound calling and SMS.
Manage user and shared scheduling links that customers use to book meetings into rep calendars.
Manage connected email, Zoom, Microsoft, and Calendly accounts backing the Close calling, email, and meeting integrations.
Manage users (sales reps, managers) and their availability, membership in organizations, and roles.
Manage organizations (Close workspaces) including settings, memberships, and inboxes.
Manage roles and permission sets that govern access to leads, activities, and admin functions (Scale plan only).
Manage user groups for assignment, reporting, and permission scoping.
Query the 30-day historical event log of all changes across leads, contacts, opportunities, and activities.
Subscribe to Close events with advanced filtering on event type and object attributes; deliveries include HMAC signatures.
OAuth 2.0 authorization for third-party applications building against Close, plus app registration in the Close Marketplace.
REST API at https://api.close.com/api/v1/
HTTP Basic auth with API key, plus OAuth 2.0 for marketplace apps
Solo $9/mo, Essentials $35, Growth $99, Scale $139 per seat (annual)
Premium phone numbers $19/mo per line
AI Call Assistant $50/month + $0.02/min
Additional organizations $50/mo (1 included with Growth/Scale)
Per-endpoint-group rate limits; org limits 3x individual key limits
RateLimit header (limit / remaining / reset) on every response
30-day Event Log for change tracking
Webhooks with advanced filtering and HMAC-signed deliveries
opencollection: 1.0.0
info:
name: API Endpoints
version: 1.0.0
items:
- info:
name: subpackage_leads
type: folder
items:
- info:
name: List Leads
type: http
http:
method: GET
url: https://api.close.com/api/v1/lead/
headers:
- name: Authorization
value: ''
params:
- name: _limit
value: ''
type: query
description: Number of results to return.
- name: _skip
value: ''
type: query
description: Number of results to skip before returning, for pagination.
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
docs: List Leads
- info:
name: Create a new lead
type: http
http:
method: POST
url: https://api.close.com/api/v1/lead/
headers:
- name: Authorization
value: ''
body:
type: json
data: '{}'
docs: 'Contacts, addresses, and custom fields can all be nested in the lead. Activities, tasks, and opportunities must
be posted separately.
**status / status_id** (optional): Post either `status` or `status_id` (but not both). If neither is provided, the organization''s
default (first) status will be used. Using `status_id` is recommended so that users can rename statuses in the UI without
breaking your implementation.
**custom.FIELD_ID** (optional): Set custom fields by setting `custom.FIELD_ID` to '
- info:
name: Merge two leads
type: http
http:
method: POST
url: https://api.close.com/api/v1/lead/merge/
headers:
- name: Authorization
value: ''
body:
type: json
data: '{}'
docs: For details and definitions of 'source' and 'destination', see the Merge Leads feature in the UI.
- info:
name: Get a single Lead
type: http
http:
method: GET
url: https://api.close.com/api/v1/lead/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
docs: Get a single Lead
- info:
name: Update an existing lead
type: http
http:
method: PUT
url: https://api.close.com/api/v1/lead/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Supports non-destructive patches. Nested `contacts` cannot be updated through this endpoint -- use the Contacts
API instead.
**status**: See `status` and `status_id` guidance on the create endpoint.
**custom.FIELD_ID** (optional): See `custom.FIELD_ID` guidance on the create endpoint. You can also unset a single field,
e.g.:
```json
{ "custom.cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c": null }
```
If the custom field accepts multiple values, you can specify `.add` or `.remove` as part of'
- info:
name: Delete a lead
type: http
http:
method: DELETE
url: https://api.close.com/api/v1/lead/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Delete a lead
- info:
name: subpackage_contacts
type: folder
items:
- info:
name: List contacts
type: http
http:
method: GET
url: https://api.close.com/api/v1/contact/
headers:
- name: Authorization
value: ''
params:
- name: _limit
value: ''
type: query
description: Number of results to return.
- name: _skip
value: ''
type: query
description: Number of results to skip before returning, for pagination.
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
- name: lead_id
value: ''
type: query
docs: List contacts
- info:
name: Create a new contact
type: http
http:
method: POST
url: https://api.close.com/api/v1/contact/
headers:
- name: Authorization
value: ''
params:
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
body:
type: json
data: '{}'
docs: Contacts belong to exactly one Lead (specified by `lead_id`). If you do not provide a `lead_id` then a new lead
will be created, named after the contact.
- info:
name: Fetch a single contact
type: http
http:
method: GET
url: https://api.close.com/api/v1/contact/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
docs: Fetch a single contact
- info:
name: Update an existing contact
type: http
http:
method: PUT
url: https://api.close.com/api/v1/contact/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
body:
type: json
data: '{}'
docs: 'Update a contact''s information. If you''re trying to update a custom field and that custom field accepts multiple
values, you can specify `.add` or `.remove` as part of the field key to add/remove a single value to/from a list of
values, e.g.:
```json
{ "custom.cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c.add": "Wednesday" }
```
adds "Wednesday" to the list of values which already exist on the given contact.'
- info:
name: Delete a contact
type: http
http:
method: DELETE
url: https://api.close.com/api/v1/contact/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Delete a contact
- info:
name: subpackage_opportunities
type: folder
items:
- info:
name: List or filter opportunities
type: http
http:
method: GET
url: https://api.close.com/api/v1/opportunity/
headers:
- name: Authorization
value: ''
params:
- name: _limit
value: ''
type: query
description: Number of results to return.
- name: _skip
value: ''
type: query
description: Number of results to skip before returning, for pagination.
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
- name: lead_id
value: ''
type: query
- name: organization_id
value: ''
type: query
- name: user_id
value: ''
type: query
- name: user_id__in
value: ''
type: query
- name: status_id
value: ''
type: query
- name: status_id__in
value: ''
type: query
- name: status_type
value: ''
type: query
- name: status_type__in
value: ''
type: query
- name: status_label
value: ''
type: query
- name: status_label__in
value: ''
type: query
- name: status
value: ''
type: query
- name: status__in
value: ''
type: query
- name: date_won
value: ''
type: query
- name: date_won__gte
value: ''
type: query
- name: date_won__gt
value: ''
type: query
- name: date_won__lte
value: ''
type: query
- name: date_won__lt
value: ''
type: query
- name: date_created
value: ''
type: query
- name: date_created__gte
value: ''
type: query
- name: date_created__gt
value: ''
type: query
- name: date_created__lte
value: ''
type: query
- name: date_created__lt
value: ''
type: query
- name: date_updated
value: ''
type: query
- name: date_updated__gte
value: ''
type: query
- name: date_updated__gt
value: ''
type: query
- name: date_updated__lte
value: ''
type: query
- name: date_updated__lt
value: ''
type: query
- name: value_period
value: ''
type: query
- name: value_period__in
value: ''
type: query
- name: query
value: ''
type: query
- name: lead_query
value: ''
type: query
- name: lead_saved_search_id
value: ''
type: query
- name: is_stalled
value: ''
type: query
- name: _order_by
value: ''
type: query
- name: _group_by
value: ''
type: query
docs: "* All opportunity list responses contain the following aggregate values about all the matching objects (regardless\
\ of pagination / limits):\n * `total_results`: the total number of objects,\n * `count_by_value_period`: a dictionary\
\ containing the number of opportunities by value period, e.g. `{ 'one_time': 2, 'annual': 1, 'monthly': 1 }`,\n \
\ * `total_value_one_time`: the sum of the values of all one time opportunities,\n * `total_value_monthly`: the sum\
\ of the values of all monthly opport"
- info:
name: Create an opportunity
type: http
http:
method: POST
url: https://api.close.com/api/v1/opportunity/
headers:
- name: Authorization
value: ''
body:
type: json
data: '{}'
docs: '**lead_id** (optional): Opportunities belong to exactly one Lead. If you do not provide a `lead_id` then a new
lead will be created (appearing as "Untitled" in the UI).
**custom.FIELD_ID** (optional): Set custom fields by setting `custom.FIELD_ID` to the field value, where FIELD_ID is
the ID of the custom field, e.g.:
```json
{ "custom.cf_v6S011I6MqcbVvB2FA5Nk8dr5MkL8sWuCiG8cUleO9c": "value", "custom.cf_8wtBWsdRU2Fur7GDnEeXQ7ra2Vu7R4hG1SNYdiEhh0F":
"other value" }
```
If a custom field has `a'
- info:
name: Retrieve an opportunity
type: http
http:
method: GET
url: https://api.close.com/api/v1/opportunity/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
docs: Retrieve an opportunity
- info:
name: Update an opportunity
type: http
http:
method: PUT
url: https://api.close.com/api/v1/opportunity/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
body:
type: json
data: '{}'
docs: '*status_id*
- See description for `status_id` in `POST /opportunity/` above.
- Setting the `status_id` to a status with a type of `won` will automatically set the `date_won` field if it is not
already set or provided in the request. Reverting it from a `won` status to an `active` or `lost` will not automatically
change `date_won`.
*date_won* (optional):
- If not set on the resource or in the request, the `date_won` will be set automatically to today''s date when setting
`status_id` to a status'
- info:
name: Delete an opportunity
type: http
http:
method: DELETE
url: https://api.close.com/api/v1/opportunity/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Delete an opportunity
- info:
name: subpackage_tasks
type: folder
items:
- info:
name: List or filter tasks
type: http
http:
method: GET
url: https://api.close.com/api/v1/task/
headers:
- name: Authorization
value: ''
params:
- name: _limit
value: ''
type: query
description: Number of results to return.
- name: _skip
value: ''
type: query
description: Number of results to skip before returning, for pagination.
- name: assigned_to
value: ''
type: query
- name: format
value: ''
type: query
- name: id
value: ''
type: query
- name: id__in
value: ''
type: query
- name: is_complete
value: ''
type: query
- name: lead_id
value: ''
type: query
- name: _order_by
value: ''
type: query
- name: organization_id
value: ''
type: query
- name: _type
value: ''
type: query
- name: _type__in
value: ''
type: query
- name: view
value: ''
type: query
- name: date
value: ''
type: query
- name: date__lt
value: ''
type: query
- name: date__lte
value: ''
type: query
- name: date__gt
value: ''
type: query
- name: date__gte
value: ''
type: query
- name: due_date
value: ''
type: query
- name: due_date__lt
value: ''
type: query
- name: due_date__lte
value: ''
type: query
- name: due_date__gt
value: ''
type: query
- name: due_date__gte
value: ''
type: query
- name: date_created__lt
value: ''
type: query
- name: date_created__lte
value: ''
type: query
- name: date_created__gt
value: ''
type: query
- name: date_created__gte
value: ''
type: query
- name: date_updated__lt
value: ''
type: query
- name: date_updated__lte
value: ''
type: query
- name: date_updated__gt
value: ''
type: query
- name: date_updated__gte
value: ''
type: query
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
docs: 'The `view` parameter can be used to conveniently access the different task views. It accepts one of the following
values:
* `inbox`: Shows incomplete tasks up to the end of the user''s day only (taking the time zone into account).
* `future`: Shows incomplete tasks starting from the user''s tomorrow only (taking the time zone into account).
* `archive`: Shows complete tasks only.
Note that a `view` value of `inbox` or `future` will override any `date__lt` or `date__gte` parameters included in th'
- info:
name: Create a task
type: http
http:
method: POST
url: https://api.close.com/api/v1/task/
headers:
- name: Authorization
value: ''
params:
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
body:
type: json
data: '{}'
docs: Provide the type of task to be created in the `_type` field. Currently only tasks of type `lead` and `outgoing_call`
can be created.
- info:
name: Bulk-update tasks
type: http
http:
method: PUT
url: https://api.close.com/api/v1/task/
headers:
- name: Authorization
value: ''
params:
- name: assigned_to
value: ''
type: query
- name: format
value: ''
type: query
- name: id
value: ''
type: query
- name: id__in
value: ''
type: query
- name: is_complete
value: ''
type: query
- name: lead_id
value: ''
type: query
- name: _order_by
value: ''
type: query
- name: organization_id
value: ''
type: query
- name: _type
value: ''
type: query
- name: _type__in
value: ''
type: query
- name: view
value: ''
type: query
- name: date
value: ''
type: query
- name: date__lt
value: ''
type: query
- name: date__lte
value: ''
type: query
- name: date__gt
value: ''
type: query
- name: date__gte
value: ''
type: query
- name: due_date
value: ''
type: query
- name: due_date__lt
value: ''
type: query
- name: due_date__lte
value: ''
type: query
- name: due_date__gt
value: ''
type: query
- name: due_date__gte
value: ''
type: query
- name: date_created__lt
value: ''
type: query
- name: date_created__lte
value: ''
type: query
- name: date_created__gt
value: ''
type: query
- name: date_created__gte
value: ''
type: query
- name: date_updated__lt
value: ''
type: query
- name: date_updated__lte
value: ''
type: query
- name: date_updated__gt
value: ''
type: query
- name: date_updated__gte
value: ''
type: query
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
body:
type: json
data: '{}'
docs: 'Any of the filters of the GET endpoint may be used. For example, to update multiple tasks with given IDs A, B and
C, `id__in=A,B,C` would be passed.
Only the `assigned_to`, `date` and `is_complete` fields may be updated.'
- info:
name: Fetch a task's details
type: http
http:
method: GET
url: https://api.close.com/api/v1/task/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
docs: Fetch a task's details
- info:
name: Update a task
type: http
http:
method: PUT
url: https://api.close.com/api/v1/task/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
body:
type: json
data: '{}'
docs: The `assigned_to`, `date` (either a date or a date-time), and `is_complete` fields may be updated on all tasks.
If the task type is `lead`, the `text` field may also be modified.
- info:
name: Delete a task
type: http
http:
method: DELETE
url: https://api.close.com/api/v1/task/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Delete a task
- info:
name: subpackage_files
type: folder
items:
- info:
name: Generate a signed S3 POST
type: http
http:
method: POST
url: https://api.close.com/api/v1/files/upload/
headers:
- name: Authorization
value: ''
body:
type: json
data: '{}'
docs: Get the data needed to make a request to S3 to store your file.
- info:
name: subpackage_customObjects
type: folder
items:
- info:
name: List Custom Object instances
type: http
http:
method: GET
url: https://api.close.com/api/v1/custom_object/
headers:
- name: Authorization
value: ''
params:
- name: lead_id
value: ''
type: query
- name: custom_object_type_id
value: ''
type: query
docs: 'The `lead_id` parameter is required. If you want to retrieve all Custom Object instances regardless of the lead,
you will need to use [Advanced Filtering](https://developer.close.com/api/resources/advanced-filtering).
Custom Fields values appear in the format: `custom.{custom_field_id}`. See [Custom Fields](https://developer.close.com/api/resources/custom-fields/custom-fields-custom-object).
Back references to each Custom Object are not collected in this response. If you need to access this in'
- info:
name: Create a new Custom Object instance
type: http
http:
method: POST
url: https://api.close.com/api/v1/custom_object/
headers:
- name: Authorization
value: ''
body:
type: json
data: '{}'
docs: "Custom Field values can be set using the format: `custom.{custom_field_id}`. See [Custom Fields](https://developer.close.com/api/resources/custom-fields/custom-fields-custom-object).\n\
\nThe following fields are required:\n - `custom_object_type_id`: The type of Custom Object you are creating determines\
\ the Custom Fields that can be used.\n - `lead_id`: The Lead that this Custom Object instance will belong to.\n -\
\ `name`: Each Custom Object has a name, used for display."
- info:
name: Retrieve a single Custom Object instance
type: http
http:
method: GET
url: https://api.close.com/api/v1/custom_object/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Retrieve a single Custom Object instance
- info:
name: Updating a Custom Object instance
type: http
http:
method: PUT
url: https://api.close.com/api/v1/custom_object/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
body:
type: json
data: '{}'
docs: A Custom Object can be updated to add, change or remove any Custom Fields, and to change the `name` property.
- info:
name: Delete a Custom Object instance
type: http
http:
method: DELETE
url: https://api.close.com/api/v1/custom_object/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Delete a Custom Object instance
- info:
name: subpackage_comments
type: folder
items:
- info:
name: Fetch multiple comments
type: http
http:
method: GET
url: https://api.close.com/api/v1/comment/
headers:
- name: Authorization
value: ''
params:
- name: thread_id
value: ''
type: query
- name: object_id
value: ''
type: query
docs: Comments may be fetched by `object_id` (the object that was commented on) or by `thread_id`. Exactly one of those
filters must be provided.
- info:
name: Create a Comment
type: http
http:
method: POST
url: https://api.close.com/api/v1/comment/
headers:
- name: Authorization
value: ''
body:
type: json
data: '{}'
docs: Create a comment on an object. If a comment thread already exists on that object, a new comment is added to the
existing thread. If no thread exists yet, one is created automatically.
- info:
name: Fetch an individual comment
type: http
http:
method: GET
url: https://api.close.com/api/v1/comment/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Fetch an individual comment
- info:
name: Update a Comment
type: http
http:
method: PUT
url: https://api.close.com/api/v1/comment/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
body:
type: json
data: '{}'
docs: You can use this endpoint to edit a comment body. Note that users may only update their own comments.
- info:
name: Remove a comment
type: http
http:
method: DELETE
url: https://api.close.com/api/v1/comment/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: 'Note that contrary to the HTTP verb, this does not necessarily _delete_ a comment (but it will _remove_ it). Comments
bodies are removed, but the comment object still exists until all comments in a thread are removed (at which point the
entire thread is deleted).
Permissions around removing comments inherit from the users permission to delete their own or other users'' activities.'
- info:
name: Fetch multiple comment threads
type: http
http:
method: GET
url: https://api.close.com/api/v1/comment_thread/
headers:
- name: Authorization
value: ''
params:
- name: _limit
value: ''
type: query
description: Number of results to return.
- name: _skip
value: ''
type: query
description: Number of results to skip before returning, for pagination.
- name: ids
value: ''
type: query
- name: object_ids
value: ''
type: query
docs: Fetch multiple comment threads
- info:
name: Fetch an individual comment thread
type: http
http:
method: GET
url: https://api.close.com/api/v1/comment_thread/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Fetch an individual comment thread
- info:
name: subpackage_activities
type: folder
items:
- info:
name: List or filter all activity types
type: http
http:
method: GET
url: https://api.close.com/api/v1/activity/
headers:
- name: Authorization
value: ''
params:
- name: _limit
value: ''
type: query
description: Number of results to return.
- name: _skip
value: ''
type: query
description: Number of results to skip before returning, for pagination.
- name: id__in
value: ''
type: query
description: Filter by activity IDs (comma-separated)
- name: lead_id
value: ''
type: query
description: Filter by lead IDs (comma-separated)
- name: contact_id
value: ''
type: query
description: Filter by contact IDs (comma-separated)
- name: user_id
value: ''
type: query
description: Filter by user IDs (comma-separated)
- name: organization_id
value: ''
type: query
- name: _type
value: ''
type: query
description: Filter by activity type, e.g. Call (comma-separated)
- name: date_created__gte
value: ''
type: query
- name: date_created__lte
value: ''
type: query
- name: date_created__gt
value: ''
type: query
- name: date_created__lt
value: ''
type: query
- name: activity_at__gte
value: ''
type: query
- name: activity_at__lte
value: ''
type: query
- name: activity_at__gt
value: ''
type: query
- name: activity_at__lt
value: ''
type: query
- name: lead_id__in
value: ''
type: query
- name: user_id__in
value: ''
type: query
- name: contact_id__in
value: ''
type: query
- name: _type__in
value: ''
type: query
- name: _fields
value: ''
type: query
description: Comma-separated list of fields to include in the response.
- name: _order_by
value: ''
type: query
docs: 'To list only a specific activity type (e.g., only `Call` or `LeadStatusChange`), use the other resources listed
separately. When querying activities for a single lead (using the `lead_id` parameter), you can ask for multiple activity
types using `_type__in`.
When listing [Custom Activities](https://developer.close.com/api/resources/activities/custom-activities), `_type` and
`_type__in` can include Custom Activity Type ids (e.g. `actitype_1h5m6uHM9BZOpwVhyRJb4Y`) to filter by a specific custom
a'
- info:
name: subpackage_activitiesNotes
type: folder
items:
- info:
name: List or filter all Note activities
type: http
http:
method: GET
url: https://api.close.com/api/v1/activity/note/
headers:
- name: Authorization
value: ''
params:
- name: _limit
value: ''
type: query
description: Number of results to return.
- name: _skip
value: ''
type: query
description: Number of results to skip before returning, for pagination.
- name: id__in
value: ''
type: query
description: Filter by activity IDs (comma-separated)
- name: lead_id
value: ''
type: query
description: Filter by lead IDs (comma-separated)
- name: contact_id
value: ''
type: query
description: Filter by contact IDs (comma-separated)
- name: user_id
value: ''
type: query
description: Filter by user IDs (comma-separated)
- name: organization_id
value: ''
type: query
- name: _type
value: ''
type: query
description: Filter by activity type, e.g. Call (comma-separated)
- name: date_created__gte
value: ''
type: query
- name: date_created__lte
value: ''
type: query
- name: date_created__gt
value: ''
type: query
- name: date_created__lt
value: ''
type: query
- name: activity_at__gte
value: ''
type: query
- name: activity_at__lte
value: ''
type: query
- name: activity_at__gt
value: ''
type: query
- name: activity_at__lt
value: ''
type: query
docs: List or filter all Note activities
- info:
name: Create a Note activity
type: http
http:
method: POST
url: https://api.close.com/api/v1/activity/note/
headers:
- name: Authorization
value: ''
body:
type: json
data: '{}'
docs: 'To include an attachment, you must first upload the file to Close using the [Files API](https://developer.close.com/api/resources/files).
Then, add an object to the `attachments` array with the following fields: `url`, `filename` and `content_type`. The
`url` should be the URL provided in the `download.url` field of the response from the [Files API](https://developer.close.com/api/resources/files).
It must begin `https://app.close.com/go/file/`.
A note can be pinned or unpinned by setting the `'
- info:
name: Get a single Note activity
type: http
http:
method: GET
url: https://api.close.com/api/v1/activity/note/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
docs: Get a single Note activity
- info:
name: Update a Note activity
type: http
http:
method: PUT
url: https://api.close.com/api/v1/activity/note/:id/
headers:
- name: Authorization
value: ''
params:
- name: id
value: ''
type: path
body:
type: json
data: '{}'
docs: '**`note_html` and `note`**: setting one overwrites the other. If both are provided, `
# --- truncated at 32 KB (180 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/close/refs/heads/main/apis.yml