Bỏ qua điều hướng
Bắt đầu › Tổng quan

Tài liệu API

Cùng một nội dung, hai đường vào: REST cho script, MCP cho agent. Bài public đọc không cần key; guide subscriber cần API key của tài khoản có quyền.

Tổng quan

Mọi đường dẫn bên dưới tính từ địa chỉ gốc này. Phản hồi là JSON.

địa chỉ gốc
https://api.modernengineer.dev

Xác thực

Tạo API key trong Quản lý API key, rồi gửi kèm header Authorization: Bearer <key>. Key chỉ hiện một lần lúc tạo. Các verb public (catalog, articles) không cần key.

Hạn mức & lỗi

Áp dụng choHạn mức
Đọc guide trả phí (content.get)1.000 lần trong 24 giờ, theo tài khoản
Link tải bộ file và link hình (packs.download, visuals.issueUrl)50 link trong 24 giờ, theo tài khoản
Endpoint /mcp300 lần mỗi phút, theo IP

Mọi lỗi trả về cùng một dạng JSON, kèm requestId để báo lỗi:

application/json
{
  "error": {
    "code": "not_found",
    "message": "Content item was not found",
    "requestId": "…"
  }
}
MãLỗi
400invalid_input
401unauthenticated
403forbidden
404not_found
429too_many_requests
500internal_error

Cài đặt MCP

Khai báo một lần trong client MCP, thay <API key> bằng key bạn đã tạo (file JSON không tự thay biến môi trường; client nào có cú pháp biến riêng thì dùng cú pháp đó). Dùng cùng API key với REST.

mcp.json
{
  "mcpServers": {
    "modernengineer": {
      "type": "http",
      "url": "https://api.modernengineer.dev/mcp",
      "headers": {
        "Authorization": "Bearer <API key>"
      }
    }
  }
}

Danh sách tool

Các verb dành cho agent đọc nội dung. Mỗi verb có một đường REST và một tool MCP cùng tham số. tools/list còn trả về vài tool quản lý tài khoản (API key, billing), không ghi ở đây.

VerbRESTTool MCPQuyền
catalog.listGET /catalogcatalog_listKhông cần key
catalog.getGET /catalog/{locale}/{slug}catalog_getKhông cần key
articles.listGET /articlesarticles_listKhông cần key
articles.getGET /articles/{locale}/{slug}articles_getKhông cần key
content.listGET /contentcontent_listCần key
content.getGET /content/{locale}/{slug}content_getCần key
packs.downloadPOST /packs/{slug}/downloadpacks_downloadCần key
visuals.issueUrlPOST /visuals/{locale}/{slug}/urlvisuals_issueUrlCần key