catalog.get
GET/catalog/{locale}/{slug}
Returns the metadata of one piece with its preview (the opening and first section) as HTML and Markdown, without the full body. No key needed.
Parameters
| Parameter | In | Description |
|---|---|---|
locale | path | Required. vi or en. |
slug | path | Required. Slug of the piece, for example omp-model-routing-guide. |
Request
curl "https://api.modernengineer.dev/catalog/vi/omp-model-routing-guide"Response
{
"access": "subscriber",
"alternate": "/en/library/omp-model-routing-guide",
"blogCategory": "series",
"canonical": "/vi/library/omp-model-routing-guide",
"category": "facebook_subscriber",
"created": "2026-08-26",
"kind": "guide",
"license": "Subscriber-only; redistribution prohibited",
"locale": "vi",
"readingMinutes": 19,
"rightsOwner": "Thieu Nguyen",
"route": "/vi/library/omp-model-routing-guide",
"sections": [
"1. Chuỗi định tuyến",
"2. Nhà cung cấp xuất hiện trong bài",
"3. Role hoạt động và được trigger ra sao?",
"…"
],
"sha256": "29537d02…",
"slug": "omp-model-routing-guide",
"summary": "Role OMP là alias định tuyến, không phải agent. Gán model theo workload, kiểm tra effective state, và fallback khi lỗi.",
"tags": [
"oh-my-pi",
"models",
"routing",
"advisor"
],
"title": "Định tuyến model trong OMP: role, fallback và cấu hình thực tế",
"topic": "harness",
"updated": "2026-08-30",
"version": "1.0.0",
"visual": {
"contentType": "text/html; charset=utf-8",
"key": "visuals/omp-model-routing-guide/d6c28f8f….html"
},
"preview": "<h1 id=\"…\">…</h1>…",
"previewMarkdown": "# …\n\nNguồn: https://modernengineer.dev/vi/library/…\n\n…\n\n> Bản này chỉ gồm phần mở đầu công khai. …"
}Errors
| Status | Error | When |
|---|---|---|
| 400 | invalid_input | A parameter is missing or invalid, for example a locale other than vi or en. |
| 404 | not_found | No published piece has this slug. |