Байгууллагын API
Өөрийн систем (HR, гэрээний бүртгэл, баримт бичгийн менежмент, банкны зээлийн гэрээ)-ээс баримт бичгийг шууд илгээж, Монгол Улсын хуулийн ишлэлийн шалгалт болон AI эрх зүйн шинжилгээг JSON хэлбэрээр авна. Баримтын текстийг манай сервер хадгалахгүй.
Ачаалж байна…
API багц
1 AI нэгж = 20,000 тэмдэгт хүртэлх баримтын AI шинжилгээ (≈8 хуудас). Урт баримтад нэгж тэмдэгтээр нэмэгдэнэ. Үнэд НӨАТ байхгүй.
Хугацаа дуусахаас өмнө сунгавал үлдсэн нэгж, шалгалт шилжинэ. Илүү их хэмжээ, гэрээгээр (нэхэмжлэхээр) төлөх бол info@mg-quant.tech хаягаар холбогдоно уу.
API заавар
Үндсэн хаяг https://legalcheck.mg-quant.tech/api/v1. Бүх хүсэлтэд X-API-Key: mlc_live_… толгой (эсвэл Authorization: Bearer mlc_live_…) илгээнэ. Текстийг application/json { "text": "…" }, файлыг multipart/form-data-ийн file талбараар (PDF, DOCX, TXT, 15 MB хүртэл) илгээнэ. Хариу бүр JSON.
Postman, Insomnia: Import → Link → дээрх OpenAPI холбоос. Код үүсгэгч (openapi-generator) мөн энэ файлыг ашиглана.
Жишээ код
Хуулийн ишлэлийн шалгалт (AI-гүй, 1 шалгалт)
curl -X POST https://legalcheck.mg-quant.tech/api/v1/check \
-H "X-API-Key: $MLC_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Хөдөлмөрийн тухай хуулийн 80.1-д заасны дагуу..."}'AI эрх зүйн шинжилгээ — файлаар (20 000 тэмдэгт тутамд 1 нэгж)
curl -X POST https://legalcheck.mg-quant.tech/api/v1/analyze \
-H "X-API-Key: $MLC_API_KEY" \
-F "file=@geree.pdf" \
--max-time 310Үлдэгдэл шалгах (квот хасахгүй)
curl https://legalcheck.mg-quant.tech/api/v1/usage -H "X-API-Key: $MLC_API_KEY"Endpoint
| Endpoint | Юу хийх | Хасагдах | Хугацаа |
|---|---|---|---|
| POST /api/v1/check | Хууль, зүйл, заалтыг илрүүлж legalinfo.mn-тэй холбоно, эх бичвэр хадгалагдсан хуулиудын заалтыг тулгана (AI-гүй). | 1 шалгалт | <1 сек |
| POST /api/v1/analyze | Дээрхийг + AI эрх зүйн шинжилгээ. AI-д 100,000 тэмдэгт хүртэл илгээнэ, уртыг нь таслаад ai.truncated: true. | ⌈aiChars / 20,000⌉ нэгж | 30–120 сек |
| GET /api/v1/usage | Багц, үлдсэн нэгж/шалгалт, хязгаар. | — | <1 сек |
Хүсэлт, хариуны жишээ
Доорх extraction-ийг жишээ текст дээр бодит илрүүлэгчээр гаргасан (заалтын текстийг товчилсон). ai хэсэг нь бүтцийг харуулах жишээ — бодит хариу баримтаас хамаарна.
›Хүсэлтийн бие (JSON)
{
"text": "Ажилтныг Хөдөлмөрийн тухай хуулийн 80.1-д заасны дагуу 3 сарын туршилтын хугацаатай ажилд авна. Гэрээг цуцлахад Иргэний хуулийн 243.1 дэх заалтыг баримтална."
}›POST /api/v1/check — 200
{
"requestId": "req_Q2xh3mF0aZk1",
"object": "check",
"chars": 157,
"extraction": {
"laws": [
{
"law": {
"lawId": "299",
"title": "ИРГЭНИЙ ХУУЛЬ",
"url": "https://legalinfo.mn/mn/detail?lawId=299",
"enacted": "2002-01-10",
"enforced": "2002-02-05",
"kind": "law",
"role": "main"
},
"alternates": [],
"mentions": [
{
"start": 112,
"end": 127,
"text": "Иргэний хуулийн",
"lawId": "299",
"articles": [
"243.1"
],
"confidence": "high"
}
],
"articles": [
"243.1"
],
"officialText": {
"updatedAt": "2026-10-16"
},
"citations": [
{
"article": "243.1",
"key": "243.1",
"status": "ok",
"articleTitle": "Худалдах-худалдан авах гэрээ",
"text": "Худалдах-худалдан авах гэрээгээр худалдагч нь биет байдлын доголдолгүй, эрхийн зөрчилгүй хөрөнгө… (товчилсон)"
}
]
},
{
"law": {
"lawId": "16230709635751",
"title": "ХӨДӨЛМӨРИЙН ТУХАЙ /Шинэчилсэн найруулга/",
"url": "https://legalinfo.mn/mn/detail?lawId=16230709635751",
"enacted": "2021-07-02",
"enforced": "2022-01-01",
"kind": "law",
"role": "main"
},
"alternates": [],
"mentions": [
{
"start": 9,
"end": 34,
"text": "Хөдөлмөрийн тухай хуулийн",
"lawId": "16230709635751",
"articles": [
"80.1"
],
"confidence": "high"
}
],
"articles": [
"80.1"
],
"officialText": {
"updatedAt": "2026-10-16"
},
"citations": [
{
"article": "80.1",
"key": "80.1",
"status": "ok",
"articleTitle": "Хөдөлмөр эрхлэлтийн харилцааг ажил олгогчийн санаачилгаар цуцлах",
"text": "Хөдөлмөр эрхлэлтийн харилцааг дараах үндэслэлээр ажил олгогчийн санаачилгаар цуцалж болно:"
}
]
}
],
"otherActs": [],
"selfRefs": [],
"stats": {
"chars": 157,
"words": 19,
"mentions": 2
}
},
"usage": {
"checks": 1,
"checksLeft": 2999,
"unitsLeft": 150
}
}›POST /api/v1/analyze — 200
{
"requestId": "req_7bKp0sYwLm2e",
"object": "analysis",
"chars": 157,
"aiChars": 157,
"extraction": {
"laws": [
{
"law": {
"lawId": "299",
"title": "ИРГЭНИЙ ХУУЛЬ",
"url": "https://legalinfo.mn/mn/detail?lawId=299",
"enacted": "2002-01-10",
"enforced": "2002-02-05",
"kind": "law",
"role": "main"
},
"alternates": [],
"mentions": [
{
"start": 112,
"end": 127,
"text": "Иргэний хуулийн",
"lawId": "299",
"articles": [
"243.1"
],
"confidence": "high"
}
],
"articles": [
"243.1"
],
"officialText": {
"updatedAt": "2026-10-16"
},
"citations": [
{
"article": "243.1",
"key": "243.1",
"status": "ok",
"articleTitle": "Худалдах-худалдан авах гэрээ",
"text": "Худалдах-худалдан авах гэрээгээр худалдагч нь биет байдлын доголдолгүй, эрхийн зөрчилгүй хөрөнгө… (товчилсон)"
}
]
},
{
"law": {
"lawId": "16230709635751",
"title": "ХӨДӨЛМӨРИЙН ТУХАЙ /Шинэчилсэн найруулга/",
"url": "https://legalinfo.mn/mn/detail?lawId=16230709635751",
"enacted": "2021-07-02",
"enforced": "2022-01-01",
"kind": "law",
"role": "main"
},
"alternates": [],
"mentions": [
{
"start": 9,
"end": 34,
"text": "Хөдөлмөрийн тухай хуулийн",
"lawId": "16230709635751",
"articles": [
"80.1"
],
"confidence": "high"
}
],
"articles": [
"80.1"
],
"officialText": {
"updatedAt": "2026-10-16"
},
"citations": [
{
"article": "80.1",
"key": "80.1",
"status": "ok",
"articleTitle": "Хөдөлмөр эрхлэлтийн харилцааг ажил олгогчийн санаачилгаар цуцлах",
"text": "Хөдөлмөр эрхлэлтийн харилцааг дараах үндэслэлээр ажил олгогчийн санаачилгаар цуцалж болно:"
}
]
}
],
"otherActs": [],
"selfRefs": [],
"stats": {
"chars": 157,
"words": 19,
"mentions": 2
}
},
"ai": {
"model": "mg-legal-ai-1",
"documentType": "Хөдөлмөрийн гэрээ",
"summary": "Ажилтныг туршилтын хугацаатай ажилд авах болон гэрээг цуцлах нөхцлийг тусгасан хөдөлмөрийн гэрээний хэсэг.",
"legalAreas": [
"Хөдөлмөрийн эрх зүй"
],
"issues": [
{
"title": "Хөдөлмөрийн гэрээ цуцлахад Иргэний хуулийг иш татсан",
"description": "Иргэний хуулийн 243.1 нь худалдах-худалдан авах гэрээг тодорхойлдог. Хөдөлмөрийн гэрээг цуцлах үндэслэл, журмыг Хөдөлмөрийн тухай хууль зохицуулна.",
"severity": "high",
"relatedLaws": [
{
"title": "ХӨДӨЛМӨРИЙН ТУХАЙ /Шинэчилсэн найруулга/",
"law": {
"lawId": "16230709635751",
"title": "ХӨДӨЛМӨРИЙН ТУХАЙ /Шинэчилсэн найруулга/",
"url": "https://legalinfo.mn/mn/detail?lawId=16230709635751",
"enacted": "2021-07-02",
"enforced": "2022-01-01",
"kind": "law",
"role": "main"
}
},
{
"title": "ИРГЭНИЙ ХУУЛЬ",
"law": {
"lawId": "299",
"title": "ИРГЭНИЙ ХУУЛЬ",
"url": "https://legalinfo.mn/mn/detail?lawId=299",
"enacted": "2002-01-10",
"enforced": "2002-02-05",
"kind": "law",
"role": "main"
}
}
],
"articles": [
"243.1"
],
"quote": "Гэрээг цуцлахад Иргэний хуулийн 243.1 дэх заалтыг баримтална",
"recommendation": "Цуцлах нөхцлийг Хөдөлмөрийн тухай хуулийн холбогдох зүйл, заалтаар тусгана уу."
},
{
"title": "Туршилтын хугацааг цуцлах заалтаар иш татсан",
"description": "Хөдөлмөрийн тухай хуулийн 80.1 нь ажил олгогчийн санаачилгаар цуцлах үндэслэлийг зохицуулдаг, туршилтын хугацааны тухай биш.",
"severity": "medium",
"relatedLaws": [
{
"title": "ХӨДӨЛМӨРИЙН ТУХАЙ /Шинэчилсэн найруулга/",
"law": {
"lawId": "16230709635751",
"title": "ХӨДӨЛМӨРИЙН ТУХАЙ /Шинэчилсэн найруулга/",
"url": "https://legalinfo.mn/mn/detail?lawId=16230709635751",
"enacted": "2021-07-02",
"enforced": "2022-01-01",
"kind": "law",
"role": "main"
}
}
],
"articles": [
"80.1"
],
"quote": "Хөдөлмөрийн тухай хуулийн 80.1-д заасны дагуу 3 сарын туршилтын хугацаатай",
"recommendation": "Туршилтын хугацааг зохицуулсан зүйл, заалтыг иш татна уу."
}
],
"impliedLaws": [
{
"title": "НИЙГМИЙН ДААТГАЛЫН ЕРӨНХИЙ ХУУЛЬ",
"reason": "Ажилтныг ажилд авсанаар ажил олгогч нийгмийн даатгалд хамруулах үүрэг хүлээнэ.",
"articles": [],
"law": {
"lawId": "16760148379551",
"title": "НИЙГМИЙН ДААТГАЛЫН ЕРӨНХИЙ ХУУЛЬ /Шинэчилсэн найруулга/",
"url": "https://legalinfo.mn/mn/detail?lawId=16760148379551",
"enacted": "2023-07-07",
"enforced": "2024-01-01",
"kind": "law",
"role": "main"
}
}
],
"truncated": false,
"disclaimer": "Энэхүү шинжилгээг хиймэл оюун (AI) автоматаар үүсгэсэн бөгөөд хуульчийн мэргэжлийн зөвлөгөө биш. Эцсийн шийдвэр гаргахдаа legalinfo.mn дээрх албан ёсны эх бичвэр болон хуульчтай зөвлөлдөнө үү."
},
"usage": {
"units": 1,
"unitsLeft": 149,
"checksLeft": 3000
}
}›GET /api/v1/usage — 200
{
"requestId": "req_Vd1oPq8nX4tc",
"object": "usage",
"plan": {
"active": true,
"id": "api_business",
"name": "API Business",
"expiresAt": "2026-11-20T10:00:00.000Z",
"daysLeft": 30
},
"units": {
"left": 488,
"total": 500,
"used": 12
},
"checks": {
"left": 19840,
"total": 20000,
"used": 160
},
"limits": {
"requestsPerMinute": 60,
"maxChars": 300000,
"aiMaxChars": 100000,
"unitChars": 20000,
"maxFileMb": 15
},
"key": {
"name": "HR систем — production",
"preview": "mlc_live_7Hq2…x9Lm"
}
}›Алдаа — 402
{
"requestId": "req_3nW8cHt5rY0a",
"error": {
"code": "insufficient_units",
"message": "AI нэгж хүрэлцэхгүй байна: шаардлагатай 3, үлдсэн 1. Нэмэлт нэгж авна уу."
}
}Талбарын тайлбар
Бүх хариу
| Талбар | Төрөл | Тайлбар |
|---|---|---|
| requestId | string | Хүсэлтийн дугаар (X-Request-Id толгойтой ижил). Асуудал гарвал энэ дугаарыг илгээнэ. |
| object | "check" | "analysis" | "usage" | Хариуны төрөл. |
| chars | integer | Ирсэн (файлаас гаргасан) текстийн тэмдэгтийн тоо. |
| file | object? | Файлаар илгээсэн үед: name, kind (pdf | docx | text), pages. |
| text | string? | Файлаар илгээсэн үед файлаас гаргасан текст — mentions[].start/end энэ текст дээрх байрлал. |
| usage | object | check: checks, checksLeft, unitsLeft · analysis: units (хасагдсан AI нэгж), unitsLeft, checksLeft. |
extraction — хуулийн ишлэл (check, analysis)
| Талбар | Төрөл | Тайлбар |
|---|---|---|
| extraction.laws[] | array | Текстэд нэрээр нь дурдагдсан, legalinfo.mn-ийн индекстэй таарсан хуулиуд. |
| laws[].law | LawRef | lawId, title (албан ёсны нэр), url (legalinfo.mn), enacted, enforced (YYYY-MM-DD), kind, role. |
| laws[].law.role | "main" | "amendment" | "transition" | "repeal" | "other" | Үндсэн хууль, нэмэлт өөрчлөлт, дагаж мөрдөх журам, хүчингүй болгох тухай гэх мэт. |
| laws[].alternates[] | LawRef[] | Ижил нэртэй бусад бүртгэл (хуучин хувилбар, дагалдах хууль). |
| laws[].mentions[] | array | Текст дэх ишлэл бүр: start, end (тэмдэгтийн байрлал, end орохгүй), text, articles, confidence (high | medium). |
| laws[].articles[] | string[] | Энэ хуулиас дурдагдсан зүйл, заалт (давхардалгүй): "80.1", "12 дугаар зүйл". |
| laws[].officialText | object? | Эх бичвэр хадгалагдсан хуульд: updatedAt — legalinfo.mn-ээс шинэчилсэн огноо. |
| laws[].citations[] | array? | Заалт бүрийг эх бичвэртэй тулгасан үр дүн: article, key, status, articleTitle, text (албан ёсны текст), date, note. |
| extraction.otherActs[] | array | Бусад акт (УИХ, Засгийн газрын тогтоол, зарлиг, сайдын тушаал, шүүхийн шийдвэр) болон индекст олдоогүй "… тухай хууль": type, label, text, start, end, searchUrl, suggestion. |
| extraction.selfRefs[] | array | "Энэ хуулийн 5.1" гэх мэт аль хууль болох нь тодорхойгүй дотоод ишлэл. |
| extraction.stats | object | chars, words, mentions. |
ai — AI эрх зүйн шинжилгээ (analysis)
| Талбар | Төрөл | Тайлбар |
|---|---|---|
| ai.documentType | string | Баримтын төрөл: Хөдөлмөрийн гэрээ, Компанийн дүрэм, Албан бичиг… |
| ai.summary | string | Эрх зүйн агуулгын товч тойм (2–3 өгүүлбэр). |
| ai.legalAreas[] | string[] | Хамаарах эрх зүйн салбарууд. |
| ai.issues[] | array | Хуультай зөрчилдөж болзошгүй, дутуу эсвэл эрсдэлтэй заалтууд — хамгийн чухал 6 хүртэл, ач холбогдлоор эрэмбэлсэн. |
| issues[].severity | "high" | "medium" | "low" | high — хууль зөрчсөн эсвэл хүчингүй болох эрсдэлтэй; medium — засах шаардлагатай; low — анхаарах зөвлөмж. |
| issues[].relatedLaws[] | array | title (AI-ийн бичсэн нэр) ба law (индекстэй таарсан LawRef, таараагүй бол null). |
| issues[].articles[] | string[] | Холбогдох зүйл, заалт. Эх бичвэр хадгалагдсан хуульд байхгүй дугаарыг автоматаар хасна. |
| issues[].quote | string? | Баримтаас асуудалтай хэсгийн ишлэл (≤120 тэмдэгт). |
| issues[].recommendation | string? | Засах, анхаарах зөвлөмж. |
| ai.impliedLaws[] | array | Шууд нэрлээгүй ч агуулгаар хамаарах хуулиуд (5 хүртэл): title, reason, articles, law. |
| ai.truncated | boolean | true бол текст API_AI_MAX_CHARS (100 000)-аас урт байсан тул AI-д эхний хэсгийг л илгээсэн. |
| ai.model, ai.disclaimer | string | Ашигласан загвар; хэрэглэгчид харуулах анхааруулга. |
citations[].status — заалтыг эх бичвэртэй тулгасан үр дүн
| ok | Заалт хүчин төгөлдөр. |
| not_found | Энэ хуульд ийм дугаартай заалт олдсонгүй (буруу ишлэл байж магадгүй). |
| repealed | Заалт хүчингүй болсон (date — хүчингүй болсон огноо). |
| repeal_scheduled | Ирээдүйд хүчингүй болно (date). |
| amend_pending | Ирээдүйд мөрдөх өөрчлөлт орсон (date). |
| not_yet_effective | Нэмэгдсэн боловч хараахан мөрдөгдөөгүй (date). |
| expired | Мөрдөх хугацаа дууссан. |
Эх бичвэрийг гэрээ, дүрэмд хамгийн их иш татагддаг 50 хуулиар хадгалж, долоо хоног бүр legalinfo.mn-ээс шинэчилнэ. Бусад хуульд citations байхгүй (зөвхөн илрүүлэлт, холбоос).
Хариуны толгой
X-Request-Id— хүсэлтийн дугаар (requestId).X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset— минутын хязгаар, үлдэгдэл, шинэчлэгдэх хүртэлх секунд.Retry-After— 429 үед хэдэн секунд хүлээх.
Зөвлөмж
/analyze-ийн клиентийн timeout-ийг 310 секундээс багагүй тавина. Timeout-оор тасалж дахин илгээвэл нэгж дахин хасагдана.- 429, 502, 503 үед хүлээгээд дахин оролдоно. 502 (ai_failed) үед нэгж хасагдахгүй.
- Скан PDF-ээс текст гарахгүй — OCR хийсний дараа илгээнэ.
- Түлхүүрийг зөвхөн сервер талд (env хувьсагч) хадгална. Хөтөч, мобайл аппын кодонд бүү оруулна.
- Ишлэлийг текст дээр тэмдэглэхэд
mentions[].start/end-ийг илгээсэн (файлаар болtext) текстийн тэмдэгтийн байрлалаар ашиглана.
Алдааны код
Алдаа { "requestId": "…", "error": { "code": "…", "message": "…" } } хэлбэрээр ирнэ. message монголоор, хэрэглэгчид шууд харуулж болно.
| HTTP | code | Тайлбар |
|---|---|---|
| 400 | bad_request, empty_text, bad_file | Биеийн хэлбэр буруу, текст хоосон, эсвэл файлыг уншиж чадсангүй. |
| 401 | missing_api_key, invalid_api_key | Түлхүүр байхгүй, буруу эсвэл хүчингүй болсон. |
| 402 | plan_required, plan_expired, insufficient_units, insufficient_checks | Багц идэвхгүй эсвэл үлдэгдэл хүрэлцэхгүй — /developers-ээс сунгах, нэмэлт нэгж авах. |
| 413 | too_long, file_too_large | Текст 300 000 тэмдэгт эсвэл файл 15 MB-аас хэтэрсэн. |
| 415 | unsupported_file, unsupported_media_type | PDF, DOCX, TXT-ээс өөр файл, эсвэл буруу Content-Type. Скан PDF-ийг OCR хийж илгээнэ. |
| 429 | rate_limited, busy | Минутын хязгаар хэтэрсэн эсвэл зэрэг хүсэлт олон — Retry-After секунд хүлээгээд дахин. |
| 502 | ai_failed | AI шинжилгээ амжилтгүй — нэгж хасагдаагүй, дахин оролдоно. |
| 503 | ai_unavailable, not_configured | Үйлчилгээ түр ажиллахгүй — хэсэг хугацааны дараа дахин. |
Нууцлал, хариуцлага
Баримтын текстийг бид хадгалахгүй — зөвхөн дуудлагын мета өгөгдөл (цаг, тэмдэгтийн тоо, хасагдсан нэгж). AI-ийн дүгнэлт нь хуульчийн мэргэжлийн зөвлөгөө биш; эцсийн шийдвэрийг legalinfo.mn-ийн эх бичвэр, хуульчтай тулгана.