Close
Authentication Type: API Key Description: Sales CRM with built-in calling, email, and SMS for managing leads, contacts, opportunities, and sales activities.
Authentication
To authenticate, you'll need a Close API key:
- Go to Settings > API Keys in your Close account
- Click Generate New API Key
- Give your key a descriptive label
- Copy the API key
For more details, see the Close API documentation.
Leads
Manage leads (companies/organizations) in your Close CRM pipeline.
List Leads
List leads with pagination support. Optionally filter with a search query.
Operation Type: Query (Read)
Parameters:
- _limit
number(default: 100): Maximum number of leads to return (max 200) - _skip
number(default: 0): Number of leads to skip for pagination - query
string(nullable): Search query to filter leads
Returns:
- data
array of objects: Array of lead records- id
string: Lead ID - display_name
string: Lead display name - status_label
string: Current lead status - description
string: Lead description - url
string: Company URL - date_created
string: Creation timestamp - date_updated
string: Last update timestamp - contacts
array of objects: Associated contacts- id
string: Contact ID - name
string: Contact name - title
string: Contact job title - emails
array of objects: Contact emails- email
string: Email address - type
string: Email type (office, personal, etc.)
- email
- phones
array of objects: Contact phones- phone
string: Phone number - type
string: Phone type (office, mobile, etc.)
- phone
- id
- custom
object: Custom field values
- id
- has_more
boolean: Whether more results are available - total_results
number: Total number of matching leads
Example Usage:
{
"_limit": 50,
"_skip": 0
}
Get Lead
Retrieve a specific lead by its ID, including associated contacts and custom fields.
Operation Type: Query (Read)
Parameters:
- id
string(required): Lead ID
Returns:
- id
string: Lead ID - display_name
string: Lead display name - status_label
string: Current lead status - description
string: Lead description - url
string: Company URL - date_created
string: Creation timestamp - date_updated
string: Last update timestamp - contacts
array of objects: Associated contacts- id
string: Contact ID - name
string: Contact name - title
string: Contact job title - emails
array of objects: Contact emails - phones
array of objects: Contact phones
- id
- custom
object: Custom field values
Example Usage:
{
"id": "lead_abc123"
}
Search Leads
Search for leads using a query string. Matches against lead names, descriptions, and contact information.
Operation Type: Query (Read)
Parameters:
- query
string(required): Search query to filter leads (e.g. company name, email domain) - _limit
number(default: 100): Maximum number of leads to return - _skip
number(default: 0): Number of leads to skip for pagination
Returns:
- data
array of objects: Array of matching lead records- id
string: Lead ID - display_name
string: Lead display name - status_label
string: Current lead status - description
string: Lead description - url
string: Company URL - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
- id
- has_more
boolean: Whether more results are available - total_results
number: Total number of matching leads
Example Usage:
{
"query": "Acme Corp",
"_limit": 25
}
Create Lead
Create a new lead with optional contacts and custom fields.
Operation Type: Mutation (Write)
Parameters:
- name
string(required): Lead/company name - url
string(nullable): Company URL - description
string(nullable): Lead description - status_id
string(nullable): Lead status ID - contacts
array of objects(nullable): Contacts to create with the lead- name
string(nullable): Contact name - title
string(nullable): Contact job title - emails
array of objects(nullable): Contact emails- email
string(required): Email address - type
string(default: "office"): Email type
- email
- phones
array of objects(nullable): Contact phones- phone
string(required): Phone number - type
string(default: "office"): Phone type
- phone
- name
- custom
object(nullable): Custom field values
Returns:
- id
string: Created lead ID - display_name
string: Lead display name - status_label
string: Lead status - description
string: Lead description - url
string: Company URL - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"name": "Acme Corp",
"url": "https://acme.com",
"description": "Enterprise software company",
"contacts": [
{
"name": "John Doe",
"title": "CTO",
"emails": [{ "email": "john@acme.com", "type": "office" }],
"phones": [{ "phone": "+15551234567", "type": "office" }]
}
]
}
Update Lead
Update an existing lead's properties.
Operation Type: Mutation (Write)
Parameters:
- id
string(required): Lead ID - name
string(nullable): Lead name - url
string(nullable): Company URL - description
string(nullable): Lead description - status_id
string(nullable): Lead status ID - custom
object(nullable): Custom field values
Returns:
- id
string: Lead ID - display_name
string: Updated lead display name - status_label
string: Lead status - description
string: Updated description - url
string: Company URL - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"id": "lead_abc123",
"description": "Premium enterprise customer",
"custom": {
"cf_tier": "Enterprise"
}
}
Contacts
Manage individual contacts associated with leads.
List Contacts
List contacts with pagination support. Optionally filter with a search query.
Operation Type: Query (Read)
Parameters:
- _limit
number(default: 100): Maximum number of contacts to return - _skip
number(default: 0): Number of contacts to skip for pagination - query
string(nullable): Search query to filter contacts
Returns:
- data
array of objects: Array of contact records- id
string: Contact ID - name
string: Contact name - title
string: Job title - lead_id
string: Associated lead ID - emails
array of objects: Contact emails- email
string: Email address - type
string: Email type
- email
- phones
array of objects: Contact phones- phone
string: Phone number - type
string: Phone type
- phone
- date_created
string: Creation timestamp - date_updated
string: Last update timestamp
- id
- has_more
boolean: Whether more results are available
Example Usage:
{
"_limit": 50
}
Get Contact
Retrieve a specific contact by its ID.
Operation Type: Query (Read)
Parameters:
- id
string(required): Contact ID
Returns:
- id
string: Contact ID - name
string: Contact name - title
string: Job title - lead_id
string: Associated lead ID - emails
array of objects: Contact emails - phones
array of objects: Contact phones - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"id": "cont_abc123"
}
Search Contacts
Search for contacts using a query string.
Operation Type: Query (Read)
Parameters:
- query
string(required): Search query to filter contacts (e.g. name, email) - _limit
number(default: 100): Maximum number of contacts to return - _skip
number(default: 0): Number of contacts to skip for pagination
Returns:
- data
array of objects: Array of matching contact records- id
string: Contact ID - name
string: Contact name - title
string: Job title - lead_id
string: Associated lead ID - emails
array of objects: Contact emails - phones
array of objects: Contact phones - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
- id
- has_more
boolean: Whether more results are available
Example Usage:
{
"query": "john@acme.com",
"_limit": 10
}
Update Contact
Update an existing contact's properties.
Operation Type: Mutation (Write)
Parameters:
- id
string(required): Contact ID - name
string(nullable): Contact name - title
string(nullable): Job title - emails
array of objects(nullable): Contact emails- email
string(required): Email address - type
string(default: "office"): Email type
- email
- phones
array of objects(nullable): Contact phones- phone
string(required): Phone number - type
string(default: "office"): Phone type
- phone
Returns:
- id
string: Contact ID - name
string: Updated contact name - title
string: Updated job title - lead_id
string: Associated lead ID - emails
array of objects: Updated emails - phones
array of objects: Updated phones - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"id": "cont_abc123",
"title": "VP Engineering",
"phones": [{ "phone": "+15559876543", "type": "mobile" }]
}
Opportunities
Manage sales opportunities (deals) within your pipeline.
List Opportunities
List opportunities with pagination support. Optionally filter by lead.
Operation Type: Query (Read)
Parameters:
- _limit
number(default: 100): Maximum number of opportunities to return - _skip
number(default: 0): Number of opportunities to skip for pagination - lead_id
string(nullable): Filter by lead ID
Returns:
- data
array of objects: Array of opportunity records- id
string: Opportunity ID - lead_id
string: Associated lead ID - status_id
string: Status ID - status_label
string: Status display label - pipeline_id
string: Pipeline ID - pipeline_name
string: Pipeline name - value
number: Deal value in cents - value_currency
string: Currency code - confidence
number: Confidence percentage (0-100) - note
string: Opportunity note - date_created
string: Creation timestamp - date_updated
string: Last update timestamp - date_won
string: Date won (if applicable) - date_lost
string: Date lost (if applicable) - expected_value
number: Expected value (value * confidence) - lead_name
string: Associated lead name - contact_id
string: Associated contact ID - contact_name
string: Associated contact name
- id
- has_more
boolean: Whether more results are available - total_results
number: Total number of matching opportunities
Example Usage:
{
"lead_id": "lead_abc123",
"_limit": 25
}
Get Opportunity
Retrieve a specific opportunity by its ID.
Operation Type: Query (Read)
Parameters:
- id
string(required): Opportunity ID
Returns:
- id
string: Opportunity ID - lead_id
string: Associated lead ID - status_id
string: Status ID - status_label
string: Status display label - pipeline_id
string: Pipeline ID - pipeline_name
string: Pipeline name - value
number: Deal value in cents - value_currency
string: Currency code - confidence
number: Confidence percentage - note
string: Opportunity note - date_created
string: Creation timestamp - date_updated
string: Last update timestamp - date_won
string: Date won - date_lost
string: Date lost - expected_value
number: Expected value - lead_name
string: Associated lead name - contact_id
string: Associated contact ID - contact_name
string: Associated contact name
Example Usage:
{
"id": "oppo_abc123"
}
Search Opportunities
Search for opportunities using a query string.
Operation Type: Query (Read)
Parameters:
- query
string(required): Search query to filter opportunities - _limit
number(default: 100): Maximum number of opportunities to return - _skip
number(default: 0): Number of opportunities to skip for pagination
Returns:
- data
array of objects: Array of matching opportunity records- id
string: Opportunity ID - lead_id
string: Associated lead ID - status_id
string: Status ID - status_label
string: Status display label - pipeline_id
string: Pipeline ID - value
number: Deal value in cents - value_currency
string: Currency code - confidence
number: Confidence percentage - note
string: Opportunity note - date_created
string: Creation timestamp - date_updated
string: Last update timestamp - lead_name
string: Associated lead name
- id
- has_more
boolean: Whether more results are available - total_results
number: Total number of matching opportunities
Example Usage:
{
"query": "Enterprise",
"_limit": 50
}
Create Opportunity
Create a new opportunity associated with a lead.
Operation Type: Mutation (Write)
Parameters:
- lead_id
string(required): Lead ID to associate with - status_id
string(nullable): Opportunity status ID - confidence
number(nullable): Confidence percentage (0-100) - value
number(nullable): Deal value in cents - value_currency
string(nullable): Currency code (e.g. USD) - value_period
string(nullable): Value period (one_time, monthly, annual) - note
string(nullable): Opportunity note - contact_id
string(nullable): Contact ID to associate with
Returns:
- id
string: Created opportunity ID - lead_id
string: Associated lead ID - status_id
string: Status ID - status_label
string: Status display label - pipeline_id
string: Pipeline ID - value
number: Deal value - value_currency
string: Currency code - confidence
number: Confidence percentage - note
string: Opportunity note - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"lead_id": "lead_abc123",
"value": 50000,
"value_currency": "USD",
"confidence": 75,
"note": "Enterprise license deal"
}
Update Opportunity
Update an existing opportunity's properties.
Operation Type: Mutation (Write)
Parameters:
- id
string(required): Opportunity ID - status_id
string(nullable): Opportunity status ID - confidence
number(nullable): Confidence percentage (0-100) - value
number(nullable): Deal value in cents - value_currency
string(nullable): Currency code - value_period
string(nullable): Value period (one_time, monthly, annual) - note
string(nullable): Opportunity note - contact_id
string(nullable): Contact ID to associate with
Returns:
- id
string: Opportunity ID - lead_id
string: Associated lead ID - status_id
string: Updated status ID - status_label
string: Updated status label - pipeline_id
string: Pipeline ID - value
number: Updated deal value - value_currency
string: Currency code - confidence
number: Updated confidence - note
string: Updated note - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"id": "oppo_abc123",
"confidence": 90,
"note": "Contract review in progress"
}
Notes
Create and manage note activities on leads.
List Notes
List note activities with pagination support. Optionally filter by lead.
Operation Type: Query (Read)
Parameters:
- _limit
number(default: 100): Maximum number of notes to return - _skip
number(default: 0): Number of notes to skip for pagination - lead_id
string(nullable): Filter by lead ID
Returns:
- data
array of objects: Array of note records- id
string: Note activity ID - lead_id
string: Associated lead ID - note
string: Note content - user_id
string: Author user ID - user_name
string: Author name - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
- id
- has_more
boolean: Whether more results are available
Example Usage:
{
"lead_id": "lead_abc123",
"_limit": 20
}
Get Note
Retrieve a specific note activity by its ID.
Operation Type: Query (Read)
Parameters:
- id
string(required): Note activity ID
Returns:
- id
string: Note activity ID - lead_id
string: Associated lead ID - note
string: Note content - user_id
string: Author user ID - user_name
string: Author name - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"id": "acti_abc123"
}
Create Note
Create a new note activity on a lead.
Operation Type: Mutation (Write)
Parameters:
- lead_id
string(required): Lead ID to attach the note to - note
string(required): Note content (HTML supported)
Returns:
- id
string: Created note activity ID - lead_id
string: Associated lead ID - note
string: Note content - user_id
string: Author user ID - user_name
string: Author name - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"lead_id": "lead_abc123",
"note": "Had a great discovery call. Very interested in our enterprise plan."
}
Update Note
Update an existing note activity.
Operation Type: Mutation (Write)
Parameters:
- id
string(required): Note activity ID - note
string(nullable): Updated note content (HTML supported)
Returns:
- id
string: Note activity ID - lead_id
string: Associated lead ID - note
string: Updated note content - user_id
string: Author user ID - user_name
string: Author name - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"id": "acti_abc123",
"note": "Updated: Moving to proposal stage after positive call."
}
Emails
Access email activity data.
Get Email
Retrieve a specific email activity by its ID.
Operation Type: Query (Read)
Parameters:
- id
string(required): Email activity ID
Returns:
- id
string: Email activity ID - lead_id
string: Associated lead ID - subject
string: Email subject line - body_text
string: Email body as plain text - sender
string: Sender email address - to
array of strings: Recipient email addresses - status
string: Email status - direction
string: Email direction (incoming/outgoing) - user_id
string: Associated user ID - user_name
string: Associated user name - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
Example Usage:
{
"id": "acti_email123"
}
Activities
Access combined activity data across all activity types (calls, emails, notes, etc.).
List Activities
List all activities for a lead with pagination support.
Operation Type: Query (Read)
Parameters:
- _limit
number(default: 100): Maximum number of activities to return - _skip
number(default: 0): Number of activities to skip for pagination - lead_id
string(nullable): Filter by lead ID
Returns:
- data
array of objects: Array of activity records- id
string: Activity ID - _type
string: Activity type (Note, Email, Call, SMS, etc.) - lead_id
string: Associated lead ID - user_id
string: Associated user ID - user_name
string: Associated user name - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
- id
- has_more
boolean: Whether more results are available
Example Usage:
{
"lead_id": "lead_abc123",
"_limit": 50
}
Pipelines
Access opportunity pipeline configuration.
List Pipelines
List all opportunity pipelines in your Close account.
Operation Type: Query (Read)
Parameters:
No parameters required.
Returns:
- data
array of objects: Array of pipeline records- id
string: Pipeline ID - name
string: Pipeline name - date_created
string: Creation timestamp - date_updated
string: Last update timestamp
- id
Example Usage:
{}
Statuses
Access opportunity status configuration.
List Statuses
List all opportunity statuses across pipelines.
Operation Type: Query (Read)
Parameters:
No parameters required.
Returns:
- data
array of objects: Array of status records- id
string: Status ID - label
string: Status display label - type
string: Status type (active, won, lost) - pipeline_id
string: Associated pipeline ID - pipeline_name
string: Associated pipeline name
- id
Example Usage:
{}
Common Use Cases
Lead Management:
- Search for existing leads before creating duplicates
- Create leads with contacts from external data sources
- Update lead status as deals progress through your pipeline
- Bulk manage custom field values for lead segmentation
Pipeline & Deal Tracking:
- List opportunities by lead to see all deals for a company
- Update opportunity confidence and value as deals progress
- Look up pipeline and status configurations for workflow automation
- Track win/loss dates for reporting
Activity Logging:
- Create notes after calls or meetings for team visibility
- List all activities for a lead to see complete interaction history
- Retrieve email content for conversation context
- Track communication patterns across leads
Contact Management:
- Search contacts by email to find existing records
- Update contact titles and phone numbers when roles change
- List contacts associated with specific leads
- Maintain accurate contact information across your CRM