# Dub

> Dub through One

- Skill: `withoneai/dub` (Agent Skill)
- Install (CLI): `npx skillmds@latest add withoneai/dub`
- Raw SKILL.md: https://api.skillmd.com/api/skills/withoneai/dub/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: withoneai (https://skillmd.com/u/withoneai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/withoneai/dub

---


# Dub through One

Dub is a link management and attribution platform that enables teams to create branded short links, track conversions from click to revenue, and manage affiliate programs with real-time analytics and APIs for scalable marketing workflows.

One exposes Dub through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.

## How to run an action

1. Find the action in the table below, or call `search_one_platform_actions` with platform `dub` if it is not listed.
2. Call `get_one_action_knowledge` with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
3. Call `execute_one_action` with parameters copied from that knowledge.

Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.

## Before you start

Call `list_one_integrations` once and confirm Dub is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.

Each connection carries an `access` field. If it reports `{"policy": "methods", "methods": ["GET"]}` the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.

## Before a write

Creates, updates, deletes and sends land on a real Dub account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.

## Actions

### Links

| Action | Method | Path | Action id |
|---|---|---|---|
| List Links | GET | `/links` | `conn_mod_def::GKxTTNwIv2A::H2BbZqZbSqyuWO0cpif63g` |
| Retrieve a Link | GET | `/links/info` | `conn_mod_def::GKxTTJKHl_g::jVqd8rGKSiO5bne5y8At7g` |
| Retrieve Links Count | GET | `/links/count` | `conn_mod_def::GKxTTbCwEDg::sE6I6z4_TCqZdRjH81CNsQ` |
| Bulk Create Links | POST | `/links/bulk` | `conn_mod_def::GKxTS7CZLyg::HK3MnYFgRQmmgDFyIr7xoA` |
| Bulk Delete Links | DELETE | `/links/bulk` | `conn_mod_def::GKxTS9SMN7g::99T4up_ZQcG63XFolGpFYQ` |
| Bulk Update Links | PATCH | `/links/bulk` | `conn_mod_def::GKxTTIWxfcg::-cIpjeIqS4KJQfTDg63rZQ` |
| Create a Link | POST | `/links` | `conn_mod_def::GKxTTHhVAUA::MmjqnWDTSwi16M08Odak9w` |
| Delete a Workspace Link | DELETE | `/links/{{linkId}}` | `conn_mod_def::GKxTTHhU2jA::nbpNc2LoT0mi8Voi6yTKRQ` |
| Update a Workspace Link | PATCH | `/links/{{linkId}}` | `conn_mod_def::GKxTTYsnYAA::AVgQx32hQ-Kb3EEBeiJSUA` |
| Upsert a Link | PUT | `/links/upsert` | `conn_mod_def::GKxTTX7qYSA::f9AxhziETzabSEboc-KmGg` |

### Domains

| Action | Method | Path | Action id |
|---|---|---|---|
| Check Domain Availability Status | GET | `/domains/status` | `conn_mod_def::GKxTSSjOHdA::JqaxxlNyQR6fWo5WsTLZLA` |
| List Domains | GET | `/domains` | `conn_mod_def::GKxTSTuQ4aA::0PcxWzFHTSi3JMhdEk6D1w` |
| Create a Domain | POST | `/domains` | `conn_mod_def::GKxTSStr6pA::W7Np7XRmSf-6enrl79pmGQ` |
| Delete a Domain | DELETE | `/domains/{{slug}}` | `conn_mod_def::GKxTSTmBQ1A::aXMvtcsDSHSST4EvAln6JQ` |
| Register a Domain | POST | `/domains/register` | `conn_mod_def::GKxTSdaaRgA::P6-tLBDTSVqGAiNH2K16Bw` |
| Update a Workspace Domain | PATCH | `/domains/{{slug}}` | `conn_mod_def::GKxTShIRAYg::v2sYC4psS1KYlGoKStzkXA` |

### Customers

| Action | Method | Path | Action id |
|---|---|---|---|
| List All Customers | GET | `/customers` | `conn_mod_def::GKxTSFnvmug::pSM1KApsSPqLHgwG4eaPhw` |
| Retrieve a Customer | GET | `/customers/{{id}}` | `conn_mod_def::GKxTSBEN1Eg::i2YBD9qQRrSJhWIAJjcAUQ` |
| Delete a Customer | DELETE | `/customers/{{id}}` | `conn_mod_def::GKxTSBE2zJA::E9dNbBnVTrGVZlOEJU3-2Q` |
| Update a Customer | PATCH | `/customers/{{id}}` | `conn_mod_def::GKxTSTCUiLA::wRKDx6G9Quy1FnVtQjneGg` |

### Folders

| Action | Method | Path | Action id |
|---|---|---|---|
| List All Folders | GET | `/folders` | `conn_mod_def::GKxTS5LD9kA::RbFEqEAOSJ2h002tcJG4CA` |
| Create a Folder | POST | `/folders` | `conn_mod_def::GKxTSd0Ve9A::2ScskwmnQjuv9aw7OKtFQA` |
| Delete a Folder | DELETE | `/folders/{{id}}` | `conn_mod_def::GKxTS3fm_lg::bS0geeloTXysSiEMiJNtzg` |
| Update a Folder | PATCH | `/folders/{{id}}` | `conn_mod_def::GKxTS4JtjvA::euKiI1FLRlqGg45bqYTlXg` |

### Partners

| Action | Method | Path | Action id |
|---|---|---|---|
| List All Partners | GET | `/partners` | `conn_mod_def::GKxTT1b8M9A::qYxNaNyTSo-oTRZPAJ1I-g` |
| Ban a Partner | POST | `/partners/ban` | `conn_mod_def::GKxTTos2rNA::Wl30vT1HR5mC-c0HPPKgnA` |
| Create or Update a Partner | POST | `/partners` | `conn_mod_def::GKxTToVLheg::-QsVF6NGS5uAKjB4smjUGw` |
| Deactivate a Partner | POST | `/partners/deactivate` | `conn_mod_def::GKxTTk7irMA::TdGZ64N_RD-z64xGzA5r2Q` |

### Tags

| Action | Method | Path | Action id |
|---|---|---|---|
| List Tags | GET | `/tags` | `conn_mod_def::GKxTUA6Zjug::l_1M4zl2RLi5TpYoq6Pg5w` |
| Create a Tag | POST | `/tags` | `conn_mod_def::GKxTT-xvkkA::vF3mEbICQsqCfmssUDQHmg` |
| Delete a Tag | DELETE | `/tags/{{id}}` | `conn_mod_def::GKxTT-3WgPg::i5DdDeYFT2qFbzrX6fK5fA` |
| Update a Tag | PATCH | `/tags/{{id}}` | `conn_mod_def::GKxTT9uJ40A::e3SbomOuSwaoLnovYUqDSg` |

### Commissions

| Action | Method | Path | Action id |
|---|---|---|---|
| List All Commissions | GET | `/commissions` | `conn_mod_def::GKxTSIYncdA::Po3Jxa9bTtKpjTHwzP0DCg` |
| Bulk Update Commissions | PATCH | `/commissions/bulk` | `conn_mod_def::GKxTRo04WkA::QLCPZ6VgSYejX3qJHQMJVg` |
| Update a Commission | PATCH | `/commissions/{{id}}` | `conn_mod_def::GKxTSE6uq2A::l37-3iVTTmGUGOi-wyEqmw` |

### PartnerApplications

| Action | Method | Path | Action id |
|---|---|---|---|
| List Pending Partner Applications | GET | `/partners/applications` | `conn_mod_def::GKxTTXOKDnA::7LdgDQYER7i-lqZuQvNDaw` |
| Approve a Partner Application | POST | `/partners/applications/approve` | `conn_mod_def::GKxTTYBPvYA::sH-DHih_R3CCxEOqvxOMBw` |
| Reject a Partner Application | POST | `/partners/applications/reject` | `conn_mod_def::GKxTTlGWT1g::rIELzexuRh64GI5uGRpL9A` |

### BountySubmissions

| Action | Method | Path | Action id |
|---|---|---|---|
| List a Bounty's Submissions | GET | `/bounties/{{bountyId}}/submissions` | `conn_mod_def::GKxTRsTZjFg::Lp-bdIB5SMWTlrnis7QWMg` |
| Reject a Bounty Submission | POST | `/bounties/{{bountyId}}/submissions/{{submissionId}}/reject` | `conn_mod_def::GKxTRpuoiOg::81vpik9wTT6bqCBkO4n6Iw` |

### PartnerLinks

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Partner Link | POST | `/partners/links` | `conn_mod_def::GKxTTnSjGoA::et5il1EFTviwGu2c8sIEXw` |
| Upsert a Partner Link | PUT | `/partners/links/upsert` | `conn_mod_def::GKxTTy7xLhg::xr41VG4EQmyj7kGFhi8wJw` |

### Leads

| Action | Method | Path | Action id |
|---|---|---|---|
| Track a Lead | POST | `/track/lead` | `conn_mod_def::GKxTULTFN0A::-mPTivQTR5qSHsFwfAPhew` |

### BountySubmission

| Action | Method | Path | Action id |
|---|---|---|---|
| Approve a Bounty Submission | POST | `/bounties/{{bountyId}}/submissions/{{submissionId}}/approve` | `conn_mod_def::GKxTRqMfQXA::yeFa6TmSRwOLTsAPsNzcMg` |

### Analytics

| Action | Method | Path | Action id |
|---|---|---|---|
| Retrieve Analytics for a Link, a Domain, or the Authenticated Workspace | GET | `/analytics` | `conn_mod_def::GKxTR2hrrbA::AY3hclhjQZ6y3vGZPSzBrw` |

### DeepLinkOpenEvent

| Action | Method | Path | Action id |
|---|---|---|---|
| Track a Deep Link Open Event | POST | `/track/open` | `conn_mod_def::GKxTULTJG1g::TfT1J7GFR9uuvNEXdHfPvw` |

### Sales

| Action | Method | Path | Action id |
|---|---|---|---|
| Track a Sale | POST | `/track/sale` | `conn_mod_def::GKxTULpTq7A::lFQRhIutQ2ajao9dtYU4XQ` |

### ReferralsEmbedToken

| Action | Method | Path | Action id |
|---|---|---|---|
| Create a Referrals Embed Token | POST | `/tokens/embed/referrals` | `conn_mod_def::GKxTSfjMTUA::sk3sXgBuRVGe7kOl1MyMZQ` |

### Events

| Action | Method | Path | Action id |
|---|---|---|---|
| List All Events | GET | `/events` | `conn_mod_def::GKxTSt8eoLg::y3Ew0m3ARjOcaQ2rZeVp5g` |

### PartnersLinks

| Action | Method | Path | Action id |
|---|---|---|---|
| Retrieve a Partner's Links | GET | `/partners/links` | `conn_mod_def::GKxTTxjzkmg::25n61xoMRo-C3bSgoUzN5g` |

### PartnerAnalytics

| Action | Method | Path | Action id |
|---|---|---|---|
| Retrieve Partner Analytics | GET | `/partners/analytics` | `conn_mod_def::GKxTT0m4Agg::ZjbAb2qQS9qR0OLwb2QcNQ` |

### Payouts

| Action | Method | Path | Action id |
|---|---|---|---|
| List All Payouts | GET | `/payouts` | `conn_mod_def::GKxTT1cVGtA::oDyPb3dXR4iQcRLUglZvIw` |

### QrCode

| Action | Method | Path | Action id |
|---|---|---|---|
| Retrieve a QR Code | GET | `/qr` | `conn_mod_def::GKxTUBlb3Hg::N_eRrfzuS7SolO3FOKMvBA` |

## When a call fails

The error comes from Dub, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.

Full catalog: https://www.withone.ai/knowledge/dub

Integration knowledge by One (withone.ai), licensed under [One-Knowledge-1.0](https://www.withone.ai/licenses/knowledge). Attribution must be preserved in derivative works.

