Logo

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:

  1. Go to Settings > API Keys in your Close account
  2. Click Generate New API Key
  3. Give your key a descriptive label
  4. 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.)
      • phones array of objects: Contact phones
        • phone string: Phone number
        • type string: Phone type (office, mobile, etc.)
    • custom object: Custom field values
  • 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
  • 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
  • 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
    • phones array of objects (nullable): Contact phones
      • phone string (required): Phone number
      • type string (default: "office"): Phone type
  • 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
    • phones array of objects: Contact phones
      • phone string: Phone number
      • type string: Phone type
    • date_created string: Creation timestamp
    • date_updated string: Last update timestamp
  • 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
  • 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
  • phones array of objects (nullable): Contact phones
    • phone string (required): Phone number
    • type string (default: "office"): Phone type

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
  • 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
  • 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
  • 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
  • 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

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

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