openapi: 3.0.3
info:
  title: Api til virksomhed.
  description: Api til at hente stamdata om virksomheder.
  version: 1.3.0
servers:
- url: http://localhost:8080
paths:
  /virksomheder/{cvrNummer}:
    parameters:
    - $ref: '#/components/parameters/cvrNummerParameter'
    get:
      deprecated: true
      tags:
      - virksomhed
      operationId: getVirksomhed
      summary: Hent virksomhed med cvrnummer.
      responses:
        '200':
          description: Information om virksomheden med CVR-nummer. Dette endpoint
            er deprecated og v2 bør benyttes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/virksomhed'
          links:
            self:
              operationId: hentVirksomhed
              parameters:
                cvrNummer: $request.path.cvrNummer
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /v2/virksomheder/{cvrNummer}:
    parameters:
    - $ref: '#/components/parameters/cvrNummerParameter'
    get:
      tags:
      - virksomhed
      operationId: getCvrVirksomhed
      summary: Hent virksomhed med cvrnummer.
      responses:
        '200':
          description: Information om virksomheden med CVR-nummer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cvrVirksomhed'
          links:
            self:
              operationId: hentVirksomhed
              parameters:
                cvrNummer: $request.path.cvrNummer
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /virksomheder/{cvrNummer}/retskredskode:
    parameters:
    - $ref: '#/components/parameters/cvrNummerParameter'
    get:
      tags:
      - virksomhed
      operationId: getRetskredskodeForVirksomhed
      summary: Hent retkredskoden for virksomhed med cvrnummer baseret på virksomhedens
        adresse.
      responses:
        '200':
          description: Retskredskoden for retskredsen som virksomheden hører til.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retskredsinfo'
        default:
          $ref: '#/components/responses/genericErrorResponse'
  /virksomheder/{cvrNummer}/detaljeretAdresse:
    parameters:
    - $ref: '#/components/parameters/cvrNummerParameter'
    get:
      tags:
      - virksomhed
      operationId: getDetaljeretDanskAdresseByCvrNummer
      summary: Finder detaljeret dansk adresse for virksomhed med det angivne cvr.
      responses:
        '200':
          description: Detaljeret adresse på virksomhed med det angivne cvr returneres.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/detaljeretDanskAdresse'
        default:
          $ref: '#/components/responses/genericErrorResponse'
security:
- bearerAuth: [
    ]
components:
  parameters:
    cvrNummerParameter:
      name: cvrNummer
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/cvrNummer'
      description: Virksomhedens CVR-nummer.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    virksomhed:
      deprecated: true
      properties:
        adresse:
          $ref: '#/components/schemas/darAdresse'
        cvrnummer:
          $ref: '#/components/schemas/cvrNummer'
        navn:
          type: string
        reklamebeskyttet:
          type: boolean
      required:
      - cvrnummer
      - navn
    cvrVirksomhed:
      required:
      - adresse
      - cvrnummer
      - navn
      properties:
        adresse:
          $ref: '#/components/schemas/adresse'
        cvrnummer:
          $ref: '#/components/schemas/cvrNummer'
        navn:
          type: string
        reklamebeskyttet:
          type: boolean
    retskredsinfo:
      required:
      - retskredskode
      properties:
        retskredskode:
          type: string
    id:
      type: string
      format: uuid
    cvrNummer:
      type: string
      pattern: ^[1-9][0-9]{7}$
    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}$
    directionEnum:
      x-namespace: dk.domstol.oas.common
      type: string
      enum:
      - ASC
      - DESC
    darAdresse:
      deprecated: true
      x-namespace: dk.domstol.oas.common
      description: Repræsentation af adresse fra Dansk Adresse Register (DAR).
      required:
      - id
      - adresselinje
      - postnummer
      - by
      properties:
        id:
          $ref: '#/components/schemas/id'
        adresselinje:
          type: string
        postnummer:
          type: string
        by:
          type: string
        retskredsId:
          $ref: '#/components/schemas/retskredsId'
    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
      - null
    detaljeretDanskAdresse:
      description: Detaljeret dansk adresse.
      x-namespace: dk.domstol.oas.common.adressev2
      properties:
        coLokalitet:
          type: string
        vej:
          type: string
        husnr:
          type: string
        etage:
          type: string
        sideDoer:
          type: string
        by:
          type: string
        postdistrikt:
          type: string
        postnummer:
          type: string
    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
  headers: {
    }
  responses:
    genericErrorResponse:
      description: Svar ved fejl.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/apiError'
  requestBodies: {
    }
