openapi: 3.0.3
info:
  title: Api til retskreds.
  description: Api til at hente adresse- og kontaktinformationer for retskredse.
  version: 1.6.0
servers:
- url: http://localhost:8080
paths:
  /retskredse:
    get:
      deprecated: true
      tags:
      - retskreds
      operationId: getAllRetskredse
      summary: Hent liste af retskredse.
      description: Dette endpoint er deprecated. Brug v2-udgaven.
      responses:
        '200':
          description: Hent information om alle retskredse.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/retskreds'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /v2/retskredse:
    get:
      tags:
      - retskreds
      operationId: getAllRetskredseV2
      summary: Hent liste af retskredse.
      responses:
        '200':
          description: Hent information om alle retskredse.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/retskredsV2'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /retskredse/{retskredsId}:
    parameters:
    - $ref: '#/components/parameters/retskredsParameter'
    get:
      deprecated: true
      tags:
      - retskreds
      operationId: getRetskreds
      summary: Hent retskreds med id.
      description: Dette endpoint er deprecated. Brug v2-udgaven.
      responses:
        '200':
          description: Information om retskreds med retskredsId.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retskreds'
          links:
            self:
              operationId: hentRetskreds
              parameters:
                retskredsId: $request.path.retskredsId
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /v2/retskredse/{retskredsId}:
    parameters:
    - $ref: '#/components/parameters/retskredsParameter'
    get:
      tags:
      - retskreds
      operationId: getRetskredsV2
      summary: Hent retskreds med id.
      responses:
        '200':
          description: Information om retskreds med retskredsId.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retskredsV2'
          links:
            self:
              operationId: hentRetskreds
              parameters:
                retskredsId: $request.path.retskredsId
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /embeder:
    parameters:
    - $ref: '#/components/parameters/retskredsQueryParameter'
    - $ref: '#/components/parameters/sagsomraadeQueryParameter'
    - $ref: '#/components/parameters/instansniveauQueryParameter'
    get:
      deprecated: true
      tags:
      - retskreds
      operationId: findEmbede
      summary: Hent embedet der håndterer et givent sagsområde på et givent instansniveau
        for en given retskreds.
      responses:
        '200':
          description: Hent information om embedet. Dette endpoint er deprecated.
            Brug v2-udgaven.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/embede'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /v2/embeder:
    parameters:
    - $ref: '#/components/parameters/retskredsQueryParameter'
    - $ref: '#/components/parameters/sagsomraadeQueryParameter'
    - $ref: '#/components/parameters/instansniveauQueryParameter'
    get:
      tags:
      - retskreds
      operationId: findEmbedeV2
      summary: Hent embedet der håndterer et givent sagsområde på et givent instansniveau
        for en given retskreds.
      responses:
        '200':
          description: Hent information om embedet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/embedeV2'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /embeder/{embedskode}:
    parameters:
    - $ref: '#/components/parameters/embedskodeParameter'
    get:
      deprecated: true
      tags:
      - retskreds
      operationId: getEmbede
      summary: Hent embedet ud fra dets embedskode. Dette endpoint er deprecated.
        Brug v2-udgaven.
      responses:
        '200':
          description: Hent information om embedet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/embede'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /v2/embeder/{embedskode}:
    parameters:
    - $ref: '#/components/parameters/embedskodeParameter'
    get:
      tags:
      - retskreds
      operationId: getEmbedeV2
      summary: Hent embedet ud fra dets embedskode.
      responses:
        '200':
          description: Hent information om embedet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/embedeV2'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /embeder/{embedskode}/naesteInstans:
    parameters:
    - $ref: '#/components/parameters/embedskodeParameter'
    - $ref: '#/components/parameters/sagsomraadeQueryParameter'
    get:
      deprecated: true
      tags:
      - retskreds
      operationId: findNaesteInstans
      summary: Hent embedet for næste instans ud fra dets embedskode og sagsområde.
        Dette endpoint er deprecated. Brug v2-udgaven.
      responses:
        '200':
          description: Information om embedet for næste instans.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/embede'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /v2/embeder/{embedskode}/naesteInstans:
    parameters:
    - $ref: '#/components/parameters/embedskodeParameter'
    - $ref: '#/components/parameters/sagsomraadeQueryParameter'
    get:
      tags:
      - retskreds
      operationId: findNaesteInstansV2
      summary: Hent embedet for næste instans ud fra dets embedskode og sagsområde.
      responses:
        '200':
          description: Information om embedet for næste instans.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/embedeV2'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /embeder/{embedskode}/forrigeInstanser:
    parameters:
    - $ref: '#/components/parameters/embedskodeParameter'
    - $ref: '#/components/parameters/sagsomraadeQueryParameter'
    get:
      tags:
      - retskreds
      operationId: findForrigeInstanser
      summary: Hent liste af forrige instans embeder for det angivne embede og sagsområde.
      responses:
        '200':
          description: Information om embederne for forrige instans.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/embede'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /arrester:
    get:
      tags:
      - retskreds
      operationId: hentArrester
      summary: Hent informationer om alle arrester.
      responses:
        '200':
          description: Information om arrester hentet succesfuldt.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/arrest'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /arrester/{arrestkode}:
    parameters:
    - $ref: '#/components/parameters/arrestkodeParameter'
    get:
      tags:
      - retskreds
      operationId: hentArrest
      summary: Hent informationer om specifik arrest ud fra dets arrestkode.
      responses:
        '200':
          description: Information om arresten hentet succesfuldt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/arrest'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /politikredse:
    parameters:
    - $ref: '#/components/parameters/landsretQueryParameter'
    get:
      tags:
      - retskreds
      operationId: hentPolitikredse
      summary: Hent informationer om alle politikredse der passer en evt. filtreret
        søgning.
      responses:
        '200':
          description: Information om politikredse hentet succesfuldt.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/politikreds'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /politikredse/{politikredskode}:
    parameters:
    - $ref: '#/components/parameters/politikredskodeParameter'
    get:
      tags:
      - retskreds
      operationId: hentPolitikreds
      summary: Hent informationer om specifik politikreds ud fra dets politikredskode.
      responses:
        '200':
          description: Information om politikredsen hentet succesfuldt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/politikreds'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /statsadvokaturer:
    parameters:
    - $ref: '#/components/parameters/landsretQueryParameter'
    get:
      tags:
      - retskreds
      operationId: hentStatsadvokaturer
      summary: Hent informationer om alle statsadvokaturer der passer en evt. filtreret
        søgning.
      responses:
        '200':
          description: Information om statsadvokaturer hentet succesfuldt.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/statsadvokatur'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /statsadvokaturer/{statsadvokaturkode}:
    parameters:
    - $ref: '#/components/parameters/statsadvokaturkodeParameter'
    get:
      tags:
      - retskreds
      operationId: hentStatsadvokatur
      summary: Hent informationer om specifik statsadvokatur ud fra dets statsadvokaturkode.
      responses:
        '200':
          description: Information om statsadvokaturet hentet succesfuldt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/statsadvokatur'
        default:
          $ref: '#/components/responses/genericErrorResponse'
security:
- bearerAuth: [
    ]
components:
  parameters:
    retskredsParameter:
      name: retskredsId
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/retskredsId'
      description: Id på retskredsen.
    embedskodeParameter:
      name: embedskode
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/embedskode'
      description: Id på retskredsen.
    arrestkodeParameter:
      name: arrestkode
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/arrestkode'
      description: Unik kode for arresten.
    politikredskodeParameter:
      name: politikredskode
      in: path
      required: true
      schema:
        type: string
        example: 1
      description: Unik kode for politikredsen.
    statsadvokaturkodeParameter:
      name: statsadvokaturkode
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/statsadvokaturkode'
      description: Unik kode for statsadvokaturet.
    landsretQueryParameter:
      name: landsret
      in: query
      required: false
      description: Angiver Landsret kontekst, så de returnerede værdier kun er dem
        der er relevante for den angivne Landsret.
      schema:
        $ref: '#/components/schemas/landsretEmbeder'
    retskredsQueryParameter:
      name: retskredsId
      in: query
      required: true
      description: Id på retskreds hvor hændelsen er relateret til.
      schema:
        $ref: '#/components/schemas/retskredsId'
    sagsomraadeQueryParameter:
      name: sagsomraade
      in: query
      required: true
      description: Sagsområde som hændelsen falder under.
      schema:
        $ref: '#/components/schemas/sagsomraadeEnum'
    instansniveauQueryParameter:
      name: instansniveau
      in: query
      required: true
      description: Instansniveau som embedet skal dække. Hvis ikke specificeret anvendes
        1 som default.
      schema:
        $ref: '#/components/schemas/instansniveauEnum'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    retskreds:
      properties:
        adresse:
          $ref: '#/components/schemas/danskAdresse'
        id:
          $ref: '#/components/schemas/retskredsId'
        navn:
          type: string
        telefonnummer:
          $ref: '#/components/schemas/telefonnummer'
        hovedEmail:
          $ref: '#/components/schemas/email'
        skifteEmail:
          $ref: '#/components/schemas/email'
        embedskode:
          $ref: '#/components/schemas/embedskode'
        cvr:
          $ref: '#/components/schemas/cvrNummer'
        kontonummer:
          $ref: '#/components/schemas/kontonummer'
        bank:
          description: Navnet på retskredsens bank.
          type: string
          example: Danske Bank
      required: [
        ]
    retskredsV2:
      properties:
        adresse:
          $ref: '#/components/schemas/adresse'
        id:
          $ref: '#/components/schemas/retskredsId'
        navn:
          type: string
        telefonnummer:
          $ref: '#/components/schemas/telefonnummer'
        hovedEmail:
          $ref: '#/components/schemas/email'
        skifteEmail:
          $ref: '#/components/schemas/email'
        embedskode:
          $ref: '#/components/schemas/embedskode'
        cvr:
          $ref: '#/components/schemas/cvrNummer'
        kontonummer:
          $ref: '#/components/schemas/kontonummer'
        bank:
          description: Navnet på retskredsens bank.
          type: string
          example: Danske Bank
      required: [
        ]
    embede:
      properties:
        adresse:
          $ref: '#/components/schemas/danskAdresse'
        embedskode:
          $ref: '#/components/schemas/embedskode'
        navn:
          type: string
        hovedTelefonnummer:
          $ref: '#/components/schemas/telefonnummer'
        hovedEmail:
          $ref: '#/components/schemas/email'
        sagsomraadeKontaktoplysninger:
          $ref: '#/components/schemas/sagsomraadeKontaktoplysninger'
        cvr:
          $ref: '#/components/schemas/cvrNummer'
        kontonummer:
          $ref: '#/components/schemas/kontonummer'
        bank:
          description: Navnet på embedets bank.
          type: string
          example: Danske Bank
      required: [
        ]
    embedeV2:
      properties:
        adresse:
          $ref: '#/components/schemas/adresse'
        embedskode:
          $ref: '#/components/schemas/embedskode'
        navn:
          type: string
        hovedTelefonnummer:
          $ref: '#/components/schemas/telefonnummer'
        hovedEmail:
          $ref: '#/components/schemas/email'
        sagsomraadeKontaktoplysninger:
          $ref: '#/components/schemas/sagsomraadeKontaktoplysninger'
        cvr:
          $ref: '#/components/schemas/cvrNummer'
        kontonummer:
          $ref: '#/components/schemas/kontonummer'
        bank:
          description: Navnet på embedets bank.
          type: string
          example: Danske Bank
      required: [
        ]
    sagsomraadeEnum:
      type: string
      enum:
      - SKIFTE
      - STRAFFE
      - INSOLVENS
    instansniveauEnum:
      type: string
      enum:
      - INSTANSNIVEAU_1
      - INSTANSNIVEAU_2
      - INSTANSNIVEAU_3
    sagsomraadeKontaktoplysninger:
      description: Liste med kontaktoplysninger for hvert sagsområde der håndteres
        af embede.
      type: array
      items:
        $ref: '#/components/schemas/kontaktoplysningerForSagsomraade'
    kontaktoplysningerForSagsomraade:
      description: Kontaktoplysninger for et sagsområde håndteret af embedet.
      required:
      - sagsomraade
      - email
      properties:
        sagsomraade:
          $ref: '#/components/schemas/sagsomraadeEnum'
        email:
          $ref: '#/components/schemas/email'
        adresse:
          $ref: '#/components/schemas/danskAdresse'
        telefonnummer:
          $ref: '#/components/schemas/telefonnummer'
        aabningstid:
          type: string
          description: Åbningstiden hvor embedet kan kontaktes.
          example: 8.30-15.00
        navn:
          type: string
    arrest:
      required:
      - arrestkode
      - navn
      properties:
        arrestkode:
          $ref: '#/components/schemas/arrestkode'
        navn:
          type: string
          example: Assens Arrest
    politikreds:
      properties:
        politikredskode:
          $ref: '#/components/schemas/politikredskode'
        navn:
          type: string
          example: Københavns Politi
        telefonnummer:
          $ref: '#/components/schemas/telefonnummer'
        email:
          $ref: '#/components/schemas/email'
      required:
      - politikredskode
      - navn
      - telefonnummer
      - email
    statsadvokatur:
      properties:
        statsadvokaturkode:
          $ref: '#/components/schemas/statsadvokaturkode'
        navn:
          type: string
          example: Statsadvokaten i Viborg
        telefonnummer:
          $ref: '#/components/schemas/telefonnummer'
        email:
          $ref: '#/components/schemas/email'
      required:
      - statsadvokaturkode
      - navn
      - telefonnummer
      - email
    landsretEmbeder:
      type: string
      enum:
      - OLR
      - VLR
    danskAdresse:
      deprecated: true
      x-namespace: dk.domstol.oas.common
      required:
      - adresselinje
      - postnummer
      - by
      properties:
        adresselinje:
          type: string
          maxLength: 255
        postnummer:
          type: string
          maxLength: 4
        by:
          type: string
          maxLength: 255
    landekodeEnum:
      x-namespace: dk.domstol.oas.common
      type: string
      enum:
      - AF
      - AL
      - DZ
      - AS
      - VI
      - AD
      - AO
      - AI
      - AQ
      - AG
      - AR
      - AM
      - AW
      - AZ
      - AU
      - BS
      - BH
      - BD
      - BB
      - BY
      - BE
      - BZ
      - BJ
      - BM
      - BT
      - BO
      - BQ
      - BA
      - BW
      - BV
      - BR
      - IO
      - VG
      - BN
      - BG
      - BF
      - BI
      - KH
      - CM
      - CA
      - KY
      - CF
      - CL
      - CC
      - CO
      - KM
      - CD
      - CG
      - CK
      - CR
      - CU
      - CW
      - CY
      - DK
      - DJ
      - DM
      - DO
      - EC
      - EG
      - SV
      - CI
      - ER
      - EE
      - SZ
      - ET
      - FK
      - FJ
      - PH
      - FI
      - AE
      - FR
      - GF
      - PF
      - TF
      - FO
      - GA
      - GM
      - GE
      - GH
      - GI
      - GD
      - GR
      - GL
      - GP
      - GU
      - GT
      - GG
      - GN
      - GW
      - GY
      - HT
      - HM
      - HN
      - HK
      - IN
      - ID
      - IQ
      - IR
      - IE
      - IS
      - IM
      - IL
      - IT
      - JM
      - JP
      - JE
      - JO
      - CX
      - CV
      - KZ
      - KE
      - CN
      - KG
      - KI
      - HR
      - KW
      - LA
      - LS
      - LV
      - LB
      - LR
      - LY
      - LI
      - LT
      - LU
      - MO
      - MG
      - MW
      - MY
      - MV
      - ML
      - MT
      - MA
      - MH
      - MQ
      - MR
      - MU
      - YT
      - MX
      - FM
      - MD
      - MC
      - MN
      - ME
      - MS
      - MZ
      - MM
      - NA
      - NR
      - NL
      - NP
      - NZ
      - NI
      - NE
      - NG
      - NU
      - KP
      - MK
      - MP
      - NF
      - 'NO'
      - NC
      - OM
      - PK
      - PW
      - PS
      - PA
      - PG
      - PY
      - PE
      - PN
      - PL
      - PT
      - PR
      - QA
      - RE
      - RO
      - RU
      - RW
      - SB
      - WS
      - SM
      - ST
      - SA
      - CH
      - SN
      - RS
      - SC
      - SL
      - SG
      - BL
      - SH
      - KN
      - LC
      - SX
      - PM
      - VC
      - SK
      - SI
      - SO
      - ES
      - LK
      - MF
      - GB
      - SD
      - SR
      - SJ
      - SE
      - ZA
      - GS
      - KR
      - SS
      - SY
      - TJ
      - TW
      - TZ
      - TD
      - TH
      - CZ
      - TG
      - TK
      - TO
      - TT
      - TN
      - TM
      - TC
      - TV
      - TR
      - DE
      - UG
      - UA
      - HU
      - UY
      - US
      - UM
      - UZ
      - VU
      - VA
      - VE
      - EH
      - VN
      - WF
      - YE
      - ZM
      - ZW
      - GQ
      - AT
      - TL
      - AX
    struktureretDanskAdresse:
      description: Dansk struktureret adresse.
      x-namespace: dk.domstol.oas.common.adressev2
      required:
      - adresselinje
      - postnummer
      - postdistrikt
      properties:
        darId:
          $ref: '#/components/schemas/id'
        adresselinje:
          type: string
        postnummer:
          type: string
        postdistrikt:
          description: Navnet på postnummeret. Dette fremstilles typisk som sidste
            led, fx 2630 Taastrup.
          type: string
        supplerendeBynavn:
          description: 'Optionelt felt - typisk landsbyens navn eller andet lokalt
            stednavn der er fastsat af kommunen for at præcisere adressens beliggenhed
            indenfor postnummeret. Indgår som en del af den officielle adressebetegnelse.
            Indtil 34 tegn. Eksempel: ”Sønderholm”.'
          type: string
          maxLength: 34
    fritekstadresse:
      description: Danske eller udenlandsk adresse i fritekstform.
      x-namespace: dk.domstol.oas.common.adressev2
      required:
      - adresselinje1
      properties:
        adresselinje1:
          type: string
          maxLength: 200
        adresselinje2:
          type: string
          maxLength: 200
        adresselinje3:
          type: string
          maxLength: 200
        adresselinje4:
          type: string
          maxLength: 200
        adresselinje5:
          type: string
          maxLength: 200
        landekode:
          $ref: '#/components/schemas/landekodeEnum'
    adresse:
      description: Wrapper til adresser af forskellige typer.
      x-namespace: dk.domstol.oas.common.adressev2
      required:
      - adressetype
      properties:
        struktureretDanskAdresse:
          $ref: '#/components/schemas/struktureretDanskAdresse'
        fritekstadresse:
          $ref: '#/components/schemas/fritekstadresse'
        adressetype:
          $ref: '#/components/schemas/adressetype'
    adressetype:
      x-namespace: dk.domstol.oas.common.adressev2
      type: string
      enum:
      - STRUKTURERET_DANSK_ADRESSE
      - FRITEKSTADRESSE
      - INGEN_ADRESSE
    apiError:
      x-namespace: dk.domstol.oas.common
      required:
      - code
      - status
      - message
      - path
      - timestamp
      properties:
        code:
          description: Human readable HTTP status message.
          type: string
        status:
          description: HTTP status code.
          type: integer
        message:
          description: Message describing the error.
          type: string
        path:
          description: The path of the error.
          type: string
        timestamp:
          description: Date and time of the error.
          type: string
          format: date-time
        details:
          description: Detailed description of the error(s).
          type: array
          items:
            $ref: '#/components/schemas/details'
    details:
      type: string
    id:
      type: string
      format: uuid
    cvrNummer:
      type: string
      pattern: ^[1-9][0-9]{7}$
    email:
      type: string
      format: email
      maxLength: 128
    retskredsId:
      description: Unikt ID for en given retskreds, der kan anvendes til identificering
        af en specifik retskreds i retskreds-service.
      type: string
      pattern: ^\d{4}$
    telefonnummer:
      type: string
      pattern: ^\+?\d*$
      maxLength: 20
    embedskode:
      description: Unik forkortelse for et givent embede, der kan anvendes til identificering
        af et specifik embede i retskreds-service.
      type: string
      pattern: ^[A-ZÆØÅ]{3}$
      maxLength: 3
      minLength: 3
    arrestkode:
      description: Unik forkortelse for en given arrest, der kan anvendes til identificering
        af en specifik arrest i retskreds-service.
      type: string
      pattern: ^[A-ZÆØÅ]{3}$
      maxLength: 3
      minLength: 3
    kontonummer:
      type: string
      pattern: ^\d{4}-\d{2,10}$
    politikredskode:
      x-namespace: dk.domstol.oas.common
      type: string
      enum:
      - '01'
      - '02'
      - '03'
      - '04'
      - '05'
      - '06'
      - '07'
      - '08'
      - '09'
      - '10'
      - '11'
      - '12'
      - '13'
      - '15'
      - '22'
    statsadvokaturkode:
      description: Unik forkortelse for et givent statsadvokatur, der kan anvendes
        til identificering af et specifikt statsadvokatur i retskreds-service.
      type: string
      pattern: ^[A-ZÆØÅ]{3}$
      maxLength: 3
      minLength: 3
    directionEnum:
      x-namespace: dk.domstol.oas.common
      type: string
      enum:
      - ASC
      - DESC
  headers: {
    }
  responses:
    genericErrorResponse:
      description: Svar ved fejl.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/apiError'
  requestBodies: {
    }