Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Bonsai 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%2Fhellobonsai.com%2Fhellobonsai" | 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%2Fhellobonsai.com%2Fhellobonsai" | 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 Bonsai API.
Track clients as companies and contacts, tag them, and keep their details current
Move deals through your pipeline and comment on them
Create projects with budgets, break work into tasks and subtasks, and comment on tasks
Log and update time entries against projects
Create invoices from line items, update them, and stop a recurring invoice
GET STARTED
Generate documents from templates and attach notes to records
Patterns agents use Bonsai API for, with concrete tasks.
★ Agent-Managed Client Operations
An AI agent running back-office work for a freelancer or agency uses the Bonsai API through Jentic to keep client records and billing in sync: it creates companies and contacts, moves deals through the pipeline, logs time entries against projects, and raises invoices from line items. Because the API takes and returns JSON over standard REST verbs, the agent reads and writes the same records the Bonsai app shows, acting on the member's behalf. A bearer token scoped to that member bounds everything the agent can touch.
Create a company and contact, open a deal, log a time entry on a project, and generate a draft invoice with line items
Project and Time Tracking
A services team tracks delivery by creating projects with budgets, breaking them into tasks and subtasks, and logging time entries as work happens. The Bonsai API exposes projects, tasks, task statuses, and time entries, so an application can report hours against budget without manual spreadsheets. Comments on tasks keep the conversation attached to the work.
Create a project with a budget, add tasks, and log a time entry, then list time entries for the project
Invoicing From Templates
A freelancer bills clients by creating invoices from line items and generating contracts or proposals from templates. The Bonsai API lets an application add and update invoice line items, cancel or delete an invoice, and stop a recurring invoice, as well as create a document from a template category. This turns billing and paperwork into API calls tied to the client record.
Create an invoice for a client, add two line items, then stop its recurrence
54 endpoints — the bonsai api reads and writes the records behind a freelance or agency business: clients as companies and contacts, deals, projects, tasks, time entries, documents, and invoices.
METHOD
PATH
DESCRIPTION
/public-api/v1/contacts
List contacts
/public-api/v1/contacts
Create a contact
/public-api/v1/deals
List deals
/public-api/v1/projects
Create a project
/public-api/v1/invoices
Create an invoice
/public-api/v1/time_entries
Log a time entry
/public-api/v1/companies
List companies
/public-api/v1/tasks
Create a task
/public-api/v1/contacts
List contacts
/public-api/v1/contacts
Create a contact
/public-api/v1/deals
List deals
/public-api/v1/projects
Create a project
/public-api/v1/invoices
Create an invoice
/public-api/v1/time_entries
Log a time entry
/public-api/v1/companies
List companies
/public-api/v1/tasks
Create a task
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Bonsai API by hand means handling its bearer token or the OAuth 2.1 authorization-code flow with PKCE, and threading the token through every one of its REST endpoints for clients, projects, and invoices. Through Jentic you install once, import it from the API Directory, store the credential once, and your agent calls it.
Permission scoping
A Bonsai token carries no scopes of its own: it can do whatever the member who granted it can, so the control comes from Jentic. A rule can limit your agent to just the operations it needs, such as reading contacts and deals, and leave write operations like deleting an invoice out unless you add them.
Credential isolation
Your Bonsai token 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 'create an invoice' or 'log a time entry', and Jentic returns the matching Bonsai operation with its input schema so the agent fills the right fields without reading the REST reference.
Alternatives and complements available in the Jentic catalogue.
Specific to using Bonsai API through Jentic.
What authentication does the Bonsai API use?
The Bonsai API authenticates with a bearer token sent in the Authorization header, a `bonsai_at_` access token, per its OpenAPI spec. You can get one as a personal API key or through the OAuth 2.1 authorization-code flow with PKCE, and both grant the same access the granting member has. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time.
Can I create invoices and log time with the Bonsai API?
Yes. You create an invoice, add and update its line items, and stop a recurring invoice, and you log time entries against projects and update them later. The same REST surface also covers clients, deals, projects, tasks, and documents, so billing stays linked to the work it came from.
What are the rate limits for the Bonsai API?
The OpenAPI spec does not specify rate limits. For current limits, see the Bonsai API documentation at https://docs.hellobonsai.com/api.
How do I create an invoice through Jentic?
Search Jentic with a query like 'create an invoice for a client', add the Bonsai API from the directory, and store your bearer token once. Your agent calls the create-invoice operation, adds line items, and reads the invoice back, all as JSON. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can I limit what my agent is allowed to do with the Bonsai API?
Yes. A Bonsai token has no scopes of its own, so the limits come from Jentic: write a rule that allows only the operations the agent needs, such as listing contacts and deals or logging time, while leaving destructive ones like deleting an invoice or a task out, and every call it makes is logged. Because record ids travel in the URL path, scoping bounds which operations run across your records.
Is there a Bonsai API MCP server?
You don't need an MCP server to give your agent the Bonsai API. Jentic connects it directly from the API Directory: import it, store your bearer token once, and your agent calls the operations it needs on demand without loading another server's tool definitions into its context.
For Agents
Create and update Bonsai clients, deals, projects, tasks, time entries, and invoices over a REST JSON API. Keeps a client, the work done, and the invoice that bills it on one surface.
Use for: Create a new client company and add a contact to it, List all open deals in my pipeline, Log a time entry against a project, Create an invoice with line items for a client
Not supported: Does not process card payments, run payroll, or send marketing campaigns. Use for managing Bonsai clients, deals, projects, time, and invoices only.
The Bonsai API reads and writes the records behind a freelance or agency business: clients as companies and contacts, deals, projects, tasks, time entries, documents, and invoices. It is organized around REST, takes and returns JSON, and uses standard HTTP verbs and status codes, so an application works with the same records the Bonsai app shows. Clients, project work, and billing all live on one surface, letting you keep a deal, the project it becomes, the hours logged against it, and the invoice that bills it connected.
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>