{"openapi":"3.0.3","info":{"title":"Gnist Context — DST (Statistics Denmark)","description":"Danish official statistics — population, employment, income, housing, trade, and economic data.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/dst/`\n- **Toolkit page:** `/toolkits/dst`\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/dst/list_subjects":{"post":{"tags":["Economics"],"summary":"list_subjects","description":"List Statistics Denmark's top-level subject categories.\n\nReturns the main statistical subject areas (e.g. People, Labour and income,\nEconomy, Social conditions, Education, Business, Transport, Environment).\nUse the returned IDs with browse_subject or list_tables to explore further.\n\nArgs:\n    lang: Language — 'en' for English, 'da' for Danish (default 'en').\n\nReturns:\n    List of subject categories with id, text, and has_subjects flag.","operationId":"dst_list_subjects","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":{"lang":{"default":"en","description":"Language — 'en' for English, 'da' for Danish (default 'en').","type":"string"}},"type":"object"}}}}}},"/rest/dst/browse_subject":{"post":{"tags":["Economics"],"summary":"browse_subject","description":"Browse a subject area to find sub-subjects and tables.\n\nNavigate the Statistics Denmark hierarchy by providing a subject ID from\nlist_subjects or a previous browse_subject call. Returns both child subjects\nand tables available in this area.\n\nArgs:\n    subject_id: Subject ID (e.g. '1' for People, '2' for Labour).\n    lang: Language — 'en' or 'da'.\n\nReturns:\n    Sub-subjects and tables within this subject area.","operationId":"dst_browse_subject","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":{"subject_id":{"description":"Subject ID (e.g. '1' for People, '2' for Labour).","type":"string"},"lang":{"default":"en","description":"Language — 'en' or 'da'.","type":"string"}},"required":["subject_id"],"type":"object"}}}}}},"/rest/dst/list_tables":{"post":{"tags":["Economics"],"summary":"list_tables","description":"List available statistical tables, optionally filtered by subject.\n\nStatistics Denmark has 2000+ tables. Filter by subject_id to get a manageable\nlist. Each table shows its ID, description, time range, and variables.\n\nArgs:\n    subject_id: Subject ID to filter by (e.g. '1'). Omit for all tables.\n    lang: Language — 'en' or 'da'.\n\nReturns:\n    List of tables with table_id, text, time range, and variable names.","operationId":"dst_list_tables","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":{"subject_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Subject ID to filter by (e.g. '1'). Omit for all tables."},"lang":{"default":"en","description":"Language — 'en' or 'da'.","type":"string"}},"type":"object"}}}}}},"/rest/dst/get_table_metadata":{"post":{"tags":["Economics"],"summary":"get_table_metadata","description":"Get the structure of a Statistics Denmark table — its dimensions, variables, and valid values.\n\nUse this before querying data to understand what filters are available.\nEach variable lists its valid codes and labels. Variables marked 'elimination: true'\ncan be omitted from queries to get aggregated totals.\n\nTime variables are flagged with 'time: true'. Time codes follow patterns:\n'2024' (annual), '2024K1' (quarterly), '2024M01' (monthly).\n\nArgs:\n    table_id: DST table ID (e.g. 'FOLK1A' for population, 'AKU100' for labour force).\n    lang: Language — 'en' or 'da'.\n\nReturns:\n    Table title, description, and list of variables with codes, labels, and valid values.","operationId":"dst_get_table_metadata","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":{"table_id":{"description":"DST table ID (e.g. 'FOLK1A' for population, 'AKU100' for labour force).","type":"string"},"lang":{"default":"en","description":"Language — 'en' or 'da'.","type":"string"}},"required":["table_id"],"type":"object"}}}}}},"/rest/dst/get_data":{"post":{"tags":["Economics"],"summary":"get_data","description":"Query data from a Statistics Denmark statistical table.\n\nWithout filters, returns the latest top_n time periods with default selections\nfor other dimensions. With filters, you select specific variable values.\n\nEach filter dict needs: 'code' (variable ID from metadata) and 'values' list.\n\nExample — Denmark total population, last 3 quarters (table FOLK1A):\nfilters=[\n    {\"code\": \"KØN\", \"values\": [\"TOT\"]},\n    {\"code\": \"ALDER\", \"values\": [\"IALT\"]},\n    {\"code\": \"CIVILSTAND\", \"values\": [\"TOT\"]},\n    {\"code\": \"Tid\", \"values\": [\"2025K1\", \"2024K4\", \"2024K3\"]}\n]\n\nArgs:\n    table_id: DST table ID.\n    filters: List of variable filters. See get_table_metadata for valid codes.\n    top_n: If no filters given, fetch this many latest time periods (default 5).\n    lang: Language — 'en' or 'da'.\n\nReturns:\n    Parsed data with metadata (label, source, updated) and a list of records.\n    Each record has labeled dimension values and a 'value' field.","operationId":"dst_get_data","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":{"table_id":{"description":"DST table ID.","type":"string"},"filters":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"default":null,"description":"List of variable filters. See get_table_metadata for valid codes."},"top_n":{"default":5,"description":"If no filters given, fetch this many latest time periods (default 5).","type":"integer"},"lang":{"default":"en","description":"Language — 'en' or 'da'.","type":"string"}},"required":["table_id"],"type":"object"}}}}}},"/rest/dst/report_feedback":{"post":{"tags":["Economics"],"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":"dst_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":"Economics","description":"Data sources: Economics"}],"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."}}}}