{
  "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. "
      }
    }
  }
}