canonical: https://jentic.com/apis/dealhub.io/dealhub

# DealHub API

DealHub is a CPQ, CLM, and billing platform whose v2 API exposes 41 endpoints spanning quote generation, DealRoom collaboration, billing, opportunities, products, users, and version management. Quote workflows include simulate, generate, submit, and publish, supporting the full configure-price-quote lifecycle. The API uses bearer-token authentication and groups its surface under domain tags such as Quotes, Billing, DealRoom, Opportunities, Products, and Users for predictable navigation.

## For AI agents

Generate, simulate, submit, and publish CPQ quotes in DealHub, manage DealRooms and opportunities, and read pricing or billing data for an active deal.

## Scope

Does not handle e-signature capture, contract redlining, or accounting close - use for DealHub CPQ quote lifecycle, DealRoom, and version management only.

## Capabilities

- Simulate, generate, submit, and publish quotes through the /quotes endpoint family
- Retrieve a quote document for sharing or attaching to a downstream contract
- Read and update users and look them up by login through /users and `/users/login/{login}`
- List and inspect DealHub product versions, including duplicating an existing version
- Manage DealRooms, opportunities, and external query callouts under their dedicated tags
- Drive billing-related operations against the Billing tag for an active deal

## Use cases

### End-to-end CPQ quote generation

Sales teams using DealHub need to move from configuration to a delivered quote document without manual intervention. The API supports this with `/quotes/simulate` for pre-flight pricing, `/quotes/generate` to materialise the quote, `/quotes/submit` for approval routing, `/quotes/publish` for finalisation, and `/quotes/{id}/document` to retrieve the rendered output. Chaining these lets a workflow produce a customer-ready PDF straight from a CRM trigger.

Example prompt: POST `/quotes/simulate` with the configuration, POST `/quotes/generate`, POST `/quotes/submit` for approval, then GET `/quotes/{id}/document` once status is published.

### User and identity reconciliation

Larger DealHub tenants integrate with an external identity provider and need to keep DealHub's user records in sync. GET /users lists the directory, `/users/{id}` returns an individual record, `/users/login/{login}` maps an SSO login back to the DealHub user, and PUT /users updates them in bulk. This is the foundation for provisioning workflows that drive DealHub from an HRIS or IdP.

Example prompt: GET `/users/login/{login}` to resolve the SSO id, then PUT /users with the updated profile fields.

### Version management for product catalogues

DealHub product catalogues evolve through versions. /versions lists them, `/versions/{id}` retrieves details, `/versions/name/{name}` resolves a known version label, and POST `/versions/duplicate` clones an existing version as a starting point for the next iteration. This pattern is useful when a pricing change needs a new effective-dated version without disturbing live quotes.

Example prompt: GET `/versions/name/{name}` to find the source version, then POST `/versions/duplicate` to create a new editable copy.

### AI agent driving DealHub quotes through Jentic

An agent triaging an opportunity from a CRM can search Jentic for 'generate a DealHub quote', call `/quotes/simulate` to validate pricing, and only proceed to `/quotes/generate` and `/quotes/publish` if the totals look right. The bearer token never enters the agent's context - Jentic attaches it at execution time - so the agent stays focused on the deal logic.

Example prompt: Search Jentic for 'generate a DealHub quote', call `/quotes/simulate`, then `/quotes/generate`, `/quotes/submit`, and `/quotes/publish` in sequence and return the document URL.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/quotes/generate` | Generate a quote |
| POST | `/quotes/simulate` | Simulate a quote without persisting |
| POST | `/quotes/submit` | Submit a quote for approval |
| POST | `/quotes/publish` | Publish a quote |
| GET | `/quotes/{id}` | Retrieve a quote by id |
| GET | `/quotes/{id}/document` | Get the rendered quote document |
| GET | `/users/login/{login}` | Look up a user by login |
| POST | `/versions/duplicate` | Duplicate an existing version |

## Key resources

- **Quotes** — Simulate, generate, submit, publish, and retrieve quote documents
- **Users** — List, retrieve, update, and look up DealHub users by id or login
- **Versions** — Manage and duplicate product catalogue versions
- **Billing** — Billing operations against an active deal
- **DealRoom** — Collaborative deal workspace operations
- **Opportunities** — Opportunity records linked to quotes and deals
- **Products** — Product catalogue endpoints

## Why Jentic

- **Setup:** Wiring the DealHub API by hand means learning its bearer auth and mapping a large quote lifecycle across generate, simulate, submit, publish, and version endpoints yourself. Through Jentic you install once, import the DealHub API from the API Directory, store the bearer token once, and your agent calls it.
- **Permission scoping:** DealHub puts the quote id in the URL path (`/quotes/{id}`), so a rule can pin your agent to one quote for reads such as fetching its document. You choose the operations it may call, so state-changing ones like submitting or publishing a quote are included only if you add them.
- **Credential handling:** Your DealHub bearer token is stored once, encrypted, by your own Jentic One instance and applied as the Authorization: Bearer header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate a DealHub quote' or 'duplicate a DealHub version', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without navigating DealHub's many endpoints by hand.

## Related APIs

- **Salesforce API** — CRM that DealHub commonly sits next to for opportunity and account data.
- **PandaDoc API** — Document automation platform with quoting and e-signature in one stack.
- **Ironclad API** — Contract lifecycle management for the redlining and signature stages downstream of CPQ.

## FAQ

### What authentication does the DealHub API use?

DealHub uses bearer-token authentication on every endpoint. Through Jentic the token is held in the encrypted vault and added to the Authorization header at execution time, so the raw token never enters the agent's context.

### Can I simulate a DealHub quote before generating it?

Yes. POST `/quotes/simulate` runs the pricing engine without creating a persisted quote, which is the recommended pre-flight before `/quotes/generate.` Simulating first avoids cluttering the quote list with abandoned drafts when an agent is iterating.

### How do I retrieve the rendered document for a DealHub quote?

Once a quote has been generated and ideally published, GET `/quotes/{id}/document` returns the rendered output. Pair this with `/quotes/{id}` to confirm the status before fetching the document so you don't pull a stale draft.

### What are the rate limits for the DealHub API?

The OpenAPI spec does not document explicit rate limits. Treat `/quotes/simulate` as the cheaper iteration step and reserve `/quotes/generate` for the final pricing the customer will see.

### How do I generate and publish a DealHub quote through Jentic?

Run pip install jentic, search for 'generate a DealHub quote', and Jentic returns the `/quotes/generate` operation with its input schema. Load it, supply the configuration, execute, then call `/quotes/submit` and `/quotes/publish` in turn. Jentic handles the bearer header on every call.

### Does the DealHub API expose contract redlining or e-signature endpoints?

No dedicated redlining or e-signature endpoints are present in this v2 spec. The API covers quote generation, DealRoom workspaces, opportunities, billing, users, products, and versions. Pair with a dedicated e-signature platform when signature capture is required.

### Can I limit what my agent is allowed to do with the DealHub API?

Yes. Jentic One runs self-hosted, so your own rules decide which DealHub operations and credentials the agent may use. Because DealHub puts the quote id in the URL path (`/quotes/{id}`), you can pin the agent to one quote for read-only work like fetching its document with GET `/quotes/{id}/document`, while withholding state-changing calls such as `/quotes/submit` or `/quotes/publish.` Only the operations you explicitly grant are callable, and the bearer token is attached at execution time rather than exposed to the agent.
