{"openapi":"3.2.0","info":{"title":"Neper News API","description":"Query current news by country and optional section. GET or POST. Returns headlines, articles, and summaries.","version":"1.0.0"},"servers":[{"url":"https://neper-news-api.jojapi.net"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"News"}],"x-agent-commerce":{"catalog_url":"https://neper-news-api.jojapi.net/_jojapi/agent/plans","discovery_url":"https://neper-news-api.jojapi.net/.well-known/x402","directory_url":"https://agents.jojapi.net/apis/neper-news-api","docs":"https://docs.jojapi.com/consumers/agents"},"paths":{"/queryNews":{"get":{"operationId":"get_queryNews","summary":"Query news by country and section","description":"Returns News collection documents for the given country. Omit section to get every section for that country. Multiple sections can be passed as a comma-separated list.","tags":["News"],"responses":{"200":{"description":"News documents for the requested country and section(s).","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"message":{"type":"string","example":"Request successful"},"data":{"type":"object","properties":{"country":{"type":"string","example":"ko"},"sections":{"type":"array","items":{"type":"string"},"description":"Requested sections. Empty array means all sections were returned."},"count":{"type":"integer","example":1},"items":{"type":"array","items":{"type":"object","properties":{"docId":{"type":"string","example":"kotop"},"code":{"type":"string","example":"ko"},"id":{"type":"string","example":"top"},"updatedAt":{"type":"integer","format":"int64"},"news":{"type":"array","items":{"type":"object","properties":{"title":{"type":"object","properties":{"_text":{"type":"string"}}},"link":{"type":"object","properties":{"_text":{"type":"string"}}},"description":{"type":"object","properties":{"_text":{"type":"string"}}},"url":{"type":"string"},"img":{"type":"string"},"content":{"type":"string"},"faviconUrl":{"type":"string"},"summary":{"type":"string"},"section":{"type":"string"}},"additionalProperties":true}}}}}}}}},"example":{"status":"success","message":"Request successful","data":{"country":"ko","sections":["top"],"count":1,"items":[{"docId":"kotop","code":"ko","id":"top","updatedAt":1757116800000,"news":[{"title":{"_text":"Headline"},"link":{"_text":"https://news.google.com/..."},"description":{"_text":"Short description"},"url":"https://example.com/article","img":"https://example.com/image.jpg","content":"Article body","faviconUrl":"https://example.com/favicon.ico","summary":"One-sentence summary","section":"top"}]}]}}}}},"400":{"description":"Invalid country or section.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"error"},"errorCode":{"type":"string","example":"INVALID_REQUEST"},"message":{"type":"string"}}},"example":{"status":"error","errorCode":"INVALID_REQUEST","message":"country is required"}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"parameters":[{"name":"country","in":"query","description":"Country / language code.","required":true,"schema":{"type":"string","enum":["en","ko","au","nz","it","ja","gb","fr","de","in"],"example":"ko"}},{"name":"section","in":"query","description":"Section id. Omit to return all sections. Comma-separated for multiple. TOP is normalized to top. it/ko/ja/fr/de use SCITECH; other countries use SCIENCE and TECHNOLOGY.","required":false,"schema":{"type":"string","example":"top"}}]},"post":{"operationId":"post_queryNews","summary":"Query news by country and section (POST)","description":"Same as GET. section may be a string, comma-separated string, or array.","tags":["News"],"responses":{"200":{"description":"News documents for the requested country and section(s).","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"success"},"message":{"type":"string","example":"Request successful"},"data":{"type":"object","properties":{"country":{"type":"string","example":"ko"},"sections":{"type":"array","items":{"type":"string"},"description":"Requested sections. Empty array means all sections were returned."},"count":{"type":"integer","example":1},"items":{"type":"array","items":{"type":"object","properties":{"docId":{"type":"string","example":"kotop"},"code":{"type":"string","example":"ko"},"id":{"type":"string","example":"top"},"updatedAt":{"type":"integer","format":"int64"},"news":{"type":"array","items":{"type":"object","properties":{"title":{"type":"object","properties":{"_text":{"type":"string"}}},"link":{"type":"object","properties":{"_text":{"type":"string"}}},"description":{"type":"object","properties":{"_text":{"type":"string"}}},"url":{"type":"string"},"img":{"type":"string"},"content":{"type":"string"},"faviconUrl":{"type":"string"},"summary":{"type":"string"},"section":{"type":"string"}},"additionalProperties":true}}}}}}}}}}}},"400":{"description":"Invalid country or section.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"error"},"errorCode":{"type":"string","example":"INVALID_REQUEST"},"message":{"type":"string"}}}}}},"402":{"description":"Payment required — pay per request with x402/mpp (offer in the PAYMENT-REQUIRED / WWW-Authenticate headers and the JSON body), or send a JoJ API key."}},"x-payment-info":{"protocols":["x402","mpp"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"intent":"charge"},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["country"],"properties":{"country":{"type":"string","enum":["en","ko","au","nz","it","ja","gb","fr","de","in"]},"section":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}},"example":{"country":"en","section":["top","BUSINESS"]}}}}}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-JoJAPI-Key","description":"Your JoJ API key."}}}}