Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Klipy API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fklipy.ai%2Fklipy" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fklipy.ai%2Fklipy" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Klipy API.
Upsert a person by email with firstName, lastName, title, phone, linkedin, and altEmails in one call
Query people by email, phone, companyId, or owner with cursor pagination up to 100 per page
Create a company from its domain and name, then update or delete it by companyId
Log an interaction such as EMAIL, MEETING, MEMO, or VOICE_NOTE with a direction and title against a contact
GET STARTED
Query interactions for a contactId or companyId to read the history with an account
Check which key is in use and that it authenticates with GET /authenticate
Patterns agents use Klipy API for, with concrete tasks.
★ AI agent CRM upkeep through Jentic
An assistant that reads your inbox keeps Klipy current without you copying details by hand. Through Jentic the agent searches for 'upsert a contact', loads the Klipy upsert operation with its input schema, and writes the person by email with the name, title, and phone it found. Your own Jentic One instance injects the klipy_api_ key at call time, so the agent never holds it.
Call PUT /people with email 'ana@globex.com', firstName 'Ana', lastName 'Ruiz', and title 'Head of Ops', then log a MEETING interaction with POST /interactions using mainContactEmail 'ana@globex.com'
Interaction logging after calls and meetings
After a call or meeting, the notes go into Klipy as an interaction with a type such as MEETING or VOICE_NOTE, a direction such as OUTBOUND, a title, an optional summary, and the interactionDate as a Unix timestamp in milliseconds. Each interaction names its contact by mainContact or mainContactEmail.
Call POST /interactions with type 'MEETING', direction 'OUTBOUND', title 'Renewal check-in', a summary, and mainContactEmail for the attendee
Account history before a call
Before a call, an agent pulls the people at a company with a companyId filter and then queries interactions for that company, giving a quick history of who was contacted and what was discussed.
Call POST /people/query with filter companyId 'cmp_123', then POST /interactions/query with filter companyId 'cmp_123' and summarise the latest interactions
14 endpoints — the klipy api reads and writes the core records in a klipy crm: people, companies, and the interactions logged against them.
METHOD
PATH
DESCRIPTION
/people
Upsert a person
/people/query
Query people
/people/{personId}
Update a person
/companies
Create a company
/companies/{companyId}
Get a company by ID
/interactions
Create an interaction
/interactions/query
Query interactions
/people
Upsert a person
/people/query
Query people
/people/{personId}
Update a person
/companies
Create a company
/companies/{companyId}
Get a company by ID
/interactions
Create an interaction
/interactions/query
Query interactions
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Klipy by hand means choosing between its X-Klipy-Api-Key header and bearer auth, issuing a key with the right scopes, and unwrapping its object, data, and meta envelopes. Through Jentic you install once, import Klipy from the API Directory, store the key once, and your agent calls it.
Permission scoping
Klipy puts the person, company, and interaction ids in the URL path (/people/{personId}, /companies/{companyId}), so a rule can pin your agent to one record and the operations you pick. You choose the operations it may call, so destructive ones like deleting a person or a company are not included unless you add them.
Credential isolation
Your Klipy key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'upsert a contact' or 'log a meeting', and Jentic returns the matching Klipy operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Klipy API through Jentic.
What authentication does the Klipy API use?
Per its OpenAPI spec, the Klipy API accepts an API key in the format klipy_api_<id>, sent either in the X-Klipy-Api-Key header or as a bearer token in the Authorization header. Each endpoint also requires a scope on the key, such as people:read, companies:write, or interactions:write. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at execution time.
What are the rate limits for the Klipy API?
Per the Klipy OpenAPI spec, rate limiting is enforced per API key at 200 requests per minute and per organization at 1000 requests per minute. Successful responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset, and throttled responses include Retry-After.
What is the difference between creating and upserting a person in Klipy?
POST /people creates a person from a type of email, an identifier, and a firstName. PUT /people upserts by email and accepts more fields, including phone, personalPhone, linkedin, twitter, altEmails, and remarks, so it is the safer choice when the person may already exist.
Is there a Klipy MCP server?
You don't need an MCP server to give your agent the Klipy API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the people, company, and interaction operations on demand without loading another server's tool definitions into its context.
Can I limit what my agent is allowed to do with the Klipy API?
Yes. For example, write a rule that allows only POST /people/query, POST /interactions/query, and POST /interactions, so the agent can look people up and log interactions but cannot delete people or companies. Every call it makes through your instance is logged, and you can also issue the key with narrow Klipy scopes.
How do I log a meeting in Klipy through Jentic?
Search Jentic for 'log a meeting in the CRM', load the Klipy create interaction operation, and call POST /interactions with type MEETING, a direction, a title, and mainContactEmail. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Create, upsert, query, and update people and companies in Klipy CRM, and log or query interactions such as emails, meetings, and memos against them.
Use for: Add a new contact to Klipy from an email signature, Find the person in Klipy with this email address, Log the meeting I just had with a customer, List all interactions with a company
Not supported: Does not handle deal pipelines, email sending, or support tickets. Use for Klipy people, company, and interaction records only.
The Klipy API reads and writes the core records in a Klipy CRM: people, companies, and the interactions logged against them. You can create a person by email, upsert one with phone, social handles, and alternate emails, query people by email, phone, companyId, or owner, and create or remove companies by domain. Interactions such as emails, meetings, memos, voice notes, and bookings are logged with a direction and title and can be queried by contact or company, with each endpoint gated by a scope such as people:read or companies:remove.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>