{"id":"doffin","name":"Doffin and TED","description":"Search Norwegian and European public procurement, notices and CPV codes.","documentation":null,"operations":[{"name":"search_doffin","description":"Search Norwegian public procurement notices on Doffin. Signature: search_doffin(query: string, optional, default ''; types: list of string (comma-separated), optional, default None; statuses: list of string (comma-separated), optional, default None; contract_nature: list of string (comma-separated), optional, default None; cpv_codes: list of string (comma-separated), optional, default None; locations: list of string (comma-separated), optional, default None; buyer: list of string (comma-separated), optional, default None; winner: list of string (comma-separated), optional, default None; date_from: string, optional, default None; date_to: string, optional, default None; sort_by: string, optional, default 'RELEVANCE'; include_placeholders: yes/no, optional, default False; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"search_doffin(query: string, optional, default ''; types: list of string (comma-separated), optional, default None; statuses: list of string (comma-separated), optional, default None; contract_nature: list of string (comma-separated), optional, default None; cpv_codes: list of string (comma-separated), optional, default None; locations: list of string (comma-separated), optional, default None; buyer: list of string (comma-separated), optional, default None; winner: list of string (comma-separated), optional, default None; date_from: string, optional, default None; date_to: string, optional, default None; sort_by: string, optional, default 'RELEVANCE'; include_placeholders: yes/no, optional, default False; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"query","type":"string","schema":{"type":"string"},"required":false,"default":"","description":"Free-text search (Norwegian or English), e.g. \"IT-drift\", \"sn\u00f8rydding\", \"rammeavtale konsulent\". Start here.","unit":null,"display_type":"string"},{"name":"types","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"Filter by notice type. Parent types: PLANNING, COMPETITION, RESULT. Specific types: ANNOUNCEMENT_OF_COMPETITION, DYNAMIC_PURCHASING_SCHEME, QUALIFICATION_SCHEME, ANNOUNCEMENT_OF_INTENT, PRE_ANNOUNCEMENT, ADVISORY_NOTICE, NOTICE_ON_BUYER_PROFILE, ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT, CHANGE_OF_CONCLUSION_OF_CONTRACT, CANCELLED_OR_MISSING_CONCLUSION_OF_CONTRACT. Use [\"COMPETITION\"] + statuses=[\"ACTIVE\"] for open tenders.","unit":null,"display_type":"list of string (comma-separated)"},{"name":"statuses","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"ACTIVE (open for bids), EXPIRED, AWARDED, CANCELLED.","unit":null,"display_type":"list of string (comma-separated)"},{"name":"contract_nature","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"WORKS, SERVICES and/or SUPPLIES.","unit":null,"display_type":"list of string (comma-separated)"},{"name":"cpv_codes","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"8-digit CPV codes, e.g. [\"45000000\"]. Matches the code and its children. Find codes with search_cpv_codes(). Best combined with a free-text query.","unit":null,"display_type":"list of string (comma-separated)"},{"name":"locations","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"NUTS-style location ids, e.g. [\"NO060\"] (Tr\u00f8ndelag), or \"anyw\" for non-location-bound. See list_location_codes().","unit":null,"display_type":"list of string (comma-separated)"},{"name":"buyer","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"Buyer organization full name(s) exactly as written on notices, e.g. [\"Trondheim kommune\"]. Resolved to Doffin's internal buyer id via a free-text lookup; names that match no buyer are reported in \"note\" and, if none match, no results are returned (rather than an unfiltered search). Pass the 32-hex buyer id from a result's buyer field directly to skip the lookup.","unit":null,"display_type":"list of string (comma-separated)"},{"name":"winner","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"Doffin's internal supplier id (32-hex). Winner names cannot be used - they are not present in search results to resolve against.","unit":null,"display_type":"list of string (comma-separated)"},{"name":"date_from","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Publication date lower bound, \"YYYY-MM-DD\".","unit":null,"display_type":"string"},{"name":"date_to","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"required":false,"default":null,"description":"Publication date upper bound, \"YYYY-MM-DD\".","unit":null,"display_type":"string"},{"name":"sort_by","type":"string","schema":{"type":"string"},"required":false,"default":"RELEVANCE","description":"RELEVANCE (default), PUBLICATION_DATE_DESC, PUBLICATION_DATE_ASC, DEADLINE, ESTIMATED_VALUE_ASC, ESTIMATED_VALUE_DESC.","unit":null,"display_type":"string"},{"name":"include_placeholders","type":"boolean","schema":{"type":"boolean"},"required":false,"default":false,"description":"By default, hits whose buyer fields look like unfilled eForm template values (org id 123456789, placeholder buyer names) are dropped from the results as junk. Set True to keep them, each flagged with \"possible_placeholder\": true.","unit":null,"display_type":"yes/no"},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100).","unit":"items"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0","example_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin?query=sn%C3%B8rydding","output_fields":["total_count","hits","hits[].id","hits[].heading","hits[].description","hits[].buyer","hits[].buyer[].id","hits[].buyer[].organization_id","hits[].buyer[].name","hits[].type","hits[].allTypes","hits[].status","hits[].issueDate","hits[].deadline","hits[].publicationDate","hits[].sentToTed","hits[].estimatedValue","hits[].estimatedValue.currencyCode","hits[].estimatedValue.amount","hits[].location_id","hits[].placeOfPerformance","hits[].possible_placeholder","note"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["hits[].id","hits[].buyer[].id"],"name":["hits[].heading","hits[].buyer[].name"]},"temporal_conventions":{"timezone":"explicit_offset","join_guidance":"date-time fields are RFC 3339 with an explicit offset (Z, +00:00 or the Europe/Oslo offset); compare absolute instants, not clock text. date fields are calendar dates without a time zone.","datetime_fields":["hits[].issueDate","hits[].deadline"],"date_fields":["hits[].publicationDate"]},"description_language":"en","documentation":"Search Norwegian public procurement notices on Doffin.\n\nFree-text query is the primary search path and usually gives the most\nrelevant results. Use the filters (cpv_codes, locations, ...) to refine\na query, not as a replacement for it - filter-only searches tend to\nsurface less relevant notices.\n\nArgs:\n    query: Free-text search (Norwegian or English), e.g. \"IT-drift\",\n        \"sn\u00f8rydding\", \"rammeavtale konsulent\". Start here.\n    types: Filter by notice type. Parent types: PLANNING, COMPETITION,\n        RESULT. Specific types: ANNOUNCEMENT_OF_COMPETITION,\n        DYNAMIC_PURCHASING_SCHEME, QUALIFICATION_SCHEME,\n        ANNOUNCEMENT_OF_INTENT, PRE_ANNOUNCEMENT, ADVISORY_NOTICE,\n        NOTICE_ON_BUYER_PROFILE, ANNOUNCEMENT_OF_CONCLUSION_OF_CONTRACT,\n        CHANGE_OF_CONCLUSION_OF_CONTRACT,\n        CANCELLED_OR_MISSING_CONCLUSION_OF_CONTRACT.\n        Use [\"COMPETITION\"] + statuses=[\"ACTIVE\"] for open tenders.\n    statuses: ACTIVE (open for bids), EXPIRED, AWARDED, CANCELLED.\n    contract_nature: WORKS, SERVICES and/or SUPPLIES.\n    cpv_codes: 8-digit CPV codes, e.g. [\"45000000\"]. Matches the code\n        and its children. Find codes with search_cpv_codes(). Best\n        combined with a free-text query.\n    locations: NUTS-style location ids, e.g. [\"NO060\"] (Tr\u00f8ndelag),\n        or \"anyw\" for non-location-bound. See list_location_codes().\n    buyer: Buyer organization full name(s) exactly as written on notices,\n        e.g. [\"Trondheim kommune\"]. Resolved to Doffin's internal buyer id\n        via a free-text lookup; names that match no buyer are reported in\n        \"note\" and, if none match, no results are returned (rather than an\n        unfiltered search). Pass the 32-hex buyer id from a result's buyer\n        field directly to skip the lookup.\n    winner: Doffin's internal supplier id (32-hex). Winner names cannot be\n        used - they are not present in search results to resolve against.\n    date_from: Publication date lower bound, \"YYYY-MM-DD\".\n    date_to: Publication date upper bound, \"YYYY-MM-DD\".\n    sort_by: RELEVANCE (default), PUBLICATION_DATE_DESC,\n        PUBLICATION_DATE_ASC, DEADLINE, ESTIMATED_VALUE_ASC,\n        ESTIMATED_VALUE_DESC.\n    page: 1-based page number.\n    hits_per_page: 1-50 (default 10).\n    include_placeholders: By default, hits whose buyer fields look like\n        unfilled eForm template values (org id 123456789, placeholder\n        buyer names) are dropped from the results as junk. Set True to\n        keep them, each flagged with \"possible_placeholder\": true.\n\nReturns total_count and hits. Each hit has id (e.g. \"2026-103178\",\nuse with get_notice), heading, description, buyer, type, status,\ndeadline, publicationDate, placeOfPerformance, estimatedValue and\nsentToTed (True if also published EU-wide on TED). When placeholder\nhits are dropped, a \"note\" reports how many and how to include them.\n\nSignature: search_doffin(query: string, optional, default ''; types: list of string (comma-separated), optional, default None; statuses: list of string (comma-separated), optional, default None; contract_nature: list of string (comma-separated), optional, default None; cpv_codes: list of string (comma-separated), optional, default None; locations: list of string (comma-separated), optional, default None; buyer: list of string (comma-separated), optional, default None; winner: list of string (comma-separated), optional, default None; date_from: string, optional, default None; date_to: string, optional, default None; sort_by: string, optional, default 'RELEVANCE'; include_placeholders: yes/no, optional, default False; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/doffin/search_doffin/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/doffin/search_doffin/?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin","response_schema":{"type":"object","properties":{"total_count":{"type":["integer","null"]},"hits":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"heading":{"type":["string","null"]},"description":{"type":["string","null"]},"buyer":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":["string","null"]},"organization_id":{"type":["string","null"]},"name":{"type":["string","null"]}}}},"type":{"type":["string","null"]},"allTypes":{"type":["array","null"],"items":{"type":"string"}},"status":{"type":["string","null"]},"issueDate":{"type":["string","null"],"format":"date-time"},"deadline":{"type":["string","null"],"format":"date-time"},"publicationDate":{"type":["string","null"],"format":"date"},"sentToTed":{"type":["boolean","null"]},"estimatedValue":{"type":["object","null"],"properties":{"currencyCode":{"type":["string","null"]},"amount":{"type":["number","null"]}}},"location_id":{"type":["array","null"],"items":{"type":"string"}},"placeOfPerformance":{"type":["array","null"],"items":{"type":"string"}},"possible_placeholder":{"type":"boolean"}},"required":["id"]}},"note":{"type":["string","null"]}},"additionalProperties":false,"required":["total_count","hits"]},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["procurement","organization"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin?query=&types={types}&statuses={statuses}&contract_nature={contract_nature}&cpv_codes={cpv_codes}&locations={locations}&buyer={buyer}&winner={winner}&date_from={date_from}&date_to={date_to}&sort_by=RELEVANCE&include_placeholders=false&limit=25&offset=0","response_example":{"source":"doffin","operation":"search_doffin","parameters":{"query":"sn\u00f8rydding","limit":25,"offset":0},"data":{"total_count":1,"hits":[{"id":"example-id","heading":"example value","description":"example value","buyer":[{"id":"example-id","organization_id":"example-id","name":"Example"}],"type":"example value","allTypes":["example value"],"status":"example value","issueDate":"2026-01-15T12:00:00Z","deadline":"2026-01-15T12:00:00Z","publicationDate":"2026-01-15","sentToTed":true,"estimatedValue":{"currencyCode":"example value","amount":1.0},"location_id":["example-id"],"placeOfPerformance":["example value"],"possible_placeholder":true}],"note":"example value"},"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"doffin","name":"Doffin and TED","description":"Search Norwegian and European public procurement, notices and CPV codes.","publisher":"Direktoratet for forvaltning og \u00f8konomistyring (DF\u00d8)","license":"https://creativecommons.org/licenses/by/4.0/","cache_ttl_seconds":60}]},"_provenance":{"data":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin"},"entities":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_doffin","source":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","wiki":"https://allemannsdata.com/wiki/kilder/doffin/search_doffin/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"get_notice","description":"Get the full detail of one Doffin notice by id (e.g. \"2026-103178\"). Signature: get_notice(notice_id: string, required; include_form_details: yes/no, optional, default False).","signature":"get_notice(notice_id: string, required; include_form_details: yes/no, optional, default False)","parameters":[{"name":"notice_id","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"Doffin notice id from search_doffin results.","unit":null,"display_type":"string"},{"name":"include_form_details","type":"boolean","schema":{"type":"boolean"},"required":false,"default":false,"description":"Also return the complete published eForm as a section tree (procedure details, award criteria, lots, winner and value on RESULT notices...). Large; only request it when the summary fields aren't enough.","unit":null,"display_type":"yes/no"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/get_notice?notice_id={notice_id}&include_form_details=false","example_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/get_notice?notice_id=2024-115574","not_paged":"Returns a single record.","output_fields":["id","heading","description","buyer","buyer[].id","buyer[].name","noticeType","allTypes","allCpvCodes","directCpvCodes","parentCpvCodes","noticeStatus","issueDate","deadline","publicationDate","competitionDocsUrl","sentToTed","awardedNames","possible_placeholder","doffin_url"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["id","buyer[].id"],"name":["heading","buyer[].name"]},"temporal_conventions":{"timezone":"explicit_offset","join_guidance":"date-time fields are RFC 3339 with an explicit offset (Z, +00:00 or the Europe/Oslo offset); compare absolute instants, not clock text. date fields are calendar dates without a time zone.","datetime_fields":["issueDate","deadline"],"date_fields":["publicationDate"]},"description_language":"en","documentation":"Get the full detail of one Doffin notice by id (e.g. \"2026-103178\").\n\nReturns heading, description, buyer, CPV codes, deadlines, status,\nestimated value, place of performance, a competitionDocsUrl linking to\nthe tender documents, and doffin_url for the human-readable page.\n\nArgs:\n    id: Doffin notice id from search_doffin results.\n    include_form_details: Also return the complete published eForm as a\n        section tree (procedure details, award criteria, lots, winner\n        and value on RESULT notices...). Large; only request it when\n        the summary fields aren't enough.\n\nSignature: get_notice(notice_id: string, required; include_form_details: yes/no, optional, default False).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/doffin/get_notice/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/doffin/get_notice/?notice_id={notice_id}&include_form_details=false","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/get_notice","response_schema":{"type":"object","properties":{"id":{"type":["string","null"]},"heading":{"type":["string","null"]},"description":{"type":["string","null"]},"buyer":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":["string","null"]},"name":{"type":["string","null"]}}}},"noticeType":{"type":["string","null"]},"allTypes":{"type":["array","null"],"items":{"type":"string"}},"allCpvCodes":{"type":["array","null"],"items":{"type":"string"}},"directCpvCodes":{"type":["array","null"],"items":{"type":"string"}},"parentCpvCodes":{"type":["array","null"],"items":{"type":"string"}},"noticeStatus":{"type":["string","null"]},"issueDate":{"type":["string","null"],"format":"date-time"},"deadline":{"type":["string","null"],"format":"date-time"},"publicationDate":{"type":["string","null"],"format":"date"},"competitionDocsUrl":{"type":["string","null"],"format":"uri"},"sentToTed":{"type":["boolean","null"]},"awardedNames":{"type":["array","null"],"items":{"type":"string"}},"possible_placeholder":{"type":"boolean"},"doffin_url":{"type":"string","format":"uri"}},"required":["id","doffin_url"]},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["procurement","organization"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/get_notice/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/get_notice","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/get_notice?notice_id={notice_id}&include_form_details=false","response_example":{"source":"doffin","operation":"get_notice","parameters":{"notice_id":"2024-115574"},"data":{"id":"example-id","heading":"example value","description":"example value","buyer":[{"id":"example-id","name":"Example"}],"noticeType":"example value","allTypes":["example value"],"allCpvCodes":["example value"],"directCpvCodes":["example value"],"parentCpvCodes":["example value"],"noticeStatus":"example value","issueDate":"2026-01-15T12:00:00Z","deadline":"2026-01-15T12:00:00Z","publicationDate":"2026-01-15","competitionDocsUrl":"https://example.invalid/resource","sentToTed":true,"awardedNames":["Example"],"possible_placeholder":true,"doffin_url":"https://example.invalid/resource"},"entities":[{"type":"procurement","id":"2024-115574","source":"doffin","description":"Procurement notice used as the operation input."}],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"doffin","name":"Doffin and TED","description":"Search Norwegian and European public procurement, notices and CPV codes.","publisher":"Direktoratet for forvaltning og \u00f8konomistyring (DF\u00d8)","license":"https://creativecommons.org/licenses/by/4.0/","cache_ttl_seconds":60}]},"_provenance":{"data":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin"},"entities":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/get_notice","source":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","wiki":"https://allemannsdata.com/wiki/kilder/doffin/get_notice/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"search_cpv_codes","description":"Find CPV codes (the EU common procurement vocabulary) by Norwegian\nlabel or code prefix, for use in search_doffin(cpv_codes=...) and TED\nqueries. E.g. \"programvare\", \"r\u00e5dgivning\", \"vintervedlikehold\", \"4500\". Signature: search_cpv_codes(query: string, required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"search_cpv_codes(query: string, required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"query","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"Norwegian label fragment or CPV code prefix, e.g. \"programvare\" or \"4500\".","unit":null,"display_type":"string"},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100).","unit":"items"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_cpv_codes?query={query}&limit=25&offset=0","example_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_cpv_codes?query=programvare","output_fields":["[].id","[].label","[].parents"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["[].id"],"name":["[].label"]},"description_language":"en","documentation":"Find CPV codes (the EU common procurement vocabulary) by Norwegian\nlabel or code prefix, for use in search_doffin(cpv_codes=...) and TED\nqueries. E.g. \"programvare\", \"r\u00e5dgivning\", \"vintervedlikehold\", \"4500\".\n\nArgs:\n    query: Norwegian label fragment or CPV code prefix, e.g. \"programvare\" or \"4500\".\n    max_results: Max codes to return (default 20).\n\nReturns matching codes with id, label and parent chain.\n\nSignature: search_cpv_codes(query: string, required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/doffin/search_cpv_codes/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/doffin/search_cpv_codes/?query={query}&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_cpv_codes","response_schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"parents":{"type":["string","null"]}},"additionalProperties":false,"required":["id","label","parents"]}},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["procurement","organization"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_cpv_codes/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_cpv_codes","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_cpv_codes?query={query}&limit=25&offset=0","response_example":{"source":"doffin","operation":"search_cpv_codes","parameters":{"query":"programvare","limit":25,"offset":0},"data":[{"id":"example-id","label":"Example","parents":"example value"}],"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"doffin","name":"Doffin and TED","description":"Search Norwegian and European public procurement, notices and CPV codes.","publisher":"Direktoratet for forvaltning og \u00f8konomistyring (DF\u00d8)","license":"https://creativecommons.org/licenses/by/4.0/","cache_ttl_seconds":60}]},"_provenance":{"data":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin"},"entities":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_cpv_codes","source":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","wiki":"https://allemannsdata.com/wiki/kilder/doffin/search_cpv_codes/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"list_location_codes","description":"List the location codes Doffin uses for the locations filter -\nNUTS-style regions of Norway plus \"anyw\" (not location-bound). Signature: list_location_codes(limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"list_location_codes(limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100).","unit":"items"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/list_location_codes?limit=25&offset=0","example_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/list_location_codes","output_fields":["[].id","[].name","[].level"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["[].id"],"name":["[].name"]},"description_language":"en","documentation":"List the location codes Doffin uses for the locations filter -\nNUTS-style regions of Norway plus \"anyw\" (not location-bound).\n\nReturns a flat list with id, name and level (0=country, 1=region,\n2=county).\n\nSignature: list_location_codes(limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/doffin/list_location_codes/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/doffin/list_location_codes/?hent=1&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/list_location_codes","response_schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"level":{"type":"integer"}},"additionalProperties":false,"required":["id","name","level"]}},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["procurement","organization"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/list_location_codes/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/list_location_codes","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/list_location_codes?limit=25&offset=0","response_example":{"source":"doffin","operation":"list_location_codes","parameters":{"limit":25,"offset":0},"data":[{"id":"example-id","name":"Example","level":1}],"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"doffin","name":"Doffin and TED","description":"Search Norwegian and European public procurement, notices and CPV codes.","publisher":"Direktoratet for forvaltning og \u00f8konomistyring (DF\u00d8)","license":"https://creativecommons.org/licenses/by/4.0/","cache_ttl_seconds":60}]},"_provenance":{"data":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin"},"entities":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/list_location_codes","source":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","wiki":"https://allemannsdata.com/wiki/kilder/doffin/list_location_codes/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}},{"name":"search_ted","description":"Search TED (Tenders Electronic Daily) - EU-wide public procurement\nnotices - with the TED Search API v3 expert query syntax. Signature: search_ted(query: string, required; fields: list of string (comma-separated), optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"search_ted(query: string, required; fields: list of string (comma-separated), optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"query","type":"string","schema":{"type":"string"},"required":true,"default":null,"description":"Expert query. Every field condition must be joined with an explicit AND/OR/NOT - there is no implicit operator, so two conditions with nothing between them is a syntax error, not an OR. Append \"SORT BY <field> DESC|ASC\". Useful fields: - classification-cpv IN (45000000)   filter by SUBJECT. Use this, not FT, to restrict to a procurement category. Matches at NOTICE level against the union of every procedure- and lot-level CPV (main and additional), and includes the code's descendants: IN (72000000) also hits a notice tagged only 72224000. A notice carries several CPVs, so a hit may also cover other things, and need not list the queried code itself. - FT=\"text\"                       free text - matches any notice that MENTIONS the words anywhere, so it returns unrelated notices (a construction tender that happens to say \"software\"). Not a category filter; AND it with classification-cpv to scope. - place-of-performance IN (NOR)   ISO 3166 alpha-3 or NUTS codes - buyer-country IN (SWE DNK) - publication-date >= 20260101    or e.g. today(-30) - deadline-receipt-tender-date-lot >= today() - notice-type IN (cn-standard)    cn=competition, can=award, pin=prior information; cn-standard, can-standard etc. - contract-nature IN (works services supplies) - buyer-name ~ (\"kommune\") Example - open Swedish construction tenders: (buyer-country IN (SWE)) AND (classification-cpv IN (45000000)) AND (notice-type IN (cn-standard)) SORT BY publication-date DESC","unit":null,"display_type":"string"},{"name":"fields","type":"array","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"required":false,"default":null,"description":"Response fields to return (defaults cover number, title, buyer, dates, CPV, type, nature, value).","unit":null,"display_type":"list of string (comma-separated)"},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"default":25,"description":"Notices per page. Unit: items. Through this API: default 25, maximum 100.","unit":"items","display_type":"integer"},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_ted?query={query}&fields={fields}&limit=25&offset=0","example_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_ted?query=buyer-country%3DNOR+AND+publication-date%3E%3D20260901+AND+publication-date%3C%3D20260930","output_fields":["total_count","notices","notices[].publication-number","notices[].notice-title","notices[].notice-type","notices[].publication-date","notices[].buyer-name","notices[].buyer-country","notices[].classification-cpv","notices[].contract-nature","notices[].place-of-performance","notices[].estimated-value-lot","notices[].estimated-value-cur-lot","notices[].deadline-receipt-tender-date-lot","notices[].url","notices[].pdf"],"output_fields_truncated":false,"canonical_field_aliases":{},"description_language":"en","documentation":"Search TED (Tenders Electronic Daily) - EU-wide public procurement\nnotices - with the TED Search API v3 expert query syntax.\n\nArgs:\n    query: Expert query. Every field condition must be joined with an\n        explicit AND/OR/NOT - there is no implicit operator, so two\n        conditions with nothing between them is a syntax error, not an\n        OR. Append \"SORT BY <field> DESC|ASC\". Useful fields:\n        - classification-cpv IN (45000000)   filter by SUBJECT. Use this,\n          not FT, to restrict to a procurement category. Matches at\n          NOTICE level against the union of every procedure- and\n          lot-level CPV (main and additional), and includes the code's\n          descendants: IN (72000000) also hits a notice tagged only\n          72224000. A notice carries several CPVs, so a hit may also\n          cover other things, and need not list the queried code itself.\n        - FT=\"text\"                       free text - matches any notice\n          that MENTIONS the words anywhere, so it returns unrelated\n          notices (a construction tender that happens to say \"software\").\n          Not a category filter; AND it with classification-cpv to scope.\n        - place-of-performance IN (NOR)   ISO 3166 alpha-3 or NUTS codes\n        - buyer-country IN (SWE DNK)\n        - publication-date >= 20260101    or e.g. today(-30)\n        - deadline-receipt-tender-date-lot >= today()\n        - notice-type IN (cn-standard)    cn=competition, can=award,\n          pin=prior information; cn-standard, can-standard etc.\n        - contract-nature IN (works services supplies)\n        - buyer-name ~ (\"kommune\")\n        Example - open Swedish construction tenders:\n        (buyer-country IN (SWE)) AND (classification-cpv IN (45000000))\n        AND (notice-type IN (cn-standard)) SORT BY publication-date DESC\n    fields: Response fields to return (defaults cover number, title,\n        buyer, dates, CPV, type, nature, value).\n    page: 1-based page (max 15,000 notices reachable via paging).\n    limit: Notices per page.\n\nReturns total_count and notices. Multilingual fields are collapsed to\none language (Norwegian if available, else English). Each notice gets\nurl/pdf links to the human-readable and PDF versions.\n\nSignature: search_ted(query: string, required; fields: list of string (comma-separated), optional, default None; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/doffin/search_ted/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/doffin/search_ted/?query={query}&fields={fields}&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_ted","response_schema":{"type":"object","properties":{"total_count":{"type":["integer","null"]},"notices":{"type":"array","items":{"type":"object","properties":{"publication-number":{"type":["string","null"]},"notice-title":{"type":["string","null"]},"notice-type":{"type":["string","null"]},"publication-date":{"type":["string","null"]},"buyer-name":{"type":["array","string","null"],"items":{"type":"string"}},"buyer-country":{"type":["array","string","null"],"items":{"type":"string"}},"classification-cpv":{"type":["array","string","null"],"items":{"type":"string"}},"contract-nature":{"type":["array","string","null"],"items":{"type":"string"}},"place-of-performance":{"type":["array","string","null"],"items":{"type":"string"}},"estimated-value-lot":{"type":["array","string","null"],"items":{"type":"string"}},"estimated-value-cur-lot":{"type":["array","string","null"],"items":{"type":"string"}},"deadline-receipt-tender-date-lot":{"type":["array","string","null"],"items":{"type":"string"}},"url":{"type":["string","null"],"format":"uri"},"pdf":{"type":["string","null"],"format":"uri"}}}}},"additionalProperties":false,"required":["total_count","notices"]},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["procurement","organization"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_ted/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_ted","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_ted?query={query}&fields={fields}&limit=25&offset=0","response_example":{"source":"doffin","operation":"search_ted","parameters":{"query":"buyer-country=NOR AND publication-date>=20260901 AND publication-date<=20260930","limit":25,"offset":0},"data":{"total_count":1,"notices":[{"publication-number":"example value","notice-title":"example value","notice-type":"example value","publication-date":"example value","buyer-name":["Example"],"buyer-country":["example value"],"classification-cpv":["example value"],"contract-nature":["example value"],"place-of-performance":["example value"],"estimated-value-lot":["example value"],"estimated-value-cur-lot":["example value"],"deadline-receipt-tender-date-lot":["example value"],"url":"https://example.invalid/resource","pdf":"https://example.invalid/resource"}]},"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"doffin","name":"Doffin and TED","description":"Search Norwegian and European public procurement, notices and CPV codes.","publisher":"Direktoratet for forvaltning og \u00f8konomistyring (DF\u00d8)","license":"https://creativecommons.org/licenses/by/4.0/","cache_ttl_seconds":60}]},"_provenance":{"data":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin"},"entities":{"source":"doffin","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/search_ted","source":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","wiki":"https://allemannsdata.com/wiki/kilder/doffin/search_ted/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}}],"operation_schema_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/doffin/{operation}/schema","related_sources":[{"id":"firmafakta","name":"Firmafakta","reason":"Company facts about buyers and suppliers.","api":"https://allemannsdata.com/wiki/api/v1/kilder/firmafakta","wiki":"https://allemannsdata.com/wiki/kilder/firmafakta/"},{"id":"brreg","name":"Br\u00f8nn\u00f8ysund Register Centre","reason":"Official entity information for organization numbers in notices.","api":"https://allemannsdata.com/wiki/api/v1/kilder/brreg","wiki":"https://allemannsdata.com/wiki/kilder/brreg/"}],"_meta":{"retrieved_at":"2026-11-07T23:57:10Z","language":"en","content_languages":["en"],"sources":[{"id":"doffin","name":"Doffin and TED","description":"Search Norwegian and European public procurement, notices and CPV codes.","publisher":"Direktoratet for forvaltning og \u00f8konomistyring (DF\u00d8)","license":"https://creativecommons.org/licenses/by/4.0/","cache_ttl_seconds":60}]},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","names":"https://allemannsdata.com/wiki/api/v1/kilder/doffin?view=names","compact":"https://allemannsdata.com/wiki/api/v1/kilder/doffin?view=compact","full":"https://allemannsdata.com/wiki/api/v1/kilder/doffin","wiki":"https://allemannsdata.com/wiki/kilder/doffin/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}
