title: Objekt zum Erzeugen eines Zustellpunkts
description: 'Notwendige Struktur, um einen Zustellpunkt zu hinterlegen.'
type: object
additionalProperties: false
required:
  - contact
  - schemas
  - callback
  - encryptionKid
  - keys
properties:
  contact:
    $ref: './contact.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: 'Öffentliche URL des Zustellpunktes, an den Anträge geliefert werden sollen.'
  encryptionKid:
    type: string
    maxLength: 64
    description: 'Öffentlicher Teil des Verschlüsselungsschlüssels der Destination. Ist im Attribut `keys` abrufbar.'
  # signingKid ist nicht nötig, da diese in einer signierten Nachricht enthalten ist.
  keys:
    $ref: './jwks.yml'