{"openapi":"3.1.0","info":{"title":"Statens Penge API","version":"1.0.0","summary":"Statens økonomi som JSON.","description":"Danmarks statslige økonomi som JSON: finansloven, aktstykker, regnskaber, statens selskaber, løn i staten og sager. Samme data og samme værktøjer som MCP-serveren og chatten på https://www.oekonomiguiden.dk.\n\n## Nøgle\n\nAlle dataruter kræver en API-nøgle: `Authorization: Bearer sp_live_...`. Nøglen oprettes under Profil → API-nøgler (https://www.oekonomiguiden.dk/profil/api-noegler) og kræver et Pro-abonnement. Nøgler fra Lovguiden og MCP-nøgler virker ikke her.\n\n## Priser\n\nHvert kald trækkes fra kontoens saldo - den samme som chatten bruger.\n\n| Prisklasse | Pris pr. kald | Hvad |\n| --- | --- | --- |\n| `gratis` | gratis | Lister over gyldige værdier. Koster ikke noget. |\n| `opslag` | 0,03 kr. | Ét år, én konto, ét aktstykke eller én profil. |\n| `soegning` | 0,08 kr. | Søgning og lister med filtre på tværs af data. |\n\nPrisen står i headeren `X-Statens-Penge-Pris-DKK` på hvert svar.\n\n## Grænser\n\n* 60 kald i minuttet pr. nøgle og 5.000 i døgnet pr. konto.\n* En ukendt parameter giver 400. Et filter falder aldrig stille bort.\n* Lister har en `antal`-parameter med et loft; der er ingen sider. Afgræns med filtrene.\n\n## Konventioner\n\n* Beløb er i hele kroner (felter der ender på `_kr`), løbende priser. Datoer er ISO 8601.\n* Rækker med en side på sitet har et absolut `link`.\n* Alle fejl: `{ \"fejl\": { \"kode\": 400, \"besked\": \"...\" } }`.\n\nHele referencen til sprogmodeller: https://www.oekonomiguiden.dk/v1/llms.txt","contact":{"name":"Statens Penge","url":"https://www.oekonomiguiden.dk/udviklere"}},"servers":[{"url":"https://www.oekonomiguiden.dk"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Discovery","description":"Offentlige ruter, der beskriver API'et. Kræver ingen nøgle."},{"name":"Søgning","description":"1 endpoint."},{"name":"Finansloven","description":"5 endpoints."},{"name":"Ekstra bevillinger","description":"2 endpoints."},{"name":"Regnskaber","description":"3 endpoints."},{"name":"Løn","description":"2 endpoints."},{"name":"Sager","description":"2 endpoints."}],"paths":{"/v1":{"get":{"operationId":"discovery","summary":"Oversigt over API'et","description":"Alle endpoints med pris. Kræver ingen nøgle.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Kræver ingen nøgle.","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/v1/openapi.json":{"get":{"operationId":"openapi","summary":"Denne specifikation","description":"OpenAPI 3.1. Kræver ingen nøgle.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Kræver ingen nøgle.","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/v1/docs":{"get":{"operationId":"docs","summary":"Interaktiv dokumentation","description":"Specifikationen i Swagger UI. Kræver ingen nøgle.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Kræver ingen nøgle.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/llms.txt":{"get":{"operationId":"llms_txt","summary":"Dokumentationen som markdown","description":"Hele referencen i ét dokument til sprogmodeller.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Kræver ingen nøgle.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/v1/soeg":{"get":{"operationId":"soeg","summary":"Søg i hele statens økonomi","description":"Fritekstsøgning på tværs af finanslovens konti, ekstra bevillinger (aktstykker), institutioner og selskaber, årsrapporter, stillinger i lønstatistikken, nyheder og sager. Brug det først, når du ikke kender den præcise konto, institution eller stilling. Svaret har links, som de andre værktøjer kan slå op.\n\n- **Pris:** 0,08 kr. pr. kald (prisklasse `soegning`).\n- **Logges som:** `v1:soeg`. MCP-værktøjet hedder `soeg`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/soeg?q=folkepension\"\n```","tags":["Søgning"],"parameters":[{"name":"q","in":"query","required":true,"description":"Søgeord, fx \"folkepension\", \"politibetjent\" eller \"DSB\".","schema":{"type":"string","minLength":2,"maxLength":200},"example":"folkepension"},{"name":"antal","in":"query","required":false,"description":"Højst så mange træf pr. type (1-25, standard 8).","schema":{"default":8,"type":"integer","minimum":1,"maximum":25}}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: antal, q."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"soeg","x-statens-penge-prisklasse":"soegning","x-statens-penge-pris-dkk":0.08}},"/v1/finanslov/aar":{"get":{"operationId":"finanslov_aar","summary":"Finansår med data","description":"Listen over de finansår, hvor finansloven findes i databasen, nyeste først. Brug den til at finde gyldige årstal til de andre finanslov-værktøjer.\n\n- **Pris:** gratis pr. kald (prisklasse `gratis`).\n- **Logges som:** `v1:finanslov_aar`. MCP-værktøjet hedder `finanslov_aar`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/finanslov/aar\"\n```","tags":["Finansloven"],"parameters":[],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Ruten tager ingen query-parametre."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"finanslov_aar","x-statens-penge-prisklasse":"gratis","x-statens-penge-pris-dkk":0}},"/v1/finanslov":{"get":{"operationId":"finanslov_oversigt","summary":"Finansloven for et år","description":"Overblik over finansloven for ét år: statens samlede udgifter, udgift pr. indbygger og hvert ministerium med beløb, ændring fra året før og link, samt de største enkeltkonti. Brug det til spørgsmål om hvad staten bruger penge på, og hvilke områder der vokser. Ekstra bevillinger i årets løb ligger i værktøjet aktstykker.\n\n- **Pris:** 0,03 kr. pr. kald (prisklasse `opslag`).\n- **Logges som:** `v1:finanslov_oversigt`. MCP-værktøjet hedder `finanslov_oversigt`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/finanslov?aar=2026\"\n```","tags":["Finansloven"],"parameters":[{"name":"aar","in":"query","required":false,"description":"Finansår, fx 2026. Udelades det, bruges det nyeste.","schema":{"type":"integer","minimum":2007,"maximum":2100},"example":2026}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: aar."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"finanslov_oversigt","x-statens-penge-prisklasse":"opslag","x-statens-penge-pris-dkk":0.03}},"/v1/finanslov/ministerium":{"get":{"operationId":"finanslov_ministerium","summary":"Et ministerium på finansloven","description":"Ét ministerium (paragraf) på finansloven for et år: udgift, ændring fra året før, udvikling over tid, hovedkonti med beløb og ændring, forklaringer på de største ændringer, når de findes, årets ekstra bevillinger (aktstykker) og ministeriets institutioner. Brug det, når spørgsmålet handler om et bestemt ministerium eller område, fx Forsvaret eller Beskæftigelsesministeriet.\n\n- **Pris:** 0,03 kr. pr. kald (prisklasse `opslag`).\n- **Logges som:** `v1:finanslov_ministerium`. MCP-værktøjet hedder `finanslov_ministerium`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/finanslov/ministerium?ministerium=forsvarsministeriet&aar=2026\"\n```","tags":["Finansloven"],"parameters":[{"name":"ministerium","in":"query","required":true,"description":"Ministeriet som slug fra URL'en (fx \"forsvarsministeriet\"), paragrafnummer (fx \"12\") eller navn (fx \"Forsvarsministeriet\").","schema":{"type":"string","minLength":1,"maxLength":120},"example":"forsvarsministeriet"},{"name":"aar","in":"query","required":false,"description":"Finansår, fx 2026. Udelades det, bruges det nyeste.","schema":{"type":"integer","minimum":2007,"maximum":2100},"example":2026},{"name":"antal","in":"query","required":false,"description":"Højst så mange hovedkonti, største først (1-50, standard 25).","schema":{"default":25,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: aar, antal, ministerium."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"finanslov_ministerium","x-statens-penge-prisklasse":"opslag","x-statens-penge-pris-dkk":0.03}},"/v1/finanslov/konto":{"get":{"operationId":"finanslov_konto","summary":"En konto på finansloven","description":"Én hovedkonto på finansloven: hvad den dækker, beløbet på finansloven år for år mod regnskabet, regeringens skøn for næste år, hvorfor beløbet har ændret sig, detaljer fra finanslovens tekst (nøgletal, fordeling, projekter, regler) og aktstykker der har flyttet penge på kontoen. Brug det, når du kender kontonummeret, fx fra soeg eller finanslov_ministerium.\n\n- **Pris:** 0,03 kr. pr. kald (prisklasse `opslag`).\n- **Logges som:** `v1:finanslov_konto`. MCP-værktøjet hedder `finanslov_konto`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/finanslov/konto?konto=12.26.04&aar=2026\"\n```","tags":["Finansloven"],"parameters":[{"name":"konto","in":"query","required":true,"description":"Kontonummer, fx \"12.26.04\" eller \"122604\".","schema":{"type":"string","minLength":6,"maxLength":20},"example":"12.26.04"},{"name":"aar","in":"query","required":false,"description":"Finansår, fx 2026. Udelades det, bruges det nyeste.","schema":{"type":"integer","minimum":2007,"maximum":2100},"example":2026}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: aar, konto."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"finanslov_konto","x-statens-penge-prisklasse":"opslag","x-statens-penge-pris-dkk":0.03}},"/v1/finanslov/udvikling":{"get":{"operationId":"finanslov_udvikling","summary":"Statens udgifter over tid","description":"Statens samlede udgifter på finansloven år for år (op til ti år før det valgte år), i løbende priser og pr. indbygger. Brug det til spørgsmål om, hvor meget statens udgifter er vokset.\n\n- **Pris:** 0,03 kr. pr. kald (prisklasse `opslag`).\n- **Logges som:** `v1:finanslov_udvikling`. MCP-værktøjet hedder `finanslov_udvikling`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/finanslov/udvikling?aar=2026\"\n```","tags":["Finansloven"],"parameters":[{"name":"aar","in":"query","required":false,"description":"Finansår, fx 2026. Udelades det, bruges det nyeste.","schema":{"type":"integer","minimum":2007,"maximum":2100},"example":2026}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: aar."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"finanslov_udvikling","x-statens-penge-prisklasse":"opslag","x-statens-penge-pris-dkk":0.03}},"/v1/aktstykker":{"get":{"operationId":"aktstykker","summary":"Aktstykker i et folketingsår","description":"Aktstykker er ministeriernes anmodninger til Finansudvalget om penge eller ændringer ud over finansloven. Giver aktstykkerne i ét folketingsår med type, beløb, ministerium og link, plus årets sum af ekstra bevillinger. Kan filtreres på ministerium, tekst, type og mindste beløb. Brug det til \"hvilke ekstra bevillinger blev givet\" og \"de største aktstykker\".\n\n- **Pris:** 0,08 kr. pr. kald (prisklasse `soegning`).\n- **Logges som:** `v1:aktstykker`. MCP-værktøjet hedder `aktstykker`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/aktstykker?samling=2025-26&type=ekstra_bevillinger&antal=10\"\n```","tags":["Ekstra bevillinger"],"parameters":[{"name":"samling","in":"query","required":false,"description":"Folketingsåret som \"2025-26\". Udelades det, bruges det nyeste.","schema":{"type":"string","maxLength":10},"example":"2025-26"},{"name":"ministerium","in":"query","required":false,"description":"Kun aktstykker fra ministerier hvis navn indeholder teksten, fx \"forsvar\".","schema":{"type":"string","maxLength":120}},{"name":"q","in":"query","required":false,"description":"Kun aktstykker hvor titel, formål eller modtagere indeholder teksten.","schema":{"type":"string","maxLength":200}},{"name":"type","in":"query","required":false,"description":"Type: \"ekstra_bevillinger\" = kun dem der tæller som ekstra penge (positivt beløb, ikke tekniske, ikke taget tilbage). Standard \"alle\".","schema":{"default":"alle","type":"string","enum":["alle","ekstra_bevillinger","tilfoersel","udmoentning","bloktilskud","reduktion","teknisk"]},"example":"ekstra_bevillinger"},{"name":"min_kr","in":"query","required":false,"description":"Kun aktstykker med mindst dette beløb i hele kroner, fx 100000000.","schema":{"type":"number","minimum":0}},{"name":"sorter","in":"query","required":false,"description":"Sortering: største beløb (standard), nyeste dato eller nyeste nummer.","schema":{"default":"beloeb","type":"string","enum":["beloeb","dato","nr"]}},{"name":"antal","in":"query","required":false,"description":"Højst så mange aktstykker (1-50, standard 25).","schema":{"default":25,"type":"integer","minimum":1,"maximum":50},"example":10}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: antal, min_kr, ministerium, q, samling, sorter, type."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"aktstykker","x-statens-penge-prisklasse":"soegning","x-statens-penge-pris-dkk":0.08}},"/v1/aktstykker/aktstykke":{"get":{"operationId":"aktstykke","summary":"Ét aktstykke","description":"Ét aktstykke ud fra folketingsår og nummer: titel, type, om det er nye penge, status og dato, beløb (i alt og pr. år), formål, kort resumé, berørte finanslovskonti, modtagere og link til siden og Folketingets dokument. Brug det, når du kender nummeret, fx fra aktstykker eller soeg.\n\n- **Pris:** 0,03 kr. pr. kald (prisklasse `opslag`).\n- **Logges som:** `v1:aktstykke`. MCP-værktøjet hedder `aktstykke`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/aktstykker/aktstykke?samling=2025-26&nr=1\"\n```","tags":["Ekstra bevillinger"],"parameters":[{"name":"samling","in":"query","required":true,"description":"Folketingsåret som \"2025-26\".","schema":{"type":"string","minLength":4,"maxLength":10},"example":"2025-26"},{"name":"nr","in":"query","required":true,"description":"Aktstykkets nummer, fx 88.","schema":{"type":"integer","minimum":1,"maximum":99999},"example":1}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: nr, samling."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"aktstykke","x-statens-penge-prisklasse":"opslag","x-statens-penge-pris-dkk":0.03}},"/v1/regnskaber":{"get":{"operationId":"regnskaber","summary":"Statslige institutioners regnskaber","description":"Nøgletal fra de statslige institutioners årsrapporter for ét regnskabsår: driftsudgifter, årsværk og årets resultat (overskud/underskud), størst først. Kan filtreres på navn eller ministerium. Brug det til at sammenligne styrelser, etater og universiteter; brug institution for én profil i dybden.\n\n- **Pris:** 0,08 kr. pr. kald (prisklasse `soegning`).\n- **Logges som:** `v1:regnskaber`. MCP-værktøjet hedder `regnskaber`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/regnskaber?aar=2024&q=styrelse&antal=10\"\n```","tags":["Regnskaber"],"parameters":[{"name":"aar","in":"query","required":false,"description":"Regnskabsår, fx 2024. Udelades det, bruges det nyeste.","schema":{"type":"integer","minimum":2000,"maximum":2100},"example":2024},{"name":"q","in":"query","required":false,"description":"Kun institutioner hvis navn eller ministerium indeholder teksten, fx \"universitet\".","schema":{"type":"string","maxLength":200},"example":"styrelse"},{"name":"sorter","in":"query","required":false,"description":"Sortering: største udgifter (standard), flest årsværk, største overskud eller største underskud.","schema":{"default":"udgifter","type":"string","enum":["udgifter","aarsvaerk","overskud","underskud"]}},{"name":"antal","in":"query","required":false,"description":"Højst så mange rækker (1-50, standard 25).","schema":{"default":25,"type":"integer","minimum":1,"maximum":50},"example":10}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: aar, antal, q, sorter."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"regnskaber","x-statens-penge-prisklasse":"soegning","x-statens-penge-pris-dkk":0.08}},"/v1/regnskaber/selskaber":{"get":{"operationId":"selskaber","summary":"Statens selskaber","description":"Selskaber som staten ejer helt eller delvist (fx DSB, Energinet, Sund & Bælt) med nyeste regnskab: omsætning, resultat, ansatte, statens ejerandel og ansvarligt ministerium. Kommunalt ejede selskaber er ikke med. Kan filtreres på navn eller ministerium.\n\n- **Pris:** 0,08 kr. pr. kald (prisklasse `soegning`).\n- **Logges som:** `v1:selskaber`. MCP-værktøjet hedder `selskaber`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/regnskaber/selskaber?antal=10\"\n```","tags":["Regnskaber"],"parameters":[{"name":"q","in":"query","required":false,"description":"Kun selskaber hvis navn eller ministerium indeholder teksten.","schema":{"type":"string","maxLength":200}},{"name":"sorter","in":"query","required":false,"description":"Sortering: største omsætning (standard), største resultat eller flest ansatte.","schema":{"default":"omsaetning","type":"string","enum":["omsaetning","resultat","ansatte"]}},{"name":"antal","in":"query","required":false,"description":"Højst så mange rækker (1-50, standard 25).","schema":{"default":25,"type":"integer","minimum":1,"maximum":50},"example":10}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: antal, q, sorter."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"selskaber","x-statens-penge-prisklasse":"soegning","x-statens-penge-pris-dkk":0.08}},"/v1/institution":{"get":{"operationId":"institution","summary":"Profil for en institution eller et selskab","description":"Profil for én statslig institution, sektor eller ét statsligt selskab (fx politiet, dsb, skat): type, ministerium, penge på finansloven år for år, nøgletal fra årsrapporterne, løn og topledelse, seneste begivenheder og de sager, den indgår i. Brug soeg for at finde sluggen.\n\n- **Pris:** 0,03 kr. pr. kald (prisklasse `opslag`).\n- **Logges som:** `v1:institution`. MCP-værktøjet hedder `institution`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/institution?slug=politiet\"\n```","tags":["Regnskaber"],"parameters":[{"name":"slug","in":"query","required":true,"description":"Profilens slug fra URL'en, fx \"politiet\" eller \"dsb\".","schema":{"type":"string","minLength":1,"maxLength":120},"example":"politiet"}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: slug."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"institution","x-statens-penge-prisklasse":"opslag","x-statens-penge-pris-dkk":0.03}},"/v1/loen":{"get":{"operationId":"loen","summary":"Løn i staten pr. stilling","description":"Månedsløn i staten pr. stillingskategori (fx politibetjente, gymnasielærere, jurister): gennemsnit, median og kvartiler, antal årsværk, kønsforskel og lønudvikling siden 2020 før og efter prisstigninger. Uden søgetekst gives statens gennemsnit og de største stillinger. Brug det til \"hvad tjener en ... i staten\".\n\n- **Pris:** 0,08 kr. pr. kald (prisklasse `soegning`).\n- **Logges som:** `v1:loen`. MCP-værktøjet hedder `loen`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/loen?q=politi\"\n```","tags":["Løn"],"parameters":[{"name":"q","in":"query","required":false,"description":"Stilling eller dens kode, fx \"politi\", \"lærer\" eller \"303\". Udelades det, gives de største stillinger.","schema":{"type":"string","maxLength":200},"example":"politi"},{"name":"sorter","in":"query","required":false,"description":"Sortering: flest årsværk (standard) eller højeste gennemsnitsløn.","schema":{"default":"aarsvaerk","type":"string","enum":["aarsvaerk","loen"]}},{"name":"antal","in":"query","required":false,"description":"Højst så mange stillinger (1-50, standard 15).","schema":{"default":15,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: antal, q, sorter."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"loen","x-statens-penge-prisklasse":"soegning","x-statens-penge-pris-dkk":0.08}},"/v1/loen/topchefer":{"get":{"operationId":"topchefer","summary":"Topchefernes løn","description":"Årlig løn til departementschefer i ministerierne og vederlag til direktionerne i statens selskaber (fra årsregnskaberne), med bonusordninger. Kan filtreres på navn eller institution. Brug det til spørgsmål om topchefløn i staten.\n\n- **Pris:** 0,08 kr. pr. kald (prisklasse `soegning`).\n- **Logges som:** `v1:topchefer`. MCP-værktøjet hedder `topchefer`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/loen/topchefer?antal=10\"\n```","tags":["Løn"],"parameters":[{"name":"q","in":"query","required":false,"description":"Kun personer eller institutioner hvis navn indeholder teksten, fx \"DSB\" eller \"Finansministeriet\".","schema":{"type":"string","maxLength":200}},{"name":"antal","in":"query","required":false,"description":"Højst så mange pr. liste (1-50, standard 25).","schema":{"default":25,"type":"integer","minimum":1,"maximum":50},"example":10}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: antal, q."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"topchefer","x-statens-penge-prisklasse":"soegning","x-statens-penge-pris-dkk":0.08}},"/v1/sager":{"get":{"operationId":"sager","summary":"Sager vi følger","description":"De sager om statens penge, som sitet følger over tid (fx en kampflykøb, en reform eller et sygehusbyggeri): titel, periode, tema, antal begivenheder, involverede institutioner og seneste nyt. Kan filtreres på tema og tekst. Brug sag for hele tidslinjen.\n\n- **Pris:** 0,08 kr. pr. kald (prisklasse `soegning`).\n- **Logges som:** `v1:sager`. MCP-værktøjet hedder `sager`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/sager?tema=sundhed&antal=10\"\n```","tags":["Sager"],"parameters":[{"name":"tema","in":"query","required":false,"description":"Kun sager i temaet. Mulige: sundhed, boern-og-uddannelse, aeldre-og-social, transport, forsvar-politi-og-ret, energi-og-forsyning, erhverv-skat-og-staten, kultur-og-medier.","schema":{"type":"string","maxLength":60},"example":"sundhed"},{"name":"q","in":"query","required":false,"description":"Kun sager hvor titlen eller en involveret institution indeholder teksten.","schema":{"type":"string","maxLength":200}},{"name":"status","in":"query","required":false,"description":"\"aktive\" = kun sager med nyt inden for det seneste år. Standard \"alle\".","schema":{"default":"alle","type":"string","enum":["alle","aktive"]}},{"name":"antal","in":"query","required":false,"description":"Højst så mange sager, nyeste først (1-50, standard 25).","schema":{"default":25,"type":"integer","minimum":1,"maximum":50},"example":10}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: antal, q, status, tema."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"sager","x-statens-penge-prisklasse":"soegning","x-statens-penge-pris-dkk":0.08}},"/v1/sager/sag":{"get":{"operationId":"sag","summary":"Én sag med tidslinje","description":"Én sag med beskrivelse og tidslinje: begivenhederne (bevillinger, besparelser, advarsler, aftaler, finanslovsændringer) med dato, kort resumé, beløb for den enkelte begivenhed, kilde og link. Beløbene må ikke lægges sammen til et samlet tal for sagen; de overlapper ofte. Brug sager for at finde sluggen.\n\n- **Pris:** 0,03 kr. pr. kald (prisklasse `opslag`).\n- **Logges som:** `v1:sag`. MCP-værktøjet hedder `sag`.\n\n```bash\ncurl -H \"Authorization: Bearer $STATENS_PENGE_API_KEY\" \\\n  \"https://www.oekonomiguiden.dk/v1/sager/sag?slug=banedanmark-storstr%C3%B8msbroen&antal=20\"\n```","tags":["Sager"],"parameters":[{"name":"slug","in":"query","required":true,"description":"Sagens slug fra URL'en (fra sager).","schema":{"type":"string","minLength":1,"maxLength":200},"example":"banedanmark-storstrømsbroen"},{"name":"antal","in":"query","required":false,"description":"Højst så mange begivenheder, de nyeste (1-50, standard 40).","schema":{"default":40,"type":"integer","minimum":1,"maximum":50},"example":20}],"responses":{"200":{"description":"Svaret ligger i `data`.","headers":{"X-Statens-Penge-Pris-DKK":{"description":"Hvad netop dette kald kostede, i kroner med to decimaler.","schema":{"type":"string"}},"X-Statens-Penge-Prisklasse":{"description":"Prisklassen kaldet blev afregnet efter.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSvar"}}}},"400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"side\". Gyldige parametre for denne rute: antal, slug."}}}}},"401":{"$ref":"#/components/responses/Fejl401"},"402":{"$ref":"#/components/responses/Fejl402"},"404":{"$ref":"#/components/responses/Fejl404"},"429":{"$ref":"#/components/responses/Fejl429"},"500":{"$ref":"#/components/responses/Fejl500"}},"x-statens-penge-navn":"sag","x-statens-penge-prisklasse":"opslag","x-statens-penge-pris-dkk":0.03}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API-nøgle, der starter med sp_live_. Oprettes under Profil → API-nøgler."}},"schemas":{"DataSvar":{"type":"object","required":["data"],"properties":{"data":{"description":"Resultatet: et objekt med felter og lister."}}},"Fejl":{"type":"object","required":["fejl"],"properties":{"fejl":{"type":"object","required":["kode","besked"],"properties":{"kode":{"type":"integer","description":"HTTP-statuskoden."},"besked":{"type":"string","description":"Hvad der var galt, på dansk."}}}}}},"responses":{"Fejl400":{"description":"Ugyldigt kald. En ukendt parameter eller en ugyldig værdi. Beskeden siger, hvad der var galt. Et filter falder aldrig stille bort. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":400,"besked":"Ukendt parameter \"aaar\". Gyldige parametre for denne rute: aar."}}}}},"Fejl401":{"description":"Ugyldig eller manglende nøgle. Authorization-headeren mangler, eller nøglen er ukendt eller slået fra. MCP-nøgler og Lovguiden-nøgler virker ikke her.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":401,"besked":"Ugyldig API-nøgle. MCP-nøgler og Lovguiden-nøgler virker ikke her - opret en API-nøgle under Profil → API-nøgler."}}}}},"Fejl402":{"description":"Ikke nok saldo. Kaldets pris er større end saldoen på kontoen. Beskeden oplyser begge beløb. Saldoen er fælles med Lovguiden, hvor credits købes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":402,"besked":"Kaldet koster 0,08 kr., og din saldo er 0,00 kr. Køb credits på Lovguiden under Profil → Forbrug & saldo."}}}}},"Fejl404":{"description":"Findes ikke. Det, du slog op, findes ikke - eller stien er ukendt. Et 404 fra et opslag koster som et almindeligt kald.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":404,"besked":"Kontoen 12.99.99 findes ikke på finansloven 2026."}}}}},"Fejl429":{"description":"For mange kald. Højst 60 kald i minuttet pr. nøgle og 5.000 i døgnet pr. konto. Gratis.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":429,"besked":"Rate limit på 60 kald/minut er nået. Vent et øjeblik og prøv igen."}}}}},"Fejl500":{"description":"Serverfejl. Fejl i vores ende. Kaldet koster ikke noget. Prøv igen.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fejl"},"example":{"fejl":{"kode":500,"besked":"Der skete en fejl. Prøv igen om lidt."}}}}}}}}