# Create Activity
Source: https://docs.clientcommander.com/api-reference/activities/create
POST /v1/activities
Log a new activity for a contact.
# Delete Activity
Source: https://docs.clientcommander.com/api-reference/activities/delete
DELETE /v1/activities/{id}
# Get Activity
Source: https://docs.clientcommander.com/api-reference/activities/get
GET /v1/activities/{id}
# List Activities
Source: https://docs.clientcommander.com/api-reference/activities/list
GET /v1/activities
Retrieve activities for a specific contact.
# Update Activity
Source: https://docs.clientcommander.com/api-reference/activities/update
PUT /v1/activities/{id}
Update activity content (notes).
# Create Deal
Source: https://docs.clientcommander.com/api-reference/deals/create
POST /v1/deals
Create a new deal in a pipeline.
# Delete Deal
Source: https://docs.clientcommander.com/api-reference/deals/delete
DELETE /v1/deals/{id}
# Get Deal
Source: https://docs.clientcommander.com/api-reference/deals/get
GET /v1/deals/{id}
# List Deals
Source: https://docs.clientcommander.com/api-reference/deals/list
GET /v1/deals
Retrieve deals with role-based filtering:
- **Owner/Admin:** All deals
- **Team Leader:** Team deals
- **Agent:** Own deals
# Move Deal
Source: https://docs.clientcommander.com/api-reference/deals/move
POST /v1/deals/{id}/move
Move a deal to a different stage in the pipeline. Triggers webhooks.
# Update Deal
Source: https://docs.clientcommander.com/api-reference/deals/update
PUT /v1/deals/{id}
# Introduction
Source: https://docs.clientcommander.com/api-reference/introduction
API Reference Overview
The Client Commander API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
## Base URL
```bash theme={null}
https://api.clientcommander.com/v1
```
## Resources
Manage contacts and leads
Manage todos and follow-ups
Manage sales pipelines
Log calls, notes, and emails
# Add Contact Tags
Source: https://docs.clientcommander.com/api-reference/people/add-tags
POST /v1/people/{id}/tags
Add one or more tags to a contact. Tags are created automatically if they don't exist.
**Auto-Create:** Non-existent tags are automatically created.
**Deduplication:** Duplicate tags are ignored.
# Create Contact
Source: https://docs.clientcommander.com/api-reference/people/create
POST /v1/people
Create a new contact or update existing one if matched by email/phone.
**Deduplication:** Automatically matches by email (exact) or phone (normalized).
**Name Parsing:** If only `firstName` is provided with multiple words, automatically splits into first/last name.
# Delete Contact
Source: https://docs.clientcommander.com/api-reference/people/delete
DELETE /v1/people/{id}
Delete a contact. Default behavior is soft delete (move to trash).
**Soft Delete:** `?permanent=false` (default) - Moves to "Trash" stage
**Hard Delete:** `?permanent=true` - Permanently deletes (requires `people.delete` permission)
# Get Contact
Source: https://docs.clientcommander.com/api-reference/people/get
GET /v1/people/{id}
Retrieve detailed information for a specific contact.
# Get Contact Tags
Source: https://docs.clientcommander.com/api-reference/people/get-tags
GET /v1/people/{id}/tags
Retrieve all tags associated with a contact.
# List Contacts
Source: https://docs.clientcommander.com/api-reference/people/list
GET /v1/people
Retrieve a paginated list of contacts. Results are filtered based on user permissions:
- **Owner/Admin:** See all contacts
- **Team Leader:** See team members' contacts
- **Agent:** See own assigned contacts + collaborations
# Search Contacts
Source: https://docs.clientcommander.com/api-reference/people/search
GET /v1/people/search
Search for contacts by ID, email, phone, or name.
**Search Priority:** ID → Email → Phone → Name
**Fuzzy Matching:** Name searches support partial matches (case-insensitive).
# Update Contact
Source: https://docs.clientcommander.com/api-reference/people/update
PUT /v1/people/{id}
Update an existing contact. Only provided fields are updated.
**Partial Updates:** Supports PATCH-style partial updates via PUT.
# Complete Task
Source: https://docs.clientcommander.com/api-reference/tasks/complete
POST /v1/tasks/{id}/complete
Mark a task as completed with current timestamp.
# Create Task
Source: https://docs.clientcommander.com/api-reference/tasks/create
POST /v1/tasks
Create a new task with optional contact association.
# Delete Task
Source: https://docs.clientcommander.com/api-reference/tasks/delete
DELETE /v1/tasks/{id}
# Get Task
Source: https://docs.clientcommander.com/api-reference/tasks/get
GET /v1/tasks/{id}
# List Tasks
Source: https://docs.clientcommander.com/api-reference/tasks/list
GET /v1/tasks
Retrieve tasks for the authenticated agent. Optionally filter by contact.
# Update Task
Source: https://docs.clientcommander.com/api-reference/tasks/update
PUT /v1/tasks/{id}
# List Users
Source: https://docs.clientcommander.com/api-reference/users/list
GET /v1/users
List all agents/users in the company.
# Get Current User
Source: https://docs.clientcommander.com/api-reference/users/me
GET /v1/me
Retrieve profile information for the authenticated agent.
# API Terms of Use
Source: https://docs.clientcommander.com/api-terms
Terms governing use of the Client Commander API
These API Terms of Use ("Terms") govern your access to and use of the Client Commander Application Programming Interface and related documentation (collectively, the "Client Commander API"). By accessing or using the Client Commander API, you ("Developer," "you," or "your") agree to be bound by these Terms. If you are using the API on behalf of a company or organization, you represent that you have authority to bind that entity.
If you do not agree to these Terms, you may not use the Client Commander API.
## 1. License Grant
Client Commander grants you a limited, revocable, non-exclusive, non-transferable, non-sublicensable license to:
* Access and use the API to build, test, and operate integrations or applications that interact with the Client Commander platform.
* Use the API documentation for development purposes only.
No other rights are granted.
## 2. Registration & Identification
To use the Client Commander API, you agree to:
1. Register and obtain valid API credentials.
2. Protect all credentials and keep them confidential.
3. Use only the credentials issued to you.
4. Properly identify your system when acting on behalf of a Client Commander customer.
You are responsible for all activity performed using your API key.
## 3. Acceptable Use Restrictions
You agree not to:
* Reverse engineer, decompile, or attempt to extract the source code of the API.
* Bypass or disable any API rate limits or security mechanisms.
* Build a competing product using the API.
* Store, cache, or retain Client Commander data beyond what is legally or contractually allowed.
* Misrepresent your relationship with Client Commander.
* Interfere with Client Commander servers, stability, or performance.
* Use the API for spam, abuse, scraping, or unauthorized data harvesting.
Client Commander may monitor API usage and restrict access at its discretion.
## 4. Data Use & Privacy
You must:
* Access only data you are authorized to use.
* Comply with all applicable privacy, data protection, and security laws.
* Delete Client Commander data when requested by a user, Client Commander, or applicable law.
* Implement industry-standard security measures for protecting user data.
You may not sell, share, or repurpose Client Commander data for advertising, profiling, or unrelated purposes.
## 5. API Modification & Updates
Client Commander may update or modify the API at any time, including:
* Adding, changing, or removing endpoints.
* Introducing new API versions.
* Deprecating old API versions with reasonable notice.
Backward compatibility is not guaranteed.
## 6. Rate Limits & Quotas
You must follow all published or communicated API usage limits. Excessive, inappropriate, or abusive use may result in rate limiting, throttling, or termination of access.
## 7. Security Requirements
You must:
* Store API keys securely and never expose them publicly.
* Use HTTPS for all requests.
* Notify Client Commander immediately if you suspect API key leakage or unauthorized access.
Client Commander may require additional authentication steps for certain use cases.
## 8. Branding & Attribution
Unless explicitly permitted:
* You may not use Client Commander's name, logo, or trademarks without written approval.
* You may not state or imply endorsement, partnership, or certification.
Where attribution is required, you must follow Client Commander's brand guidelines.
## 9. Suspension & Termination
Client Commander may suspend or terminate your API access:
* For violations of these Terms.
* For security or technical reasons.
* For misuse or abuse of the API.
* At the request of a Client Commander customer.
* For extended developer inactivity.
Upon termination, you must:
* Immediately stop using the API,
* Delete all Client Commander data,
* Destroy all issued API keys.
## 10. Ownership
Client Commander retains all rights, title, and interest in:
* The API,
* The platform,
* Documentation,
* Data,
* And all related intellectual property.
You retain ownership of your own application, excluding Client Commander elements.
***
## 11. Disclaimer & Limitation of Liability
The Client Commander API is provided “as is” without warranties of any kind.
To the maximum extent permitted by law, Client Commander is not liable for:
* Any indirect, incidental, or consequential damages,
* Loss of profits, revenue, data, or business,
* Downtime or interruptions,
* Errors or omissions.
Your sole remedy is to discontinue API use.
## 12. Indemnification
You agree to indemnify, defend, and hold harmless Client Commander from any claims, damages, losses, liabilities, or expenses (including legal fees) arising from:
* Your use of the API,
* Your application,
* Your breach of these Terms.
## 13. Governing Law
These Terms are governed by the laws of UK, without regard to conflict-of-law principles. All disputes shall be resolved exclusively in the courts located in United Kingdom.
## 14. Changes to Terms
Client Commander may modify these Terms at any time. Continued use of the API after changes are posted constitutes acceptance of the revised Terms.
## 15. Contact Information
For questions or support regarding the API or these Terms:
Email: [api@clientcommander.me](mailto:api@clientcommander.me)\
Website: [https://clientcommander.com](https://clientcommander.com)
# Authentication
Source: https://docs.clientcommander.com/authentication
How to authenticate with the Client Commander API
## API Keys
All API requests require an API Key. You can generate one in your dashboard under **Admin > API Keys**.
Your API Key carries the same privileges as your user account. Keep it secure and never share it publicly.
### Using the SDK
The SDK handles authentication automatically:
```typescript theme={null}
import { ClientCommander } from '@clientcommander/sdk';
const cc = new ClientCommander({
apiKey: 'ccmd_live_...',
});
```
### Raw HTTP Requests
Include the key in the `Authorization` header:
```bash theme={null}
Authorization: Bearer ccmd_live_...
```
Example request:
```bash theme={null}
curl -X GET https://api.clientcommander.com/v1/people \
-H "Authorization: Bearer ccmd_live_..."
```
# Introduction
Source: https://docs.clientcommander.com/introduction
Welcome to the Client Commander API documentation
## Overview
Client Commander offers a clean and intuitive REST API designed to help developers build powerful integrations with minimal effort. The API is actively maintained and expanded, with new capabilities added regularly, always with a focus on preserving backward compatibility.
## API Endpoint
Client Commander uses a consistent URL structure for its API endpoints. A typical endpoint looks like this:
`https://api.clientcommander.com/v1/people`
Here's what each part represents:
* `https://` — HTTPS is required for secure communication. HTTP is not supported.
* `api.clientcommander.com` — The API hostname (unchanging).
* `v1` — The API version. Version 1 is currently the active and only version.
* `people` — The resource name, always plural (e.g., people, activities, tasks).
## Need Help?
We're here to assist!
Email us at [api@clientcommander.me](mailto:api@clientcommander.me) with any questions, and we’ll be glad to help you as you get started.
Get up and running with the SDK in minutes
Explore the REST API endpoints directly
# Quickstart
Source: https://docs.clientcommander.com/quickstart
Get started with Client Commander in under 5 minutes
## 1. Get your API Key
To start building, you'll need an API key.
1. Log in to your [Client Commander Dashboard](https://workspace.clientcommander.com)
2. Go to **Admin > API Keys**
3. Click "Create New Key"
4. Copy the key (it starts with `ccmd_live_`) behavior
## 2. Install the SDK
The easiest way to interact with the API is using our official TypeScript SDK.
```bash npm theme={null}
npm install @clientcommander/sdk
```
```bash pnpm theme={null}
pnpm add @clientcommander/sdk
```
```bash yarn theme={null}
yarn add @clientcommander/sdk
```
## 3. Make your first request
Create a file named `index.ts` and add the following code:
```typescript index.ts theme={null}
import { ClientCommander } from '@clientcommander/sdk';
const cc = new ClientCommander({
apiKey: 'ccmd_live_...' // Replace with your key
});
async function main() {
// 1. Create a contact
const contact = await cc.people.createOrUpdatePerson({
firstName: 'John',
lastName: 'Doe',
email: 'john@example.com',
phone: '+15550109988'
});
console.log('Created contact:', contact.data.id);
// 2. Add a task for them
await cc.tasks.createTask({
personId: contact.data.id,
name: 'Follow up call',
type: 'Call',
dueDate: new Date(Date.now() + 86400000).toISOString() // Tomorrow
});
console.log('Task created!');
}
main();
```
## Next Steps
Learn about advanced SDK features
Explore raw REST endpoints
# Installation
Source: https://docs.clientcommander.com/sdk/installation
Install the Client Commander SDK
## Node.js
Install the package via your preferred package manager:
```bash npm theme={null}
npm install @clientcommander/sdk
```
```bash pnpm theme={null}
pnpm add @clientcommander/sdk
```
```bash yarn theme={null}
yarn add @clientcommander/sdk
```
## Requirements
* Node.js 16 or higher
* TypeScript 4.5+ (if using TypeScript)
# SDK Usage
Source: https://docs.clientcommander.com/sdk/usage
Common patterns and examples for the Client Commander SDK
## Initialization
Initialize the client with your API key.
```typescript theme={null}
import { ClientCommander } from '@clientcommander/sdk';
const cc = new ClientCommander({
apiKey: process.env.CCMD_API_KEY,
});
```
## Error Handling
The SDK throws errors that contain useful debugging information.
```typescript theme={null}
try {
await cc.people.getPerson('invalid_id');
} catch (error) {
if (error.status === 404) {
console.error('Contact not found');
} else if (error.status === 429) {
console.error('Rate limit exceeded. Retry in', error.response.headers['retry-after']);
} else {
console.error('API Error:', error.message);
}
}
```
## Pagination
List endpoints return a `meta` object with pagination details.
```typescript theme={null}
// Fetch first page
const page1 = await cc.people.listPeople({ limit: 10 });
// Fetch next page if available
if (page1.meta.hasMore) {
const page2 = await cc.people.listPeople({
limit: 10,
cursor: page1.meta.nextCursor
});
}
```
## TypeScript Support
The SDK exports all types for full type safety.
```typescript theme={null}
import type { Contact, Task } from '@clientcommander/sdk';
const myContact: Contact = {
firstName: 'Jane',
lastName: 'Smith'
// TypeScript will autocomplete available fields
};
```
# Support and Help
Source: https://docs.clientcommander.com/support
Get assistance with the Client Commander API
Need help with using our API? Have questions about how to build an integration with us?
Email us at [api@clientcommander.me](mailto:api@clientcommander.me) and we'll be happy to assist!