canonical: https://jentic.com/apis/dubble.so/dubble

# Dubble So Dubble API

Jentic publishes the only available OpenAPI specification for Dubble API, keeping it validated and agent-ready. Dubble is a step-by-step guide and documentation platform that captures workflows from a browser and turns them into shareable how-to articles. The API exposes 17 endpoints to manage guides and collections, retrieve guides as HTML or Markdown for embedding, and configure webhooks at the workspace or collection level. Authentication uses an OAuth-style bearer token.

## For AI agents

Read, organise, and export Dubble guides, and subscribe to webhooks for guide events. Useful for agents that surface walkthroughs in support or onboarding flows.

## Scope

Does not handle video recording, screen capture, or live editing - use for managing and exporting Dubble step-by-step guides only.

## Capabilities

- List and read guides via GET /guides and GET `/guides/{guideId}`
- Export guides as HTML or Markdown via `/guides/{guideId}/html` and `/guides/{guideId}/markdown`
- Organise guides into collections via /collections and the collection-membership endpoints
- Update or delete guides via PUT and DELETE on `/guides/{guideId}`
- Subscribe to guide events via POST /webhooks and the per-collection webhook endpoint
- Manage webhook subscriptions via PUT and DELETE on `/webhooks/{webhookId}`

## Use cases

### Embed Dubble Guides in a Help Center

Pull Dubble step-by-step guides into a help center or in-app onboarding panel. The agent calls GET /guides to discover available content, then GET `/guides/{guideId}/html` to render the guide directly inside the support widget. This avoids re-authoring the same workflow content in two places.

Example prompt: Call GET /guides to list guides, then GET `/guides/{guideId}/html` for the chosen guideId and inject the HTML into the in-app help drawer

### Sync Dubble Guides into a Static Docs Site

Mirror Dubble guides into a static documentation site by exporting each as Markdown on a schedule. The agent reads GET /guides for the current list, fetches `/guides/{guideId}/markdown` for content, and commits each file to a docs repository. Dubble webhooks let the sync run reactively when a guide changes.

Example prompt: On the guide.updated webhook, call GET `/guides/{guideId}/markdown` and commit the file to the docs/walkthroughs/ folder

### Collection-Based Onboarding

Group guides into ordered collections that match an onboarding sequence. POST /collections creates the container and PUT `/guides/{guideId}/collections/{collectionId}` attaches a guide. The agent then surfaces the collection in the product, walking new users through one guide at a time and tracking completion via webhooks.

Example prompt: POST /collections to create 'New Customer Onboarding', then for each onboarding guideId call PUT `/guides/{guideId}/collections/{collectionId}`

### Agent-Driven Documentation via Jentic

Wire Dubble into agent workflows that retrieve, transform, and publish how-to content. Through Jentic the agent searches by intent, loads the schema for /guides or /webhooks, and executes - the bearer token stays in your Jentic One instance, not the agent's prompt context.

Example prompt: Search Jentic for 'export Dubble guide as Markdown', load the schema for GET `/guides/{guideId}/markdown`, and execute for each guide returned by GET /guides

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/guides` | List guides |
| GET | `/guides/{guideId}` | Get a guide |
| GET | `/guides/{guideId}/html` | Get a guide rendered as HTML |
| GET | `/guides/{guideId}/markdown` | Get a guide rendered as Markdown |
| POST | `/collections` | Create a collection |
| POST | `/webhooks` | Create a webhook subscription |

## Key resources

- **Guides** — List, read, update, and export guides under /guides, including HTML and Markdown rendering
- **Collections** — Group guides into ordered collections under /collections
- **Webhooks** — Subscribe to guide events at workspace or collection scope under /webhooks

## Why Jentic

- **Setup:** Wiring the Dubble API by hand means handling its bearer auth and building the guide export and collection calls yourself. Through Jentic you install once, import Dubble from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Dubble puts the guide id in the URL path (`/guides/{guideId}/...`), so a rule can pin your agent to reading and exporting guides. You choose the operations it may call, so creating collections or webhooks is not included unless you add them.
- **Credential handling:** Your Dubble bearer token 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 'export a guide as Markdown' or 'list Dubble guides', and Jentic returns the matching Dubble operation with its input schema so the agent calls the right endpoint without browsing the docs.

## Related APIs

- **Loom API** — Async video walkthroughs instead of step-by-step screenshots
- **Rebrandly API** — Branded short links for shared guide URLs
- **Dub API** — Track clicks and conversions on shared guide links

## FAQ

### Why is there no official OpenAPI spec for Dubble API?

Dubble does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Dubble API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Dubble API use?

Dubble uses an OAuth-style bearer token in the Authorization header. Through Jentic the token is stored in the encrypted vault and injected at execution, so it never enters the agent's prompt context.

### Can I export a Dubble guide as Markdown?

Yes. GET `/guides/{guideId}/markdown` returns the guide rendered as Markdown, suitable for committing into a static docs site. GET `/guides/{guideId}/html` returns the same content as HTML.

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

The OpenAPI spec does not declare rate limits. Confirm your plan's quota with Dubble support and have your agent handle 429 responses with exponential backoff.

### How do I subscribe to guide updates through Jentic?

Search Jentic for 'create a Dubble webhook', load the schema for POST /webhooks, and execute with the target_url and event filter. Install with pip install jentic.

### Can I scope a webhook to a single collection?

Yes. POST `/webhooks/{collectionId}` creates a webhook that fires only for events on guides in that collection, which is useful for routing onboarding events separately from internal SOPs.

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

Yes. Because your Jentic One instance is self-hosted, your own rules decide which Dubble operations and credentials the agent may use. Since Dubble puts the guide id in the URL path (`/guides/{guideId}/...`), you can pin the agent to reading and exporting guides through GET /guides, GET `/guides/{guideId}`, GET `/guides/{guideId}/html`, and GET `/guides/{guideId}/markdown.` Write operations such as POST /collections or POST /webhooks are excluded unless you explicitly add them to the agent's allowed set.
