Regeringskansliets rättsdatabaser

Regeringskansliets rättsdatabaser innehåller lagar, förordningar, kommittédirektiv och kommittéregistret.

Översikt

RKRattsAPI tillhandahåller ett REST-liknande API för att söka efter rättsinformation i Regeringskansliets rättsinformationsdatabas.

RKRattsAPI är ett API baserat på Open Data Protocol (OData), mer bestämt OData version 4.0.

OData bygger på teknologier såsom HTTP, AtomPub, XML och JSON för att publicera och konsumera data. Se http://www.odata.org/ för mer information.

RKRattsAPI förutsätter alltså en klient som stödjer HTTP/1.1-specifikationen. De resurser som RKRattsAPI exponerar stödjer enbart HTTP GET-requests, men klienten behöver kunna ta emot och hantera HTTP-responses.

Resurser

Alla anrop till RKRattsAPI sker med HTTP GET-anrop. Svaret levereras som JSON-format om inget annat anges i anropet.

Exempelanrop till externa produktionsmiljön på https://rkrattsapi.gov.se:

HTTP GET-anrop med cURL där inga ytterligare URL-query-parameter används:

curl 'https://rkrattsapi.gov.se/'

Resultat:


{
  "$id": "1",
  "EntitySets": [
    {
      "$id": "2",
      "Url": "SFSFulltext",
      "Name": "SFSFulltext",
      "Title": null,
      "TypeAnnotation": null
    },
    {
      "$id": "3",
      "Url": "SFSRegister",
      "Name": "SFSRegister",
      "Title": null,
      "TypeAnnotation": null
    },
    {
      "$id": "4",
      "Url": "Kommitteberattelser",
      "Name": "Kommitteberattelser",
      "Title": null,
      "TypeAnnotation": null
    },
    {
      "$id": "5",
      "Url": "Kommittedirektiv",
      "Name": "Kommittedirektiv",
      "Title": null,
      "TypeAnnotation": null
    },
    {
      "$id": "6",
      "Url": "Skrivelser",
      "Name": "Skrivelser",
      "Title": null,
      "TypeAnnotation": null
    }
  ],
  "Singletons": [],
  "FunctionImports": [],
  "TypeAnnotation": null
}

SFSRegister

SFSRegister
är en OData-collection.

SFS-registret är ett register över lagar och förordningar i Svensk författningssamling (SFS). Författningar som inte gäller längre finns också med.

Använd HTTP GET BasURI/SFSRegister, där BasURI ersätts med miljö som skall användas.

SFSFulltext

SFSFulltext
är en OData-collection.

Här hittar du lagar och förordningar i den senaste versionen med alla ändringar införda i den ursprungliga texten.

Använd HTTP GET BasURI/SFSFulltext, där BasURI ersätts med miljö som skall användas.

Kommitteregister

Kommitteregister
är en OData-collection.

SKommittéregistret innehåller uppgifter om pågående och avslutade kommittéer under regeringen. Registret visar ledamöter, arbetsplaner och vilka betänkanden som kommittéerna har publicerat.

Använd HTTP GET BasURI/Kommitteregister, där BasURI ersätts med miljö som skall användas.

Kommittedirektiv

Kommittedirektiv
är en OData-collection.

När en fråga ska utredas kan regeringen välja att tillsätta en kommitté. Regeringen ger då riktlinjer för arbetet i ett kommittédirektiv.

Använd HTTP GET BasURI/Kommittedirektiv, där BasURI ersätts med miljö som skall användas.

Skrivelser

Skrivelser
är en OData-collection.

En proposition är ett förslag från regeringen till riksdagen. En proposition kan innehålla förslag till nya lagar eller riktlinjer. När regeringen vill lämna information till riksdagen i ett ärende kan regeringen göra det i en skrivelse.

Använd HTTP GET BasURI/Skrivelser, där BasURI ersätts med miljö som skall användas.

Metoder

Inga metoder finns tillgängliga i denna version.

Exempelanrop

HTTP GET-anrop med cURL för att hämta en (1) SFS från från SFSRegister:

curl 'http://rkrattsapi.gov.se/SFSRegister?$top=1'

Resultat i JSON-format:


[
  {
    "$id": "1",
    "sfsr_id": 2,
    "SFS_nr": "1686:0903",
    "DepartementMyndighet": "Civildepartementet",
    "Publiceringsar": 1686,
    "Rubrik": "Kyrkolag (1686:0903)\r\n",
    "Ikrafttradandedatum": null,
    "Forarbeten": null,
    "Uppslagsord": "kyrkolag ",
    "UpphavsDatum": "1993-01-01T00:00:00",
    "TidsbegransadTOM": null,
    "Lopnummer": 903,
    "Celexnummer": null,
    "Sokord1": null,
    "Sokord2": null,
    "Sokord3": null,
    "Sokord4": null,
    "Sokord5": null,
    "Sokord6": null,
    "Sokord7": null,
    "Sokord8": null,
    "Sokord9": null,
    "Sokord10": null,
    "Overgangsbestammelser": null,
    "OvergangsbestammelserVidTidsbegransning": null,
    "UpphDenDagRegeringenBestammer": null,
    "LopnummerAldreForfattningar": null,
    "Forfattningssamling": null,
    "DatumNyregistrering": null,
    "DatumAndring": "2008-11-27T00:00:00",
    "ForfattningsTyp": "L",
    "ModStamp": null,
    "Andringsforfattningar": []
  }
]

Notera att Verbose JSON-formatet returnerar relationskopplingar i svaret. Här kan vi se en koppling till 

Andringsforfattningar
 och navigera till den genom att följa den URI som pekas ut:

http://rkrattsapi.gov.se/SFSRegister(2)/Andringsforfattningar

Datamodeller

En sammanfattning av samtliga datamodeller kan erhållas genom att göra ett HTTP GET-anrop med cURL där ytterligare URL-query-parameter $metadata används:

curl 'http://rkrattsapi.gov.se/$metadata'

Resultat i XML-format:



<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
    <edmx:DataServices>
        <Schema Namespace="RKRattsAPI.Models" xmlns="http://docs.oasis-open.org/odata/ns/edm">
            <EntityType Name="SFSFulltext">
                <Key>
                    <PropertyRef Name="sfst_id" />
                </Key>
                <Property Name="sfst_id" Type="Edm.Int32" Nullable="false" />
                <Property Name="SFS_nr" Type="Edm.String" />
                <Property Name="DepartementMyndighet" Type="Edm.String" />
                <Property Name="AndringInford" Type="Edm.String" />
                <Property Name="Omtryck" Type="Edm.String" />
                <Property Name="TidsbegransadTOM" Type="Edm.DateTimeOffset" />
                <Property Name="Upphavsdatum" Type="Edm.DateTimeOffset" />
                <Property Name="Forfattningstext" Type="Edm.String" />
                <Property Name="UtfardadDatum" Type="Edm.DateTimeOffset" Nullable="false" />
                <Property Name="UpphavsGenom" Type="Edm.String" />
                <Property Name="Ovrigt" Type="Edm.String" />
                <Property Name="Rubrik" Type="Edm.String" />
                <Property Name="Publiceringsar" Type="Edm.Int32" Nullable="false" />
                <Property Name="Lopnummer" Type="Edm.Int32" />
                <Property Name="DatumNyregistrering" Type="Edm.DateTimeOffset" />
                <Property Name="DatumAndring" Type="Edm.String" />
                <Property Name="ModStamp" Type="Edm.DateTimeOffset" />
            </EntityType>
            <EntityType Name="SFSRegister">
                <Key>
                    <PropertyRef Name="sfsr_id" />
                </Key>
                <Property Name="sfsr_id" Type="Edm.Int32" Nullable="false" />
                <Property Name="SFS_nr" Type="Edm.String" />
                <Property Name="DepartementMyndighet" Type="Edm.String" />
                <Property Name="Publiceringsar" Type="Edm.Int32" Nullable="false" />
                <Property Name="Rubrik" Type="Edm.String" />
                <Property Name="Ikrafttradandedatum" Type="Edm.DateTimeOffset" />
                <Property Name="Forarbeten" Type="Edm.String" />
                <Property Name="Uppslagsord" Type="Edm.String" />
                <Property Name="UpphavsDatum" Type="Edm.DateTimeOffset" />
                <Property Name="TidsbegransadTOM" Type="Edm.DateTimeOffset" />
                <Property Name="Lopnummer" Type="Edm.Int32" />
                <Property Name="Celexnummer" Type="Edm.String" />
                <Property Name="Sokord1" Type="Edm.String" />
                <Property Name="Sokord2" Type="Edm.String" />
                <Property Name="Sokord3" Type="Edm.String" />
                <Property Name="Sokord4" Type="Edm.String" />
                <Property Name="Sokord5" Type="Edm.String" />
                <Property Name="Sokord6" Type="Edm.String" />
                <Property Name="Sokord7" Type="Edm.String" />
                <Property Name="Sokord8" Type="Edm.String" />
                <Property Name="Sokord9" Type="Edm.String" />
                <Property Name="Sokord10" Type="Edm.String" />
                <Property Name="Overgangsbestammelser" Type="Edm.String" />
                <Property Name="OvergangsbestammelserVidTidsbegransning" Type="Edm.String" />
                <Property Name="UpphDenDagRegeringenBestammer" Type="Edm.String" />
                <Property Name="LopnummerAldreForfattningar" Type="Edm.String" />
                <Property Name="Forfattningssamling" Type="Edm.String" />
                <Property Name="DatumNyregistrering" Type="Edm.DateTimeOffset" />
                <Property Name="DatumAndring" Type="Edm.DateTimeOffset" />
                <Property Name="ForfattningsTyp" Type="Edm.String" />
                <Property Name="ModStamp" Type="Edm.DateTimeOffset" />
                <NavigationProperty Name="Andringsforfattningar" Type="Collection(RKRattsAPI.Models.Andringsforfattningar)" />
            </EntityType>
            <EntityType Name="Kommitteregister">
                <Key>
                    <PropertyRef Name="komm_id" />
                </Key>
                <Property Name="komm_id" Type="Edm.Int32" Nullable="false" />
                <Property Name="Kommittebeteckning" Type="Edm.String" />
                <Property Name="KodForDepartement" Type="Edm.String" />
                <Property Name="Departement" Type="Edm.String" />
                <Property Name="Statuskod" Type="Edm.String" />
                <Property Name="StatusIKlartext" Type="Edm.String" />
                <Property Name="Lopnummer" Type="Edm.Int32" />
                <Property Name="DatumAndring" Type="Edm.DateTimeOffset" Nullable="false" />
                <Property Name="Rubrik" Type="Edm.String" />
                <Property Name="BemyndigandeDatum" Type="Edm.String" />
                <Property Name="Lokal" Type="Edm.String" />
                <Property Name="BeraknatAvslutandedatum" Type="Edm.DateTimeOffset" />
                <Property Name="Sokord" Type="Edm.String" />
                <Property Name="DirektivForUtredningen" Type="Edm.String" />
                <Property Name="Ovrigt" Type="Edm.String" />
                <NavigationProperty Name="Betankande" Type="Collection(RKRattsAPI.Models.Betankande)" />
                <NavigationProperty Name="Sammansattning" Type="Collection(RKRattsAPI.Models.Sammansattning)" />
            </EntityType>
            <EntityType Name="Kommittedirektiv">
                <Key>
                    <PropertyRef Name="dir_id" />
                </Key>
                <Property Name="dir_id" Type="Edm.Int32" Nullable="false" />
                <Property Name="Kommittebeteckning" Type="Edm.String" />
                <Property Name="KodForDepartement" Type="Edm.String" />
                <Property Name="Departement" Type="Edm.String" />
                <Property Name="DatumForRegeringsbeslut" Type="Edm.DateTimeOffset" />
                <Property Name="Rubrik" Type="Edm.String" />
                <Property Name="Loptext" Type="Edm.String" />
                <Property Name="DatumAndring" Type="Edm.DateTimeOffset" Nullable="false" />
                <Property Name="BetIBasenKOMM" Type="Edm.String" />
            </EntityType>
            <EntityType Name="Skrivelser">
                <Key>
                    <PropertyRef Name="ptnr" />
                </Key>
                <Property Name="ptnr" Type="Edm.Int32" Nullable="false" />
                <Property Name="Riksdagsar" Type="Edm.String" />
                <Property Name="Nummer" Type="Edm.Int32" />
                <Property Name="Rubrik" Type="Edm.String" />
                <Property Name="Text" Type="Edm.String" />
                <Property Name="Dokumentnummer" Type="Edm.String" />
                <Property Name="Beslutsdag" Type="Edm.DateTimeOffset" Nullable="false" />
                <Property Name="Undertecknare" Type="Edm.String" />
                <Property Name="KontrasignerandeStatsrad" Type="Edm.String" />
                <Property Name="Departement" Type="Edm.String" />
                <Property Name="Fortext" Type="Edm.String" />
                <Property Name="DokumentTyp" Type="Edm.String" />
                <Property Name="Dokumentidentifikation" Type="Edm.String" />
                <Property Name="RubrikPaYtterligareDokument" Type="Edm.String" />
                <NavigationProperty Name="SkrivelseFiler" Type="Collection(RKRattsAPI.Models.SkrivelseFiler)" />
            </EntityType>
            <EntityType Name="Andringsforfattningar">
                <Key>
                    <PropertyRef Name="delpost_id" />
                </Key>
                <Property Name="delpost_id" Type="Edm.Int32" Nullable="false" />
                <Property Name="SFS_nr" Type="Edm.String" />
                <Property Name="Omfattning" Type="Edm.String" />
                <Property Name="Ikrafttradandedatum" Type="Edm.DateTimeOffset" />
                <Property Name="Forarbeten" Type="Edm.String" />
                <Property Name="Rubrik" Type="Edm.String" />
                <Property Name="Lopnummer" Type="Edm.Int32" />
                <Property Name="Celexnummer" Type="Edm.String" />
                <Property Name="Overgangsbestammelser" Type="Edm.String" />
                <Property Name="LopnummerAldreForfattningar" Type="Edm.String" />
                <Property Name="Publiceringsar" Type="Edm.Int32" />
                <Property Name="sfsr_id" Type="Edm.Int32" />
                <Property Name="ModStamp" Type="Edm.DateTimeOffset" />
            </EntityType>
            <EntityType Name="Betankande">
                <Key>
                    <PropertyRef Name="rapport_id" />
                </Key>
                <Property Name="rapport_id" Type="Edm.Int32" Nullable="false" />
                <Property Name="Id" Type="Edm.String" />
                <Property Name="Titel" Type="Edm.String" />
                <Property Name="komm_id" Type="Edm.Int32" Nullable="false" />
            </EntityType>
            <EntityType Name="Sammansattning">
                <Key>
                    <PropertyRef Name="kommedlem_id" />
                </Key>
                <Property Name="kommedlem_id" Type="Edm.Int32" Nullable="false" />
                <Property Name="Roll" Type="Edm.String" />
                <Property Name="Titel" Type="Edm.String" />
                <Property Name="Grupp" Type="Edm.String" />
                <Property Name="Fornamn" Type="Edm.String" />
                <Property Name="Efternamn" Type="Edm.String" />
                <Property Name="Kon" Type="Edm.String" />
                <Property Name="FranOchMedDatum" Type="Edm.DateTimeOffset" />
                <Property Name="TillOchMedDatum" Type="Edm.DateTimeOffset" />
                <Property Name="komm_id" Type="Edm.Int32" Nullable="false" />
            </EntityType>
            <EntityType Name="SkrivelseFiler">
                <Key>
                    <PropertyRef Name="ptnr" />
                </Key>
                <Property Name="ptnr" Type="Edm.Int32" Nullable="false" />
                <Property Name="Riksdagsar" Type="Edm.String" />
                <Property Name="Nummer" Type="Edm.Int32" />
                <Property Name="Filtyp" Type="Edm.String" />
                <Property Name="Dokument" Type="Edm.Binary" />
                <Property Name="Dokumentstorlek" Type="Edm.Int32" />
                <Property Name="PdfDokument" Type="Edm.Binary" />
                <Property Name="PdfDokumentstorlek" Type="Edm.Int32" />
                <Property Name="Skrivelse_id" Type="Edm.Int32" Nullable="false" />
            </EntityType>
        </Schema>
        <Schema Namespace="Default" xmlns="http://docs.oasis-open.org/odata/ns/edm">
            <EntityContainer Name="Container">
                <EntitySet Name="SFSFulltext" EntityType="RKRattsAPI.Models.SFSFulltext">
                    <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
                        <Collection>
                            <PropertyPath>sfst_id</PropertyPath>
                            <PropertyPath>DatumNyregistrering</PropertyPath>
                            <PropertyPath>DatumAndring</PropertyPath>
                        </Collection>
                    </Annotation>
                </EntitySet>
                <EntitySet Name="SFSRegister" EntityType="RKRattsAPI.Models.SFSRegister">
                    <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
                        <Collection>
                            <PropertyPath>sfsr_id</PropertyPath>
                            <PropertyPath>DatumNyregistrering</PropertyPath>
                            <PropertyPath>DatumAndring</PropertyPath>
                        </Collection>
                    </Annotation>
                </EntitySet>
                <EntitySet Name="Kommitteregister" EntityType="RKRattsAPI.Models.Kommitteregister">
                    <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
                        <Collection>
                            <PropertyPath>komm_id</PropertyPath>
                            <PropertyPath>DatumAndring</PropertyPath>
                        </Collection>
                    </Annotation>
                </EntitySet>
                <EntitySet Name="Kommittedirektiv" EntityType="RKRattsAPI.Models.Kommittedirektiv">
                    <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
                        <Collection>
                            <PropertyPath>dir_id</PropertyPath>
                            <PropertyPath>DatumAndring</PropertyPath>
                        </Collection>
                    </Annotation>
                </EntitySet>
                <EntitySet Name="Skrivelser" EntityType="RKRattsAPI.Models.Skrivelser">
                    <Annotation Term="Org.OData.Core.V1.OptimisticConcurrency">
                        <Collection>
                            <PropertyPath>ptnr</PropertyPath>
                            <PropertyPath>Riksdagsar</PropertyPath>
                            <PropertyPath>Nummer</PropertyPath>
                        </Collection>
                    </Annotation>
                </EntitySet>
            </EntityContainer>
        </Schema>
    </edmx:DataServices>
</edmx:Edmx>

Operatörer

OData erbjuder en rad olika operatörer för att plocka ut delmängder ur den data man söker, exempel på operatörer är $select, $expand, $filter. Mer information om operatörer hittar du på http://www.odata.org.

Övrigt

Eftersom RKRattsAPI är en OData-tjänst så finns det klienter som kan vara av intresse:

.NET: http://www.odata.org/libraries/dot-net/

Java: http://www.odata.org/libraries/java/

JavaScript: http://www.odata.org/libraries/javascript/