title: Objekt zum Erzeugen eines Zustellpunkts
description: 'Notwendige Struktur, um einen Zustellpunkt zu hinterlegen.'
type: object
additionalProperties: false
required:
  - contactInformation
  - schemas
  - callback
  - encryptionKid
  - publicKeys
properties:
  contactInformation:
    $ref: './contact-information.yml'
  schemas:
    uniqueItems: true
    minItems: 1
    type: array
    description: Auflistung aller unterstützten Antragsschemata des Zustellpunktes.
    items:
      $ref: './application-schema.yml'
  callback:
    type: string
    minLength: 1
    format: uri
    description: 'Öffentlich erreichbare Callbackadresse, um Benachrichtigungen beim Vorliegen neuer Anträge zu empfangen.'
  encryptionKid:
    type: string
    maxLength: 64
    description: 'Öffentlicher Teil des Verschlüsselungsschlüssels der Destination. Ist im Attribut `publicKeys` abrufbar.'
  # signingKid ist nicht nötig, da diese in einer signierten Nachricht enthalten ist.
  publicKeys:
    $ref: './jwks.yml'