API 文档

短链接服务 API 提供了完整的短链创建、管理和统计功能。所有API端点均支持JSON格式的请求和响应。

基础URL: http://localhost:8000

认证方式

如果服务启用了API密钥认证,需要在请求中携带密钥:

HTTP Header
X-API-Key: your-api-key-here

或在URL中添加查询参数: ?api_key=your-api-key-here

API 端点

GET /api/key/info

获取当前正在使用的 API Key 的权限、有效期及使用统计

POST /api/shorten

创建一个新的短链接

url 必需
原始URL地址
custom_code 可选
自定义短码 (4-10个字符)
title 可选
短链备注/昵称 (用于识别)
expires_in_hours 可选
过期时间(小时)
请求示例
{
  "url": "https://www.example.com/very/long/url",
  "custom_code": "work",
  "title": "工作文档",
  "expires_in_hours": 24
}
响应示例
{
  "short_code": "work",
  "short_url": "http://localhost:8000/work",
  "original_url": "https://www.example.com/very/long/url",
  "title": "工作文档",
  "created_at": "2024-01-01T12:00:00",
  "click_count": 0,
  "expires_at": "2024-01-02T12:00:00"
}
POST /api/shorten/batch

批量创建多个短链接

urls 必需
原始URL数组
expires_in_days 可选
过期天数
title 可选
统一备注/昵称
请求示例
{
  "urls": [
    "https://example.com/page1",
    "https://example.com/page2"
  ],
  "expires_in_days": 7
}
GET /api/info/{short_code}

获取指定短链的详细信息

GET /api/stats/{short_code}

获取短链的访问统计

GET /api/list

获取所有短链列表(支持分页)

skip 可选
跳过的记录数,默认0
limit 可选
返回的最大记录数,默认100
DELETE /api/{short_code}

删除指定的短链

POST /api/delete/batch

批量删除指定的短链

codes 必需
短码数组,例如: ["code1", "code2"]
请求示例
{
  "codes": ["work", "test-link"]
}
GET /{short_code}

访问短链,自动重定向到原始URL(无需API密钥)

管理员 API

管理 API Keys 的专用接口。需要使用 X-Admin-Key Header 进行认证。

HTTP Header
X-Admin-Key: your-admin-key-here
POST /api/admin/keys/create

创建一个新的 API Key

name 必需
Key 名称/备注
expires_days 可选
过期天数 (0 表示永不过期)
GET /api/admin/keys/list

列出所有 API Keys

GET /api/admin/keys/{key_id}

获取指定 API Key 的详情

PATCH /api/admin/keys/{key_id}/toggle

切换 API Key 的启用/禁用状态

DELETE /api/admin/keys/{key_id}

彻底删除 API Key

GET /api/admin/cleanup/config

获取自动清理配置状态

PUT /api/admin/cleanup/config

更新自动清理状态(启用/禁用)

enabled 必需
布尔值,是否开启北京时间 0:00 自动清理
POST /api/admin/cleanup/trigger

立即手动触发过期链接清理

更多资源

访问交互式 Swagger UI 查看完整API文档:

Swagger UI