set-schemas.set_schema_1.1.0.json Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of client Show documentation
Show all versions of client Show documentation
Library that provides client access to the FIT-Connect api-endpoints for sending, subscribing and
routing
{
"$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"
]
}
}
}
}