canonical: https://jentic.com/apis/clinchpad.com/clinchpad

# ClinchPad API

Jentic publishes the only available OpenAPI specification for ClinchPad API, keeping it validated and agent-ready. ClinchPad is a sales CRM organized around leads moving through pipeline stages. The API exposes 63 endpoints covering leads, contacts, organizations, pipelines and their stages, products, notes, todos, activities, custom fields, lead sources, and users. Authentication is HTTP Basic with the literal username api-key and the user's API key as the password. The surface fits classic sales-pipeline workflows: importing leads, advancing them through stages, attaching contacts and notes, and reporting on activity.

## For AI agents

Manage leads, contacts, organizations, pipelines, stages, and notes in the ClinchPad sales CRM. 63 endpoints with HTTP Basic auth.

## Scope

Does not handle email sending, marketing automation, or invoicing - use for ClinchPad sales pipeline, lead, and contact management only.

## Capabilities

- Create new leads and move them between pipeline stages
- Attach contacts to leads and update contact field values
- Manage organizations and their custom field values
- List and configure pipelines along with their ordered stages
- Record notes, todos, and activities against a lead for audit and follow-up
- Pull lead, contact, and pipeline data for reporting and forecasting
- Manage products, lead sources, and user records for the CRM tenant

## Use cases

### Inbound Lead Capture

Marketing forms and chat widgets need to push new prospects into the sales CRM the moment they convert. POST /leads creates the lead with the source attached, POST /contacts adds the person, and a single PUT against the lead's stage field places the lead in the right pipeline column. The whole capture-to-CRM flow is three calls.

Example prompt: POST /leads with name, source_id, and pipeline_id, then POST /contacts and link via PUT /leads/:lead_id/contacts/:contact_id

### Pipeline Stage Automation

Sales operations teams enforce stage rules (for example a lead must have a contact and a deal value before reaching Negotiation). GET /pipelines/:pipeline_id/stages returns the ordered stages, and the lead update endpoints move the lead forward only when fields are populated. This keeps the pipeline data clean for forecasting.

Example prompt: GET /pipelines/:pipeline_id/stages, then PUT /leads/:lead_id with the next stage_id only after verifying required fields are populated

### Activity and Note Logging

Account executives need every call, email, and meeting to be visible on the lead record without manual data entry. The notes, todos, and activities endpoints take the AE's structured event and attach it to the right lead so the next person on the deal sees full context.

Example prompt: POST a note to /leads/:lead_id/notes with the call summary and create a follow-up todo on the same lead

### Agent-Driven Lead Triage

An AI agent triaging inbound leads uses Jentic to query ClinchPad for similar past deals, attach context to the new lead, and assign the right user. Jentic returns the lead, contact, and user endpoints with their schemas, the agent loads them, executes with HTTP Basic auth, and updates the lead in one chained workflow.

Example prompt: Use Jentic to search for create lead and assign user, load the schemas, execute POST /leads then PUT to update assigned_user_id

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /leads | Create a new lead |
| GET | /leads | List leads |
| PUT | /leads/:lead_id | Update a lead (including stage) |
| POST | /contacts | Create a contact |
| PUT | /leads/:lead_id/contacts/:contact_id | Link a contact to a lead |
| GET | /pipelines/:pipeline_id/stages | List ordered stages of a pipeline |
| POST | /organizations | Create an organization |
| PUT | /contacts/:contact_id/fields/:field_id | Update a custom field value on a contact |

## Key resources

- **Leads** — Sales opportunities flowing through pipeline stages
- **Contacts** — People attached to leads and organizations
- **Organizations** — Companies that contacts and leads belong to
- **Pipelines** — Configurable sales pipelines with ordered stages
- **Stages** — Ordered steps within a pipeline
- **Notes** — Free-text records attached to a lead
- **Todos** — Follow-up actions tied to a lead
- **Activities** — Logged events such as calls and meetings
- **Products** — Items that can be associated with leads
- **Sources** — Lead source classifications
- **Users** — CRM workspace users

## Why Jentic

- **Setup:** Wiring ClinchPad by hand means assembling its HTTP Basic header (api-key as username, your key as password), mapping its lead, contact, and pipeline endpoints, and handling retries yourself. Through Jentic you install once, import ClinchPad from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** ClinchPad puts the lead id in the URL path (/leads/:lead_id/...), so a rule can pin your agent to one lead: it can update that lead and its contacts and nothing else. You choose the operations it may call, so creating organizations or editing contact fields are not included unless you add them.
- **Credential handling:** Your ClinchPad API key is stored once, encrypted, by your own Jentic One instance and injected as the Basic Auth username at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a lead in ClinchPad', and Jentic returns POST /leads with its input schema, including pipeline_id and source_id structure, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Climbo** — Reputation management; pairs with ClinchPad to send review requests after a deal closes
- **NLM Clinical Tables** — Different domain reference data API; included as catalog neighbor only
- **Clip** — Payments API; pairs with CRM when a closed deal needs to be invoiced

## FAQ

### Why is there no official OpenAPI spec for ClinchPad API?

ClinchPad does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call ClinchPad API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the ClinchPad API use?

ClinchPad uses HTTP Basic authentication. Use the literal string api-key as the username and your ClinchPad API key as the password on every request to https://www.clinchpad.com/api/v1. Through Jentic the API key is held encrypted in your Jentic One instance and assembled into the Basic header at execution time.

### Can I move a lead between pipeline stages with this API?

Yes. GET /pipelines/:pipeline_id/stages returns the ordered stage_ids for a pipeline, and PUT /leads/:lead_id with the new stage_id moves the lead. There is no separate move endpoint; updating the lead with the target stage handles the transition.

### What are the rate limits for the ClinchPad API?

The OpenAPI spec does not publish numeric rate limits. Apply exponential backoff on 429 or 5xx responses. For bulk lead imports, batch requests and add jitter rather than firing dozens of parallel POST /leads calls.

### How do I create and stage a lead through Jentic?

Run pip install jentic, search Jentic for create clinchpad lead, load the schema for POST /leads, and execute with the lead payload. Jentic injects the api-key Basic header from the vault. Get started with Jentic One, the self-hosted execution layer.

### Does ClinchPad support custom fields on leads, contacts, and organizations?

Yes. The fields endpoints (PUT /contacts/:contact_id/fields/:field_id and PUT /organizations/:organization_id/fields/:field_id) update custom field values on the corresponding records. Field definitions themselves are managed in the ClinchPad workspace.

### Can I limit what my agent is allowed to do with the ClinchPad API?

Yes. Because you run Jentic One yourself, your own rules decide which ClinchPad operations and credentials the agent can use. ClinchPad puts the lead id in the URL path, such as /leads/:lead_id/contacts/:contact_id, so a rule can pin the agent to a single lead and let it update only that lead and its contacts. You choose the operations it may call, so actions like POST /organizations or updating custom fields are excluded unless you add them, and the stored API key is assembled into the Basic Auth header only at execution time.
