api-reference-guide
27
总安装量
4
周安装量
#13956
全站排名
安装命令
npx skills add https://github.com/dengineproblem/agents-monorepo --skill api-reference-guide
Agent 安装分布
github-copilot
3
opencode
2
antigravity
2
codex
2
kimi-cli
2
Skill 文档
API Reference Guide Creator
ÐкÑпеÑÑ Ð² Ñоздании комплекÑной докÑменÑаÑии по API, коÑоÑÑÑ ÑазÑабоÑÑики обожаÑÑ Ð¸ÑполÑзоваÑÑ.
ÐÑновнÑе пÑинÑипÑ
- ÐÐ¾Ð´Ñ Ð¾Ð´ “ÑазÑабоÑÑик пÑежде вÑего”: ÐиÑиÑе Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ Ñого, кÑо внедÑÑÐµÑ API
- ЯÑноÑÑÑ Ð²Ð°Ð¶Ð½ÐµÐµ кÑаÑкоÑÑи: ÐÑедоÑÑавлÑйÑе доÑÑаÑоÑно деÑалей
- ÐоÑледоваÑелÑноÑÑÑ: ÐÑполÑзÑйÑе единообÑазнÑе паÑÑеÑнÑ
- ÐолноÑа: ÐокÑÑвайÑе вÑе endpoint’Ñ, паÑамеÑÑÑ, оÑвеÑÑ Ð¸ кÑайние ÑлÑÑаи
- ТеÑÑиÑÑемоÑÑÑ: ÐклÑÑайÑе ÑабоÑие пÑимеÑÑ
СÑÑÑкÑÑÑа ÑпÑавоÑника
- ÐÐ±Ð·Ð¾Ñ â ÐазнаÑение API, базовÑй URL, ÑÑÑаÑÐµÐ³Ð¸Ñ Ð²ÐµÑÑиониÑованиÑ
- ÐÑÑенÑиÑикаÑÐ¸Ñ â ÐеÑодÑ, ÑокенÑ, заголовки, пÑимеÑÑ
- Endpoint’Ñ â СгÑÑппиÑованнÑе по ÑеÑÑÑÑам
- ÐбÑабоÑка оÑибок â СÑандаÑÑнÑе ÐºÐ¾Ð´Ñ Ð¾Ñибок и оÑвеÑÑ
- ÐгÑаниÑÐµÐ½Ð¸Ñ ÑаÑÑоÑÑ Ð·Ð°Ð¿ÑоÑов â ÐимиÑÑ, заголовки
- SDK и библиоÑеки â ÐоÑÑÑпнÑе клиенÑÑкие библиоÑеки
- ÐÑÑнал изменений â ÐÑÑоÑÐ¸Ñ Ð²ÐµÑÑий
ÐокÑменÑаÑÐ¸Ñ Ð°ÑÑенÑиÑикаÑии
# API Key Authentication
curl -X GET "https://api.example.com/v1/users" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
// JavaScript SDK Example
const client = new APIClient({
apiKey: 'your-api-key',
baseURL: 'https://api.example.com/v1'
});
ФоÑÐ¼Ð°Ñ Ð´Ð¾ÐºÑменÑаÑии endpoint’ов
GET /users/{id}
ÐолÑÑиÑÑ ÐºÐ¾Ð½ÐºÑеÑного полÑзоваÑÐµÐ»Ñ Ð¿Ð¾ ID.
ÐаÑамеÑÑÑ:
| ÐаÑамеÑÑ | Тип | ÐеÑÑо | ÐбÑзаÑелÑнÑй | ÐпиÑание |
|---|---|---|---|---|
| id | string | path | да | УникалÑнÑй ID полÑзоваÑÐµÐ»Ñ |
| include | string | query | Ð½ÐµÑ | СвÑзаннÑе ÑеÑÑÑÑÑ ÑеÑез запÑÑÑÑ |
ÐÑÐ¸Ð¼ÐµÑ Ð·Ð°Ð¿ÑоÑа:
curl -X GET "https://api.example.com/v1/users/12345?include=profile,settings" \
-H "Authorization: Bearer YOUR_API_KEY"
ÐÑÐ²ÐµÑ (200 OK):
{
"id": "12345",
"email": "user@example.com",
"created_at": "2023-01-15T10:30:00Z",
"profile": {
"first_name": "John",
"last_name": "Doe"
}
}
POST /users
СоздаÑÑ Ð½Ð¾Ð²Ñй аккаÑÐ½Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ.
Тело запÑоÑа:
{
"email": "string (обÑзаÑелÑнÑй)",
"password": "string (обÑзаÑелÑнÑй, минимÑм 8 Ñимволов)",
"profile": {
"first_name": "string (опÑионалÑнÑй)",
"last_name": "string (опÑионалÑнÑй)"
}
}
ÐÑÐ²ÐµÑ (201 Created):
{
"id": "12346",
"email": "newuser@example.com",
"created_at": "2024-01-15T14:30:00Z"
}
ÐокÑменÑаÑÐ¸Ñ Ð¾Ñибок
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": [
{
"field": "email",
"message": "Email address is required"
}
],
"request_id": "req_1234567890"
}
}
HTTP ÐºÐ¾Ð´Ñ ÑоÑÑоÑниÑ:
| Ðод | СÑаÑÑÑ | ÐпиÑание |
|---|---|---|
| 200 | OK | УÑпеÑнÑй запÑÐ¾Ñ |
| 201 | Created | РеÑÑÑÑ Ñоздан |
| 400 | Bad Request | ÐÑибки валидаÑии |
| 401 | Unauthorized | ÐевеÑнÑй/оÑÑÑÑÑÑвÑÑÑий Ñокен |
| 403 | Forbidden | ÐедоÑÑаÑоÑно пÑав |
| 404 | Not Found | РеÑÑÑÑ Ð½Ðµ найден |
| 429 | Too Many Requests | ÐÑевÑÑен Ð»Ð¸Ð¼Ð¸Ñ Ð·Ð°Ð¿ÑоÑов |
| 500 | Internal Server Error | ÐÑибка ÑеÑвеÑа |
ÐÑимеÑÑ Ð½Ð° ÑазнÑÑ ÑзÑкаÑ
Python
import requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
response = requests.get(
'https://api.example.com/v1/users/12345',
headers=headers
)
print(response.json())
Node.js
const fetch = require('node-fetch');
const response = await fetch('https://api.example.com/v1/users/12345', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);
Go
req, _ := http.NewRequest("GET", "https://api.example.com/v1/users/12345", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
Ð¢Ð¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ ÑÑ ÐµÐ¼Ñ
User:
type: object
properties:
id:
type: string
description: Unique user identifier
example: "usr_1234567890"
email:
type: string
format: email
description: User's email address
created_at:
type: string
format: date-time
description: ISO 8601 timestamp
status:
type: string
enum: [active, inactive, suspended]
description: Current account status
ÐÑодвинÑÑÑе возможноÑÑи
ФилÑÑÑаÑиÑ
GET /users?filter[status]=active&filter[role]=admin
ÐагинаÑиÑ
GET /users?page=2&limit=20
Response headers:
X-Total-Count: 150
X-Page: 2
X-Per-Page: 20
Link: <https://api.example.com/v1/users?page=3>; rel="next"
СоÑÑиÑовка
GET /users?sort=-created_at,email
ÐинÑÑ Ð¾Ð·Ð½Ð°ÑÐ°ÐµÑ ÑоÑÑиÑÐ¾Ð²ÐºÑ Ð¿Ð¾ ÑбÑваниÑ.
ÐÑÐ±Ð¾Ñ Ð¿Ð¾Ð»ÐµÐ¹
GET /users?fields=id,email,created_at
ÐдемпоÑенÑноÑÑÑ
curl -X POST "https://api.example.com/v1/payments" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: unique-request-id-123" \
-d '{"amount": 1000}'
Rate Limiting Headers
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
ÐÑÑÑие пÑакÑики
- ÐÑполÑзÑйÑе поÑледоваÑелÑное именование (snake_case или camelCase)
- ÐклÑÑайÑе ÑеалиÑÑиÑнÑе пÑимеÑÑ Ð´Ð°Ð½Ð½ÑÑ
- ÐоказÑвайÑе пÑимеÑÑ ÐºÐ°Ðº ÑÑпеÑнÑÑ , Ñак и оÑибоÑнÑÑ Ð¾ÑвеÑов
- ÐокÑменÑиÑÑйÑе опÑионалÑнÑе и обÑзаÑелÑнÑе паÑамеÑÑÑ
- ÐклÑÑайÑе инÑоÑмаÑÐ¸Ñ Ð¾Ð± огÑаниÑениÑÑ ÑаÑÑоÑÑ
- ÐÑполÑзÑйÑе OpenAPI/Swagger ÑпеÑиÑикаÑии
- ÐобавлÑйÑе ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ deprecation
- ТеÑÑиÑÑйÑе вÑе пÑимеÑÑ ÐºÐ¾Ð´Ð° пеÑед пÑбликаÑией