Close Activities.custom Activities API
The activities.custom_activities API from Close — 2 operation(s) for activities.custom_activities.
The activities.custom_activities API from Close — 2 operation(s) for activities.custom_activities.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/close-activities-custom-activities-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
description: Close CRM REST API
title: Close Activities.custom Activities API
version: 1.0.0
servers:
- url: https://api.close.com/api/v1
security:
- ApiKeyAuth: []
- OAuth2: []
tags:
- name: activities.custom_activities
externalDocs:
url: https://developer.close.com/api/resources/activities/custom-activities
paths:
/activity/custom/:
get:
operationId: activities.custom_activities_list
tags:
- activities.custom_activities
summary: List or filter all Custom Activity instances
description: 'Custom Fields appear in the format: `custom.{custom_field_id}`. See [Custom Fields](https://developer.close.com/api/resources/custom-fields/custom-fields-activity).
If you''re filtering by `custom_activity_type_id` or `custom_activity_type_id__in` parameter, the `lead_id` parameter will be required as well. If you want to retrieve all Custom Activity instances of a specific type regardless of the lead, you will need to get leads that contain such an activity type using [Advanced Filtering](https://developer.close.com/api/resources/advanced-filtering) and provide those Lead IDs one at a time to this endpoint.'
parameters:
- $ref: '#/components/parameters/LimitParam'
- $ref: '#/components/parameters/SkipParam'
- $ref: '#/components/parameters/ActivityFilters_IdInParam'
- $ref: '#/components/parameters/ActivityFilters_LeadIdParam'
- $ref: '#/components/parameters/ActivityFilters_ContactIdParam'
- $ref: '#/components/parameters/ActivityFilters_UserIdParam'
- $ref: '#/components/parameters/ActivityFilters_OrganizationIdParam'
- $ref: '#/components/parameters/ActivityFilters_TypeParam'
- $ref: '#/components/parameters/ActivityFilters_DateCreatedGteParam'
- $ref: '#/components/parameters/ActivityFilters_DateCreatedLteParam'
- $ref: '#/components/parameters/ActivityFilters_DateCreatedGtParam'
- $ref: '#/components/parameters/ActivityFilters_DateCreatedLtParam'
- $ref: '#/components/parameters/ActivityFilters_ActivityAtGteParam'
- $ref: '#/components/parameters/ActivityFilters_ActivityAtLteParam'
- $ref: '#/components/parameters/ActivityFilters_ActivityAtGtParam'
- $ref: '#/components/parameters/ActivityFilters_ActivityAtLtParam'
- in: query
name: custom_activity_type_id
required: false
schema:
title: Custom Activity Type ID
default: null
anyOf:
- type: array
items:
type: string
- type: 'null'
- in: query
name: custom_activity_type_id__in
required: false
schema:
type: string
- $ref: '#/components/parameters/FieldsParam'
responses:
'200':
content:
application/json:
example:
data:
- _type: CustomActivity
activity_at: '2020-08-04T16:45:35.367000+00:00'
contact_id: null
created_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
created_by_name: Bruce Wayne
custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g: 'Yes'
custom_activity_type_id: actitype_1h5m6uHM9BZOpwVhyRJb4Y
date_created: '2020-08-04T16:45:35.367000+00:00'
date_updated: '2020-08-04T17:37:56.439000+00:00'
id: acti_5J7mimiIKB1tQ3gVduP0c4UhXbNj5ptMLteAWRJu7Sf
last_published_at: null
lead_id: lead_hwnL36A2iEMSLIlmGhsdrcmOJzTUzqEHwr66wrA1K2T
mentions: []
mentions_updated_at: null
organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH
pinned: false
pinned_at: null
source: ui
status: draft
updated_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
updated_by_name: Bruce Wayne
user_id: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
user_name: Bruce Wayne
users: []
- _type: CustomActivity
activity_at: '2020-08-04T16:45:29.612000+00:00'
contact_id: null
created_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
created_by_name: Bruce Wayne
custom_activity_type_id: actitype_33dpZWDiI0KoJsmQFCKbgi
date_created: '2020-08-04T16:45:29.612000+00:00'
date_updated: '2020-08-04T16:46:02.705000+00:00'
id: acti_v0VS1AZAg8LjnpBm1hZz83UZ3yWK0n9SdVV5i8yC6he
last_published_at: '2020-08-04T16:45:29.612000+00:00'
lead_id: lead_hwnL36A2iEMSLIlmGhsdrcmOJzTUzqEHwr66wrA1K2T
mentions: []
mentions_updated_at: null
organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH
pinned: false
pinned_at: null
source: ui
status: published
updated_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
updated_by_name: Bruce Wayne
user_id: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
user_name: Bruce Wayne
users: []
has_more: false
schema:
type: object
properties:
data:
items:
$ref: '#/components/schemas/CustomActivity'
type: array
has_more:
type: boolean
required:
- data
- has_more
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
post:
operationId: activities.custom_activities_create
tags:
- activities.custom_activities
summary: Create a new Custom Activity instance
description: 'Custom Activity instances will be created by default with the ''published'' status. All required fields will be validated in this status. To create an activity without setting all required fields, you can use the "draft" status.
A Custom Activity can be pinned or unpinned by setting the `pinned` field to `true` or `false` when creating or updating a Custom Activity.
Custom Fields appear in the format: `custom.{custom_field_id}`. See [Custom Fields](https://developer.close.com/api/resources/custom-fields/custom-fields-activity).'
requestBody:
content:
application/json:
example:
custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S: thedarknight@close.com
custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g: 'Yes'
custom_activity_type_id: actitype_1h5m6uHM9BZOpwVhyRJb4Y
lead_id: lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP
pinned: true
schema:
$ref: '#/components/schemas/CreateCustomActivity'
required: true
responses:
'200':
content:
application/json:
example:
_type: CustomActivity
activity_at: '2020-08-04T16:45:35.367000+00:00'
contact_id: null
created_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
created_by_name: Bruce Wayne
custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S: thedarknight@close.com
custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g: 'Yes'
custom_activity_type_id: actitype_1h5m6uHM9BZOpwVhyRJb4Y
date_created: '2020-08-04T16:45:35.367000+00:00'
date_updated: '2020-08-04T17:37:56.439000+00:00'
id: acti_5J7mimiIKB1tQ3gVduP0c4UhXbNj5ptMLteAWRJu7Sf
last_published_at: '2020-08-04T16:45:35.367000+00:00'
lead_id: lead_hwnL36A2iEMSLIlmGhsdrcmOJzTUzqEHwr66wrA1K2T
mentions: []
mentions_updated_at: null
organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH
pinned: true
pinned_at: '2020-08-04T17:37:56.439000+00:00'
source: ui
status: published
updated_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
updated_by_name: Bruce Wayne
user_id: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
user_name: Bruce Wayne
users: []
schema:
$ref: '#/components/schemas/CustomActivity'
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/activity/custom/{id}/:
get:
operationId: activities.custom_activities_get
tags:
- activities.custom_activities
summary: Get a single Custom Activity instance
description: 'Custom Fields appear in the format: `custom.{custom_field_id}`. See [Custom Fields](https://developer.close.com/api/resources/custom-fields/custom-fields-activity).'
parameters:
- in: path
name: id
required: true
schema:
type: string
- $ref: '#/components/parameters/FieldsParam'
responses:
'200':
content:
application/json:
example:
_type: CustomActivity
activity_at: '2020-08-04T16:45:35.367000+00:00'
contact_id: null
created_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
created_by_name: Bruce Wayne
custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g: 'Yes'
custom_activity_type_id: actitype_1h5m6uHM9BZOpwVhyRJb4Y
date_created: '2020-08-04T16:45:35.367000+00:00'
date_updated: '2020-08-04T17:37:56.439000+00:00'
id: acti_5J7mimiIKB1tQ3gVduP0c4UhXbNj5ptMLteAWRJu7Sf
last_published_at: null
lead_id: lead_hwnL36A2iEMSLIlmGhsdrcmOJzTUzqEHwr66wrA1K2T
mentions: []
mentions_updated_at: null
organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH
pinned: false
pinned_at: null
source: ui
status: draft
updated_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
updated_by_name: Bruce Wayne
user_id: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
user_name: Bruce Wayne
users: []
schema:
$ref: '#/components/schemas/CustomActivity'
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
put:
operationId: activities.custom_activities_update
tags:
- activities.custom_activities
summary: Updating a Custom Activity instance
description: 'A Custom Activity can be updated to add, change or remove any Custom Fields and to change the status between "draft" and "published".
A Custom Activity can be pinned or unpinned by setting the `pinned` field to `true` or `false` when creating or updating a Custom Activity.
Custom Fields appear in the format: `custom.{custom_field_id}`. See [Custom Fields](https://developer.close.com/api/resources/custom-fields/custom-fields-activity).'
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S: thedarknight@close.com
custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g: null
pinned: true
status: published
schema:
$ref: '#/components/schemas/UpdateCustomActivity'
required: true
responses:
'200':
content:
application/json:
example:
_type: CustomActivity
activity_at: '2020-08-04T16:45:35.367000+00:00'
contact_id: null
created_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
created_by_name: Bruce Wayne
custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S: thedarknight@close.com
custom_activity_type_id: actitype_1h5m6uHM9BZOpwVhyRJb4Y
date_created: '2020-08-04T16:45:35.367000+00:00'
date_updated: '2020-08-04T17:37:56.439000+00:00'
id: acti_5J7mimiIKB1tQ3gVduP0c4UhXbNj5ptMLteAWRJu7Sf
last_published_at: '2020-08-04T16:45:35.367000+00:00'
lead_id: lead_hwnL36A2iEMSLIlmGhsdrcmOJzTUzqEHwr66wrA1K2T
mentions: []
mentions_updated_at: null
organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH
pinned: true
pinned_at: '2020-08-04T17:37:56.439000+00:00'
source: ui
status: published
updated_by: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
updated_by_name: Bruce Wayne
user_id: user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk
user_name: Bruce Wayne
users: []
schema:
$ref: '#/components/schemas/CustomActivity'
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
delete:
operationId: activities.custom_activities_delete
tags:
- activities.custom_activities
summary: Delete a Custom Activity instance
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
components:
parameters:
ActivityFilters_DateCreatedGteParam:
in: query
name: date_created__gte
required: false
schema:
title: Date Created (>=)
anyOf:
- type: string
format: date-time
- type: string
format: date
ActivityFilters_ActivityAtLteParam:
in: query
name: activity_at__lte
required: false
schema:
title: Activity At (<=)
anyOf:
- type: string
format: date-time
- type: string
format: date
ActivityFilters_TypeParam:
description: Filter by activity type, e.g. Call (comma-separated)
in: query
name: _type
required: false
schema:
title: Type
default: null
anyOf:
- type: array
items:
type: string
- type: 'null'
ActivityFilters_OrganizationIdParam:
in: query
name: organization_id
required: false
schema:
title: Organization ID
default: null
anyOf:
- type: string
- type: 'null'
ActivityFilters_LeadIdParam:
description: Filter by lead IDs (comma-separated)
in: query
name: lead_id
required: false
schema:
title: Lead ID
default: null
anyOf:
- type: array
items:
type: string
- type: 'null'
ActivityFilters_ActivityAtLtParam:
in: query
name: activity_at__lt
required: false
schema:
title: Activity At (<)
anyOf:
- type: string
format: date-time
- type: string
format: date
ActivityFilters_ActivityAtGteParam:
in: query
name: activity_at__gte
required: false
schema:
title: Activity At (>=)
anyOf:
- type: string
format: date-time
- type: string
format: date
ActivityFilters_UserIdParam:
description: Filter by user IDs (comma-separated)
in: query
name: user_id
required: false
schema:
title: User ID
default: null
anyOf:
- type: array
items:
type: string
- type: 'null'
ActivityFilters_ContactIdParam:
description: Filter by contact IDs (comma-separated)
in: query
name: contact_id
required: false
schema:
title: Contact ID
default: null
anyOf:
- type: array
items:
type: string
- type: 'null'
LimitParam:
description: Number of results to return.
in: query
name: _limit
required: false
schema:
default: 100
type: integer
SkipParam:
description: Number of results to skip before returning, for pagination.
in: query
name: _skip
required: false
schema:
default: 0
type: integer
ActivityFilters_IdInParam:
description: Filter by activity IDs (comma-separated)
in: query
name: id__in
required: false
schema:
title: ID In
default: null
anyOf:
- type: array
items:
type: string
- type: 'null'
FieldsParam:
description: Comma-separated list of fields to include in the response.
in: query
name: _fields
required: false
schema:
type: string
ActivityFilters_DateCreatedLtParam:
in: query
name: date_created__lt
required: false
schema:
title: Date Created (<)
anyOf:
- type: string
format: date-time
- type: string
format: date
ActivityFilters_ActivityAtGtParam:
in: query
name: activity_at__gt
required: false
schema:
title: Activity At (>)
anyOf:
- type: string
format: date-time
- type: string
format: date
ActivityFilters_DateCreatedGtParam:
in: query
name: date_created__gt
required: false
schema:
title: Date Created (>)
anyOf:
- type: string
format: date-time
- type: string
format: date
ActivityFilters_DateCreatedLteParam:
in: query
name: date_created__lte
required: false
schema:
title: Date Created (<=)
anyOf:
- type: string
format: date-time
- type: string
format: date
schemas:
UpdateCustomActivity:
type: object
properties:
activity_at:
type:
- 'null'
- string
format: date-time
contact_id:
type:
- 'null'
- string
pinned:
type:
- boolean
- 'null'
status:
type: string
enum:
- draft
- published
additionalProperties: false
patternProperties:
^custom\.:
not:
type: object
CreationSource:
title: CreationSource
type: string
enum:
- ui
- api
- import
- clipper
- email
- suggestion
- segment-integration
- customerio-integration
- calendly-integration
- ai
- whatsapp
- webform
CommentSummary:
title: CommentSummary
type: object
properties:
comment_count:
title: Comment Count
type: integer
thread_id:
title: Thread ID
type: string
required:
- comment_count
- thread_id
CreateCustomActivity:
type: object
properties:
activity_at:
type:
- 'null'
- string
format: date-time
contact_id:
type:
- 'null'
- string
created_by:
type:
- 'null'
- string
custom_activity_type_id:
type: string
date_created:
type:
- 'null'
- string
format: date-time
lead_id:
type: string
organization_id:
type:
- 'null'
- string
pinned:
type:
- boolean
- 'null'
status:
type: string
enum:
- draft
- published
user_id:
type:
- 'null'
- string
required:
- custom_activity_type_id
- lead_id
additionalProperties: false
patternProperties:
^custom\.:
not:
type: object
CustomActivity:
title: CustomActivity
type: object
properties:
_type:
title: Type
type: string
activity_at:
title: Activity At
anyOf:
- type: string
format: date-time
- type: 'null'
comment_summary:
title: Comment Summary
anyOf:
- $ref: '#/components/schemas/CommentSummary'
- type: 'null'
contact_id:
title: Contact ID
anyOf:
- type: string
- type: 'null'
created_by:
title: Created By
anyOf:
- type: string
- type: 'null'
created_by_name:
title: Created By Name
default: null
anyOf:
- type: string
- type: 'null'
custom_activity_type_id:
title: Custom Activity Type ID
type: string
date_created:
title: Date Created
type: string
format: date-time
date_updated:
title: Date Updated
type: string
format: date-time
id:
title: ID
type: string
last_published_at:
title: Last Published At
anyOf:
- type: string
format: date-time
- type: 'null'
lead_id:
title: Lead ID
anyOf:
- type: string
- type: 'null'
mentions:
title: Mentions
type: array
items:
type: string
mentions_updated_at:
title: Mentions Updated At
anyOf:
- type: string
format: date-time
- type: 'null'
organization_id:
title: Organization ID
type: string
pinned:
title: Pinned
type: boolean
pinned_at:
title: Pinned At
anyOf:
- type: string
format: date-time
- type: 'null'
source:
anyOf:
- $ref: '#/components/schemas/CreationSource'
- type: 'null'
status:
$ref: '#/components/schemas/CustomActivityStatus'
updated_by:
title: Updated By
anyOf:
- type: string
- type: 'null'
updated_by_name:
title: Updated By Name
default: null
anyOf:
- type: string
- type: 'null'
user_id:
title: User ID
anyOf:
- type: string
- type: 'null'
user_name:
title: User Name
default: null
anyOf:
- type: string
- type: 'null'
users:
title: Users
type: array
items:
type: string
required:
- _type
- activity_at
- contact_id
- created_by
- custom_activity_type_id
- date_created
- date_updated
- id
- last_published_at
- lead_id
- mentions
- mentions_updated_at
- organization_id
- pinned
- pinned_at
- source
- status
- updated_by
- user_id
- users
CustomActivityStatus:
title: CustomActivityStatus
type: string
enum:
- draft
- published
securitySchemes:
ApiKeyAuth:
description: Use your API key as the username and leave the password empty.
scheme: basic
type: http
OAuth2:
flows:
authorizationCode:
authorizationUrl: https://app.close.com/oauth2/authorize/
scopes:
all.full_access: Full access to all resources
offline_access: Request a refresh token
tokenUrl: https://api.close.com/oauth2/token/
type: oauth2