title: Struktur zum Erzeugen eines Zustellpunkts
description: 'Notwendige Struktur, um einen Zustellpunkt anzulegen.'
type: object
required:
  - contactInformation
  - schemas
  - callback
  - encryptionKid
  - publicKeys
properties:
  contactInformation:
    $ref: './contact-information.yml'
  schemas:
    title: Unterstützte Fachschemata
    description: Auflistung aller unterstützten Fachschemata des Zustellpunktes mit URI und mimeType.
    uniqueItems: true
    minItems: 1
    type: array
    items:
      $ref: './submission-schema.yml'
  callback:
    type: string
    minLength: 1
    format: uri
    description: 'Öffentlich erreichbare Callbackadresse, um Benachrichtigungen beim Vorliegen neuer Einreichungen zu empfangen.'
  encryptionKid:
    type: string
    maxLength: 64
    description: 'Identifikator des Schlüssels der Destination. Der Schlüssel selbst ist im Attribut `publicKeys` enthalten.'
  # signingKid ist nicht nötig, da diese in einer signierten Nachricht enthalten ist.
  publicKeys:
    $ref: './jwks.yml'