openapi: 3.0.3
info:
  title: API til dirigent forespørgsler for tvangsopløsningssager foretaget af likvidatorer.
  description: Denne specifikation er tiltænkt API-brugere, der som eksterne aktører ønsker at agere som likvidator i insolvenssager.
  version: 7.3.7
servers:
  - url: 'http://localhost:8080'

paths:
  /tvangsoploesningssagerLikvidator/{sagId}:
    parameters:
      - $ref: '#/components/parameters/sagId'
    get:
      tags:
        - insolvensDirigentLikvidator
      operationId: getTvangsoploesningssagLikvidator
      description: Hent specifik tvangsopløsningssag udfra dets sagId (ikke sagsnummer) som likvidator.
      responses:
        200:
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/inhabil:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentLikvidator
      operationId: erklaerInhabilLikvidator
      description: Erklær sig selv inhabil som likvidator.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/inhabil'
      responses:
        201:
          description: Inhabilitetserklæring er gemt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/redegoerelser:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentLikvidator
      operationId: indsendRedegoerelse
      description: Indsend redegørelse på sagen.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/redegoerelse'
      responses:
        201:
          description: Redegørelse er gemt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/konkursbegaeringer:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentLikvidator
      operationId: indgivKonkursbegaering
      description: Indgiv konkursbegæring på sagen.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/konkursbegaering'
      responses:
        201:
          description: Konkursbegæring er gemt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/konkursbegaeringer/tilbagetraek:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentLikvidator
      operationId: tilbagetraekKonkursbegaering
      description: Træk konkursbegæring på sagen tilbage.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/tilbagetraekKonkursbegaering'
      responses:
        200:
          description: Konkursbegæring er trukket tilbage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/fristudsaettelser:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentLikvidator
      operationId: anmodFristudsaettelse
      description: Anmod om fristudsættelse for specifikke frister på sagen.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fristudsaettelseAnmodning'
      responses:
        201:
          description: Anmodningen om fristudsættelse er gemt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/sagens-gang:
    parameters:
      - $ref: '#/components/parameters/sagId'
      - $ref: './imported/pagination/pagination.yaml#/components/parameters/page'
      - $ref: './imported/pagination/pagination.yaml#/components/parameters/size'
    get:
      tags:
        - insolvensDirigentLikvidator
      operationId: getSagensGangListeLikvidator
      description: Hent liste (side) af sagens gang hændelser.
      responses:
        200:
          description: OK.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/sagensGangBegivenhedLikvidator'
          headers:
            'X-Total-Count':
              $ref: './imported/pagination/pagination.yaml#/components/headers/totalCount'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/yderligerelikvidatorer:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentLikvidator
      operationId: anmodOmYderligereLikvidatorer
      description: Anmod om udpegning af yderligere likvidatorer på sagen.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/yderligereLikvidatorAnmodning'
      responses:
        201:
          description: Anmodningen er gemt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/revisorer:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentLikvidator
      operationId: anmodOmRevisor
      description: Anmod om udpegning af revisor på sagen.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/revisorAnmodning'
      responses:
        201:
          description: Anmodningen er gemt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagLikvidator'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/krav:
    parameters:
      - $ref: '#/components/parameters/sagId'
    get:
      tags:
        - insolvensDirigentLikvidator
      operationId: hentAlleKrav
      summary: Hent liste af krav for en tvangsopløsningssag.
      responses:
        '200':
          description: Liste af anmeldte krav for tvangsopløsningssagen returneret.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/krav'
        404:
          description: Sagen findes ikke.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/krav/{kravId}:
    parameters:
      - $ref: '#/components/parameters/sagId'
      - $ref: '#/components/parameters/kravId'
    get:
      tags:
        - insolvensDirigentLikvidator
      summary: Hent enkelt krav for tvangsopløsningssag.
      operationId: hentKrav
      responses:
        '200':
          description: Krav på tvangsopløsningssag hentet succesfuldt.
          content:
            application/json:
              schema:
                $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/krav'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/tilgodehavender:
    parameters:
      - $ref: '#/components/parameters/sagId'
    get:
      tags:
        - insolvensDirigentLikvidator
      operationId: hentAlleTilgodehavender
      summary: Hent liste af tilgodehavender for tvangsopløsningssag.
      responses:
        '200':
          description: Viser en liste af tilgodehavender.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/tilgodehavende'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerLikvidator/{sagId}/tilgodehavender/{tilgodehavendeId}:
    parameters:
      - $ref: '#/components/parameters/sagId'
      - $ref: '#/components/parameters/tilgodehavendeId'
    get:
      tags:
        - insolvensDirigentLikvidator
      summary: Hent enkelt tilgodehavende for tvangsopløsningssag.
      operationId: hentTilgodehavende
      responses:
        '200':
          description: Tilgodehavende på tvangsopløsningssag hentet succesfuldt.
          content:
            application/json:
              schema:
                $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/tilgodehavende'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

security:
  - bearerAuth: [ ]

components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

  parameters:
    sagId:
      description: Teknisk ID på sagen. Returneres ved hentning af sagsliste i aggregatoren.
      name: sagId
      in: path
      required: true
      schema:
        $ref: './imported/typer/typer.yaml#/components/schemas/id'
    kravId:
      name: kravId
      in: path
      required: true
      description: Teknisk ID på kravet. Returneres når specifik sag hentes, angivet som 'id' for kravet.
      schema:
        $ref: './imported/typer/typer.yaml#/components/schemas/id'
    tilgodehavendeId:
      name: tilgodehavendeId
      in: path
      required: true
      description: Teknisk ID på tilgodehavendet. Returneres når specifik sag hentes, angivet som 'id' for tilgodehavendet.
      schema:
        $ref: './imported/typer/typer.yaml#/components/schemas/id'

  schemas:
    tvangsoploesningssagLikvidator:
      required:
        - sagsdetaljer
        - virksomhed
        - tidligereLedelse
        - likvidatorer
        - frister
        - meddelelser
        - dokumenter
        - retsboeger
        - redegoerelserOpsummering
        - konkursbegaeringerOpsummering
        - retsmoeder
        - roller
      properties:
        sagsdetaljer:
          $ref: '#/components/schemas/sagsdetaljer'
        virksomhed:
          $ref: './imported/part/part.yaml/#/components/schemas/virksomhedReference'
        tidligereLedelse:
          description: Liste af tidligere ledelsesmedlemmer i selskabet under tvangsopløsning.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/ledelsesmedlem'
        likvidatorer:
          description: Liste af likvidatorer på sagen. Listen vil ikke indeholde informationer om hver der kan agere på vegne af hver likvidator.
          type: array
          items:
            $ref: '#/components/schemas/likvidator'
        frister:
          description: Liste af frister, der er relevante for den indloggede bruger. En frist indikerer at noget skal gøres af den indloggede bruger inden en given dato.
          type: array
          items:
            $ref: '#/components/schemas/frist'
        meddelelser:
          description: Liste af dokumenter på sagen, der enten er sendt ind af en ekstern part i sagen eller sendt fra Retten til den eksterne.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/meddelelse'
        dokumenter:
          description: Sagsdokumenter på den specifikke sag.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/dokumentSamlingEkstern'
        retsboeger:
          description: Retsbøger på den specifikke sag. Retsbøger indeholder afgørelse truffet i sagen.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/retsbogEkstern'
        redegoerelserOpsummering:
          $ref: '#/components/schemas/redegoerelserOpsummering'
        konkursbegaeringerOpsummering:
          $ref: '#/components/schemas/konkursbegaeringerOpsummering'
        retsmoeder:
          description: Liste af retsmøder, som likvidator er indkaldt til.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/retsmoede'
        revisor:
          $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/revisor'
        roller:
          description: Liste af roller/relationer brugeren har til sagen.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/eksternRolleEnum'

    sagsdetaljer:
      description: Informationer om tvangsopløsningssagen.
      required:
        - id
        - afgoerelsesdato
        - modtagelsestidspunkt
        - status
      properties:
        embedskode:
          $ref: './imported/typer/typer.yaml#/components/schemas/embedskode'
        id:
          description: Teknisk ID på sagen, andre steder refereret til som sagId.
          $ref: './imported/typer/typer.yaml#/components/schemas/id'
        sagsnummer:
          description: Sagens sagsnummer. Angives kun hvis man er udpeget som likvidator, ellers ikke.
          type: string
        afgoerelsesdato:
          description: Dato hvor afgørelsen om at tvangsopløse selskabet blev truffet af Erhvervsstyrelsen.
          type: string
          format: date
        afslutningsdato:
          description: Dato hvor Domstolsstyrelsen har truffet afgørelse om at afslutte sagen hos dem.
          type: string
          format: date
        modtagelsestidspunkt:
          description: Tidspunkt hvor Domstolsstyrelsen modtog anmodningen fra Erhvervsstyrelsen om at oprette en tvangsopløsningssag hos dem.
          type: string
          format: date-time
        status:
          $ref: './imported/insolvens/insolvens-common.yaml#/components/schemas/statusEnumEkstern'
    redegoerelserOpsummering:
      description: Informationer om indsendte redegørelser.
      required:
        - total
      properties:
        total:
          description: Antal indsendte redegørelser på sagen.
          type: integer
    konkursbegaeringerOpsummering:
      description: Informationer om indgivne konkursbegæringer.
      required:
        - total
        - harAktivKonkursbegaering
      properties:
        total:
          description: Antal indgivne konkursbegæringer på sagen.
          type: integer
        harAktivKonkursbegaering:
          description: Angiver om likvidatoren har en aktiv konkursbegæring på sagen.
          type: boolean
    inhabil:
      properties:
        bemaerkninger:
          description: Fritekstbeskrivelse af årsagen til at likvidator ønsker at erklære sig inhabil i en specifik sag.
          type: string
          minLength: 3
          maxLength: 1200
    likvidator:
      description: Data om en given likvidator på den specifikke sag.
      required:
        - likvidatorId
        - erLikvidatorInhabil
      properties:
        likvidatorId:
          description: Teknisk ID på likvidatoren i likvidator-registret.
          type: string
          format: uuid
        erLikvidatorInhabil:
          description: Flag der indikerer at likvidator har meldt sig inhabil på sagen.
          type: boolean
    sagensGangBegivenhedLikvidator:
      description: En hændelse der er sket på en specifik sag. Tilsammen beskriver de sagens gang / historik.
      required:
        - oprettet
        - foretagetAf
        - beskrivelse
      properties:
        oprettet:
          description: Tidspunkt hvor hændelsen fandt sted.
          type: string
          format: date-time
        foretagetAf:
          $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/haendelsePartEkstern'
        beskrivelse:
          description: En kort beskrivelse af hvilken hændelse der er tale om.
          example: Anmodning om vidneafhøring
          type: string
    redegoerelse:
      description: Likvidators redegørelse om fremdrift i sagen. Hvis ingen bilag vedlægges bliver opsummeringen krævet.
      required:
        - bilag
      properties:
        opsummering:
          type: string
          minLength: 3
          maxLength: 1200
        bilag:
          description: Liste (potentielt tom) af bilag som likvidator ønsker at uploade til at understøtte sin redegørelse. Hvert bilag uploades først til dokumentlageret, og det returnerede tekniske ID/reference for dokumentet anvendes her.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/dokumentReference'
    konkursbegaering:
      description: Likvidator kan indgive en konkursbegæring på sagen.
      required:
        - bilag
      properties:
        aarsag:
          type: string
          minLength: 3
          maxLength: 1200
        bilag:
          description: Liste af bilag som likvidator ønsker at uploade til at understøtte sin konkursbegæring. Hvert bilag uploades først til dokumentlageret, og det returnerede tekniske ID/reference for dokumentet anvendes her.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/dokumentReference'
    frist:
      description: Frist på sagen.
      required:
        - id
        - titel
        - frist
        - fristtype
        - blevOverskredet
        - erAktiv
      properties:
        id:
          description: Teknisk ID på fristen, typisk returneret når specifik sag fremsøges. Anvendes i andre kald som fristId.
          $ref: './imported/typer/typer.yaml/#/components/schemas/id'
        titel:
          description: Beskrivende titel på fristen, der indikerer hvad der skal udføres af den indloggede bruger.
          type: string
        frist:
          description: Datoen, hvor det senest forventes at den indikerede opgave er udført af den indloggede bruger.
          type: string
          format: date
        fristtype:
          $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/fristtypeEnum'
        blevOverskredet:
          type: boolean
          description: True såfremt fristen ikke er blevet overholdt, ellers false.
        erAktiv:
          type: boolean
          description: False såfremt aktiviteten der skulle udføres er blevet udført, eller såfremt fristen er udløbet. Ellers true.
    tilbagetraekKonkursbegaering:
      description: Likvidator kan trække sin egen konkursbegæring af selskabet tilbage.
      required:
        - aarsag
      properties:
        aarsag:
          description: Fritekstbeskrivelse af årsagen til at likvidator ønsker at trække sin konkursbegæring tilbage i en specifik sag.
          type: string
          minLength: 3
          maxLength: 1200
    yderligereLikvidatorAnmodning:
      description: Likvidators anmodning om udpegning af yderligere likvidatorer på sagen.
      required:
        - aarsag
      properties:
        aarsag:
          description: Fritekstbeskrivelse af hvorfor likvidator ønsker yderligere likvidatorer udpeget i en specifik sag.
          type: string
          minLength: 3
          maxLength: 1200
        bilag:
          description: Liste (potentielt tom) af bilag som likvidator ønsker at uploade til at understøtte sin anmodning. Hvert bilag uploades først til dokumentlageret, og det returnerede tekniske ID/reference for dokumentet anvendes her.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/dokumentReference'
    revisorAnmodning:
      description: Likvidators anmodning om udpegning af revisor på sagen. Hvis godkendt vil revisors oplysninger fremgå på sagen, men revisor vil ikke selv få øget adgang til sagen.
      required:
        - virksomhed
        - navn
      properties:
        virksomhed:
          description: Virksomhed som revisor er tilknyttet.
          $ref: './imported/part/part.yaml/#/components/schemas/virksomhedReference'
        navn:
          description: Revisorens navn.
          type: string
          maxLength: 200
        telefonnummer:
          description: Revisors telefonnummer.
          $ref: './imported/typer/typer.yaml#/components/schemas/telefonnummer'
        email:
          description: Revisors emailadresse.
          $ref: './imported/typer/typer.yaml#/components/schemas/email'
        aarsag:
          description: Fritekstbeskrivelse af årsagen til at likvidator ønsker en revisor udpeget i en specifik sag.
          type: string
          maxLength: 1200
        bilag:
          description: Liste (potentielt tom) af bilag som likvidator ønsker at uploade til at understøtte sin anmodning. Hvert bilag uploades først til dokumentlageret, og det returnerede tekniske ID/reference for dokumentet anvendes her.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/dokumentReference'
    fristudsaettelseAnmodning:
      description: Likvidators anmodning om udsættelse frist. Hvis ingen bilag vedlægges bliver årsagen krævet.
      required:
        - bilag
        - frist
      properties:
        aarsag:
          description: Fritekstbeskrivelse af årsagen til at likvidator ønsker en fristudsættelse i en specifik sag.
          type: string
          minLength: 3
          maxLength: 1200
        bilag:
          description: Liste (potentielt tom) af bilag som likvidator ønsker at uploade til at understøtte sin anmodning. Hvert bilag uploades først til dokumentlageret, og det returnerede tekniske ID/reference for dokumentet anvendes her.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/dokumentReference'
        frist:
          description: Frist som likvidator ønsker at anmode om udsættelse af. Teknisk ID på fristen, nogle gange refereret til som fristId.
          type: string
          format: uuid
