{"ok":true,"site":"hankintailmoitukset","host":"hankintailmoitukset.fi","about":"Hilma (hankintailmoitukset.fi) is Finland's public procurement notice service. This CLI searches tender notices and procurement plans, fetches notice, procedure and plan details, browses CPV and NUTS codes, and reads statistics and Hilma announcements.","commands":[{"command":"search-notices","summary":"Full-text search of Hilma procurement notices and plans (Azure Search, Lucene syntax), with filter, sort and paging","params":[{"name":"query","type":"string","required":true,"description":"Lucene query. The UI wraps each keyword as ((word OR word*)). Add CPV filters with AND cpvCodes:(9091*). Use * to match everything."},{"name":"filter","type":"string","description":"OData filter. Contract notices: search.in(mainType, 'ContractNotices|NationalNotices', '|'). Only open ones: append ' and expirationDate ge 2026-10-18T00:00:00Z' (ISO datetime). Exclude procurement pl","default":"search.in(mainType, 'ContractNotices|NationalNotices', '|')"},{"name":"orderby","type":"string","description":"Sort order, e.g. 'datePublished desc', 'deadline desc', 'dateModified desc' (asc also allowed)","default":"datePublished desc"},{"name":"top","type":"number","description":"Results per page. The UI uses 75; the CSV export uses 1000.","default":75},{"name":"skip","type":"number","description":"Offset for paging","default":0}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/search-notices?query=%28%28siivous+OR+siivous*%29%29"},{"command":"get-enotice","summary":"Get the full eForms notice detail (lots, buyer, criteria, deadlines) by procedureId and noticeId","params":[{"name":"procedureId","type":"number","required":true,"description":"procedureId from search-notices"},{"name":"noticeId","type":"number","required":true,"description":"noticeId from search-notices"}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-enotice"},{"command":"get-procedure","summary":"Get an eForms procurement procedure (overview and its notices) by procedureId","params":[{"name":"procedureId","type":"number","required":true,"description":"procedureId from search-notices"}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-procedure"},{"command":"get-procurement-plan","summary":"Get a procurement plan (upcoming procurement) by planId","params":[{"name":"planId","type":"number","required":true,"description":"planId from search-notices results (plans have isPlan true)"}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-procurement-plan"},{"command":"search-organisations","summary":"Search buyer organisations by name (used by the buyer filter)","params":[{"name":"query","type":"string","required":true,"description":"Organisation name text (wildcards allowed, e.g. turku*)"},{"name":"top","type":"number","description":"Max results","default":20}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/search-organisations?query=turku*"},{"command":"search-cpv","summary":"Autocomplete search of CPV procurement classification codes by name or code","params":[{"name":"query","type":"string","required":true,"description":"CPV name or code fragment, e.g. siivous* or 9091*"},{"name":"top","type":"number","description":"Max results","default":20}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/search-cpv?query=siivous*"},{"command":"get-cpv-tree","summary":"Get the full hierarchical CPV code tree with labels (large response)","params":[{"name":"contractType","type":"number","description":"Contract type code; the UI sends 0","default":0},{"name":"lang","type":"string","description":"Label language","oneOf":["fi","sv","en"],"default":"fi"}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-cpv-tree?lang=fi"},{"command":"get-nuts-tree","summary":"Get the NUTS region code tree used for location filters","params":[],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-nuts-tree"},{"command":"get-value-statistics","summary":"Get homepage procurement value statistics","params":[],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-value-statistics"},{"command":"get-notice-statistics","summary":"Get homepage notice count statistics","params":[],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-notice-statistics"},{"command":"get-cms-ref","summary":"Get the current Prismic content ref, which the announcement commands need","params":[],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-cms-ref"},{"command":"list-announcements","summary":"List public Hilma announcements and news, newest first","params":[{"name":"ref","type":"string","description":"Prismic content ref (from get-cms-ref, master ref)","default":"asTICREAACwADU6V"},{"name":"lang","type":"string","description":"Content language: fi, en-gb or the Swedish locale","default":"fi"},{"name":"pageSize","type":"number","description":"Results per page","default":50},{"name":"page","type":"number","description":"Page number (1-based)","default":1}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/list-announcements?pageSize=10"},{"command":"get-announcement","summary":"Get one Hilma announcement by its uid","params":[{"name":"uid","type":"string","required":true,"description":"Announcement uid from list-announcements"},{"name":"ref","type":"string","description":"Prismic content ref (from get-cms-ref)","default":"asTICREAACwADU6V"},{"name":"lang","type":"string","description":"Content language","default":"fi"}],"exampleUrl":"https://clify-dev.netlify.app/hankintailmoitukset/get-announcement"}]}