canonical: https://jentic.com/apis/hummingdeck.com/hummingdeck

# HummingDeck API

The HummingDeck API uploads and replaces the sales documents in a workspace library, creates tracked share links for them, and builds rooms: shared spaces for a buyer's company with tabs, documents, links, embeds, and section dividers. Each room carries audience links with access modes, allowed emails or domains, and expiry, plus an action plan of phases and tasks that the buyer and seller work through. Read calls report document views, accept or decline decisions on proposals, room engagement totals, room activity, and captured emails, and companies and contacts can be found or created as rooms and links are made. Webhook subscriptions for the Zapier integration are also part of the API.

## For AI agents

Upload sales documents, build rooms for a buyer's company with tabs, documents, and action plans, create tracked share and room links, and read views, decisions, and room engagement in HummingDeck.

## Scope

Does not send email campaigns, run e-signature flows, or manage CRM deals and pipeline stages. Use for HummingDeck documents, rooms, share links, action plans, and engagement data only.

## Capabilities

- Upload a document to the library, and later replace its file with one of the same type while keeping its share links, room placements, and analytics history
- Create a room for a buyer's company with its documents, default tabs, and a first audience link in one call
- Add tabs, documents, URLs, embeds, and section dividers to a room, then reorder or move them
- Create audience links with access modes, allowed emails or domains, expiry, and download settings
- Build an action plan with phases and tasks, and mark tasks done or reopen them
- Read document views, proposal decisions, room analytics, room activity, and captured emails
- Find or create companies and contacts while generating tracked share links

## Use cases

### Agent-assembled buyer rooms through Jentic

A developer's agent prepares a buyer room after a discovery call. Through Jentic it finds the upload and room operations by intent, uploads the files, and creates the room for the buyer's company with a Restricted link for the right people. The workspace key is injected by the developer's own Jentic One instance, and a rule can keep the agent to room-building calls.

Example prompt: Upload proposal.pdf with POST /decks, then call POST /rooms with name 'Acme renewal', companyName Acme Inc, companyDomain acme.com, recipientEmail pat@acme.com, and the uploaded document id in documentIds

### Mutual action plan follow-through

Keep a deal's next steps current. Each room has an action plan with phases, tasks, assignees, and due dates; the agent adds tasks after a call and ticks them off as they finish. The status call refuses a task whose dependencies are unfinished with 409 TASK_BLOCKED, the same rule the app applies.

Example prompt: Call POST `/rooms/{roomId}/action-plan/tasks` with title 'Security questionnaire returned' and dueDate 2026-11-20, then later call POST `/rooms/{roomId}/action-plan/tasks/{taskId}/status` with status done

### Engagement digest for sellers

Tell a seller which buyers are engaging. Room analytics gives engagement totals, room activity lists what happened in a room, the room views call lists room entries across the workspace, and the decisions call returns recent accept or decline decisions on documents, so an agent can write a short digest before the next call.

Example prompt: Call GET /room-views with since set to the start of the week, then GET `/rooms/{roomId}/analytics` for each room returned, and summarise which rooms had new visits

### Tracked one-off document sharing

Send a single document with tracking instead of a full room. POST /shares takes a deckId plus an optional recipient name and email or company, resolves or creates the matching contact and company, and returns a tracked URL on the workspace's custom domain when the workspace is entitled to one.

Example prompt: Call GET /decks with title 'Security overview' to find its id, then POST /shares with that deckId, recipientName Pat Buyer, and recipientEmail pat@acme.com, and return the share URL

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/decks` | Upload a document |
| POST | `/rooms` | Create a room |
| POST | `/rooms/{roomId}/items` | Add an item to a room tab |
| POST | `/rooms/{roomId}/links` | Create a room audience link |
| POST | `/shares` | Create a tracked share link |
| POST | `/rooms/{roomId}/action-plan/tasks` | Add an action plan task |
| GET | `/rooms/{roomId}/activity` | Read what happened in a room |
| GET | `/decisions` | List recent proposal decisions |

## Key resources

- **Documents (decks)** — Library files that can be searched, uploaded, and replaced
- **Rooms** — Buyer spaces with tabs, items, labels, audience links, archive and restore
- **Action plans** — Per-room phases and tasks with assignees, due dates, and completion status
- **Share and room links** — Tracked links with access modes, allowed emails or domains, and expiry
- **Engagement** — Document views, decisions, room analytics, activity, and captured emails
- **Companies and contacts** — Account records found or created by name, domain, or email

## AI readiness

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.

- **Score:** 70 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 77 / 100
  - Developer Experience & Jentic Compatibility: 69 / 100
  - AI-Readiness & Agent Experience: 52 / 100
  - Agent Usability: 94 / 100
  - Security: 75 / 100
  - AI Discoverability: 76 / 100
- **View full report:** https://jentic.com/apis/hummingdeck.com/hummingdeck/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the HummingDeck API by hand means requesting API access for the workspace, issuing a bearer key with the right scopes such as rooms:write, keeping it apart from the Zapier OAuth token that webhooks need, and respecting separate read, write, and upload limits. Through Jentic you install once, import HummingDeck from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** HummingDeck puts the room id in the URL path (`/rooms/{roomId}/...`), so a rule can pin your agent to one room and the operations you pick. You choose the operations it may call, so destructive ones like archiving a room or deleting room labels are not included unless you add them.
- **Credential handling:** Your HummingDeck workspace key 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.
- **Discovery method:** Agents search Jentic by intent such as 'create a sales room' or 'check who viewed a document', and Jentic returns the matching HummingDeck operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **PandaDoc API** — Proposals, quotes, and e-signature documents with tracking
- **HubSpot CRM Deals API** — Deal records and pipeline stages in HubSpot CRM
- **Slack API** — Team messaging for buyer engagement alerts

## FAQ

### What authentication does the HummingDeck API use?

The spec declares two credentials that are not interchangeable. A workspace API key, sent as a bearer token prefixed hd_api_, is issued by a workspace owner or admin, carries explicit scopes such as rooms:write or analytics:read, and expires one year after creation. Zapier OAuth (oauth2 authorization code) tokens are the only credential accepted on the webhook subscription endpoints, and room operations reject them. For agent work you store the workspace key, encrypted by your own Jentic One instance.

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

HummingDeck's spec states per-credential limits of 600 reads per 5 minutes, 120 writes per minute, 60 room-view reads per minute, and 20 uploads per hour, with shared workspace ceilings at twice those values. Over-limit requests get 429 RATE_LIMITED; wait the seconds given in Retry-After before retrying.

### Can I build an action plan with the HummingDeck API?

Yes. Each room has an action plan you can read and configure with GET and PATCH `/rooms/{roomId}/action-plan.` Add phases with POST `/rooms/{roomId}/action-plan/phases` and tasks with POST `/rooms/{roomId}/action-plan/tasks`, then complete or reopen a task through its status call. A task with unfinished dependencies returns 409 TASK_BLOCKED.

### Who can get REST API access to HummingDeck?

Per the spec, REST API access is available by request on the Business plan and is enabled per workspace after review. Once enabled, an owner or admin creates named keys in Workspace settings under Integrations, and the raw key is shown once at creation.

### How do I create a sales room with the HummingDeck API through Jentic?

Search Jentic for 'create a sales room' to get POST /rooms, upload the files first with POST /decks, then create the room with its name, the buyer's company, a recipient, and the documentIds. To run it on your own infrastructure, install Jentic One from its GitHub repo and store a workspace key with rooms:write and documents:write.

### Is there a HummingDeck MCP server?

You don't need an MCP server to give your agent HummingDeck. Jentic connects it directly from the API Directory: import it, store your workspace key once, and your agent calls the operations you allow, found on demand rather than preloaded into its context.

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

Yes. For example, write a rule that allows only GET `/rooms/{roomId}/activity`, GET `/rooms/{roomId}/analytics`, and POST `/rooms/{roomId}/action-plan/tasks/{taskId}/status` for the Acme room, so the agent can read that room's engagement and tick off its tasks but cannot archive it, change its links, or touch other rooms. Every call is logged by your Jentic One instance, and the key's own HummingDeck scopes still apply.
