For Agents
Create, update, search, archive, and merge HubSpot CRM Tickets — the support cases tracked in Service Hub pipelines — through /crm/v3/objects/tickets including a dedicated merge endpoint.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Tickets, 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 Tickets API.
Create a support ticket associated with a contact and company via POST /crm/v3/objects/tickets
Update ticket status, priority, or pipeline stage with PATCH /crm/v3/objects/tickets/{ticketId}
Search tickets by owner, status, or priority via POST /crm/v3/objects/tickets/search
GET STARTED
Use for: I need to create a HubSpot ticket from an inbound support email, Update a ticket's pipeline stage to 'Waiting on customer', Search for all open high-priority tickets owned by a specific rep, Merge two duplicate tickets that were filed by the same customer
Not supported: Does not handle live chat sessions, knowledge base content, or call recording — use for managing CRM Ticket records, their associations, and merges only.
The HubSpot CRM Tickets API manages support ticket records — the customer issues that flow through HubSpot Service Hub pipelines. Tickets have status, priority, owner, source, and category properties, and can be associated with contacts, companies, deals, conversations, and any custom CRM object. The API exposes single-record CRUD, batch read, batch create, batch update, batch upsert by unique property, batch archive, ticket merge, and a search endpoint with full filter, sort, and paging support.
Merge two duplicate tickets of the same type with POST /crm/v3/objects/tickets/merge
Bulk-create tickets from an external system using POST /crm/v3/objects/tickets/batch/create
Archive resolved tickets with DELETE /crm/v3/objects/tickets/{ticketId}
Read a batch of tickets by ID using POST /crm/v3/objects/tickets/batch/read
Patterns agents use Tickets API for, with concrete tasks.
★ Inbound Support Ticket Creation From Email
An email-to-ticket integration parses inbound support emails and creates a HubSpot ticket associated with the sender contact. POST /crm/v3/objects/tickets accepts the subject, body, pipeline, stage, and association inputs in a single call. The ticket appears in Service Hub immediately so support agents can pick it up. For high-volume ingestion, POST /crm/v3/objects/tickets/batch/create handles up to 100 tickets per request.
Call POST /crm/v3/objects/tickets with subject, content, hs_pipeline, hs_pipeline_stage, hs_ticket_priority, and an association to the contactId.
Duplicate Ticket Merge
Customers sometimes file multiple tickets for the same issue across different channels. Support managers identify duplicates and use POST /crm/v3/objects/tickets/merge to combine them — the secondary ticket's notes, associations, and history merge into the primary, and the secondary is archived. This keeps the support history clean and gives agents one canonical ticket to work.
Call POST /crm/v3/objects/tickets/merge with primaryObjectId set to the ticket to keep and objectIdToMerge set to the duplicate, then verify the merge result.
SLA Compliance Reporting
Support leadership needs daily reporting on tickets approaching or breaching SLA. POST /crm/v3/objects/tickets/search with filters on hs_pipeline_stage, createdate range, and priority returns the matching tickets. Combined with sorting by createdate ascending, the report surfaces the oldest open tickets first so triage can happen before SLA breach. Paging supports queues with thousands of open tickets.
Call POST /crm/v3/objects/tickets/search with filters on hs_pipeline_stage in [open stages] and createdate within the last 7 days, sorted ascending.
AI Agent Triage and Status Updates
An AI support agent triages new tickets — reads the content, checks the customer's account, sets priority and category, and assigns the right rep. Through Jentic the agent searches for ticket operations, loads the create and patch schemas, and executes them with the inferred values. Jentic stores OAuth credentials in its vault so the agent only handles scoped execution tokens.
Search Jentic for 'update hubspot ticket priority and owner', load PATCH /crm/v3/objects/tickets/{ticketId}, and execute it with hs_ticket_priority and hubspot_owner_id set based on triage rules.
12 endpoints — the hubspot crm tickets api manages support ticket records — the customer issues that flow through hubspot service hub pipelines.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/tickets
Create a ticket
/crm/v3/objects/tickets/{ticketId}
Read a ticket
/crm/v3/objects/tickets/{ticketId}
Update a ticket
/crm/v3/objects/tickets/{ticketId}
Archive a ticket
/crm/v3/objects/tickets/merge
Merge two tickets
/crm/v3/objects/tickets/search
Search tickets
/crm/v3/objects/tickets/batch/create
Batch create tickets
/crm/v3/objects/tickets
Create a ticket
/crm/v3/objects/tickets/{ticketId}
Read a ticket
/crm/v3/objects/tickets/{ticketId}
Update a ticket
/crm/v3/objects/tickets/{ticketId}
Archive a ticket
/crm/v3/objects/tickets/merge
Merge two tickets
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 scoped execution tokens — the raw secret never enters agent context or logs.
Intent-based discovery
Agents search Jentic with intents like 'create hubspot support ticket' and Jentic returns the matching Tickets operations with typed input schemas, so the agent can call the right endpoint without browsing HubSpot's docs.
Time to first call
Direct HubSpot Tickets integration with OAuth, batch handling, and merge logic: 2-3 days. Through Jentic: under an hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Tickets API through Jentic.
What authentication does the HubSpot Tickets API use?
It supports OAuth 2.0 (recommended for public apps) and HubSpot private app access tokens passed as a Bearer token in the Authorization header. Through Jentic the token is stored encrypted in the vault and injected at execution time so the agent never holds the raw secret.
Can I merge two tickets through this API?
Yes. POST /crm/v3/objects/tickets/merge accepts primaryObjectId (the ticket to keep) and objectIdToMerge (the duplicate). The secondary's properties, associations, and history merge into the primary, and the secondary is archived. Both tickets must be of the same type.
What are the rate limits for the HubSpot Tickets API?
HubSpot enforces 100 requests per 10 seconds for OAuth apps and 190 per 10 seconds for private apps on Enterprise tiers, plus daily quotas. Use POST /crm/v3/objects/tickets/batch/create and batch/update (up to 100 tickets per request) for high-volume ingestion.
How do I find open tickets nearing SLA breach through Jentic?
Search Jentic for 'find oldest open hubspot tickets', load POST /crm/v3/objects/tickets/search, and execute it with filters on hs_pipeline_stage in your open stages and createdate range, sorted ascending. Jentic returns the typed ticket list.
Can I associate a ticket with a conversation thread?
Yes. Tickets support associations to Conversations objects (alongside contacts, companies, and deals). Pass association inputs when creating the ticket or use the Associations API to link an existing conversation thread to an existing ticket.
Does archiving a ticket with DELETE /crm/v3/objects/tickets/{ticketId} delete it permanently?
No. Archive is a soft delete — the ticket is removed from default queues and search results but can be restored within HubSpot's retention window. To permanently remove records you must use HubSpot's GDPR delete process.
/crm/v3/objects/tickets/search
Search tickets
/crm/v3/objects/tickets/batch/create
Batch create tickets