From e27bce436db5e9411a9061aaa318a490a8443e37 Mon Sep 17 00:00:00 2001 From: David Schwarzmann <david.schwarzmann@codecentric.de> Date: Tue, 8 Jun 2021 15:54:19 +0200 Subject: [PATCH] Remove old specs and models --- models/application/metadata-no-id.json | 108 -- models/application/metadata.json | 74 -- models/application/schema.json | 61 - models/common/jwe.json | 73 -- models/common/jwk.json | 54 - models/destination-no-id.json | 185 --- models/destination.json | 107 -- reference/1_sender.json | 1131 ------------------ reference/2_subscriber.json | 1472 ------------------------ 9 files changed, 3265 deletions(-) delete mode 100644 models/application/metadata-no-id.json delete mode 100644 models/application/metadata.json delete mode 100644 models/application/schema.json delete mode 100644 models/common/jwe.json delete mode 100644 models/common/jwk.json delete mode 100644 models/destination-no-id.json delete mode 100644 models/destination.json delete mode 100644 reference/1_sender.json delete mode 100644 reference/2_subscriber.json diff --git a/models/application/metadata-no-id.json b/models/application/metadata-no-id.json deleted file mode 100644 index 4935f437..00000000 --- a/models/application/metadata-no-id.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "object", - "title": "Application Metadata without ID", - "description": "Metadaten eines Antrags noch ohne ID, zum Anlegen eines neuen Antrags. Nach dem Zuweisen der `application-id` wird das Modell [Application Metadata](metadata.json) verwendet.", - "x-examples": { - "example-1": { - "additionalReferenceInfo": { - "subject": "Anmeldung eines Gewerbes in Musterstadt", - "caseId": "DF/8923" - }, - "contentStructure": { - "data": { - "schema": { - "mimeType": "application/json", - "schemaSource": "none" - } - }, - "docs": [ - { - "docId": "1", - "purpose": "form", - "size": 13046, - "mimeType": "application/pdf", - "filename": "test.pdf", - "description": "Das Antragsformular", - "lang": { - "lang": "de", - "region": "DE" - }, - "hash": { - "algorithm": "SHA-256", - "digest": "bf37d894fdf9aeade63975ed648d49c3e8a7a773923597d2418915f54cd7c3b9" - } - } - ] - }, - "publicServiceType": { - "name": "Gewerbeanmeldung", - "description": "Eine Gewerbeanmeldung ist immer dann notwendig, wenn Sie einen stehenden Gewerbebetrieb beginnen.", - "leikaId": "99050012104000", - "otherIdentifiers": [ - { - "id": "8664844", - "schemeID": "service.niedersachsen.de", - "schemeName": "Serviceportal Niedersachsen" - }, - { - "id": "354824", - "schemeID": "buerger.thueringen.de", - "schemeName": "Zuständigkeitsfinder Thüringen" - } - ] - } - } - }, - "properties": { - "publicServiceType": { - "$ref": "./public-service-type.json" - }, - "contentStructure": { - "type": "object", - "additionalProperties": false, - "required": [ - "docs" - ], - "properties": { - "data": { - "type": "object", - "additionalProperties": false, - "properties": { - "schema": { - "$ref": "./schema.json" - } - }, - "required": [ - "schema" - ] - }, - "docs": { - "type": "array", - "items": { - "$ref": "./document.json" - } - } - } - }, - "additionalReferenceInfo": { - "type": "object", - "additionalProperties": false, - "properties": { - "subject": { - "type": "string" - }, - "caseId": { - "type": "string" - }, - "applicationDate": { - "type": "string", - "format": "date", - "description": "Antragsdatum" - } - } - } - }, - "required": [ - "contentStructure" - ] -} \ No newline at end of file diff --git a/models/application/metadata.json b/models/application/metadata.json deleted file mode 100644 index 6b4b9687..00000000 --- a/models/application/metadata.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "title": "Application Metadata", - "allOf": [ - { - "type": "object", - "properties": { - "applicationId": { - "type": "string", - "pattern": "^[-_.A-Za-z0-9]+$", - "description": "ID des Antrags" - } - }, - "required": [ - "applicationId" - ] - }, - { - "$ref": "./metadata-no-id.json" - } - ], - "description": "Metadaten zu einem Antrag.", - "x-examples": { - "example-1": { - "additionalReferenceInfo": { - "subject": "Anmeldung eines Gewerbes in Musterstadt", - "caseId": "DF/8923" - }, - "contentStructure": { - "data": { - "schema": { - "mimeType": "application/json", - "schemaSource": "none" - } - }, - "docs": [ - { - "docId": "1", - "purpose": "form", - "size": 13046, - "mimeType": "application/pdf", - "filename": "test.pdf", - "description": "Das Antragsformular", - "lang": { - "lang": "de", - "region": "DE" - }, - "hash": { - "algorithm": "SHA-256", - "digest": "bf37d894fdf9aeade63975ed648d49c3e8a7a773923597d2418915f54cd7c3b9" - } - } - ] - }, - "publicServiceType": { - "name": "Gewerbeanmeldung", - "description": "Eine Gewerbeanmeldung ist immer dann notwendig, wenn Sie einen stehenden Gewerbebetrieb beginnen.", - "leikaId": "99050012104000", - "otherIdentifiers": [ - { - "id": "8664844", - "schemeID": "service.niedersachsen.de", - "schemeName": "Serviceportal Niedersachsen" - }, - { - "id": "354824", - "schemeID": "buerger.thueringen.de", - "schemeName": "Zuständigkeitsfinder Thüringen" - } - ] - }, - "applicationId": "ce75a6b8-d72f-4b94-b09e-af6be35bc2ae" - } - } -} \ No newline at end of file diff --git a/models/application/schema.json b/models/application/schema.json deleted file mode 100644 index afb2bf5a..00000000 --- a/models/application/schema.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "type": "object", - "title": "Application Schema", - "description": "Strukturinformationen zu übertragbaren oder übertragenen Daten.", - "additionalProperties": false, - "x-examples": { - "example-1": { - "mimeType": "application/json", - "schemaSource": "none", - "schemaId": "JSON-DOC" - }, - "example-2": { - "mimeType": "application/xml", - "schemaSource": "none", - "schemaId": "XML-DOC" - - }, - "example-3": { - "mimeType": "application/xml", - "schemaSource": "fim", - "schemaId": "S99000001V1.0" - }, - "example-4": { - "mimeType": "application/json", - "schemaSource": "fitconnect", - "schemaId": "applicant-person" - }, - "example-5": { - "mimeType": "application/json", - "schemaSource": "fitconnect", - "schemaId": "payment-info" - } - }, - "properties": { - "schemaId": { - "type": "string", - "description": "ID des Schemas, abhängig von der ausgewählten Quelle." - }, - "schemaSource": { - "type": "string", - "enum": [ - "fim", - "none" - ], - "description": "Quelle, von der das Schema bezogen werden kann." - }, - "mimeType": { - "type": "string", - "enum": [ - "application/json", - "application/xml" - ], - "description": "Gibt das zulässige Format (JSON oder XML) der Fachdaten an." - } - }, - "required": [ - "schemaSource", - "mimeType", - "schemaId" - ] -} \ No newline at end of file diff --git a/models/common/jwe.json b/models/common/jwe.json deleted file mode 100644 index 6266d884..00000000 --- a/models/common/jwe.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "title": "JSON Web Encryption (JWE)", - "type": "object", - "description": "JSON Web Encryption - JSON Serialization - RFC 7516", - "properties": { - "protected": { - "$ref": "./base64url.json" - }, - "unprotected": { - "type": "object", - "properties": { - "alg": { - "type": "string", - "description": "Algorithm", - "enum": [ - "RSA-OAEP-256" - ] - }, - "enc": { - "type": "string", - "description": "Encryption Algorithm", - "enum": [ - "A256GCM" - ] - }, - "zip": { - "type": "string", - "description": "Compression Algorithm", - "enum": [ - "DEF" - ] - }, - "kid": { - "description": "Key ID" - } - } - }, - "recipients": { - "type": "array", - "items": { - "type": "object", - "properties": { - "header": { - "$ref": "#/properties/unprotected" - }, - "encrypted_key": { - "$ref": "./base64url.json" - } - } - } - }, - "encrypted_key": { - "type": "object" - }, - "iv": { - "$ref": "./base64url.json" - }, - "aad": { - "$ref": "./base64url.json" - }, - "ciphertext": { - "$ref": "./base64url.json" - }, - "tag": { - "$ref": "./base64url.json" - } - }, - "required": [ - "protected", - "recipients", - "ciphertext" - ] -} \ No newline at end of file diff --git a/models/common/jwk.json b/models/common/jwk.json deleted file mode 100644 index 06268887..00000000 --- a/models/common/jwk.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "title": "JSON Web Key (JWK)", - "type": "object", - "description": "JSON Web Key - RFC 7517", - "properties": { - "kty": { - "type": "string", - "description": "Key Type", - "enum": [ - "RSA" - ] - }, - "key_ops": { - "type": "array", - "enum": [ - "verify", - "wrapKey" - ], - "description": "Key Operations", - "items": { - "type": "string" - } - }, - "alg": { - "type": "string", - "description": "Algorithm", - "enum": [ - "PS512", - ] - }, - "kid": { - "description": "Key ID", - "type": "string" - }, - "x5c": { - "description": "X.509 Certificate Chain", - "type": "array", - "items": { - "$ref": "./base64.json" - } - }, - "x5t": { - "$ref": "./base64url.json" - } - }, - "required": [ - "kty", - "kid", - "key_ops", - "alg", - "x5c", - "x5t" - ] -} \ No newline at end of file diff --git a/models/destination-no-id.json b/models/destination-no-id.json deleted file mode 100644 index 158a4b61..00000000 --- a/models/destination-no-id.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "type": "object", - "title": "Destination without ID", - "description": "Daten eines technischen Übergabepunkts (Ziel der Übertragung - z.B. ein Fachverfahren) noch ohne ID, zum Anlegen eines neuen Übergabepunkts. Nach dem Zuweisen der `destination-id` wird das Modell [Destination](destination.json) verwendet.", - "x-examples": { - "example-1": { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "technicalContact": [ - { - "formOfAddress": "Herr", - "doctoralDegrees": "Dr.", - "firstName": "Kunibert", - "lastName": "Vonundzu", - "contact": { - "telephones": [ - { - "number": "+49 89 32168-42", - "mobile": false, - "description": "work" - }, - { - "number": "+49 123 456789", - "mobile": true, - "description": "work" - } - ], - "email": "kunibert.vonundzu@example.com" - } - } - ], - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none" - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - }, - "publicKeys": { - "keys": [ - { - "kty": "RSA", - "alg": "PS512", - "key_ops": ["wrapKey"], - "kid": "d4d3bd67-420f-4b39-85d9-92dd800c57b5", - "x5t": "……(Fingerprint)……", - "x5c": [ - "……(base64 encoded root cert)……", - "……(base64 encoded intermediate cert)……", - "……(base64 encoded cert)……" - ] - }, - { - "kty": "RSA", - "key_ops": ["verify"], - "alg": "PS512", - "kid": "……(Key ID)……", - "x5t": "……(Fingerprint)……", - "x5c": [ - "……(base64 encoded root cert)……", - "……(base64 encoded intermediate cert)……", - "……(base64 encoded cert)……" - ] - } - ] - } - } - }, - "properties": { - "publicOrganization": { - "type": "object", - "properties": { - "organizationName": { - "type": "string" - }, - "address": { - "description": "Adresse als Alternative (Choice) von nationaler und internationaler Adresse.", - "oneOf": [ - { - "$ref": "./common/address-national.json" - }, - { - "$ref": "./common/address-postbox.json" - }, - { - "$ref": "./common/address-international.json" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "national": "./common/address-national.json", - "international": "./common/address-international.json", - "postbox": "./common/address-postbox.json" - } - } - }, - "identifiers": { - "type": "array", - "description": "Externe Identifikatoren der Person", - "items": { - "$ref": "./common/identifier.json" - } - }, - "contact": { - "description": "Kontaktmöglichkeiten der Behörde", - "type": "object", - "properties": { - "telephones": { - "type": "array", - "description": "Liste der Telefonnummern, außer Fax", - "items": { - "$ref": "./common/phone.json" - } - }, - "email": { - "type": "string", - "format": "email", - "description": "E-Mail-Adresse" - }, - "www": { - "type": "string", - "format": "uri", - "description": "Webadresse" - }, - "telefax": { - "$ref": "./common/phone.json#/properties/number" - } - } - } - } - }, - "technicalContact": { - "type": "array", - "description": "Technischer Ansprechpartner", - "items": { - "$ref": "./common/individual.json" - } - }, - "schemas": { - "type": "array", - "description": "Zulässige Schemas, die zu diesem Ziel übertragen werden können. Sofern leer dürfen Anträge (Application) keinen Datensatz (ApplicationData) enthalten.", - "items": { - "$ref": "./application/schema.json" - } - }, - "callback": { - "type": "object", - "description": "Callback zur Benachrichtigung bei neuen Anträgen", - "properties": { - "callbackURI": { - "type": "string", - "description": "URL auf die der Callback als POST durchgeführt wird", - "format": "uri" - } - }, - "required": [ - "callbackURI" - ] - }, - "publicKey": { - "$ref": "./common/jwk.json" - } - } -} \ No newline at end of file diff --git a/models/destination.json b/models/destination.json deleted file mode 100644 index 75497ff6..00000000 --- a/models/destination.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "title": "Destination", - "allOf": [ - { - "type": "object", - "properties": { - "destinationId": { - "description": "Vom Zustelldienst für dieses Ziel vergebene ID. Wird beim Anlegen eines neuen Ziels leer gelassen.", - "pattern": "^[-_.A-Za-z0-9]+$", - "type": "string" - } - }, - "required": [ - "destinationId" - ] - }, - { - "$ref": "./destination-no-id.json" - } - ], - "description": "Beschreibung eines technischen Übergabepunkts", - "x-examples": { - "example-1": { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "technicalContact": [ - { - "formOfAddress": "Herr", - "doctoralDegrees": "Dr.", - "firstName": "Kunibert", - "lastName": "Vonundzu", - "contact": { - "telephones": [ - { - "number": "+49 89 32168-42", - "mobile": false, - "description": "work" - }, - { - "number": "+49 123 456789", - "mobile": true, - "description": "work" - } - ], - "email": "kunibert.vonundzu@example.com" - } - } - ], - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none" - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - }, - "publicKeys": { - "keys": [ - { - "kty": "RSA", - "key_ops": ["wrapKey"], - "alg": "PS512", - "kid": "……(Key ID)……", - "x5t": "……(Fingerprint)……", - "x5c": [ - "……(base64 encoded root cert)……", - "……(base64 encoded intermediate cert)……", - "……(base64 encoded cert)……" - ] - }, - { - "kty": "RSA", - "key_ops": ["verify"], - "alg": "PS512", - "kid": "……(Key ID)……", - "x5t": "……(Fingerprint)……", - "x5c": [ - "……(base64 encoded root cert)……", - "……(base64 encoded intermediate cert)……", - "……(base64 encoded cert)……" - ] - } - ] - }, - "destinationId": "7881dba9-4055-4854-8b6d-11ea5b7f3047" - } - } -} \ No newline at end of file diff --git a/reference/1_sender.json b/reference/1_sender.json deleted file mode 100644 index ddfa9c29..00000000 --- a/reference/1_sender.json +++ /dev/null @@ -1,1131 +0,0 @@ -{ - "openapi": "3.0.0", - "info": { - "title": "Application Sender API", - "version": "0.7", - "description": "API vom Onlineantragsdienst zum Zustelldienst", - "contact": { - "name": "FITKO", - "url": "https://www.fitko.de/" - }, - "license": { - "url": "https://creativecommons.org/licenses/by-sa/4.0/", - "name": "Creative Commons Attribution Share Alike 4.0 (CC BY-SA 4.0)" - } - }, - "servers": [ - { - "url": "https://sender-test.fiep-poc.de/beta7", - "description": "Testsystem" - } - ], - "paths": { - "/destinations/{destinationId}": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Destination Info", - "operationId": "get-destination-info", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "../models/destination.json" - }, - "examples": { - "example-1": { - "value": { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "technicalContact": [ - { - "formOfAddress": "Herr", - "doctoralDegrees": "Dr.", - "firstName": "Kunibert", - "lastName": "Vonundzu", - "contact": { - "telephones": [ - { - "number": "+49 89 32168-42", - "mobile": false, - "description": "work" - }, - { - "number": "+49 123 456789", - "mobile": true, - "description": "work" - } - ], - "email": "kunibert.vonundzu@example.com" - } - } - ], - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none", - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - }, - "destinationId": "7881dba9-4055-4854-8b6d-11ea5b7f3047" - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Ruft die Information über eine Destination ab", - "tags": [ - "Transfer related Information" - ], - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/docs/{docId}": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "docId", - "in": "path", - "required": true - } - ], - "put": { - "summary": "Add Application Document", - "operationId": "add-application-doc", - "responses": { - "202": { - "description": "Accepted", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "result": { - "type": "string", - "enum": [ - "success" - ] - } - }, - "required": [ - "result" - ] - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Lädt ein Antragsformuar oder einen Anhang hoch, um ihn dem Antrag hinzuzufügen.", - "requestBody": { - "content": { - "*/*": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "tags": [ - "Application Transfer" - ], - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/data": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - } - ], - "put": { - "summary": "Add Application Data", - "operationId": "add-application-data", - "responses": { - "202": { - "description": "Accepted", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "result": { - "type": "string", - "enum": [ - "success" - ] - } - }, - "required": [ - "result" - ] - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Datensatz übertragen", - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": {}, - "type": "object" - }, - "examples": { - "example-1": { - "value": { - "F99000001": "string", - "G99000001": { - "F99000002": "string", - "F99000003": 42 - }, - "G99000002": [ - { - "F99000004": true, - "G99000001": { - "F99000002": "string", - "F99000003": 17 - } - }, - { - "F99000004": true, - "G99000001": { - "F99000002": "string", - "F99000003": 24 - } - } - ] - } - } - } - }, - "application/xml": { - "schema": { - "type": "object", - "properties": {} - } - }, - "application/jose": { - "schema": { - "type": "string", - "pattern": "^[a-zA-Z0-9-_=.]+$", - "description": "JSON Web Encryption Compact Serialization, RFC 7516" - }, - "examples": { - "example-1": { - "value": "eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.nlXGAufYH36IABDy0En0LXEhGfC20IZSSchs27ADalHpRoTZKfXhc7hcMk8Y9V8yTP0jYbmrq6NtEg-QS2O5TQFD9Hluhpb631PBgKjPXHYX1Y6iUcR1sXxSUPjePi8F8PcZUZuUJLnhz6myyc9scdAq9BXG2cDJVgkfLI8eZdrqnrY24Hh32_7d5OKLFSpSDrBlqfyQuY8Wbs2h8Wy4Z4hwT1aWDO7b-SqJA181hUbNcF_rR4Mze3Fdtu-3uOIQYgLBBRmN1ZHDLk0EKNCI4B8MyDKLGPoM0ZomV5lVwVWjAMRI4CgQkIQ9rnm-Adof-GbegQL3yJSoNIWRWgzCnZBYZ638QgPllCMVW3WvEVvsgj0Hj16PbofqXTQ5S73LINfP6FZawfC0yMrYjSV_N2L0Lkp2KI3BkJcy-PcFhBnhwu2IsJGAlyDRCnXdVqig8m5yLHuSMQTpLW69LzPEskfsjhnNDR-CEBZpicjMfc-4CL6U7E7YoGc_99DzE5U5._JfqyKH23GiKsnDW.ZtMMjZ3GgcgHss8qbFRhrjl4L0kAfbco-oXICkk.VBHJ00FyDTYjOA_OYfiz5g" - } - } - }, - "text/plain": { - "schema": { - "$ref": "../models/common/base64.json" - } - } - }, - "description": "JSON oder XML Daten JWE-verschlüsselt" - }, - "tags": [ - "Application Transfer" - ], - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/status/history": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Status History", - "tags": [ - "status" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "current": { - "$ref": "../models/status-overview.json" - }, - "history": { - "type": "array", - "maxItems": 3, - "minItems": 0, - "items": { - "$ref": "../models/status-overview.json" - } - } - } - }, - "examples": { - "example-1": { - "value": { - "current": { - "code": "queued", - "timestamp": "2020-05-20T08:31:01+02:00", - "number": 2 - }, - "history": [ - { - "code": "incomplete", - "timestamp": "2020-05-20T08:30:08+02:00", - "number": 1 - } - ] - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "get-application-status-history", - "description": "Ruft den aktuellen Status der Übermittlung sowie einer Übersicht der bisherigen Übertragungshistorie ab.", - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/upload-status": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Application Upload Status", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "data": { - "type": "object", - "additionalProperties": false, - "properties": { - "status": { - "type": "string", - "enum": [ - "missing", - "partial", - "complete" - ] - }, - "length": { - "type": "integer", - "minimum": 0 - } - }, - "required": [ - "status", - "length" - ] - }, - "docs": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "docId": { - "type": "string", - "pattern": "^[-_.A-Za-z0-9]+$", - "description": "Id des Dokuments. Diese muss nur innerhalb des Antrags (Application) eindeutig sein. Es wird daher empfohlen, die IDs fortlaufend (1, 2 etc.) zu vergeben." - }, - "status": { - "type": "string", - "enum": [ - "missing", - "partial", - "complete" - ] - }, - "length": { - "type": "integer", - "minimum": 0 - } - }, - "required": [ - "docId", - "status", - "length" - ] - } - } - } - }, - "examples": { - "example-1": { - "value": { - "data": { - "status": "complete", - "length": 0 - }, - "docs": [ - { - "status": "complete", - "docId": "1", - "length": 13046 - } - ] - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "get-application-upload-status", - "description": "Abfrage des Übermittlungsstatus. Listet alle Unterresourcen (data und docs) mit Übermittlungsstatus auf.", - "tags": [ - "Transfer related Information" - ], - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - } - ], - "post": { - "summary": "Create Application", - "operationId": "create-application", - "responses": { - "201": { - "description": "Created", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "applicationId": { - "type": "string" - } - }, - "required": [ - "applicationId" - ] - }, - "examples": { - "example-1": { - "value": { - "applicationId": "0c508e3f-2353-4206-9a1e-34b2e864d5a8" - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found" - }, - "413": { - "description": "Request Entity Too Large", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "../models/application/metadata-no-id.json" - }, - "examples": { - "example-1": { - "value": { - "additionalReferenceInfo": { - "subject": "Anmeldung eines Gewerbes in Musterstadt", - "caseId": "DF/8923" - }, - "contentStructure": { - "data": { - "schema": { - "mimeType": "application/json", - "schemaSource": "none", - } - }, - "docs": [ - { - "docId": "1", - "purpose": "form", - "size": 13046, - "mimeType": "application/pdf", - "filename": "test.pdf", - "description": "Das Antragsformular", - "lang": { - "lang": "de", - "region": "DE" - }, - "hash": { - "algorithm": "SHA-256", - "digest": "bf37d894fdf9aeade63975ed648d49c3e8a7a773923597d2418915f54cd7c3b9" - } - } - ] - }, - "publicServiceType": { - "name": "Gewerbeanmeldung", - "description": "Eine Gewerbeanmeldung ist immer dann notwendig, wenn Sie einen stehenden Gewerbebetrieb beginnen.", - "leikaId": "99050012104000", - "otherIdentifiers": [ - { - "id": "8664844", - "schemeId": "service.niedersachsen.de", - "schemeName": "Serviceportal Niedersachsen" - }, - { - "id": "354824", - "schemeId": "buerger.thueringen.de", - "schemeName": "Zuständigkeitsfinder Thüringen" - } - ] - } - } - } - } - } - }, - "description": "Metadaten des Antrags" - }, - "description": "Übertragung initiieren", - "tags": [ - "Application Transfer" - ], - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/status": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Status (current)", - "tags": [ - "status" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "../models/status-overview.json" - }, - "examples": { - "example-1": { - "value": { - "code": "queued", - "timestamp": "2020-05-20T08:31:01+02:00", - "number": 2 - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "get-application-status", - "description": "Ruft den aktuellen Status der Übermittlung ab.", - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - }, - "put": { - "summary": "Send Application", - "operationId": "commit-application", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "../models/status-overview.json" - }, - "examples": { - "example-1": { - "value": { - "code": "queued", - "timestamp": "2020-05-20T08:31:01.135842+02:00", - "number": 2 - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Übertragung abschließen, Antrag absenden", - "parameters": [], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "code": { - "type": "string", - "enum": [ - "queued" - ] - } - }, - "required": [ - "code" - ] - }, - "examples": { - "example-1": { - "value": { - "code": "queued" - } - } - } - } - }, - "description": "" - }, - "tags": [ - "Application Transfer" - ], - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ] - } - }, - "/info": { - "get": { - "summary": "Get Info", - "tags": [], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "version": { - "type": "object", - "properties": { - "major": { - "type": "integer" - }, - "minor": { - "type": "integer" - }, - "patch": { - "type": "integer" - } - } - } - } - }, - "examples": { - "example-1": { - "value": { - "version": { - "major": 0, - "minor": 7, - "patch": 0 - } - } - } - } - } - } - } - }, - "operationId": "get-info", - "security": [ - { - "OAuth20": [ - "destination:send" - ] - } - ], - "description": "Gibt Informationen über den Server aus. Kann zu Testzwecken aufgerufen werden (Test der Erreichbarkeit und Zugriffaberechtigung)." - } - } - }, - "tags": [ - { - "name": "Application Transfer" - }, - { - "name": "status" - }, - { - "name": "Transfer related Information" - } - ], - "components": { - "securitySchemes": { - "OAuth20": { - "type": "oauth2", - "flows": { - "clientCredentials": { - "tokenUrl": "https://sender-test-token.fiep-poc.de/auth/realms/test/protocol/openid-connect/token", - "scopes": { - "destination:send": "Dieser Zufriffsbereich erlaubt es Anträge (Applications) an alle Zustellpunkte (Destinations) über die Application Sender API zu senden." - } - } - }, - "description": "Dieses Authentifizierungsmethode wird genutzt, um den Zugriff auf die API zu autorisieren. " - } - } - } -} diff --git a/reference/2_subscriber.json b/reference/2_subscriber.json deleted file mode 100644 index f2a387c9..00000000 --- a/reference/2_subscriber.json +++ /dev/null @@ -1,1472 +0,0 @@ -{ - "openapi": "3.0.0", - "info": { - "title": "Application Subscriber API", - "version": "0.7", - "description": "API vom Fachverfahren zum Zustelldienst", - "contact": { - "name": "FITKO", - "url": "https://www.fitko.de/" - }, - "license": { - "name": "Creative Commons Attribution Share Alike 4.0 (CC BY-SA 4.0)", - "url": "https://creativecommons.org/licenses/by-sa/4.0/" - } - }, - "servers": [ - { - "url": "https://subscriber-test.fiep-poc.de/beta7", - "description": "Testsystem" - } - ], - "paths": { - "/destinations": { - "parameters": [], - "get": { - "summary": "List Destinations", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "destinations": { - "type": "array", - "items": { - "$ref": "../models/destination.json" - } - } - } - }, - "examples": { - "example-1": { - "value": { - "destinations": [ - { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none", - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - }, - "destinationId": "0ddf3ab5-dd89-4e04-9ecd-b2c50b0b4efd" - }, - { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - } - }, - "technicalContact": [ - { - "formOfAddress": "Herr", - "doctoralDegrees": "Dr.", - "firstName": "Kunibert", - "lastName": "Vonundzu", - "contact": { - "telephones": [ - { - "number": "+49 89 32168-42", - "mobile": false, - "description": "work" - }, - { - "number": "+49 123 456789", - "mobile": true, - "description": "work" - } - ], - "email": "kunibert.vonundzu@example.com" - } - } - ], - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none", - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - }, - "destinationId": "0ddf3ab5-dd89-4e04-9ecd-b2c50b0b4efd" - }, - { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none", - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - }, - "destinationId": "7881dba9-4055-4854-8b6d-11ea5b7f3047" - } - ] - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "list-destinations", - "description": "Ruft die Liste aller Destinations dieses Accounts auf.", - "tags": [ - "Destination Management" - ], - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ] - }, - "post": { - "summary": "Create Destination", - "operationId": "create-destination", - "responses": { - "201": { - "description": "Created", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "destinationId": { - "type": "string" - } - }, - "required": [ - "destinationId" - ] - }, - "examples": { - "example-1": { - "value": { - "destinationId": "7881dba9-4055-4854-8b6d-11ea5b7f3047" - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Legt eine neue Destination an.", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "../models/destination-no-id.json" - }, - "examples": { - "example-1": { - "value": { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "technicalContact": [ - { - "formOfAddress": "Herr", - "doctoralDegrees": "Dr.", - "firstName": "Kunibert", - "lastName": "Vonundzu", - "contact": { - "telephones": [ - { - "number": "+49 89 32168-42", - "mobile": false, - "description": "work" - }, - { - "number": "+49 123 456789", - "mobile": true, - "description": "work" - } - ], - "email": "kunibert.vonundzu@example.com" - } - } - ], - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none", - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - } - } - } - } - } - }, - "description": "Anzulegende Destination" - }, - "tags": [ - "Destination Management" - ], - "security": [ - { - "OAuth20": [ - "destination:manage" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/data": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Application Data", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {} - }, - "examples": { - "example-1": { - "value": { - "F99000001": "string", - "G99000001": { - "F99000002": "string", - "F99000003": 42 - }, - "G99000002": [ - { - "F99000004": true, - "G99000001": { - "F99000002": "string", - "F99000003": 17 - } - }, - { - "F99000004": true, - "G99000001": { - "F99000002": "string", - "F99000003": 24 - } - } - ] - } - } - } - }, - "application/xml": { - "schema": { - "type": "object", - "properties": {} - }, - "examples": {} - }, - "application/jose": { - "schema": { - "type": "string", - "pattern": "^[a-zA-Z0-9-_=.]+$", - "description": "JSON Web Encryption Compact Serialization, RFC 7516" - }, - "examples": { - "example-1": { - "value": "eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.nlXGAufYH36IABDy0En0LXEhGfC20IZSSchs27ADalHpRoTZKfXhc7hcMk8Y9V8yTP0jYbmrq6NtEg-QS2O5TQFD9Hluhpb631PBgKjPXHYX1Y6iUcR1sXxSUPjePi8F8PcZUZuUJLnhz6myyc9scdAq9BXG2cDJVgkfLI8eZdrqnrY24Hh32_7d5OKLFSpSDrBlqfyQuY8Wbs2h8Wy4Z4hwT1aWDO7b-SqJA181hUbNcF_rR4Mze3Fdtu-3uOIQYgLBBRmN1ZHDLk0EKNCI4B8MyDKLGPoM0ZomV5lVwVWjAMRI4CgQkIQ9rnm-Adof-GbegQL3yJSoNIWRWgzCnZBYZ638QgPllCMVW3WvEVvsgj0Hj16PbofqXTQ5S73LINfP6FZawfC0yMrYjSV_N2L0Lkp2KI3BkJcy-PcFhBnhwu2IsJGAlyDRCnXdVqig8m5yLHuSMQTpLW69LzPEskfsjhnNDR-CEBZpicjMfc-4CL6U7E7YoGc_99DzE5U5._JfqyKH23GiKsnDW.ZtMMjZ3GgcgHss8qbFRhrjl4L0kAfbco-oXICkk.VBHJ00FyDTYjOA_OYfiz5g" - } - } - }, - "text/plain": { - "schema": { - "$ref": "../models/common/base64.json" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "get-application-data", - "description": "Ruft die Fachdaten der Application ab.\n\nBeispiele:\n#### JSON\n```json\n{\n \"F99000001\": \"Eins\",\n \"G99000001\": {\n \"F99000002\": \"Zwei\",\n \"F99000003\": \"Drei\"\n }\n}\n```\n\n#### XML\n```xml\n<S99000001>\n <F99000001>Eins</F99000001>\n <G99000001>\n <F99000002>Zwei</F99000002>\n <F99000003>Drei</F99000003>\n </G99000001>\n</S99000001>\n```", - "tags": [ - "Application Retrieval" - ], - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/docs/{docId}": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "docId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Application Document", - "responses": { - "200": { - "description": "OK", - "content": { - "*/*": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "get-application-document", - "description": "Ruf ein Dokument (Formular oder Anlage) der Application ab.", - "tags": [ - "Application Retrieval" - ], - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Application Metadata", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "../models/application/metadata.json" - }, - "examples": { - "example-1": { - "value": { - "additionalReferenceInfo": { - "subject": "Anmeldung eines Gewerbes in Musterstadt", - "caseId": "DF/8923" - }, - "contentStructure": { - "data": { - "schema": { - "mimeType": "application/json", - "schemaSource": "none", - } - }, - "docs": [ - { - "docId": "1", - "purpose": "form", - "size": 13046, - "mimeType": "application/pdf", - "filename": "test.pdf", - "description": "Das Antragsformular", - "lang": { - "lang": "de", - "region": "DE" - }, - "hash": { - "algorithm": "SHA-256", - "digest": "bf37d894fdf9aeade63975ed648d49c3e8a7a773923597d2418915f54cd7c3b9" - } - } - ] - }, - "publicServiceType": { - "name": "Gewerbeanmeldung", - "description": "Eine Gewerbeanmeldung ist immer dann notwendig, wenn Sie einen stehenden Gewerbebetrieb beginnen.", - "leikaId": "99050012104000", - "otherIdentifiers": [ - { - "id": "8664844", - "schemeId": "service.niedersachsen.de", - "schemeName": "Serviceportal Niedersachsen" - }, - { - "id": "354824", - "schemeId": "buerger.thueringen.de", - "schemeName": "Zuständigkeitsfinder Thüringen" - } - ] - }, - "applicationId": "0c508e3f-2353-4206-9a1e-34b2e864d5a8" - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "get-application", - "description": "Ruft eine wartende Application ab.", - "tags": [ - "Application Retrieval" - ], - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "List Applications", - "operationId": "list-applications", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "applications": { - "type": "array", - "items": { - "$ref": "../models/application/metadata.json" - } - } - } - }, - "examples": { - "example-1": { - "value": { - "applications": [] - } - }, - "example-2": { - "value": { - "applications": [ - { - "additionalReferenceInfo": { - "subject": "Anmeldung eines Gewerbes in Musterstadt", - "caseId": "DF/8923" - }, - "contentStructure": { - "data": { - "schema": { - "mimeType": "application/json", - "schemaSource": "none", - } - }, - "docs": [ - { - "docId": "1", - "purpose": "form", - "size": 13046, - "mimeType": "application/pdf", - "filename": "test.pdf", - "description": "Das Antragsformular", - "lang": { - "lang": "de", - "region": "DE" - }, - "hash": { - "algorithm": "SHA-256", - "digest": "bf37d894fdf9aeade63975ed648d49c3e8a7a773923597d2418915f54cd7c3b9" - } - } - ] - }, - "publicServiceType": { - "name": "Gewerbeanmeldung", - "description": "Eine Gewerbeanmeldung ist immer dann notwendig, wenn Sie einen stehenden Gewerbebetrieb beginnen.", - "leikaId": "99050012104000", - "otherIdentifiers": [ - { - "id": "8664844", - "schemeId": "service.niedersachsen.de", - "schemeName": "Serviceportal Niedersachsen" - }, - { - "id": "354824", - "schemeId": "buerger.thueringen.de", - "schemeName": "Zuständigkeitsfinder Thüringen" - } - ] - }, - "applicationId": "0c508e3f-2353-4206-9a1e-34b2e864d5a8" - } - ] - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Ruft die Liste der wartenden Applications ab.", - "tags": [ - "Application Retrieval" - ], - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ] - } - }, - "/destinations/{destinationId}": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - } - ], - "get": { - "summary": "Get Destination", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "../models/destination.json" - }, - "examples": { - "example-1": { - "value": { - "publicOrganization": { - "organizationName": "Gewerbeamt Musterstadt", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "technicalContact": [ - { - "formOfAddress": "Herr", - "doctoralDegrees": "Dr.", - "firstName": "Kunibert", - "lastName": "Vonundzu", - "contact": { - "telephones": [ - { - "number": "+49 89 32168-42", - "mobile": false, - "description": "work" - }, - { - "number": "+49 123 456789", - "mobile": true, - "description": "work" - } - ], - "email": "kunibert.vonundzu@example.com" - } - } - ], - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none", - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - }, - "destinationId": "7881dba9-4055-4854-8b6d-11ea5b7f3047" - } - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "operationId": "get-destination", - "description": "Übertragungsziel abfragen", - "tags": [ - "Destination Management" - ], - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ] - }, - "put": { - "summary": "Update Destination", - "operationId": "update-destination", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "result": { - "type": "string", - "enum": [ - "success" - ] - } - }, - "required": [ - "result" - ] - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Übertragungsziel aktualisieren", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "../models/destination.json" - }, - "examples": { - "example-1": { - "value": { - "destinationId": "7881dba9-4055-4854-8b6d-11ea5b7f3047", - "publicOrganization": { - "organizationName": "Gewerbeamt Ankh-Morpork", - "address": { - "type": "national", - "street": "Kurzer Weg", - "houseNumber": "7", - "postalCode": "12345", - "city": "Ankh-Morpork" - }, - "contact": { - "telephones": [ - { - "number": "+49 89 32168-0", - "mobile": false, - "description": "work" - } - ], - "email": "behoerde@example.com" - } - }, - "technicalContact": [ - { - "formOfAddress": "Herr", - "doctoralDegrees": "Dr.", - "firstName": "Kunibert", - "lastName": "Vonundzu", - "contact": { - "telephones": [ - { - "number": "+49 89 32168-42", - "mobile": false, - "description": "work" - }, - { - "number": "+49 123 456789", - "mobile": true, - "description": "work" - } - ], - "email": "kunibert.vonundzu@example.com" - } - } - ], - "schemas": [ - { - "mimeType": "application/json", - "schemaSource": "none" - } - ], - "callback": { - "callbackURI": "http://127.0.0.1:4010/voluptas" - } - } - } - } - } - } - }, - "tags": [ - "Destination Management" - ], - "security": [ - { - "OAuth20": [ - "destination:manage" - ] - } - ] - }, - "delete": { - "summary": "Delete Destination", - "operationId": "delete-destination", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "result": { - "type": "string", - "enum": [ - "success" - ] - } - }, - "required": [ - "result" - ] - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Übertragungsziel löschen", - "tags": [ - "Destination Management" - ], - "security": [ - { - "OAuth20": [ - "destination:manage" - ] - } - ] - } - }, - "/destinations/{destinationId}/applications/{applicationId}/status": { - "parameters": [ - { - "schema": { - "type": "string" - }, - "name": "destinationId", - "in": "path", - "required": true - }, - { - "schema": { - "type": "string" - }, - "name": "applicationId", - "in": "path", - "required": true - } - ], - "put": { - "summary": "Acknowledge Application", - "operationId": "ack-application", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "result": { - "type": "string", - "enum": [ - "success" - ] - } - }, - "required": [ - "result" - ] - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "../models/error-body.json" - } - } - } - } - }, - "description": "Bestätigt die Abholung der Application.\n\nDer Parameter `code` zeigt an, ob der Antrag noch weitergesendet wurde (`forwarded`) oder das finale Ziel erreicht hat (`delivered`).\n\nSofern der Wert `forwarded` übergeben wurde, muss zu einem späteren Zeitpunkt, wenn der Antrag final zugestellt wurde, ein weiterer Aufruf mit dem Wert `delivered` erfolgen.", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": { - "code": { - "type": "string", - "description": "Zeigt an, ob die Zustellung zum nächsten Hop (`forwarded`) oder bis zum Endpunkt (`delivered`) erfolgt ist.", - "enum": [ - "forwarded", - "delivered" - ] - } - }, - "required": [ - "code" - ] - }, - "examples": { - "example-1": { - "value": { - "code": "forwarded" - } - }, - "example-2": { - "value": { - "code": "delivered" - } - } - } - } - }, - "description": "Details der Quittung" - }, - "tags": [ - "Application Retrieval" - ], - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ] - } - }, - "/info": { - "get": { - "summary": "Get Info", - "tags": [], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "version": { - "type": "object", - "properties": { - "major": { - "type": "integer" - }, - "minor": { - "type": "integer" - }, - "patch": { - "type": "integer" - } - } - } - } - }, - "examples": { - "example-1": { - "value": { - "version": { - "major": 0, - "minor": 7, - "patch": 0 - } - } - } - } - } - } - } - }, - "operationId": "get-info", - "security": [ - { - "OAuth20": [ - "destination:manage", - "destination:subscribe" - ] - } - ], - "description": "Gibt Informationen über den Server aus. Kann zu Testzwecken aufgerufen werden (Test der Erreichbarkeit und Zugriffaberechtigung)." - } - } - }, - "tags": [ - { - "name": "Destination Management" - }, - { - "name": "Application Retrieval" - } - ], - "components": { - "securitySchemes": { - "OAuth20": { - "type": "oauth2", - "flows": { - "clientCredentials": { - "tokenUrl": "https://subscriber-test-token.fiep-poc.de/auth/realms/test/protocol/openid-connect/token", - "scopes": { - "destination:manage": "Dieser Zugriffsbereich alle Destination Endpunkte eines Subscriber genutzt werden.", - "destination:subscribe": "Dieser Zugriffsbereich erlaubt es, Anträge für allen Destinations abzuholen." - } - } - }, - "description": "Dieses Authentifizierungsmethode wird genutzt, um den Zugriff auf die API zu autorisieren. " - } - } - } -} \ No newline at end of file -- GitLab