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

paths:
  /tvangsoploesningssagerKreditor/{sagId}:
    parameters:
      - $ref: '#/components/parameters/sagId'
    get:
      tags:
        - insolvensDirigentKreditor
      operationId: hentTvangsoploesningssag
      description: Hent specifik tvangsopløsningssag udfra dets sag id (ikke sagsnummer).
      responses:
        200:
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tvangsoploesningssagKreditor'
        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'
  /tvangsoploesningssagerKreditor/{sagId}/krav:
    parameters:
      - $ref: '#/components/parameters/sagId'
    get:
      tags:
        - insolvensDirigentKreditor
      operationId: getAllKrav
      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'
    post:
      tags:
        - insolvensDirigentKreditor
      operationId: anmeldKrav
      summary: Anmeld krav til en tvangsopløsningssag.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/kravOpdatering'
      responses:
        '201':
          description: Svar på anmeldelse af krav.
          content:
            application/json:
              schema:
                $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'
  /tvangsoploesningssagerKreditor/{sagId}/krav/{kravId}:
    parameters:
      - $ref: '#/components/parameters/sagId'
      - $ref: '#/components/parameters/kravId'
    get:
      tags:
        - insolvensDirigentKreditor
      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'
    put:
      tags:
        - insolvensDirigentKreditor
      summary: Opdater krav for tvangsopløsningssag.
      operationId: redigerKrav
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/kravOpdatering'
      responses:
        '200':
          description: Krav redigeret succesfuldt.
          content:
            application/json:
              schema:
                $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/krav'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'
    delete:
      tags:
        - insolvensDirigentKreditor
      summary: Slet krav for tvangsopløsningssag.
      operationId: sletKrav
      responses:
        '200':
          description: Krav slettet succesfuldt.
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'
  /tvangsoploesningssagerKreditor/{sagId}/nulkrav:
    parameters:
      - $ref: '#/components/parameters/sagId'
    post:
      tags:
        - insolvensDirigentKreditor
      operationId: anmeldNulkrav
      description: Anmeld nulkrav til en tvangsopløsningssag.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/nulkravOpdateringKreditor'
      responses:
        201:
          description: Svar på anmeldelse af 0-krav.
        404:
          description: Var ikke istand til at oprette et 0-krav.
          content:
            application/json:
              schema:
                $ref: './imported/apiErrors/apiErrors.yaml#/components/schemas/apiError'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'
  /tvangsoploesningssagerKreditor/{sagId}/tilgodehavender:
    parameters:
      - $ref: '#/components/parameters/sagId'
    get:
      tags:
        - insolvensDirigentKreditor
      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'

    post:
      tags:
        - insolvensDirigentKreditor
      summary: Anmeld tilgodehavende til tvangsopløsningssag.
      operationId: registrerTilgodehavende
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/tilgodehavendeOpdatering'
      responses:
        '201':
          description: Tilgodehavende oprettet succesfuldt.
          content:
            application/json:
              schema:
                $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/tilgodehavende'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'

  /tvangsoploesningssagerKreditor/{sagId}/tilgodehavender/{tilgodehavendeId}:
    parameters:
      - $ref: '#/components/parameters/sagId'
      - $ref: '#/components/parameters/tilgodehavendeId'
    get:
      tags:
        - insolvensDirigentKreditor
      summary: Hent specifikt tilgodehavende for tvangsopløsningssag.
      operationId: hentTilgodehavende
      responses:
        '200':
          description: Tilgodehavende hentet succesfuldt.
          content:
            application/json:
              schema:
                $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/tilgodehavende'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'
    put:
      tags:
        - insolvensDirigentKreditor
      summary: Opdater tilgodehavende for tvangsopløsningssag.
      operationId: redigerTilgodehavende
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/tilgodehavendeOpdatering'
      responses:
        '200':
          description: Tilgodehavende redigeret succesfuldt.
          content:
            application/json:
              schema:
                $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/tilgodehavende'
        default:
          $ref: './imported/apiErrors/apiErrors.yaml#/components/responses/genericErrorResponse'
    delete:
      tags:
        - insolvensDirigentKreditor
      summary: Slet tilgodehavende for tvangsopløsningssag.
      operationId: sletTilgodehavende
      responses:
        '200':
          description: Tilgodehavende slettet succesfuldt.
        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 for sagen, returneret via sagslisten 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:
    nulkravOpdateringKreditor:
      description: Indberet krav som kreditor (Skatteforvaltningen) på vegne af indberetter.
      required:
        - krav
      properties:
        krav:
          $ref: '#/components/schemas/nulkravOpdatering'
    nulkravOpdatering:
      description: Oprettelse eller opdatering af nulkrav.
      properties:
        bemaerkninger:
          type: string
          maxLength: 1200
        bilag:
          description: Liste (potentielt tom) af bilag som Skatteforvaltningen ønsker at uploade til at understøtte nul-kravet. 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'
    tvangsoploesningssagKreditor:
      description: Model af tvangsopløsningssagen for kreditorer (API).
      required:
        - sagsdetaljer
        - virksomhed
        - meddelelser
        - dokumenter
        - roller
      properties:
        sagsdetaljer:
          $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/sagsdetaljerEkstern'
        virksomhed:
          $ref: './imported/part/part.yaml/#/components/schemas/virksomhedReference'
        tidligereLedelse:
          description: Tidligere ledelsesmedlemmer må ses af øvrige tidligere ledelsesmedlemmer på sagen. For øvrige relationer til sagen vil attributen være null.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/ledelsesmedlem'
        likvidatorer:
          description: Likvidatorer på sagen må ses af tidligere ledelsesmedlemmer og kreditorer/debitorer. For øvrige relationer til sagen vil attributen være null.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/likvidatorEkstern'
        frister:
          description: Frister på sagen må ses af tidligere ledelsesmedlemmer på sagen såfremt fristen er tiltænkt dem. For øvrige relationer til sagen vil attributen være null.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/fristEkstern'
        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: Eksterne parter må se retsbøger, der er blevet delt med dem.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/retsbogEkstern'
        retsmoeder:
          description: Liste af retsmøder, som ekstern bruger er indkaldt til.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/retsmoede'
        roller:
          description: Liste af roller/relationer brugeren har til sagen.
          type: array
          items:
            $ref: './imported/insolvens/insolvens-common.yaml/#/components/schemas/eksternRolleEnum'
