# ClinPGx API 参考
ClinPGx REST API 的完整参考文档。
## 基础 URL
https://api.clinpgx.org/v1/
## 速率限制
- **最大速率**: 每秒 2 次请求
- **执行方式**: 超过限制的请求将收到 HTTP 429(请求过多)错误
- **最佳实践**: 在请求之间实现 500ms 的延迟(0.5 秒)
- **建议**: 如需大量使用 API,请联系
[email protected]
## 身份验证
基础 API 访问无需身份验证。所有端点均可公开访问。
## 数据许可
通过 API 访问的所有数据均受以下协议约束:
- 知识共享署名-相同方式共享 4.0 国际许可协议 (Creative Commons Attribution-ShareAlike 4.0 International License)
- ClinPGx 数据使用政策
## 响应格式
所有成功的响应均返回 JSON 格式以及相应的 HTTP 状态码:
- `200 OK`: 请求成功
- `404 Not Found`: 资源不存在
- `429 Too Many Requests`: 超出速率限制
- `500 Internal Server Error`: 服务器错误
## 核心端点
### 1. 基因端点 (Gene Endpoint)
检索药物基因信息,包括功能、变异和临床意义。
#### 按符号获取基因
http
GET /v1/gene/{gene_symbol}
**参数:**
- `gene_symbol` (路径参数, 必填): 基因符号 (例如:CYP2D6, TPMT, DPYD)
**请求示例:**
bash
curl "https://api.clinpgx.org/v1/gene/CYP2D6"
**响应示例:**
{
"id": "PA126",
"symbol": "CYP2D6",
"name": "cytochrome P450 family 2 subfamily D member 6",
"chromosome": "22",
"chromosomeLocation": "22q13.2",
"function": "Drug metabolism",
"description": "Highly polymorphic gene encoding enzyme...",
"clinicalAnnotations": [...],
"relatedDrugs": [...]
}
#### 搜索基因
http
GET /v1/gene?q={search_term}
**参数:**
- `q` (查询参数, 可选): 基因名称或符号的搜索词
**示例:**
bash
curl "https://api.clinpgx.org/v1/gene?q=CYP"
### 2. 化学/药物端点 (Chemical/Drug Endpoint)
访问药物和化合物信息,包括药物基因组学注释。
#### 按 ID 获取药物
http
GET /v1/chemical/{drug_id}
**参数:**
- `drug_id` (路径参数, 必填): ClinPGx 药物标识符 (例如:PA448515)
**请求示例:**
bash
curl "https://api.clinpgx.org/v1/chemical/PA448515"
#### 按名称搜索药物
http
GET /v1/chemical?name={drug_name}
**参数:**
- `name` (查询参数, 可选): 药物名称或同义词
**示例:**
bash
curl "https://api.clinpgx.org/v1/chemical?name=warfarin"
**响应示例:**
[
{