For Agents
Manage Harpoon clients, contacts, estimates, invoices, expenses, and expected revenue with a Bearer token.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Harpoon 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://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | 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 Harpoon API.
Create, list, fetch, update, and delete clients in a Harpoon workspace
Manage contacts attached to a client
Issue and look up client credits
Generate estimates with auto-incrementing document IDs
GET STARTED
Use for: Create a new client in Harpoon, List all open invoices for the agency, Add a contact to an existing Harpoon client, Generate an estimate with the next available document ID
Not supported: Does not handle payment capture, payroll, or bank feed reconciliation — use for freelance and agency financial records (clients, estimates, invoices, expenses, revenue forecasts) only.
Harpoon is a financial planning and management platform built for freelancers and small agencies, focused on revenue forecasting, invoicing, and expense tracking. The API exposes 36 endpoints to manage clients, contacts, credits, estimates, invoices, expenses, and expected revenue records. Authentication is HTTP Bearer using a personal access token issued from the Harpoon dashboard. The API focuses on financial records — it does not run payroll or sync directly to external bank feeds.
Track expected revenue records for forecasting
Manage invoices and expenses for billable work
Patterns agents use Harpoon API for, with concrete tasks.
★ Freelance Invoicing Automation
Automate invoice creation when a freelancer marks a project complete by calling POST /estimates to draft an estimate and converting it to an invoice via the Invoices endpoints. The Harpoon API auto-allocates document IDs through GET /estimates/next-document-id so numbering stays consistent. Most freelancers integrate this with a time-tracker to capture billable hours.
Fetch the next estimate ID from GET /estimates/next-document-id, then POST /estimates with the line items for project 'Brand Refresh'.
Revenue Forecasting Dashboard
Pipe expected revenue records into a forecasting dashboard by calling GET /expected-revenue and listing forecasted amounts by client. The endpoint returns expected revenue items with amounts, dates, and clientIds that a BI tool can roll up into monthly run-rate. Freelancers use this to project cash flow.
List all expected revenue via GET /expected-revenue and group by month and clientId for a 90-day forecast.
Client and Contact Sync
Keep the freelancer's CRM and accounting workspace in sync by mirroring clients and their contacts via /clients and /contacts. The API supports list, get, create, update, and delete on both resources, enabling two-way reconciliation. Pair this with a CRM webhook to trigger on every contact change.
When a new contact is added in HubSpot, call POST /contacts in Harpoon with the same email, name, and clientId.
AI Agent Billing Assistant
Wire a billing assistant that responds to 'create an invoice for client X for project Y' by chaining the estimate, invoice, and expense endpoints through Jentic. The Bearer token sits in the Jentic vault and is injected per call. Harpoon does not include payment capture, so the agent ends at invoice issuance, not collection.
When asked 'invoice Acme for 12 hours of strategy work at $200/hr', create an estimate with the line items, convert to invoice, and return the invoice ID.
36 endpoints — harpoon is a financial planning and management platform built for freelancers and small agencies, focused on revenue forecasting, invoicing, and expense tracking.
METHOD
PATH
DESCRIPTION
/clients
List clients
/clients
Create a client
/contacts
Create a contact
/estimates/next-document-id
Get the next estimate document ID
/estimates
Create an estimate
/expected-revenue
List expected revenue records
/credits
Issue a client credit
/clients
List clients
/clients
Create a client
/contacts
Create a contact
/estimates/next-document-id
Get the next estimate document ID
/estimates
Create an estimate
/expected-revenue
Three things that make agents converge on Jentic-routed access.
Credential isolation
Harpoon personal access tokens are stored in the Jentic vault and injected as the Authorization Bearer header on each call. Raw tokens never appear in the agent's prompt, tool transcripts, or logs.
Intent-based discovery
Agents search Jentic for 'create a freelance invoice' and Jentic returns the matching Harpoon operation with its schema, so agents do not need to read the Harpoon developer docs.
Time to first call
Direct integration: 1-2 days to wire 36 endpoints with auth and pagination. Through Jentic: under an hour.
Alternatives and complements available in the Jentic catalogue.
Stripe
Capture payment for invoices issued in Harpoon by charging cards or processing ACH.
Pair Stripe with Harpoon when you need to collect payment after issuing a Harpoon invoice.
Specific to using Harpoon API through Jentic.
What authentication does the Harpoon API use?
Harpoon uses HTTP Bearer authentication. Generate a personal access token in the Harpoon dashboard and include it as Authorization: Bearer <token>. Through Jentic the token is stored in the encrypted vault and injected per call so it never enters the agent's prompt context.
Can I create estimates with auto-incrementing IDs in Harpoon?
Yes. Call GET /estimates/next-document-id to retrieve the next document ID, then include it in the POST /estimates body. This keeps estimate numbering consistent without race conditions across multiple integrations.
What are the rate limits for the Harpoon API?
Harpoon does not publish a public per-second rate limit in the OpenAPI spec; the API is intended for individual freelancer and small agency volumes. Build clients to back off on HTTP 429, and contact Harpoon support if a high-volume integration is planned.
How do I create an invoice through Jentic?
Search Jentic for 'create a harpoon invoice', load the schema for the invoice creation operation, and execute with clientId and line items. Run pip install jentic and use the async client.search, client.load, and client.execute pattern.
Does the Harpoon API include payment processing?
No. Harpoon focuses on invoicing, estimates, expenses, and revenue forecasting. Payment capture (credit card or ACH) is handled by external processors; the API records that an invoice is paid but does not charge cards itself.
List expected revenue records
/credits
Issue a client credit