{"openapi":"3.0.3","info":{"title":"Gnist Context — Doffin (Norwegian Public Procurement)","description":"Norwegian public procurement notices from Doffin — search tenders, contract awards, and planning notices across all Norwegian public sector buyers.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/doffin/`\n- **Toolkit page:** `/toolkits/doffin`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/doffin/search_notices":{"post":{"tags":["Government"],"summary":"search_notices","description":"Search Norwegian public procurement notices on Doffin (doffin.no).\n\nDoffin is Norway's national database for public procurement (offentlige anskaffelser).\nCovers all Norwegian public tenders — both below and above EU/EEA threshold values.\nIncludes municipalities, county authorities, state agencies, and public enterprises.\n\nAt least one filter parameter is required. Combine filters to narrow results\n(e.g. text='IKT' + location='NO03' for IT procurement in Oslo).\n\nReturns:\n    Paginated list of procurement notices with heading, buyer, deadline, estimated\n    value, CPV codes, and Doffin URL. Use the notice ID with get_notice for\n    full details including buyer address, procedure type, and award information.","operationId":"doffin_search_notices","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"text":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Free text search across notice titles and descriptions (e.g. \"IKT\", \"rådgivning\", \"konsulentbistand\", \"veibygging\")."},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by notice status: 'ACTIVE' (open for bids), 'EXPIRED' (deadline passed), 'AWARDED' (contract awarded), 'CANCELLED'."},"notice_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by notice type: 'COMPETITION' (open tender), 'RESULT' (award notice), 'PLANNING' (prior information), 'MODIFICATION', 'CORRIGENDUM'."},"cpv_code":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by CPV (Common Procurement Vocabulary) code — 8-digit EU classification (e.g. '72000000' for IT services, '45000000' for construction)."},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by Norwegian NUTS region code: 'NO03' (Oslo), 'NO08' (Vestland), 'NO0A' (Trøndelag), 'NO07' (Vestfold og Telemark), etc."},"page":{"default":1,"description":"Page number, 1-based (default 1).","type":"integer"},"page_size":{"default":20,"description":"Results per page (1-50, default 20).","type":"integer"}},"type":"object"}}}}}},"/rest/doffin/get_notice":{"post":{"tags":["Government"],"summary":"get_notice","description":"Get detailed information about a specific Doffin procurement notice.\n\nReturns the full notice including buyer details (name, org number, address),\nprocedure type, competition documents URL, award information, and whether\nthe notice was also published on TED (EU procurement).\n\nReturns:\n    Detailed notice with buyer, procedure, value, and award information.\n    Returns found=false if the notice ID is not found.","operationId":"doffin_get_notice","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"notice_id":{"description":"Doffin notice ID in format YYYY-NNNNNN (e.g. \"2026-105515\"). Found in search results.","type":"string"}},"required":["notice_id"],"type":"object"}}}}}},"/rest/doffin/get_doffin_changes":{"post":{"tags":["Government"],"summary":"get_doffin_changes","description":"Get recent changes to Norwegian public procurement tenders from Doffin.\n\nReturns field-level diffs (before/after values) for tenders whose data\nchanged between periodic snapshot cycles. The system monitors active,\nawarded, and cancelled tenders every 6 hours.\n\nTracks: deadline changes, status transitions (active→awarded/cancelled),\nestimated value updates, heading/description changes.\n\nArgs:\n    since: ISO 8601 timestamp — return changes captured after this time.\n    limit: Maximum number of changes to return (1–100, default 50).\n\nReturns:\n    Object with count and list of change records, each containing\n    entity_id (notice ID), changed_at timestamp, and a list of\n    field changes with before/after values.","operationId":"doffin_get_doffin_changes","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"since":{"description":"ISO 8601 timestamp — return changes captured after this time (e.g. \"2026-04-01T00:00:00Z\").","type":"string"},"limit":{"default":50,"description":"Maximum number of changes to return (1–100, default 50).","maximum":100,"minimum":1,"type":"integer"}},"required":["since"],"type":"object"}}}}}},"/rest/doffin/report_feedback":{"post":{"tags":["Government"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"doffin_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Government","description":"Data sources: Government"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}