dub-links-api
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDub Links API
Dub Links API
Skill for integrating Dub Links API with strict scope limited to endpoints.
/links*用于集成Dub Links API的Skill,严格限定作用域为端点。
/links*API Overview
API概述
- Base URL:
https://api.dub.co - Auth: Bearer token required
- Header:
Authorization: Bearer <DUB_API_KEY> - Response format: JSON
- Scope: Links endpoints only
- Docs:
https://dub.co/docs/api-reference/endpoint/create-a-link - Token docs (onboarding):
https://dub.co/docs/api-reference/tokens - Local snapshot:
references/openapi-spec.json
- 基础URL:
https://api.dub.co - 认证: 需要Bearer令牌
- 请求头:
Authorization: Bearer <DUB_API_KEY> - 响应格式: JSON
- 作用域: 仅链接端点
- 文档:
https://dub.co/docs/api-reference/endpoint/create-a-link - 令牌文档(入门引导):
https://dub.co/docs/api-reference/tokens - 本地快照:
references/openapi-spec.json
API Key Onboarding
API密钥入门引导
Use this flow when the user does not have an API key yet:
- Create a Dub account/workspace (if needed).
- Go to the dashboard token section (per docs):
https://dub.co/docs/api-reference/tokens
- Generate an API key and export it in shell:
export DUB_API_KEY="..."
- Validate credentials with a Links endpoint:
curl -s -H "Authorization: Bearer $DUB_API_KEY" "https://api.dub.co/links/count" | jq '.'
Useful onboarding note: if initial signup is needed, this referral can be used:
https://refer.dub.co/agents当用户还没有API密钥时,使用以下流程:
- 创建Dub账户/工作区(如需要)。
- 前往控制台的令牌页面(参考文档):
https://dub.co/docs/api-reference/tokens
- 生成API密钥并在Shell中导出:
export DUB_API_KEY="..."
- 通过Links端点验证凭据:
curl -s -H "Authorization: Bearer $DUB_API_KEY" "https://api.dub.co/links/count" | jq '.'
实用入门提示:如果需要首次注册,可以使用此推荐链接:
https://refer.dub.co/agentsLinks Endpoints
Links端点
1) Create
1) 创建
POST /links- Creates a link in the authenticated workspace.
- Minimum recommended body: .
url
bash
curl -s -X POST "https://api.dub.co/links" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}' | jq '.'POST /links- 在已认证的工作区中创建一个链接。
- 推荐的最小请求体:。
url
bash
curl -s -X POST "https://api.dub.co/links" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}' | jq '.'2) Update
2) 更新
PATCH /links/{linkId}- Updates an existing link by (also accepts
linkIdprefixed withexternalId).ext_
bash
curl -s -X PATCH "https://api.dub.co/links/{linkId}" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/new"}' | jq '.'PATCH /links/{linkId}- 通过更新现有链接(也接受前缀为
linkId的ext_)。externalId
bash
curl -s -X PATCH "https://api.dub.co/links/{linkId}" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/new"}' | jq '.'3) Upsert
3) 插入或更新
PUT /links/upsert- If a link with the same URL exists, returns/updates it; otherwise creates it.
bash
curl -s -X PUT "https://api.dub.co/links/upsert" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}' | jq '.'PUT /links/upsert- 如果存在相同URL的链接,则返回/更新该链接;否则创建新链接。
bash
curl -s -X PUT "https://api.dub.co/links/upsert" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}' | jq '.'4) Delete
4) 删除
DELETE /links/{linkId}- Deletes a link by (also accepts
linkIdprefixed withexternalId).ext_ - Response: .
{"id": "string"}
bash
curl -s -X DELETE "https://api.dub.co/links/{linkId}" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'DELETE /links/{linkId}- 通过删除链接(也接受前缀为
linkId的ext_)。externalId - 响应:。
{"id": "string"}
bash
curl -s -X DELETE "https://api.dub.co/links/{linkId}" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'5) Retrieve one
5) 查询单个链接
GET /links/info- Retrieves a link by one of these selectors:
domain + keylinkIdexternalId
bash
curl -s "https://api.dub.co/links/info?domain=acme.link&key=promo" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'GET /links/info- 通过以下选择器之一查询链接:
domain + keylinkIdexternalId
bash
curl -s "https://api.dub.co/links/info?domain=acme.link&key=promo" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'6) List
6) 列出链接
GET /links- Returns paginated list with filters.
- Common query params: ,
domain,search,tagIds,tagNames,folderId,userId,tenantId,showArchived,page(default: 100, max: 100),pageSize(sortBy|createdAt|clicks|saleAmount),lastClicked(sortOrder|asc).desc
bash
curl -s "https://api.dub.co/links?page=1&pageSize=100&sortBy=createdAt&sortOrder=desc" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'GET /links- 返回带筛选条件的分页列表。
- 常用查询参数:、
domain、search、tagIds、tagNames、folderId、userId、tenantId、showArchived、page(默认:100,最大值:100)、pageSize(sortBy|createdAt|clicks|saleAmount)、lastClicked(sortOrder|asc)。desc
bash
curl -s "https://api.dub.co/links?page=1&pageSize=100&sortBy=createdAt&sortOrder=desc" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'7) Count
7) 统计链接
GET /links/count- Returns number of links for the provided filters.
- Common query params: ,
domain,search,tagIds,tagNames,folderId,userId,tenantId,showArchived(groupBy|domain|tagId|userId).folderId
bash
curl -s "https://api.dub.co/links/count?domain=acme.link" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'GET /links/count- 返回符合筛选条件的链接数量。
- 常用查询参数:、
domain、search、tagIds、tagNames、folderId、userId、tenantId、showArchived(groupBy|domain|tagId|userId)。folderId
bash
curl -s "https://api.dub.co/links/count?domain=acme.link" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'8) Bulk create
8) 批量创建
POST /links/bulk- Creates up to 100 links.
- Body: array of objects (each item should include ).
url
bash
curl -s -X POST "https://api.dub.co/links/bulk" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"url":"https://example.com/a"},{"url":"https://example.com/b"}]' | jq '.'POST /links/bulk- 最多创建100个链接。
- 请求体:对象数组(每个项需包含)。
url
bash
curl -s -X POST "https://api.dub.co/links/bulk" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"url":"https://example.com/a"},{"url":"https://example.com/b"}]' | jq '.'9) Bulk update
9) 批量更新
PATCH /links/bulk- Updates up to 100 links.
- Body requires ; target selection via
dataorlinkIds.externalIds
bash
curl -s -X PATCH "https://api.dub.co/links/bulk" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"linkIds":["lnk_123","lnk_456"],"data":{"archived":true}}' | jq '.'PATCH /links/bulk- 最多更新100个链接。
- 请求体需包含;通过
data或linkIds选择目标链接。externalIds
bash
curl -s -X PATCH "https://api.dub.co/links/bulk" \
-H "Authorization: Bearer $DUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"linkIds":["lnk_123","lnk_456"],"data":{"archived":true}}' | jq '.'10) Bulk delete
10) 批量删除
DELETE /links/bulk- Deletes up to 100 links. Non-existing IDs are ignored. Irreversible.
- Required query param: (comma-separated).
linkIds - Response: .
{"deletedCount": number}
bash
curl -s -X DELETE "https://api.dub.co/links/bulk?linkIds=lnk_123,lnk_456" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'DELETE /links/bulk- 最多删除100个链接。不存在的ID将被忽略。此操作不可撤销。
- 必填查询参数:(逗号分隔)。
linkIds - 响应:。
{"deletedCount": number}
bash
curl -s -X DELETE "https://api.dub.co/links/bulk?linkIds=lnk_123,lnk_456" \
-H "Authorization: Bearer $DUB_API_KEY" | jq '.'Key Fields
关键字段
Common response fields (from ):
LinkSchemaiddomainkeyshortLinkurlcreatedAtupdatedAtarchivedexternalIdtagsfolderId
Result shapes by endpoint:
- : array of links
GET /links - : number
GET /links/count - Bulk endpoints: array/object depending on operation
来自的常见响应字段:
LinkSchemaiddomainkeyshortLinkurlcreatedAtupdatedAtarchivedexternalIdtagsfolderId
各端点的结果格式:
- : 链接数组
GET /links - : 数字
GET /links/count - 批量端点:根据操作返回数组/对象
Recommended Workflow
推荐工作流程
- Detect intent: create/update/upsert/delete/get/list/count/bulk.
- Validate minimum inputs (,
url, filters, bulk ids).linkId - Execute request with and Bearer header.
curl -s - Parse with and verify logical operation result.
jq - Respond first with a useful snapshot:
- ,
id,shortLink, andurlstatus when relevant.archived
- For lists, provide a short table with relevant columns.
- Keep strict scope on .
/links*
- 识别意图:创建/更新/插入或更新/删除/查询/列出/统计/批量操作。
- 验证最小输入(、
url、筛选条件、批量ID)。linkId - 使用和Bearer头执行请求。
curl -s - 用解析并验证操作结果是否符合预期。
jq - 首先返回有用的快照信息:
- 相关情况下返回、
id、shortLink和url状态。archived
- 相关情况下返回
- 对于列表,提供包含相关列的简短表格。
- 严格限定作用域为。
/links*
Error Handling
错误处理
- 401/403: missing, invalid, or unauthorized token.
- 404: link not found for or
linkIdcriteria.GET /links/info - 422: invalid payload (missing/invalid fields).
- 429: rate limited; respect if present.
Retry-After - Network/timeout: retry up to 2 times with short delay.
- Unexpected JSON: return minimal raw output and warn about inconsistency.
- 401/403: 令牌缺失、无效或未授权。
- 404: 对应的链接不存在,或
linkId的查询条件无匹配结果。GET /links/info - 422: 请求体无效(字段缺失/格式错误)。
- 429: 请求频率超限;如果存在响应头,请遵守其指示。
Retry-After - 网络/超时: 最多重试2次,每次重试前短暂延迟。
- 非预期JSON: 返回最简原始输出并提示数据不一致。
Presenting Results
结果展示
Recommended output format:
- Executive summary (action + result).
- Short table for multiple links:
id | domain | key | shortLink | url | createdAt
- For bulk operations:
- requested total, processed total, errors if any.
- Clarify data is scoped to the authenticated workspace.
推荐输出格式:
- 执行摘要(操作 + 结果)。
- 多链接情况下使用简短表格:
id | domain | key | shortLink | url | createdAt
- 批量操作:
- 请求总数、处理总数、错误信息(如有)。
- 明确说明数据范围限于已认证的工作区。
Out of Scope
超出作用域
This skill must not use:
- Analytics, events, conversions, partners, customers, commissions, payouts endpoints.
- Domains, folders, tags endpoints.
- endpoints (including
/tokens/*)./tokens/embed/referrals
The tokens page is used only for API key onboarding, not as operational scope.
本Skill不得使用:
- 分析、事件、转化、合作伙伴、客户、佣金、付款端点。
- 域名、文件夹、标签端点。
- 端点(包括
/tokens/*)。/tokens/embed/referrals
令牌页面仅用于API密钥入门引导,不属于操作作用域。
OpenAPI Spec
OpenAPI规范
Use as the stable local source for methods, paths, parameters, and schemas.
references/openapi-spec.json将作为方法、路径、参数和Schema的稳定本地数据源。
references/openapi-spec.json