Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Fees, 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 Fees API.
Create reusable fee records via POST /crm/v3/objects/fees
Update fee labels or amounts with PATCH /crm/v3/objects/fees/{feeId}
Search fees by amount, label, or custom property through POST /crm/v3/objects/fees/search
Bulk-import a fee catalogue with POST /crm/v3/objects/fees/batch/create
GET STARTED
For Agents
Create, update, search, and batch-manage HubSpot fee records used on quotes and line items via /crm/v3/objects/fees.
Use for: I need to create a $25 shipping fee that can be added to quotes, Update a processing fee amount when payment provider rates change, Search for all active fees over $50, Bulk-import a regional fee catalogue from a pricing spreadsheet
Not supported: Does not calculate quote totals, run pricing approval workflows, or process payment — use for managing reusable fee records inside HubSpot CRM only.
The HubSpot Fees API manages fee records used on quotes and line items, exposing single and batch CRUD plus search across /crm/v3/objects/fees. Fees represent shipping, handling, processing, or service charges that are added to a customer-facing quote alongside the product line items. Agents use this API to maintain a reusable fee catalogue, attach fees to quotes, and reconcile billed fees in commission or revenue reporting.
Upsert fees by external ID using POST /crm/v3/objects/fees/batch/upsert
Archive obsolete fees via DELETE /crm/v3/objects/fees/{feeId}
Patterns agents use Fees API for, with concrete tasks.
★ Fee Catalogue Management
Maintain a single source of truth for shipping, handling, and processing fees so quotes are consistent across reps. The batch create endpoint imports a fee list in one request, and the search endpoint lets a quote generator pick fees by region or service tier. Updating a fee centrally propagates the new amount to every quote that references the fee record.
Batch-create six regional shipping fees via POST /crm/v3/objects/fees/batch/create with a region property set to NA, EU, or APAC.
Quote-Time Fee Lookup
When generating a quote, search for the right fee — for example, 'standard shipping NA' — and attach it to the quote so totals reflect the correct charge. The search endpoint accepts filterGroups, sorting, and paginated results so a quote generator can fetch candidates fast even with hundreds of active fees. Apply the fee ID through the Quotes API afterwards.
Search HubSpot fees where label contains 'shipping' and region equals NA, sorted by hs_value ascending, returning the top result.
Fee Reconciliation
Pull all fees referenced on closed-won deals to reconcile billed amounts against the commission or finance system. The list and batch read endpoints retrieve fee records by ID with their full property set, so a reconciliation job can match each fee to the corresponding ledger line.
Batch-read fees for the IDs referenced on last quarter's closed deals via POST /crm/v3/objects/fees/batch/read, returning hs_label and hs_value.
Agent-Driven Fee Updates via Jentic
An AI ops agent reading a memo about a price change updates HubSpot fee records without an engineer touching the CRM. Through Jentic the agent searches for the patch operation, loads its schema, and executes it with the new amount. The flow runs on a single Jentic credential without exposing the HubSpot key.
Use Jentic to search 'update a HubSpot fee record', load the PATCH /crm/v3/objects/fees/{feeId} schema, and execute it with the new hs_value.
11 endpoints — the hubspot fees api manages fee records used on quotes and line items, exposing single and batch crud plus search across /crm/v3/objects/fees.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/fees
List fees with pagination
/crm/v3/objects/fees
Create a fee record
/crm/v3/objects/fees/{feeId}
Update a fee
/crm/v3/objects/fees/batch/create
Batch-create up to 100 fees
/crm/v3/objects/fees/batch/upsert
Batch-upsert fees by external ID
/crm/v3/objects/fees/search
Search fees by property filters
/crm/v3/objects/fees
List fees with pagination
/crm/v3/objects/fees
Create a fee record
/crm/v3/objects/fees/{feeId}
Update a fee
/crm/v3/objects/fees/batch/create
Batch-create up to 100 fees
/crm/v3/objects/fees/batch/upsert
Batch-upsert fees by external ID
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth tokens and private app keys are stored encrypted in the Jentic vault. Agents receive a scoped execution token — the raw HubSpot credential is injected at call time and never enters the agent's context.
Intent-based discovery
Agents search Jentic by intent (e.g., 'create a HubSpot fee record') and Jentic returns the matching /crm/v3/objects/fees operation with its input schema, so the agent calls the right endpoint without browsing HubSpot docs.
Time to first call
Direct HubSpot integration: 1-2 days for OAuth scopes and batch payload assembly. Through Jentic: under 1 hour — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Fees API through Jentic.
What authentication does the HubSpot Fees API use?
Fees accepts OAuth 2.0 access tokens and HubSpot private app API keys passed in the private-app or private-app-legacy header. Through Jentic the credential lives in the MAXsystem vault and is injected at execution time so it never enters the agent's context.
Can I attach a fee to a quote through this API?
The Fees API only manages the fee records themselves. To attach a fee to a quote or line item, reference its ID through the Quotes or Line Items APIs — Jentic exposes those as separate operations you can chain after creating the fee.
What are the rate limits for the HubSpot Fees API?
Account-level limits apply — typically 100 requests per 10 seconds for OAuth apps and 190 per 10 seconds for private apps on paid tiers. Use POST /crm/v3/objects/fees/batch/create for catalogue imports since each batch counts as one request.
How do I search fees through Jentic?
Run jentic.search('search HubSpot fee records'), load the schema for POST /crm/v3/objects/fees/search, and execute it with a filterGroups payload (for example, hs_label contains 'shipping'). Jentic returns matching fees as structured JSON ready for the next step.
Can I upsert a fee by an external ID?
Yes. POST /crm/v3/objects/fees/batch/upsert accepts an idProperty referencing a unique custom property such as an internal SKU. HubSpot inserts new fees and updates existing ones in the same call without producing duplicates.
What is the difference between a fee and a discount in HubSpot?
Fees add to a quote total (shipping, handling, processing). Discounts subtract from a quote total (percentage off, promotional reductions). Both attach to quotes, but they live as separate object types and are managed through their own APIs.
/crm/v3/objects/fees/search
Search fees by property filters