All Downloads are FREE. Search and download functionalities are using the official Maven repository.

set-schemas.set_schema_1.1.0.json Maven / Gradle / Ivy

Go to download

Library that provides client access to the FIT-Connect api-endpoints for sending, subscribing and routing

The newest version!
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.fitko.de/fit-connect/set-payload/1.1.0/set-payload.schema.json",
  "title": "Security Event Token (SET)",
  "description": "Security Event Token (SET) nach RFC 8417",
  "type": "object",
  "properties": {
    "$schema": {
      "description": "URI des Schemas, dem dieser Security Event Token entspricht. Zulässig sind alle Schema-URLs mit enthaltener Version 1.x.y, wobei x und y beliebige Minor- und Patch-Versionen gemäß https://semver.org/ sein können.",
      "type": "string",
      "pattern": "^https://schema\\.fitko\\.de/fit-connect/set-payload/1\\.\\d+\\.\\d+/set-payload\\.schema\\.json$"
    },
    "jti": {
      "description": "Die JWT ID (jti) ist eine eindeutige UUID für das SET.",
      "type": "string",
      "format": "uuid"
    },
    "iss": {
      "description": "Als Issuer ('iss') wird die UUID der Destination eingetragen. Bei vom Zustelldienst ausgestellten SETs steht dort die Basis-URL des Zustelldienstes.",
      "type": "string"
    },
    "iat": {
      "description": "The 'iat' (issued at) claim identifies the time at which the JWT was issued.",
      "type": "integer",
      "minimum": 1577833200
    },
    "sub": {
      "description": "Das Subject ('sub') enthält 'submission:' und die UUID der Submission.",
      "type": "string",
      "pattern": "^submission:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "txn": {
      "description": "Der Transaction Identifier ('txn') enthält 'case:' und die UUID des Cases.",
      "type": "string",
      "pattern": "^case:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "events": {
      "description": "Enthält genau eines der spezifizierten Events als Unterobjekt.",
      "type": "object",
      "properties": {
        "https://schema.fitko.de/fit-connect/events/create-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass eine Einreichung angelegt wurde.",
          "type": "object"
        },
        "https://schema.fitko.de/fit-connect/events/submit-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass die Einreichung abgesendet wurde.",
          "type": "object",
          "properties": {
            "authenticationTags": {
              "$ref": "#/$defs/authenticationTags"
            }
          },
          "required": [
            "authenticationTags"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/notify-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass das empfangende System Kenntnis von der Einreichung erlangt hat. Wie dies erfolgt ist, wird mit dem Eintrag `notifyType` dokumentiert.",
          "type": "object",
          "properties": {
            "notifyType": {
              "type": "string",
              "enum": [
                "callback",
                "polling"
              ]
            }
          },
          "required": [
            "notifyType"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/forward-submission": {
          "description": "Mit diesem Event dokumentiert ein nachgelagertes System, dass es die Einreichung zur Weiterleitung übernommen hat.",
          "type": "object"
        },
        "https://schema.fitko.de/fit-connect/events/reject-submission": {
          "description": "Mit diesem Event dokumentiert das empfangende System, dass die Einreichung zurückgewiesen wird.",
          "type": "object",
          "properties": {
            "problems": {
              "$ref": "#/$defs/problems"
            }
          },
          "required": [
            "problems"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/accept-submission": {
          "description": "Mit diesem Event dokumentiert das empfangende System, dass die Einreichung akzeptiert wurde.",
          "type": "object",
          "properties": {
            "problems": {
              "$ref": "#/$defs/problems"
            },
            "authenticationTags": {
              "$ref": "#/$defs/authenticationTags"
            }
          },
          "required": [
            "authenticationTags"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/delete-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass die Einreichung gelöscht wurde.",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "minProperties": 1,
      "maxProperties": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "$schema",
    "jti",
    "iss",
    "iat",
    "sub",
    "txn",
    "events"
  ],
  "$defs": {
    "authenticationTags": {
      "title": "Authentication Tags",
      "description": "Authentication Tags des Meta- und Fachdatensatzes sowie der Anlagen",
      "type": "object",
      "properties": {
        "metadata": {
          "$ref": "#/$defs/authenticationTags/definitions/authenticationTag"
        },
        "data": {
          "$ref": "#/$defs/authenticationTags/definitions/authenticationTag"
        },
        "attachments": {
          "type": "object",
          "patternProperties": {
            "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$": {
              "$ref": "#/$defs/authenticationTags/definitions/authenticationTag"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false,
      "required": [
        "metadata"
      ],
      "definitions": {
        "authenticationTag": {
          "title": "Authentication Tag",
          "description": "Struktur eines einzelnen Authentication Tags",
          "type": "string",
          "pattern": "^[a-zA-Z0-9-_=]+$",
          "minLength": 22,
          "maxLength": 86
        }
      }
    },
    "problems": {
      "title": "Problems",
      "description": "Liste der Probleme bei der Validierung einer Submission.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "description": "Fehlercode in Form einer URI.",
            "type": "string",
            "pattern": "^https:\\/\\/schema\\.fitko\\.de\\/fit-connect\\/events\\/problems\\/[-a-z]+$"
          },
          "title": {
            "description": "Für Menschen verständliche Fehlermeldung",
            "type": "string"
          },
          "detail": {
            "description": "Details zum Fehler, z.B. eine technische Fehlermeldung (optional)",
            "type": "string"
          },
          "instance": {
            "description": "Betroffener Teil der Übertragung. Mögliche Werte: `submission`, `metadata`, `data`, `attachment:` + UUID des Attachments oder `other`",
            "type": "string",
            "pattern": "^(submission|metadata|data|attachment:.+|other)$"
          }
        },
        "required": [
          "type",
          "title",
          "instance"
        ]
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy