{"components":{"schemas":{"ArticleDetail":{"description":"文章完整内容（data 字段内）","properties":{"archive_org_url":{"type":"string"},"archive_today_url":{"type":"string"},"author":{"type":"string"},"content":{"description":"文章全文","type":"string"},"content_type":{"items":{"type":"string"},"type":"array"},"date":{"format":"date","type":"string"},"description":{"type":"string"},"feature_img":{"type":"string"},"id":{"type":"integer"},"industry":{"items":{"type":"string"},"type":"array"},"issues":{"items":{"type":"string"},"type":"array"},"keywords":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"properties":{"city":{"type":"string"},"county":{"type":"string"},"province":{"type":"string"}},"type":"object"},"type":"array"},"occupation":{"items":{"type":"string"},"type":"array"},"origin":{"type":"string"},"published_date":{"description":"本站发布时间","type":"string"},"site_url":{"type":"string"},"source":{"type":"string"},"summaries":{"description":"劳工权益视角的列点摘要","items":{"type":"string"},"type":"array"},"theme":{"items":{"type":"string"},"type":"array"},"title":{"type":"string"},"url":{"type":"string"}},"type":"object"},"ArticleHit":{"description":"搜索结果条目。title 与 match_snippet 可能包含 <mark> 高亮标签","properties":{"author":{"type":"string"},"content_type":{"items":{"type":"string"},"type":"array"},"date":{"format":"date","type":"string"},"id":{"description":"文章 id，可用于 GET /api/v1/articles/{id}","type":"string"},"industry":{"items":{"type":"string"},"type":"array"},"issues":{"items":{"type":"string"},"type":"array"},"keywords":{"items":{"type":"string"},"type":"array"},"location":{"properties":{"city":{"items":{"type":"string"},"type":"array"},"county":{"items":{"type":"string"},"type":"array"},"province":{"items":{"type":"string"},"type":"array"}},"type":"object"},"match_snippet":{"description":"命中片段","type":"string"},"occupation":{"items":{"type":"string"},"type":"array"},"origin":{"enum":["crawler","tg"],"type":"string"},"site_url":{"description":"本站文章页面链接","type":"string"},"source":{"description":"来源媒体","type":"string"},"theme":{"items":{"type":"string"},"type":"array"},"title":{"type":"string"},"url":{"description":"文章原始链接","type":"string"}},"type":"object"},"ArticleList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ArticleDetail"},"type":"array"},"meta":{"$ref":"#/components/schemas/ListMeta"}},"type":"object"},"ArticleSearchResult":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ArticleHit"},"type":"array"},"facet_counts":{"description":"各 facet 字段的值分布，如 {\"theme\": {\"劳动者权益事件\": 98}}。键包括 theme、content_type、industry、occupation、issues、keywords、origin、location.province","type":"object"},"meta":{"$ref":"#/components/schemas/SearchMeta"}},"type":"object"},"Error":{"properties":{"error":{"properties":{"code":{"enum":["invalid_params","not_found","search_unavailable"],"type":"string"},"details":{"description":"各参数的具体错误，含合法值列表","type":"object"},"message":{"type":"string"}},"type":"object"}},"type":"object"},"LawcaseDetail":{"description":"判决文书完整内容（data 字段内）。字段名为拼音缩写，含义见 description","properties":{"caseLevel":{"description":"审理级别","type":"string"},"courtNm":{"description":"法院名称","type":"string"},"cpjg":{"description":"裁判结果","type":"string"},"dsr":{"description":"当事人","type":"string"},"fbqw":{"description":"发布全文","type":"string"},"fxgc":{"description":"分析过程","type":"string"},"id":{"type":"integer"},"jbqk":{"description":"基本情况","type":"string"},"name":{"description":"案件名称","type":"string"},"no":{"description":"案号","type":"string"},"pbDt":{"description":"判决日期","format":"date","type":"string"},"province":{"type":"string"},"site_url":{"type":"string"},"ssjl":{"description":"诉讼记录","type":"string"},"users":{"items":{"type":"string"},"type":"array"}},"type":"object"},"LawcaseHit":{"description":"判决文书搜索结果条目。name/match_snippet 可能包含 <mark> 高亮标签","properties":{"caseLevel":{"description":"审理级别","type":"string"},"courtNm":{"description":"法院名称","type":"string"},"id":{"description":"文书 id，可用于 GET /api/v1/lawcases/{id}","type":"string"},"match_snippet":{"type":"string"},"name":{"description":"案件名称","type":"string"},"no":{"description":"案号","type":"string"},"pbDt":{"description":"判决日期","format":"date","type":"string"},"province":{"type":"string"},"site_url":{"type":"string"},"users":{"items":{"type":"string"},"type":"array"}},"type":"object"},"LawcaseSearchResult":{"properties":{"data":{"items":{"$ref":"#/components/schemas/LawcaseHit"},"type":"array"},"facet_counts":{"description":"province 与 caseLevel 的值分布","type":"object"},"meta":{"$ref":"#/components/schemas/SearchMeta"}},"type":"object"},"ListMeta":{"properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total_count":{"type":"integer"},"total_pages":{"type":"integer"}},"type":"object"},"SearchMeta":{"properties":{"order":{"description":"实际生效的排序字段","type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"type":"string"},"range":{"type":"string"},"total_count":{"type":"integer"},"total_pages":{"type":"integer"}},"type":"object"},"Vocabularies":{"description":"data.articles 内为文章的过滤词汇表；data.lawcases 内为判决文书的 province/caseLevel 可用值","type":"object"}}},"info":{"description":"工劳网是关注中国劳工议题的新闻资料库，收录劳工新闻文章与劳动争议判决文书（lawcases）。本 API 完全公开、只读、无需认证，专为程序与 LLM/AI 代理设计。所有过滤参数的合法值见 GET /api/v1/vocabularies；人类可读文档见 /api/v1/docs；机读简介见 /llms.txt 与 /llms-full.txt。搜索结果中 title 与 match_snippet 可能包含 <mark> 高亮标签。","title":"工劳网 (Gonglao) 公开 API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/api/v1/articles":{"get":{"parameters":[{"description":"页码，从 1 开始","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"每页条数，1 到 50","in":"query","name":"per_page","required":false,"schema":{"default":20,"maximum":50,"minimum":1,"type":"integer"}},{"description":"内容来源过滤。默认 [\"tg\"]（编辑收录内容）","explode":true,"in":"query","name":"origin[]","required":false,"schema":{"items":{"enum":["crawler","tg"],"type":"string"},"type":"array"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleList"}}},"description":"文章列表"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"参数错误"}},"summary":"按文章日期倒序分页列出文章（默认只含编辑收录内容，与人类浏览一致）"}},"/api/v1/articles/by-url":{"get":{"parameters":[{"description":"文章的原始 url（精确匹配）","in":"query","name":"url","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleDetail"}}},"description":"文章详情"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"缺少 url 参数"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"文章不存在"}},"summary":"按原始 url 查找文章"}},"/api/v1/articles/search":{"get":{"description":"基于 Typesense 的全文搜索，支持按主题、内容类型、行业、职业、议题、省份、日期范围过滤，返回 facet 统计。q 为空（或 *）时表示浏览全部，按日期倒序，此时 order 参数被忽略。","parameters":[{"description":"搜索关键词。留空或 * 表示浏览全部（按日期倒序）","in":"query","name":"q","required":false,"schema":{"default":"","type":"string"}},{"description":"页码，从 1 开始","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"每页条数，1 到 50","in":"query","name":"per_page","required":false,"schema":{"default":20,"maximum":50,"minimum":1,"type":"integer"}},{"description":"排序字段（倒序）。q 为空时固定按 date","in":"query","name":"order","required":false,"schema":{"default":"_text_match","enum":["_text_match","date"],"type":"string"}},{"description":"限定搜索的字段范围","in":"query","name":"range","required":false,"schema":{"default":"all","enum":["all","title","content","author"],"type":"string"}},{"description":"日期（含当天），格式 YYYY-MM-DD","in":"query","name":"start_date","required":false,"schema":{"format":"date","type":"string"}},{"description":"日期（含当天），格式 YYYY-MM-DD","in":"query","name":"end_date","required":false,"schema":{"format":"date","type":"string"}},{"description":"主题过滤","explode":true,"in":"query","name":"theme[]","required":false,"schema":{"items":{"enum":["劳动者权益事件","劳动法律案件","劳动政策与管制","劳动事件","劳动者处境","经济与行业发展"],"type":"string"},"type":"array"},"style":"form"},{"description":"内容类型过滤","explode":true,"in":"query","name":"content_type[]","required":false,"schema":{"items":{"enum":["普通新闻报道","深度报道或非虚构写作","分析或评论","统计数据或调查报告","个人自述"],"type":"string"},"type":"array"},"style":"form"},{"description":"行业过滤","explode":true,"in":"query","name":"industry[]","required":false,"schema":{"items":{"enum":["采矿业","制造业","机械/设备生产","电子/仪器/计算机","纺织/服饰/家具","化工/医药/生物","交通物流业","出租车/网约车","公交/长途巴士","货车/物流","邮政/快递","建筑业","服务业","批发/零售","住宿/餐饮","居民服务/修理/物业服务","体育休闲/文化娱乐","金融","互联网信息服务","房地产/租赁商务服务","医疗卫生","教育","外卖","党政机关","农业"],"type":"string"},"type":"array"},"style":"form"},{"description":"职业过滤","explode":true,"in":"query","name":"occupation[]","required":false,"schema":{"items":{"enum":["白领受雇者","蓝领受雇者","政府公务员或事业单位工作者","摊贩/店主/小业主","青年学生/职校/实习生"],"type":"string"},"type":"array"},"style":"form"},{"description":"议题过滤","explode":true,"in":"query","name":"issues[]","required":false,"schema":{"items":{"enum":["中高龄劳动者","人口","人口移动/流动","人口老龄化或少子女化","企业停业停产或倒闭","企业管理","公共就业服务","劳动合同","劳动条件","劳工健康","压迫行为","员工体检","员工条例/工作规则","失业","实习","就业","就业歧视","岗位调动与晋升","工人仲裁/起诉","工人运动/行动","工人隐私（劳动监控）","工会","工伤/职业病","工作","工作时间","工资报酬","性骚扰","技术变革与自动化","拖欠工资","招聘","教育与考试","新冠肺炎","残疾劳动者","求职诈骗","派遣劳动/外包工作","海外中国工人","灵活就业/零工经济/平台劳动","社会保护","社会保障（五险一金）","离职辞退（包含遭到裁员或逼退）","私人职业介绍所/劳务中介","绩效考核","考试","职业培训","职业教育","职场欺凌","肮脏或危险的工作环境","行动与组织","裁员","请假休假","远程办公/居家办公","退休","集体谈判与集体协议","青年失业","（协助工人的）志愿组织或非政府组织"],"type":"string"},"type":"array"},"style":"form"},{"description":"省份过滤（如 广东省），合法值见搜索结果的 facet_counts","explode":true,"in":"query","name":"loc_p[]","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"内容来源过滤。默认 [\"tg\"]（编辑收录内容）","explode":true,"in":"query","name":"origin[]","required":false,"schema":{"items":{"enum":["crawler","tg"],"type":"string"},"type":"array"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleSearchResult"}}},"description":"搜索结果"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"参数错误（响应中会列出合法值）"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"搜索服务不可用"}},"summary":"全文搜索劳工新闻文章"}},"/api/v1/articles/{id}":{"get":{"parameters":[{"description":"文章 id（搜索结果中的 id 字段）","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleDetail"}}},"description":"文章详情"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"文章不存在"}},"summary":"获取单篇文章的完整内容（含正文与摘要）"}},"/api/v1/lawcases/search":{"get":{"description":"q 为空时按判决日期（pbDt）倒序浏览全部。province 与 caseLevel 的可用值见 /api/v1/vocabularies。","parameters":[{"description":"搜索关键词。留空表示浏览全部","in":"query","name":"q","required":false,"schema":{"default":"","type":"string"}},{"description":"页码，从 1 开始","in":"query","name":"page","required":false,"schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"每页条数，1 到 50","in":"query","name":"per_page","required":false,"schema":{"default":20,"maximum":50,"minimum":1,"type":"integer"}},{"description":"排序字段（倒序）","in":"query","name":"order","required":false,"schema":{"default":"_text_match","enum":["_text_match","pbDt"],"type":"string"}},{"description":"限定搜索的字段范围","in":"query","name":"range","required":false,"schema":{"default":"all","enum":["all","no","name","fbqw","courtNm"],"type":"string"}},{"description":"日期（含当天），格式 YYYY-MM-DD","in":"query","name":"start_date","required":false,"schema":{"format":"date","type":"string"}},{"description":"日期（含当天），格式 YYYY-MM-DD","in":"query","name":"end_date","required":false,"schema":{"format":"date","type":"string"}},{"description":"省份过滤","explode":true,"in":"query","name":"province[]","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"审理级别过滤（如 一审、二审）","explode":true,"in":"query","name":"caseLevel[]","required":false,"schema":{"items":{"type":"string"},"type":"array"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LawcaseSearchResult"}}},"description":"搜索结果"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"参数错误"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"搜索服务不可用"}},"summary":"全文搜索劳动争议判决文书"}},"/api/v1/lawcases/{id}":{"get":{"parameters":[{"description":"判决文书 id（搜索结果中的 id 字段）","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LawcaseDetail"}}},"description":"判决文书详情"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"判决文书不存在"}},"summary":"获取单个判决文书的完整内容"}},"/api/v1/openapi.json":{"get":{"responses":{"200":{"description":"OpenAPI 文档"}},"summary":"本 OpenAPI 3.0 规范文档"}},"/api/v1/vocabularies":{"get":{"description":"LLM 调用搜索前应先读取本端点，了解 theme/content_type/industry/occupation/issues/origin 及 lawcase 的 province/caseLevel 的合法值。","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vocabularies"}}},"description":"词汇表"}},"summary":"所有过滤参数的合法值（受控词汇表）"}}},"servers":[{"url":"/"}]}